`check_overdispersion()`

checks generalized linear (mixed) models
for overdispersion.

check_overdispersion(x, ...)

x | Fitted model of class |
---|---|

... | Currently not used. |

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

Overdispersion occurs when the observed variance is higher than the variance of a theoretical model. For Poisson models, variance increases with the mean, thus, variance usually (roughly) equals the mean value. If the variance is much higher, the data are "overdispersed".

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.

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

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`

).

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

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.

if (require("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) }#>#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> Warning: 'giveCsparse' has been deprecated; setting 'repr = "T"' for you#> # Overdispersion test #> #> dispersion ratio = 2.324 #> Pearson's Chi-Squared = 1475.875 #> p-value = < 0.001 #>#>