View source: R/family.univariate.R
inv.binomial | R Documentation |
Estimates the two parameters of an inverse binomial distribution by maximum likelihood estimation.
inv.binomial(lrho = extlogitlink(min = 0.5, max = 1),
llambda = "loglink", irho = NULL, ilambda = NULL, zero = NULL)
lrho , llambda |
Link function for the |
irho , ilambda |
Numeric.
Optional initial values for |
zero |
See |
The inverse binomial distribution of Yanagimoto (1989) has density function
f(y;\rho,\lambda) =
\frac{ \lambda
\,\Gamma(2y+\lambda) }{\Gamma(y+1) \,
\Gamma(y+\lambda+1) }
\{ \rho(1-\rho) \}^y \rho^{\lambda}
where y=0,1,2,\ldots
and
\frac12 < \rho < 1
,
and \lambda > 0
.
The first two moments exist for \rho>\frac12
;
then the mean
is \lambda (1-\rho) /(2 \rho-1)
(returned as the fitted values) and the
variance is
\lambda \rho
(1-\rho) /(2 \rho-1)^3
.
The inverse binomial distribution is a special
case of the generalized negative binomial distribution of
Jain and Consul (1971).
It holds that Var(Y) > E(Y)
so that the
inverse binomial distribution
is overdispersed compared with the Poisson distribution.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions
such as vglm
and vgam
.
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
\lambda
results in an EIM that is diagonal.
T. W. Yee
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
negbinomial
,
poissonff
.
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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.