[R-sig-ME] standard errors for predictions from lmer and/or glmm.admb

Ben Bolker bbolker at gmail.com
Thu Jun 2 20:59:59 CEST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 06/02/2011 02:45 PM, Rafael Mares wrote:
> Dear all
> 
> I'm trying to obtain the standard errors for predictions from two
> different mixed effects models:
> 
> - a glmm using lmer (lme4 ver. 0.999375-39) with binomial errors
> (binary response variable), both continuous and categorical
> explanatory variables and two crossed random effects
> - a glmm using glmm.admb (glmmADMB ver. 0.5-2) with negative binomial
> errors (count response variable), both continuous and categorical
> explanatory variables and one random effect
> 
> I'm not comparing the two models, but I'd like to find a way to obtain
> the standard errors for the predictions (using new data sets) that
> would be applicable to both the lmer and the glmm.admb models... not
> necessarily applicable to both, but I think it would help me
> understand what I'm doing. I've read some of the older posts on this
> mailing list regarding prediction errors and intervals, but I'm either
> not understanding them correctly or the methods aren't applicable to
> neither lme4 nor glmmADMB.
> 
> So far, I am able to obtain predicted values using new data sets, for
> both models, but I don't know how to get the standard errors. For the
> predictions, I'm using:
> 
> for the lmer model:
> 	mm = model.matrix(terms(my.binomial.model),new.data1)
> 	predictions = mm %*% fixef(my.binomial.model)	# not transformed to
> the original scale
> 	
> for the glmm.admb model:
> 	mm = model.matrix(my.negbinom.model$fixed,new.data2)
> 	predictions = mm%*%my.negbinom.model$b	# not transformed to the original scale
> 	
> Thank you in advance for any help. I've copied the model calls and
> parts of the outputs below, in case that helps.
> 
> All the best,
> 
> Raff
> 

  See the code on http://glmm.wikidot.com/faq.

  The basic idea is that if fm1 is a fitted model and mm is a model
matrix based on the new data, then

 mm %*% fixef(fm1)  [for nlme/lme4-alikes]  or
 mm %*% coef(fm1)   [for some other models]

 gives the point predictions.

pvar1 <- diag(mm %*% tcrossprod(vcov(fm1),mm))

  Gives the prediction variances based only on the uncertainty in the
fixed effect predictors.

 pvar1+VarCorr(fm1)$Subject[1]

  adds the among-subject variance to this variance (will work only for
lme4 -- the bleeding-edge version of glmm.admb has a VarCorr extractor
function, but otherwise you'll have to dig out the random-effects
variance yourself).

  However, these approaches are quite crude -- they don't deal with
uncertainty in the variance parameters.

  Ben Bolker
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk3n3a8ACgkQc5UpGjwzenPseACfT/mNEdtqVWCG/1sbe5cYgQIx
8JMAn3JugkkWzYISPFQfmloI4Ev2jQKp
=ElSL
-----END PGP SIGNATURE-----




More information about the R-sig-mixed-models mailing list