glm.binomial.disp {dispmod} | R Documentation |
Overdispersed binomial logit models
Description
This function estimates overdispersed binomial logit models using the approach discussed by Williams (1982).
Usage
glm.binomial.disp(object, maxit = 30, verbose = TRUE)
Arguments
object |
an object of class |
maxit |
integer giving the maximal number of iterations for the model fitting procedure. |
verbose |
logical, if |
Details
Extra-binomial variation in logistic linear models is discussed, among others, in Collett (1991). Williams (1982) proposed a quasi-likelihood approach for handling overdispersion in logistic regression models.
Suppose we observe the number of successes in
trials, for
, such that
Under this model, each of the binomial observations has a different probability of success
, where
is a random draw from a Beta distribution. Thus,
Assuming and
, the Beta density is zero at the extreme values of zero and one, and thus
. From this, the unconditional mean and variance can be calculated:
so unless or
, the unconditional variance of
is larger than binomial variance.
Identical expressions for the mean and variance of can be obtained if we assume that the
counts on the i-th unit are dependent, with the same correlation
. In this case,
.
The method proposed by Williams uses an iterative algorithm for estimating the dispersion parameter and hence the necessary weights
(for details see Williams, 1982).
Value
The function returns an object of class "glm"
with the usual information and the added components:
dispersion |
the estimated dispersion parameter. |
disp.weights |
the final weights used to fit the model. |
Note
Based on a similar procedure available in Arc (Cook and Weisberg, http://www.stat.umn.edu/arc)
References
Collett, D. (1991), Modelling Binary Data, London: Chapman and Hall.
Williams, D. A. (1982), Extra-binomial variation in logistic linear models, Applied Statistics, 31, 144–148.
See Also
lm
, glm
, lm.disp
, glm.poisson.disp
Examples
data(orobanche)
mod <- glm(cbind(germinated, seeds-germinated) ~ host*variety, data = orobanche,
family = binomial(logit))
summary(mod)
mod.disp <- glm.binomial.disp(mod)
summary(mod.disp)
mod.disp$dispersion