Monte Carlo Standard Error (MCSE) is an estimate of the inaccuracy of
  Monte Carlo samples, usually regarding the expectation of posterior
  samples, \(\mathrm{E}(\theta)\), from Monte Carlo or
  Markov chain Monte Carlo (MCMC) algorithms, such as with the
  LaplacesDemon or LaplacesDemon.hpc
  functions. MCSE approaches zero as the number of independent posterior
  samples approaches infinity. MCSE is essentially a standard deviation
  around the posterior mean of the samples,
  \(\mathrm{E}(\theta)\), due to uncertainty associated with
  using an MCMC algorithm, or Monte Carlo methods in general.
The acceptable size of the MCSE depends on the acceptable uncertainty
  associated around the marginal posterior mean,
  \(\mathrm{E}(\theta)\), and the goal of inference. It has
  been argued that MCSE is generally unimportant when the goal of
  inference is \(\theta\) rather than
  \(\mathrm{E}(\theta)\) (Gelman et al., 2004, p. 277), and
  that a sufficient ESS is more important. Others perceive
  MCSE to be a vital part of reporting any Bayesian model, and as a
  stopping rule (Flegal et al., 2008).
In LaplacesDemon, MCSE is part of the posterior
  summaries because it is easy to estimate, and Laplace's Demon prefers
  to continue updating until each MCSE is less than 6.27% of its
  associated marginal posterior standard deviation (for more information
  on this stopping rule, see the Consort function), since
  MCSE has been demonstrated to be an excellent stopping rule.
Acceptable error may be specified, if known, in the MCSS
  (Monte Carlo Sample Size) function to estimate the required number of
  posterior samples.
MCSE is a univariate function that is often applied to each
  marginal posterior distribution. A multivariate form is not
  included. By chance alone due to multiple independent tests, 5% of
  the parameters should indicate unacceptable MSCEs, even when
  acceptable. Assessing convergence is difficult.
MCSE(x, method="IMPS", batch.size="sqrt", warn=FALSE)
MCSS(x, a)This is a vector of posterior samples for which MCSE or MCSS will be estimated.
This is a scalar argument of acceptable error for the mean of
    x, and a must be positive. As acceptable error
    decreases, the required number of samples increases.
This is an optional argument for the method of MCSE
    estimation, and defaults to Geyer's "IMPS" method. Optional
    methods include "sample.variance" and "batch.mean".
    Note that "batch.mean" is recommended only when the number of
    posterior samples is at least 1,000.
This is an optional argument that corresponds only
    with method="batch.means", and determines either the size of
    the batches (accepting a numerical argument) or the method of
    creating the size of batches, which is either "sqrt" or
    "cuberoot", and refers to the length of x. The default
    argument is "sqrt".
Logical. If warn=TRUE, then a warning is provided
    with method="batch.means" whenever posterior sample size is
    less than 1,000, or a warning is produced when more autcovariance
    is recommended with method="IMPS".
The default method for estimating MCSE is Geyer's Initial Monotone Positive Sequence (IMPS) estimator (Geyer, 1992), which takes the asymptotic variance into account and is time-series based. This method goes by other names, such as Initial Positive Sequence (IPS).
The simplest method for estimating MCSE is to modify the formula for
  standard error, \(\sigma(\textbf{x}) / \sqrt{N}\), to account for non-independence in the sequence
  \(\textbf{x}\) of posterior samples. Non-independence is
  estimated with the ESS function for Effective Sample Size (see
  the ESS function for more details), where \(M =
  ESS(\textbf{x})\), and MCSE is
  \(\sigma(\textbf{x}) / \sqrt{M}\). Although this
  is the fastest and easiest method of estimation, it does not
  incorporate an estimate of the asymptotic variance of
  \(\textbf{x}\).
The batch means method (Jones et al., 2006; Flegal et al., 2008) separates elements of \(\textbf{x}\) into batches and estimates MCSE as a function of multiple batches. This method is excellent, but is not recommended when the number of posterior samples is less than 1,000. These journal articles also assert that MCSE is a better stopping rule than MCMC convergence diagnostics.
The MCSS function estimates the required number of posterior
  samples, given the user-specified acceptable error, posterior samples
  x, and the observed variance (rather than asymptotic
  variance). Due to the observed variance, this is a rough estimate.
Flegal, J.M., Haran, M., and Jones, G.L. (2008). "Markov chain Monte Carlo: Can We Trust the Third Significant Figure?". Statistical Science, 23, p. 250--260.
Gelman, A., Carlin, J., Stern, H., and Rubin, D. (2004). "Bayesian Data Analysis, Texts in Statistical Science, 2nd ed.". Chapman and Hall, London.
Geyer, C.J. (1992). "Practical Markov Chain Monte Carlo". Statistical Science, 7, 4, p. 473--483.
Jones, G.L., Haran, M., Caffo, B.S., and Neath, R. (2006). "Fixed-Width Output Analysis for Markov chain Monte Carlo". Journal of the American Statistical Association, 101(1), p. 1537--1547.
Consort,
  ESS,
  LaplacesDemon, and
  LaplacesDemon.hpc.
# NOT RUN {
library(LaplacesDemon)
x <- rnorm(1000)
MCSE(x)
MCSE(x, method="batch.means")
MCSE(x, method="sample.variance")
MCSS(x, a=0.01)
# }
Run the code above in your browser using DataLab