check_overdispersion() checks generalized linear (mixed) models for overdispersion.

check_overdispersion(x, ...)

Arguments

x

Fitted model of class merMod, glmmTMB, glm, or glm.nb (package MASS).

...

Currently not used.

Value

A list with results from the overdispersion test, like chi-squared statistics, p-value or dispersion ratio.

Details

Interpretation of the Dispersion Ratio

If the dispersion ratio is close to one, a poisson model fits well to the data. Dispersion ratios larger than one indicate overdispersion, thus a negative binomial model or similar might fit better to the data. A p-value < .05 indicates overdispersion.

Overdispersion in Poisson Models

For Poisson models, the overdispersion test is based on the code from Gelman and Hill (2007), page 115.

Overdispersion in Mixed Models

For merMod- and glmmTMB-objects, check_overdispersion() is based on the code in the GLMM FAQ, section How can I deal with overdispersion in GLMMs?. Note that this function only returns an approximate estimate of an overdispersion parameter, and is probably inaccurate for zero-inflated mixed models (fitted with glmmTMB).

How to fix Overdispersion

Overdispersion can be fixed by either modelling the dispersion parameter, or by choosing a different distributional family (like Quasi-Poisson, or negative binomial, see Gelman and Hill (2007), pages 115-116).

References

  • Bolker B et al. (2017): GLMM FAQ.

  • Gelman, A., & Hill, J. (2007). Data analysis using regression and multilevel/hierarchical models. Cambridge; New York: Cambridge University Press.

Examples

library(glmmTMB) data(Salamanders) m <- glm(count ~ spp + mined, family = poisson, data = Salamanders) check_overdispersion(m)
#> # Overdispersion test #> #> dispersion ratio = 2.946 #> Pearson's Chi-Squared = 1873.710 #> p-value = < 0.001 #>
#> Overdispersion detected.
m <- glmmTMB( count ~ mined + spp + (1 | site), family = poisson, data = Salamanders ) check_overdispersion(m)
#> # Overdispersion test #> #> dispersion ratio = 2.324 #> Pearson's Chi-Squared = 1475.875 #> p-value = < 0.001 #>
#> Overdispersion detected.