[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 /

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:
deals with two-level binomial models and
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

  # 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,


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