Solved – How to assess multilevel model assumptions using residual plots

lme4-nlmemultilevel-analysisrresiduals

I am not clear as to how to assess if a multilevel model fit using lmer satisfies the assumptions of normality and homoscedasticity?

I have used the following r code and I find that histogram of residuals and qq plot satisfy the assumption that residuals are normally distributed. But as multilevel models have residual both at individual level as well as at the group level, should the residuals at both the levels be normally distributed?

residuals <- resid(results)
summary(residuals)
hist(residuals)
qqnorm(residuals)
qqline(residuals)
xyplot(resid(results) ~ fitted(results))

Best Answer

A multilevel model is defined as $y = Xβ + Zη + ǫ$

Thus there are 3 different kinds of residuals:

  1. Marginal residuals: $y − Xβ\ (= Zη + ǫ)$
  2. Conditional residuals: $y − Xβ − Zη\ (= ǫ)$
  3. Random effects: $y − Xβ − ǫ\ (= Zη)$

Marginal residuals:

  • Should be mean 0, but may show grouping structure
  • May not be homoskedastic!
  • Good for checking fixed effects, just like linear regression.

Conditional residuals:

  • Should be mean zero with no grouping structure
  • Should be homoskedastic!
  • Good for checking normality of ǫ, outliers

Random effects:

  • Should be mean zero with no grouping structure
  • May not be be homoskedastic!
  • Good for checking normality of , outliers

In R (if results is an mer object), the command residuals(results) gives you the conditional residuals.

# checking the normality of conditional residuals:
qqnorm(resid(results), main="Q-Q plot for conditional residuals")

# checking the normality of the random effects (here random intercept):
qqnorm(ranef(resuls)$Name_of_group_variable$`(Intercept)`, 
       main="Q-Q plot for the random intercept")

The answer is partly copied from the following PowerPoint slide deck pdf.