[R-sig-ME] How to calculate the level-1 variance of a GLMM (Poisson or Additive Over-dispersed Poisson) model?

Graham B. McNamara graham.b.mcnamara at gmail.com
Fri Oct 31 11:27:22 CET 2014


Dear all,

I'm estimating a three-level GLMM model of Students nested in Classes
nested Schools: a random-intercept model with just one predictor
variable (no random slopes). The dependent variable is a count
variable, but has a much higher variance than its mean, indicating I
probably need to be thinking of an overdispersed Poisson /
Negative-binomial.

I am interested in the proportion of variance found on each level:
decomposing the total variance. In linear models, the variance of all
random effects is presented int he summary() statement. But for GLMM
models, this is not the case: only the Class and School level variance
are reported. I understand the reason for this, and I have also read
(and learned a lot from) the caveats on http://glmm.wikidot.com/faq.

However, there are also papers describing several methods to retrieve
the Level-1 (student) level variance anyway:
http://www.bristol.ac.uk/cmm/software/support/support-faqs/pval.html/#macros
deals with two-level binomial models and
http://onlinelibrary.wiley.com/doi/10.1111/j.1467-985X.2004.00365.x/abstract
deals with over-dispersed binomial models.

Is there such a method available for Poisson, Over-dispersed Poisson,
or Negative Binomial models? A piece of code, somewhere, perhaps?


To explain my models:

  # poisson
  fit.glmer <- glmer(y ~ x1 + (1 | class) + (1 | school), data =
mydata, verbose = TRUE, family = poisson)

I also created an additive overdispered poisson-lognormal model by
adding a per-observation (Student-level) random effect (as per Ben
Bolker's code found on
http://blogs.umass.edu/nrc697sa-finnj/2012/11/08/bolkers-reanalysis-of-owl-data/):

  # poisson-lognormal
  fit.glmer.1 <- glmer(y ~ x1 + (1 | class) + (1 | school) + (1 |
over), data = mydata, verbose = TRUE, family = poisson)

And fit.glmer.1 seems to have much better fit than fit.glmer.


FYI, I'm *actually* interested in how the variance proportion across
levels change over time. For example, in 2010 most of the outcome
variance may be found on the Student-level: say 70% of the variance is
found on the Student level, 20% on the Class level, and 10% on the
School level. In 2011, with the same students, 50% of the variance is
found on the Student level, 40% on the class level, and 10% on the
School level. Thus, the between-student variance has decreased from
70% to 50% from 2010 to 2011. This is what I'm actually trying to
figure out for my data.
(At the moment I'm stuck with doing log-transformed lmer models per
year, because that's the only way I know to get at least *some* idea
about the level-1 variance... Any help is appreciated.)

Thanks a bunch,

Graham



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