Raftery.Diagnostic: Raftery and Lewis's diagnostic

Description Usage Arguments Details Value Note References See Also Examples

View source: R/Raftery.Diagnostic.R


Raftery and Lewis (1992) introduced an MCMC diagnostic that estimates the number of iterations needed for a given level of precision in posterior samples, as well as estimating burn-in, when quantiles are the posterior summaries of interest.


Raftery.Diagnostic(x, q=0.025, r=0.005, s=0.95, eps=0.001)



This required argument accepts an object of class demonoid. It attempts to use Posterior2, but when this is missing it uses Posterior1.


This is the quantile to be estimated.


This is the desired margin of error of the estimate, also called the accuracy.


This is the probability of obtaining an estimate in the interval (q-r, q+r).


This is the precision required for the estimate of time to convergence.


In this MCMC diagnostic, a posterior quantile q of interest is specified. Next, an acceptable tolerance r is specified for q, which means that it is desired to measure q with an accuracy of +/- r. Finally, the user selects a probability s, which is the probability of being within the interval (q-r, q+r). The Raftery.Diagnostic then estimates the number N of iterations and the number M of burn-in iterations that are necessary to satisfy the specified conditions regarding quantile q.

The diagnostic was designed to test a short, initial update, in which the chains were called pilot chains, and the application was later suggested for iterative use after any update as a general method for pursuing convergence (Raftery and Lewis, 1996).

Results of the Raftery.Diagnostic differ depending on the chosen quantile q. Estimates are conservative, so more iterations are suggested than necessary.


The Raftery.Diagnostic function returns an object of class raftery that is list. A print method is available for objects of this class. The list has the following components:


These are the time-series parameters of the posterior samples in x.


This is a vector containing the parameters q, r, and s.


This is the number of iterations in the posterior samples in x.


This is a 3-dimensional array containing the results: M is the suggested burn-in, N is the suggested number of iterations, Nmin is the suggested number of iterations based on zero autocorrelation, and I = (M+N)/Nmin is the "dependence factor". The dependence factor is interpreted as the proportional increase in the number of iterations attributable to autocorrelation. Highly autocorrelated chains (> 5) are worrisome, and may be due to influential initial values, parameter correlations, or poor mixing.


The Raftery.Diagnostic function was adapted from the raftery.diag function in the coda package, which was adapted from the FORTRAN program ‘gibbsit’, written by Steven Lewis.


Raftery, A.E. and Lewis, S.M. (1992). "How Many Iterations in the Gibbs Sampler?" In Bayesian Statistics, 4 (J.M. Bernardo, J.O. Berger, A.P. Dawid and A.F.M. Smith, eds.). Oxford, U.K.: Oxford University Press, p. 763–773.

Raftery, A.E. and Lewis, S.M. (1992). "One Long Run with Diagnostics: Implementation Strategies for Markov chain Monte Carlo". Statistical Science, 7, p. 493–497.

Raftery, A.E. and Lewis, S.M. (1996). "Implementing MCMC". In Practical Markov Chain Monte Carlo (W.R. Gilks, D.J. Spiegelhalter and S. Richardson, eds.). Chapman and Hall: Baton Rouge, FL.

See Also

burnin, LaplacesDemon, print.raftery, and Thin.


###After updating with LaplacesDemon, do:
#rd <- Raftery.Diagnostic(Fit)

LaplacesDemonR/LaplacesDemonCpp documentation built on May 9, 2017, 4:18 a.m.