Last data update: 2014.03.03

R: Print diagnostic plots
plot.mitmlR Documentation

Print diagnostic plots

Description

Generates diagnostic plots for assessing the convergence and autocorrelation behavior of pan's and jomo's MCMC algorithms.

Usage


## S3 method for class 'mitml'
plot(x, print=c("beta","psi","sigma"), pos=NULL, group="all",
  trace=c("imputation","burnin","all"), thin=1, smooth=3, n.Rhat=3,
  export=c("none","png","pdf"), dev.args=list(), ...)

Arguments

x

An object of class mitml as produced by panImpute and jomoImpute.

print

A character vector containing one or several of "beta", "psi" or "sigma" denoting which parameters should be plotted. Default is to plot all parameters.

pos

Either NULL or an integer vector denoting a specific entry in either "beta", "psi" or "sigma". Default is to NULL plotting all entries.

group

Either "all" or an integer denoting for which group plots should be generated. Used only when group has been specified in panImpute for group-wise imputation.

trace

One of "imputation", "burnin" or "all" denoting which part of the parameter chain should be used for the trace plot. Default plots only the iterations after burn-in.

thin

An integer denoting the thinning factor that is applied before plotting. Default is to 1, plotting the full chain.

smooth

A numeric value denoting the smoothing factor for the trend line in trace plots. Higher values correspond to less smoothing. Default is 3. If set to 0 or NULL, the trend line is suppressed.

n.Rhat

An integer denoting the number of sequences used for calculating the potential scale reduction factor.

export

(optional) A character string specifying if plots should be exported to file. If "png" or "pdf", then plots are printed into a folder named "mitmlPlots" in the current directory using either the png or pdf device. Default is to "none", which does not export files.

dev.args

(optional) A named list containing additional arguments that are passed to the graphics device.

...

Parameters passed to the plotting functions.

Details

The plot method generates a series of plots for the parameters of the imputation model which can be used for diagnostic purposes. In addition, a short summary of the parameter chain is displayed.

Setting print to "beta", "psi" and "sigma" will plot the fixed effects, the variances and covariances of random effects, and the variances and covariances of residuals, respectively. Each plotting window contains a trace plot (upper left), an autocorrelation plot (lower left), a kernel density approximation of the posterior distribution (upper right), and a posterior summary (lower right). The summary includes the following quantities:

EAP:

Expected value a posteriori (i.e., the mean of the parameter chain)

MAP:

Mode a posteriori (i.e., the mode of the parameter chain)

SD:

Standard deviation of the parameter chain

2.5%:

The 2.5% quantile of parameter values

97.5%:

The 97.5% quantile of parameter values

Rhat:

Estimated potential scale reduction factor (hat{R})

ACF-k:

Smoothed autocorrelation at lag k, where k is the number of iterations between imputations (see summary.mitml)

The trace and smooth arguments can be used to forther influence how the trace plot is drawn, and what part of the chain should be used for it. The thin argument can be used for thinning the chain before plotting, in which case the number of data points reduces in the trace plot, and the autocorrelation is calculated up to lag k/thin, where k is the number of iterations between imputations. The n.Rhat argument controls the number of sequences that are used for calculating the potential scale reduction factor (hat{R}) in each plot (see summary.mitml). Further aguments to the graphics device are supplied using the dev.args argument.

The plot function calculates and displays diagnostic information primarily for the imputation phase (i.e., for iterations after burn-in). This is the default in the plot function and the recommended method for most users. However, note that, when overriding the default using trace="burnin", the posterior summary and the trace plots do not convey the necessary information to establish convergence. When trace="all", the full chain is displayed with emphasis on the imputation phase, and the posterior summary is calculated based only on iterations after burn-in as recommended.

Value

None (invisible NULL).

Note

The plots are presented one at a time. To proceed with the next plot, the user may left-click in the plotting window or press the "enter" key while in the R console. No plots are displayed when exporting to file.

Author(s)

Simon Grund

See Also

panImpute, jomoImpute

Examples

## Not run: 
data(studentratings)

# * Example 1: simple imputation

fml <- ReadDis + SES ~ ReadAchiev + (1|ID)
imp <- panImpute(studentratings, formula=fml, n.burn=1000, n.iter=100, m=5)

plot all parameters (default)
plot(imp)
plot(imp, print=c("beta","psi","sigma"))

plot fixed effects only
plot(imp, print="beta")

# export plots to file (using pdf device)
plot(imp, export="pdf", dev.args=list(width=9, height=4, pointsize=12))

# * Example 2: groupwise imputation

fml <- ReadDis + SES ~ ReadAchiev + (1|ID)
imp <- panImpute(studentratings, formula=fml, group=FedState, n.burn=1000,
       n.iter=100, m=5)

plot fixed effects for all groups (default for 'group')
plot(imp, print="beta", group="all")

plot fixed effects for first group only
plot(imp, print="beta", group=1)

## End(Not run)

Results