preGauss
and
missmodel
. A default method operates on matrices and data frames.
daGauss(object, ...)
"preGauss"
or
"missmodel"
.
prior
,
start
, and
control
which affect the data augmentation model
and algorithm. Additional arguments are possible. See the specific
function called for a list of all possible arguments.
"missmodel"
is returned; see
for details.
daGauss
creates the data set
.Random.seed
if it does not already exist, otherwise its value is updated.
The
daGauss
function computes data augmentation estimates of the
parameters in a multivariate normal model. In this algorithm Markov
Chain Monte Carlo (MCMC) methods are used to (1) iteratively simulate
data for the missing values, and (2) simulate parameters given the
augmented data. Because data augmentation results in a Markov chain,
care must be taken to ensure that a steady state solution has been
reached. You can assess this from the sequence of parameter
iterates returned as the
paramIter
component of the class
"missmodel"
object returned by the
daGauss
function. These may be
analyzed using routines such as
plot.missmodel
and
worstFunLin
.
The function
impGauss
uses the
missmodel
object
produced by
daGauss
to impute values for the missing observations.
Because the
daGauss
function is often called more than once, it is
usually preferable to precompute many of the statistics used by
daGauss
by first calling the
preGauss
function.
Schafer, J. L. (1997), Analysis of Incomplete Multivariate Data, Chapman & Hall, London.
# Data augmentation: default startings values; save iterates 101 to 1100 daGauss(object = cholesterol, control = list(save = 101:500)) daGauss.default(data = cholesterol, control = list(save = 101:500)) #same # same, but first create preGauss object for greater efficiency cholesterol.pre <- preGauss(cholesterol) daGauss(cholesterol.pre, control = list(save = 101:500)) daGauss.preGauss(cholesterol.pre, control = list(save = 101:500)) #same # Use as starting values the final estimates given in cholesterol.em cholesterol.em <- emGauss(cholesterol.pre) daGauss(cholesterol.em, control = list(save = 101:500)) daGauss.missmodel(cholesterol.em, control = list(save = 101:500)) #same