multiESS: Effective Sample Size of a multivariate Markov chain as...

Description Usage Arguments Details Value References See Also Examples

View source: R/multiESS.R

Description

Calculate the effective sample size of the Markov chain, using the multivariate dependence structure of the process.

Usage

1
multiESS(x, covmat = NULL, g = NULL, ...)

Arguments

x

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

covmat

optional matrix estimate obtained using mcse.multi or mcse.initseq.

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.

...

arguments for mcse.multi function. Don't use this if a suitable matrix estimate from mcse.multi or mcse.initseq is already obtained.

Details

Effective sample size is the size of an iid sample with the same variance as the current sample. ESS is given by

ESS = n\frac{|Λ|^{1/p}}{|Σ|^{1/p}},

where Λ is the sample covariance matrix for g and Σ is an estimate of the Monte Carlo standard error for g.

Value

The function returns the estimated effective sample size.

References

Vats, D., Flegal, J. M., and, Jones, G. L Multivariate output analysis for Markov chain Monte Carlo, Biometrika, 106, 321–-337.

See Also

minESS, which calculates the minimum effective samples required for the problem. ess which calculates univariate effective sample size using a Markov chain and a function g.

Examples

1
2
3
4
5
6
7
## Bivariate Normal with mean (mu1, mu2) and covariance sigma
n <- 1e3
mu <- c(2, 50)
sigma <- matrix(c(1, 0.5, 0.5, 1), nrow = 2)
out <- BVN_Gibbs(n, mu, sigma)

multiESS(out)

mcmcse documentation built on Sept. 9, 2021, 9:06 a.m.