Learn R Programming

mitml (version 0.3-4)

plot.mitml: Print diagnostic plots

Description

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

Usage

"plot"(x, print=c("beta","beta2","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", "beta2", "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", "beta2", "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-wise imputation was used. Default is to "all".
trace
One of "imputation", "burnin" or "all" denoting which part of the parameter chain should be used for the trace plot. Default is to "imputation", which 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. Default is 3.
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.

Value

None (invisible NULL).

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", "beta2", "psi" and "sigma" will plot the fixed effects, the variances and covariances of random effects, and the variances and covariances of residuals, respectively. Here, "beta2" refers to the fixed effects for target variables at level 2 and is only used when imputations were carried out using a two-level model (jomoImpute). 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:

The trace and smooth arguments can be used to 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 is reduced in the trace plot, and the autocorrelation is calculated up to lag $k/$thin (see above). 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.

See Also

panImpute, jomoImpute, summary.mitml

Examples

Run this code
## 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 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)

Run the code above in your browser using DataLab