Estimate effective sample size (ESS) as described in Gong and Flegal (2015).

`ess(x, g = NULL, ...)`

x

a matrix or data frame of Markov chain output. Number of rows is the Monte Carlo sample size.

...

arguments passed on to the `mcse.mat`

function. For example `method = "tukey"`

and `size = "cuberoot"`

can be used.

g

a function that represents features of interest. g is applied to each row of `x`

and thus g should take a vector input only. If g is `NULL`

, g is set to be identity, which is estimation of the mean of the target density.

The function returns the estimated effective sample size.

ESS is the size of an iid sample with the same variance
as the current sample. ESS is given by
$$\mbox{ESS}=n \frac{\lambda^2}{\sigma^2},$$ where
\(\lambda^2\) is the sample variance and \(\sigma^2\) is an estimate of the variance in the CLT. This is by default the batch means estimator, but the default can be changed with the `method`

argument.

Gong, L. and Flegal, J. M. (2015) A practical sequential stopping rule for high-dimensional Markov chain Monte Carlo *Journal of Computational and Graphical Statistics*.

`minESS`

, which calculates the minimum effective samples required for the problem.

`multiESS`

, which calculates multivariate effective sample size using a Markov chain and a function g.