# ess_basic: Basic version of the effective sample size In posterior: Tools for Working with Posterior Distributions

## Description

Compute the basic effective sample size (ESS) estimate for a single variable as described in Gelman et al. (2013). For practical applications, we strongly recommend the improved ESS convergence diagnostics implemented in `ess_bulk()` and `ess_tail()`.

## Usage

 ```1 2 3 4 5 6 7``` ```ess_basic(x, ...) ## Default S3 method: ess_basic(x, split = TRUE, ...) ## S3 method for class 'rvar' ess_basic(x, split = TRUE, ...) ```

## Arguments

 `x` (multiple options) One of: A matrix of draws for a single variable (iterations x chains). See `extract_variable_matrix()`. An `rvar`. `...` Arguments passed to individual methods (if applicable). `split` (logical) Should the estimate be computed on split chains? The default is `TRUE`.

## Value

If the input is an array, returns a single numeric value. If any of the draws is non-finite, that is, `NA`, `NaN`, `Inf`, or `-Inf`, the returned output will be (numeric) `NA`. Also, if all draws within any of the chains of a variable are the same (constant), the returned output will be (numeric) `NA` as well. The reason for the latter is that, for constant draws, we cannot distinguish between variables that are supposed to be constant (e.g., a diagonal element of a correlation matrix is always 1) or variables that just happened to be constant because of a failure of convergence or other problems in the sampling process.

If the input is an `rvar`, returns an array of the same dimensions as the `rvar`, where each element is equal to the value that would be returned by passing the draws array for that element of the `rvar` to this function.

## References

Andrew Gelman, John B. Carlin, Hal S. Stern, David B. Dunson, Aki Vehtari and Donald B. Rubin (2013). Bayesian Data Analysis, Third Edition. Chapman and Hall/CRC.

Other diagnostics: `ess_bulk()`, `ess_quantile()`, `ess_sd()`, `ess_tail()`, `mcse_mean()`, `mcse_quantile()`, `mcse_sd()`, `rhat_basic()`, `rhat()`, `rstar()`
 ```1 2 3 4 5``` ```mu <- extract_variable_matrix(example_draws(), "mu") ess_basic(mu) d <- as_draws_rvars(example_draws("multi_normal")) ess_basic(d\$Sigma) ```