R: Effective Sample Size of a multivariate Markov chain.
multiESS
R Documentation
Effective Sample Size of a multivariate Markov chain.
Description
Calculate the effective sample size of the Markov chain, using the multivariate dependence structure of the process.
Usage
multiESS(x, covmat = NULL, g = NULL)
Arguments
x
an n by p matrix that represents the Markov chain output.
covmat
optional matrix estimate obtained using mcse.multi.
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.
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 |Λ|^{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.
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
library(mAr)
p <- 3
n <- 1e3
omega <- 5*diag(1,p)
## Making correlation matrix var(1) model
set.seed(100)
foo <- matrix(rnorm(p^2), nrow = p)
foo <- foo %*% t(foo)
phi <- foo / (max(eigen(foo)$values) + 1)
out <- as.matrix(mAr.sim(rep(0,p), phi, omega, N = n))
multiESS(out)