Inverse Binomial Distribution Family Function
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 rho and lambda parameters.
See |
irho, ilambda |
Numeric. Optional initial values for rho and lambda. |
zero |
The inverse binomial distribution of Yanagimoto (1989) has density function
f(y;rho,lambda) = (lambda * Gamma(2y+lambda)) * [rho*(1-rho)]^y * rho^lambda / (Gamma(y+1) * Gamma(y+lambda+1))
where y=0,1,2,... and 0.5 < rho < 1, and lambda > 0. The first two moments exist for rho>0.5; 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
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
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.