R/KR-vcovAdj.R
kr-vcov.Rd
Kenward and Roger (1997) describbe an improved small sample approximation to the covariance matrix estimate of the fixed parameters in a linear mixed model.
vcovAdj(object, details = 0) # S3 method for lmerMod vcovAdj(object, details = 0) # S3 method for mer vcovAdj(object, details = 0)
object | An |
---|---|
details | If larger than 0 some timing details are printed. |
the estimated covariance matrix, this has attributed P, a
list of matrices used in KR_adjust
and the estimated matrix W of
the variances of the covariance parameters of the random effetcs
list: Sigma: the covariance matrix of Y; G: the G matrices that sum up to Sigma; n.ggamma: the number (called M in the article) of G matrices)
If $N$ is the number of observations, then the vcovAdj()
function involves inversion of an $N x N$ matrix, so the computations can
be relatively slow.
Ulrich Halekoh, Søren Højsgaard (2014)., A Kenward-Roger Approximation and Parametric Bootstrap Methods for Tests in Linear Mixed Models - The R Package pbkrtest., Journal of Statistical Software, 58(10), 1-30., http://www.jstatsoft.org/v59/i09/
Kenward, M. G. and Roger, J. H. (1997), Small Sample Inference for Fixed Effects from Restricted Maximum Likelihood, Biometrics 53: 983-997.
#> [1] "lmerMod" #> attr(,"package") #> [1] "lme4"## Here the adjusted and unadjusted covariance matrices are identical, ## but that is not generally the case: v1 <- vcov(fm1) v2 <- vcovAdj(fm1, details=0) v2 / v1#> 2 x 2 Matrix of class "dgeMatrix" #> (Intercept) Days #> (Intercept) 1 1 #> Days 1 1## For comparison, an alternative estimate of the variance-covariance ## matrix is based on parametric bootstrap (and this is easily ## parallelized): if (FALSE) { nsim <- 100 sim <- simulate(fm.ml, nsim) B <- lapply(sim, function(newy) try(fixef(refit(fm.ml, newresp=newy)))) B <- do.call(rbind, B) v3 <- cov.wt(B)$cov v2/v1 v3/v1 }