I've run the following multilevel poisson regression:
> ambiglme4 <- glmer(AmbigCount ~ Posn.c*Valence.c + (Valence.c|mood.c/Chain), data = FinalData_forpoisson, family = poisson(link = "log"), control = glmerControl(optimizer = "bobyqa", check.conv.grad = .makeCC("warning", 0.05)))
> summary(ambiglme4)
Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
Family: poisson ( log )
Formula: AmbigCount ~ Posn.c * Valence.c + (Valence.c | mood.c/Chain)
Data: FinalData_forpoisson
Control: glmerControl(optimizer = "bobyqa", check.conv.grad = .makeCC("warning", 0.05))
AIC BIC logLik deviance df.resid
943.1 989.2 -461.6 923.1 726
Scaled residuals:
Min 1Q Median 3Q Max
-1.0106 -0.4791 -0.2481 -0.0211 7.6527
Random effects:
Groups Name Variance Std.Dev. Corr
Chain:mood.c (Intercept) 0.000e+00 0.000e+00
Valence.c 1.967e-12 1.402e-06 NaN
mood.c (Intercept) 0.000e+00 0.000e+00
Valence.c 6.576e-13 8.109e-07 NaN
Number of obs: 736, groups: Chain:mood.c, 92; mood.c, 2
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.68128 0.11397 -14.752 < 2e-16 ***
Posn.c -1.07585 0.08775 -12.260 < 2e-16 ***
Valence.c 0.89698 0.22795 3.935 8.32e-05 ***
Posn.c:Valence.c 0.47985 0.17550 2.734 0.00625 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) Posn.c Vlnc.c
Posn.c 0.831
Valence.c -0.508 -0.461
Psn.c:Vlnc. -0.461 -0.454 0.831
I want to check for overdispersion in the model and came across the aods3
package and the gof
function, which I used:
> gof(ambiglme4)
D = 481.9449, df = 726, P(>D) = 1
X2 = 825.0443, df = 726, P(>X2) = 0.006089041
I'm just not sure exactly what the output represents and am having a hard time finding an answer. Is anyone able to help me understand how to interpret this? Also, how might I then report the dispersion in the model in a paper.
Best Answer
I am not familiar with those packages, nor the outputs. However, if you can identify the residual deviance and the residual degrees of freedom in the output, the two should be roughly equal or else over- or under-dispersion may exist.
The only function I am familiar with that tests dispersion is dispersiontest in the AER package. The output is minimal and very clear e.g. gives you what the dispersion value is at what p-value.