Data Augmentation for Multivariate Normal Models

DESCRIPTION:

Methods for data augmentation assuming a multivariate normal model.

USAGE:

daGauss.default(object, subset, prior = <<see below>>,  
    start = <<see below>>, control = daGauss.control()) 
daGauss.preGauss(object, prior = <<see below>>, 
    start = <<see below>>, control = daGauss.control()) 
daGauss.missmodel(object, prior = <<see below>>, 
    start = <<see below>>, control = daGauss.control()) 

REQUIRED ARGUMENTS:

object
for daGauss.default: data frame or matrix containing the raw data. When a data frame is input, the model is applied to all numeric variables. When a matrix is input, all variables are used.

for daGauss.preGauss: an object of class "preGauss" (produced by the preGauss function).

for daGauss.missmodel: an object of class "missmodel" containing the results of a previous log-linear analysis. Any of the functions mdGauss, completeGauss, emGauss, or daGauss may be used to produce the missmodel object.

OPTIONAL ARGUMENTS:

subset
expression specifying which rows of the data should be used in the fit. This can be a logical vector (which is replicated to have length equal to the number of rows), a numeric vector indicating the observation numbers to be included, or a character vector of the row names to be included. All observations are included by default. If object is a data frame, this expression may use variables in the data frame.
prior
specifies normal inverted-Wishart prior hyperparameters. Supply either a character string, or an object of class "priorGauss".

Valid character strings are "noninformative" and "ridge" (for the default ridge prior). String matching is used, so the characters "n" or "r" are sufficient.

prior="ml" is not allowed for data augmentation, which samples from the posterior distribution, and therefore requires a prior (when prior="ml", no prior is specified and maximum likelihood estimates are produced).

A class "priorGauss" object is created by routine priorGauss.

The default value is a noninformative prior. When a class "missmodel" object is input, any value specified in a previous call has priority over the default value (but not over any currently specified value).
start
starting values of the parameters. The parameters estimated by the Gauss functions are the mean and variance--covariance matrix of a multivariate normal distribution. Thus, start may be a list with vector component mu giving the mean and matrix component sigma giving the variance-covariance matrix. Alternatively, a class "Gauss" object created as the paramIter component of the class "missmodel" object may be used. Routines mdGauss, daGauss, and emGauss may be used to create an appropriate "missmodel" object.

In most cases the default starting values are equal to the mean and a diagonal variance-covariance matrix estimate obtained from the observations with no missing values. If an entire column is missing, the default mean for the column is zero, and the default variance for the column is one. Another exception occurs when argument object is a class "missmodel" object. In this case argument start defaults to the final estimates in the input "missmodel" object.
control
A list of parameters used to control the algorithm; see for details.

For daGauss.missmodel: if not given, argument control defaults to the control parameters specified in the call statement of the input "missmodel" object, but only if these are of the correct class. If these are not given (or are not of the correct class), then the argument control defaults to daGauss.control values.

VALUE:

an object of class "missmodel" is returned; see for details.

SIDE EFFECTS:

All methods create the data set .Random.seed if it does not already exist; otherwise they update its value.

DETAILS:

See the help file for for additional details.

SEE ALSO:

, , , , , , , , .

EXAMPLES:

# Data augmentation: default startings values; save iterates 101 to 1100  
daGauss.default(object = cholesterol,
                control = list(save = 101:500)) 
cholesterol.pre <- preGauss(data = cholesterol) 
daGauss.preGauss(cholesterol.pre,
                control = list(save = 101:500)) 

# Use as starting values the final estimates given in cholesterol.em 
cholesterol.em <- emGauss(object = cholesterol) 
daGauss.missmodel(object = cholesterol.em,
                control = list(save = 101:500))