AER (version 1.2-10)

dispersiontest: Dispersion Test


Tests the null hypothesis of equidispersion in Poisson GLMs against the alternative of overdispersion and/or underdispersion.


dispersiontest(object, trafo = NULL, alternative = c("greater", "two.sided", "less"))



a fitted Poisson GLM of class "glm" as fitted by glm with family poisson.


a specification of the alternative (see also details), can be numeric or a (positive) function or NULL (the default).


a character string specifying the alternative hypothesis: "greater" corresponds to overdispersion, "less" to underdispersion and "two.sided" to either one.


An object of class "htest".


The standard Poisson GLM models the (conditional) mean \(\mathsf{E}[y] = \mu\) which is assumed to be equal to the variance \(\mathsf{VAR}[y] = \mu\). dispersiontest assesses the hypothesis that this assumption holds (equidispersion) against the alternative that the variance is of the form: $$\mathsf{VAR}[y] \quad = \quad \mu \; + \; \alpha \cdot \mathrm{trafo}(\mu).$$ Overdispersion corresponds to \(\alpha > 0\) and underdispersion to \(\alpha < 0\). The coefficient \(\alpha\) can be estimated by an auxiliary OLS regression and tested with the corresponding t (or z) statistic which is asymptotically standard normal under the null hypothesis.

Common specifications of the transformation function \(\mathrm{trafo}\) are \(\mathrm{trafo}(\mu) = \mu^2\) or \(\mathrm{trafo}(\mu) = \mu\). The former corresponds to a negative binomial (NB) model with quadratic variance function (called NB2 by Cameron and Trivedi, 2005), the latter to a NB model with linear variance function (called NB1 by Cameron and Trivedi, 2005) or quasi-Poisson model with dispersion parameter, i.e., $$\mathsf{VAR}[y] \quad = \quad (1 + \alpha) \cdot \mu = \mathrm{dispersion} \cdot \mu.$$ By default, for trafo = NULL, the latter dispersion formulation is used in dispersiontest. Otherwise, if trafo is specified, the test is formulated in terms of the parameter \(\alpha\). The transformation trafo can either be specified as a function or an integer corresponding to the function function(x) x^trafo, such that trafo = 1 and trafo = 2 yield the linear and quadratic formulations respectively.


Cameron, A.C. and Trivedi, P.K. (1990). Regression-based Tests for Overdispersion in the Poisson Model. Journal of Econometrics, 46, 347--364.

Cameron, A.C. and Trivedi, P.K. (1998). Regression Analysis of Count Data. Cambridge: Cambridge University Press.

Cameron, A.C. and Trivedi, P.K. (2005). Microeconometrics: Methods and Applications. Cambridge: Cambridge University Press.

See Also

glm, poisson, glm.nb


Run this code
rd <- glm(trips ~ ., data = RecreationDemand, family = poisson)

## linear specification (in terms of dispersion)
## linear specification (in terms of alpha)
dispersiontest(rd, trafo = 1)
## quadratic specification (in terms of alpha)
dispersiontest(rd, trafo = 2)
dispersiontest(rd, trafo = function(x) x^2)

## further examples
dv <- glm(visits ~ . + I(age^2), data = DoctorVisits, family = poisson)

nmes <- glm(visits ~ health + age + gender + married + income + insurance,
  data = NMES1988, family = poisson)
# }

Run the code above in your browser using DataCamp Workspace