da.mix {mix} | R Documentation |
Data Augmentation for Unrestricted General Location Model
Description
Markov Chain Monte Carlo method for generating posterior draws of the
parameters of the unrestricted general location model, given a matrix of
incomplete mixed data. At each step, missing data are randomly imputed
under the current parameter, and a new parameter value is drawn from its
posterior distribution given the completed data. After a suitable
number of steps are taken, the resulting value of the parameter may be
regarded as a random draw from its observed-data posterior
distribution. May be used together with imp.mix
to create
multiple imputations of the missing data.
Usage
da.mix(s, start, steps=1, prior=0.5, showits=FALSE)
Arguments
s |
summary list of an incomplete data matrix created by the
function |
start |
starting value of the parameter. This is a parameter list
such as one created by the function |
steps |
number of data augmentation steps to be taken. |
prior |
Optional vector or array of hyperparameter(s) for a Dirichlet prior
distribution. The default is the Jeffreys prior (all hyperparameters
= .5). If structural zeros appear in the table, prior counts for these
cells should be set to |
showits |
if |
Details
The prior distribution used by this function is a combination of a
Dirichlet prior for the cell probabilities, an improper uniform prior
for the within-cell means, and the improper Jeffreys prior for the
covariance matrix. The posterior distribution is not guaranteed to
exist, especially in sparse-data situations. If this seems to be a
problem, then better results may be obtained by imposing restrictions
on the parameters; see ecm.mix
and dabipf.mix
.
Value
A new parameter list. The parameter can be put into a more
understandable format by the function getparam.mix
.
Note
The random number generator seed must be set at least once by the
function rngseed
before this function can be used.
References
Schafer, J. L. (1996) Analysis of Incomplete Multivariate Data. Chapman & Hall, Chapter 9.
See Also
prelim.mix
, getparam.mix
,
em.mix
, and rngseed
.
Examples
data(stlouis)
s <- prelim.mix(stlouis,3) # preliminary manipulations
thetahat <- em.mix(s) # find ML estimate
rngseed(1234567) # set random number generator seed
newtheta <- da.mix(s, thetahat, steps=100, showits=TRUE) # take 100 steps
ximp1 <- imp.mix(s, newtheta) # impute under newtheta