Learn R Programming

VGAM (version 1.1-8)

inv.binomial: 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)

Value

An object of class "vglmff"

(see vglmff-class). The object is used by modelling functions such as vglm

and vgam.

Arguments

lrho, llambda

Link function for the \(\rho\) and \(\lambda\) parameters. See Links for more choices.

irho, ilambda

Numeric. Optional initial values for \(\rho\) and \(\lambda\).

zero

See CommonVGAMffArguments.

Author

T. W. Yee

Details

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.

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

negbinomial, poissonff.

Examples

Run this code
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

Run the code above in your browser using DataLab