Skip to content
Prev 10653 / 20628 Next

Obtaining the variance-covariance matrix for mixed-model averaged parameters

Paul Mensink <Paul.Mensink at ...> writes:
Since the mixed model average parameters are just a weighted
average of the parameters from the individual models this seems
at least plausible to me.  (I guess there's an interesting question
here about how/whether the estimates from the different models
are themselves correlated -- I suspect they are ...)


 This works for me with lme4 1.0-4 (the about-to-be-released
version, available on R-forge and Github)  and MuMin 1.9.5 ...
library(MuMIn)
library(lme4)
sessionInfo()
## other attached packages:
## [1] lme4_1.0-4      Matrix_1.0-13   lattice_0.20-23 MuMIn_1.9.5
data(Cement)
#Add in a column, X5, to use as a random factor
set.seed(101)
X5 <- sample(letters[1:4], 13, replace = TRUE) 
Cement1=cbind(Cement, X5)
 
[non-mixed version deleted to make Gmane happy]
glob2= lmer(y~X1+X2+(1|X5), REML=FALSE, data=Cement1)
#dredge global model
model.sel2= dredge(glob2)
#obtain model list from model selection object
model.list2 = get.models(model.sel2)
#average model parameters from model list
model.ave2=model.avg(model.list2)
# obtain variance-covariance matrix
vcov(model.ave2)

##             (Intercept)            X1            X2
## (Intercept)  4.02050573 -0.0373575227 -0.0705880379
## X1          -0.03735752  0.0113184076 -0.0009780072
## X2          -0.07058804 -0.0009780072  0.0016174380
## 

#########EXAMPLE # 3 - Mixed model using model.selection  fit=TRUE##########
# build a mixed global model
# REML set to false for model selection
 
glob3= lmer(y~X1+X2+(1|X5), REML=FALSE, data=Cement1)
 
#dredge global model
model.sel3= dredge(glob3)
#directly use model selection object to average model parameters 
model.ave3=model.avg(model.sel3, fit=TRUE)

# obtain variance-covariance matrix
vcov(model.ave3)

## same as above