inv.binomial {VGAM} | R Documentation |
Inverse Binomial Distribution Family Function
Description
Estimates the two parameters of an inverse binomial distribution by maximum likelihood estimation.
Usage
inv.binomial(lrho = extlogitlink(min = 0.5, max = 1),
llambda = "loglink", irho = NULL, ilambda = NULL, zero = NULL)
Arguments
lrho , llambda |
Link function for the |
irho , ilambda |
Numeric.
Optional initial values for |
zero |
Details
The inverse binomial distribution of Yanagimoto (1989) has density function
where and
,
and
.
The first two moments exist for
;
then the mean
is
(returned as the fitted values) and the
variance is
.
The inverse binomial distribution is a special
case of the generalized negative binomial distribution of
Jain and Consul (1971).
It holds that
so that the
inverse binomial distribution
is overdispersed compared with the Poisson distribution.
Value
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions
such as vglm
and vgam
.
Note
This VGAM family function only works reasonably well with
intercept-only models.
Good initial values are needed; if convergence failure occurs
use irho
and/or ilambda
.
Some elements of the working weight matrices use the expected
information matrix while other elements use the observed
information matrix.
Yet to do: using the mean and the reciprocal of
results in an EIM that is diagonal.
Author(s)
T. W. Yee
References
Yanagimoto, T. (1989). The inverse binomial distribution as a statistical model. Communications in Statistics: Theory and Methods, 18, 3625–3633.
Jain, G. C. and Consul, P. C. (1971). A generalized negative binomial distribution. SIAM Journal on Applied Mathematics, 21, 501–513.
Jorgensen, B. (1997). The Theory of Dispersion Models. London: Chapman & Hall
See Also
Examples
idata <- data.frame(y = rnbinom(n <- 1000, mu = exp(3), size = exp(1)))
fit <- vglm(y ~ 1, inv.binomial, data = idata, trace = TRUE)
with(idata, c(mean(y), head(fitted(fit), 1)))
summary(fit)
coef(fit, matrix = TRUE)
Coef(fit)
sum(weights(fit)) # Sum of the prior weights
sum(weights(fit, type = "work")) # Sum of the working weights