Learn R Programming

ergm (version 2.0-5)

mcmc.diagnostics.ergm: Conduct MCMC diagnostics on an ergm fit

Description

This function creates simple diagnostic plots for the MCMC sampled statistics produced from a fit. It also prints the Raftery-Lewis diagnostics, indicates if they are sufficient, and suggests the run length required.

Usage

## S3 method for class 'ergm':
mcmc.diagnostics(object, sample = "sample", smooth = TRUE, 
                 r = 0.0125, digits = 6, maxplot = 1000, verbose = TRUE, 
                 center = TRUE, main = "Summary of MCMC samples", xlab =
                 "Iterations", ylab = "", \dots)

Arguments

object
An object. See documentation for ergm.
sample
The component of object on which the diagnosis is based. The two usuals ones are thetasample from the auxilary sample of the natural parameter and sample the (default) sample of the sufficient statistics
smooth
Draw a smooth line through trace plots
r
Percentile of the distribution to estimate
digits
Number of digits to print
maxplot
Maximum number of statistics to plot
verbose
If this is TRUE, print out more information about the MCMC runs including lag correlations.
center
logical; should the samples be centered on the observed statistics.
main
Figure title for the diagnostic plots.
xlab
X-axis label for diagnostic plots
ylab
Y-axis label for diagnostic plots
...
Additional arguments, to be passed to lower-level functions in the future.

Value

Details

The plots produced are a trace of the sampled output and a density estimate for each variable in the chain.

The Raftery-Lewis diagnostic is a run length control diagnostic based on a criterion of accuracy of estimation of the quantile q. It is intended for use on a short pilot run of a Markov chain. The number of iterations required to estimate the quantile q to within an accuracy of +/- r with probability p is calculated. Separate calculations are performed for each variable within each chain.

In fact, an object contains the matrix of statistics from the MCMC run as component $sample. This matrix is actually an object of class mcmc and can be used directly in the CODA package to assess MCMC convergence. Hence all MCMC diagnostic methods available in coda are available directly. See the examples and http://www.mrc-bsu.cam.ac.uk/bugs/classic/coda04/readme.shtml.

More information can be found by looking at the documentation of ergm.

References

Warnes, G.W. (2000). Multi-Chain and Parallel Algorithms for Markov Chain Monte Carlo. Dissertation, Department of Biostatistics, University of Washington,

Raftery, A.E. and Lewis, S.M. (1992). One long run with diagnostics: Implementation strategies for Markov chain Monte Carlo. Statistical Science, 7, 493-497.

Raftery, A.E. and Lewis, S.M. (1995). The number of iterations, convergence diagnostics and generic Metropolis algorithms. In Practical Markov Chain Monte Carlo (W.R. Gilks, D.J. Spiegelhalter and S. Richardson, eds.). London, U.K.: Chapman and Hall.

See Also

ergm, network, coda, mcgibbsit, summary.ergm

Examples

Run this code
#
data(florentine)
#
# test the mcmc.diagnostics function
#
gest <- ergm(flomarriage ~ edges + kstar(2))
summary(gest)

#
# Plot the probabilities first
#
mcmc.diagnostics(gest)
#
# Use coda directly
#
library(coda)
#
plot(gest$sample, ask=FALSE)
ergm.raftery.diag(gest$sample, r=0.1)
#
# A full range of diagnostics are available 
# using codamenu()
#

Run the code above in your browser using DataLab