Learn R Programming

performance (version 0.1.0)

check_overdispersion: Check overdispersion of GL(M)M's

Description

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

Usage

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

A p-value < .05 indicates overdispersion. 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). The same code is also used to check overdispersion for negative binomial models.

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

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

Run this code
# NOT RUN {
library(glmmTMB)
data(Salamanders)

m <- glm(count ~ spp + mined, family = poisson, data = Salamanders)
check_overdispersion(m)

m <- glmmTMB(
  count ~ mined + spp + (1 | site),
  family = poisson,
  data = Salamanders
)
check_overdispersion(m)

# }

Run the code above in your browser using DataLab