This group of functions will extract various
summaries from a model fit by cvam, either
with the EM algorithm or by Markov chain Monte Carlo.
get.coef(obj, withSE = FALSE, meanSeries = TRUE, msgIfNone = TRUE)get.covMat(obj, msgIfNone = TRUE)
get.estimates(obj, msgIfNone = TRUE)
get.loglik(obj, msgIfNone = TRUE)
get.logP(obj, msgIfNone = TRUE)
get.mfTrue(obj)
get.modelMatrix(obj, msgIfNone = TRUE)
get.offset(obj, mfTrue = FALSE, msgIfNone = TRUE)
get.strZero(obj, mfTrue = FALSE, msgIfNone = TRUE)
get.fitted(obj, type=c("prob", "mean", "logMean"), mfTrue = TRUE,
meanSeries = TRUE, msgIfNone = TRUE )
get.imputedFreq(obj, msgIfNone = TRUE)
get.minus2logPSeries(obj, startValShift = TRUE,
msgIfNone = TRUE, coda = ( obj$method == "MCMC" ) )
get.coefSeries(obj, msgIfNone = TRUE, coda = ( obj$method == "MCMC" ) )
get.probSeries(obj, levelNames=TRUE, sep=".",
msgIfNone = TRUE, coda = ( obj$method == "MCMC" ) )
get.coef returns a vector of estimated coefficients from the
log-linear model if withSE=FALSE; if withSE=TRUE, it
returns a data frame containing coefficients, standard errors,
t-statistics and p-values.
get.covMat returns an estimated covariance matrix for the
estimated coefficients.
get.estimates returns a data frame or a list of data frames
containing the estimates held in obj.
get.loglik and get.logP return the value of the
loglikelihood function or log-posterior density from the beginning of
the final iteration of EM or MCMC. If the model was fit using
cvam(..., saturated=TRUE), the likelihood is based on a
multinomial or product-multinomial distribution over the cells of the
complete-data table. If the model was fit as a log-linear approach
using cvam(..., saturated=FALSE), the likelihood is based on a
surrogate Poisson model.
get.mfTrue returns a data frame with one row per cell of the
complete-data table. The variables in this data frame include every
factor appearing in the model (the non-coarsened versions) and another
variable named freq. If the model was fit using cvam(...,
method="EM"), freq contains the predicted cell
frequencies at the final iteration of EM. If the model was fit using
cvam(..., method="MCMC"), freq contains a running
average of imputed cell frequencies over all iterations of MCMC after the
burn-in period. In either case, if the data used to fit the model
contain no missing or coarsened values, then freq will be equal
to the observed frequencies.
get.modelMatrix returns the model matrix for the log-linear
model. The rows of the model matrix correspond to the rows of
mfTrue, and the columns correspond to terms created from
the factors in mfTrue.
get.offset retrieves the offset for the log-linear model.
If mfTrue is TRUE, it returns the data frame
mfTrue with a numeric variable named offset. If
mfTrue is FALSE, it returns a numeric vector of length
NROW(mfTrue).
get.strZero retrieves the logical values indicating whether
each cell is structural zero. If mfTrue is TRUE, it
returns the data frame mfTrue with a logical variable named
strZero. If mfTrue is FALSE, it returns a logical
vector of length NROW(mfTrue).
get.fitted retrieves fitted values from the log-linear
model. If type="prob", the fitted values are cell
probabilities conditioned on any variables fixed in the model. If
type="mean" or "logMean", the fitted values are cell
means or log-cell means from the log-linear model.
If mfTrue is TRUE, the function
returns the data frame mfTrue with a numeric variable named
fit. If mfTrue is FALSE, it returns a numeric
vector of length NROW(mfTrue).
get.imputedFreq returns the data frame mfTrue, with the
freq variable replaced by multiply imputed versions of the
frequencies for the complete-data table.
get.minus2logPSeries returns a series of (minus 2 times) the
log-posterior density values from the iterations of MCMC, either as a
numeric vector or as an mcmc object used by the coda
package.
get.coefSeries returns a series of log-linear coefficients from
the iterations of MCMC, either as a numeric matrix or as an
mcmc object used by the coda package.
get.probSeries returns a series of cell probabilities from
the iterations of MCMC, either as a numeric matrix or as an
mcmc object used by the coda package.
an object resulting from a call to cvam
with method = "EM" or method = "MCMC"
if TRUE, then get.coef will return a data
frame containing estimated log-linear coefficients, standard errors,
t-statistics and p-values; if FALSE, then only a vector of
coefficients is given.
if TRUE, then get.offset,
get.strZero and get.fitted will return a data frame with
one row per cell, with all model variables (the non-coarsened
versions) present as factors, and with another variable named
(depending on which function was called) offset, strZero
or fit containing the requested values. If FALSE, then
get.offset, get.strZero and get.fitted will
return a vector containing the requested values.
applies when obj is the result from a simulation
run. If TRUE, results will be based on from a running average
of simulated parameters over all iterations after the burn-in
period. If FALSE, results will be based only on the simulated
parameter values at the end of the run.
if TRUE then, if the get procedure
fails, an informative message is given
explaining why the requested summary cannot be obtained. For example,
get.coef will fail to return coefficients from a model fit with
cvam(..., saturated = TRUE) because no model matrix is created
and the log-linear coefficients
are not defined. If FALSE, then these messages are suppressed.
type of fitted values to be returned by
get.fitted. "prob" returns cell probabilities
conditioned on variables fixed by the model (if any); "mean"
returns cell means from the log-linear model; and "logMean"
returns log-cell means from the log-linear model (i.e., the linear
predictor).
the function get.minus2logPSeries extracts a
saved series from an MCMC run containing the values of (minus 2 times)
the log-posterior density function. If startValShift is true,
the series is shifted by (minus 2 times) the log-posterior density at
the starting value, if the starting value appears to be a mode.
if TRUE, the series from an MCMC run is returned as
an mcmc object for plotting and diagnostic analysis with the
coda package. If FALSE, a one-dimensional series is
returned as a numeric vector, and a multidimensional series is
returned as a numeric matrix with rows corresponding to iterations and
columns corresponding to elements of the multidimensional quantities
being monitored.
the get.probSeries function extracts a saved
series of probabilities from an MCMC run corresponding to cells of the
complete-data table (i.e., the rows of mfTrue). If
levelNames is TRUE, names for the cell probabilities are
constructed from the levels of the factors in mfTrue. As the
number of variables in the model grows, these names can become
unwieldly, and setting levelNames to FALSE omits the
names.
a character string used to separate the levels of multiple
factors when levelNames is TRUE.
Joe Schafer Joseph.L.Schafer@census.gov
The series objects returned by get.minus2logPSeries,
get.coefSeries and get.probSeries omit results from the
burn-in period, if any, and may also be thinned. The default behavior
is no burn-in period and no thinning. The burn-in period and thinning
interval are set by components of the control argument to
cvam, via the function cvamControl; the relevant
components are control$burnMCMC and control$thinMCMC.
By default, cvam does not save cell probabilities. To save them, set
control$saveProbSeries to TRUE.
get.imputedFreq returns multiple imputations of frequencies for
the complete-data table generated and stored during an MCMC run after
the burn-in period. The default behavior is no imputation. This can be
changed by setting control$imputeEvery to an integer greater
than zero.
Other useful information from a model fit can be extracted
with the summary method for a cvam object, and with the
functions cvamEstimate, cvamPredict,
cvamLik, and cvamImpute.
For more information, refer to the package vignette Log-Linear Modeling with Missing and Coarsened Values Using the cvam Package.
For information about coda, see:
Martyn Plummer, Nicky Best, Kate Cowles and Karen Vines (2006). CODA: Convergence Diagnosis and Output Analysis for MCMC, R News, vol 6, 7-11.
cvam, summary.cvam, cvamControl,
cvamEstimate, cvamPredict,
cvamImpute, cvamLik
fit <- cvam( ~ V1 * V2, data=crime, freq=n )
get.coef(fit, withSE=TRUE)
get.covMat(fit)
get.fitted(fit, type="mean")
set.seed(6755)
fit <- cvam(fit, method="MCMC",
control=list(iterMCMC=5000, imputeEvery=500) )
get.imputedFreq(fit)
if (FALSE) plot( get.coefSeries(fit) ) # coda trace and density plots
Run the code above in your browser using DataLab