zinegbinomial {VGAM}R Documentation

Zero-Inflated Negative Binomial Distribution Family Function

Description

Fits a zero-inflated negative binomial distribution by full maximum likelihood estimation.

Usage

zinegbinomial(lphi="logit", lmunb = "loge", lk = "loge",
              ephi=list(), emunb =list(), ek = list(),
              iphi = NULL, ik = NULL, zero = -3, method.init=1,
              shrinkage.init=0.95, nsimEIM=200)

Arguments

lphi, lmunb, lk Link functions for the parameters phi, the mean and k; see negbinomial for details, and Links for more choices.
ephi, emunb, ek List. Extra arguments for the respective links. See earg in Links for general information.
iphi, ik Optional initial values for phi and k. The default is to compute an initial value internally for both.
method.init An integer with value 1 or 2 or 3 which specifies the initialization method for the mean parameter. If failure to converge occurs try another value and/or else specify a value for shrinkage.init.
shrinkage.init How much shrinkage is used when initializing the mean. The value must be between 0 and 1 inclusive, and a value of 0 means the individual response values are used, and a value of 1 means the median or mean is used. This argument is used in conjunction with method.init.
zero Integers specifying which linear/additive predictor is modelled as intercepts only. If given, their absolute values must be either 1 or 2 or 3, and the default is only the k parameters (one for each response). See CommonVGAMffArguments for more information.
nsimEIM See CommonVGAMffArguments for more information.

Details

This function uses simulation and Fisher scoring, and is based on

P(Y=0) = phi + (1-phi) * (k/(k+μ))^k,

and for y=1,2,...,

P(Y=y) = (1-phi) * dnbinom(y, μ, k).

The parameter phi satisfies 0 < phi < 1. The mean of Y is (1-phi)*munb (returned as the fitted values). By default, the three linear/additive predictors are (logit(phi), log(munb), log(k))^T. See negbinomial, another VGAM family function, for the formula of the probability density function and other details of the negative binomial distribution.

Independent multivariate responses are handled. If so then arguments iphi and ik may be vectors with length equal to the number of responses.

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, and vgam.

Warning

Numerical problems can occur. Half-stepping is not uncommon. If failure to converge occurs, try using combinations of method.init, shrinkage.init, iphi, ik, and/or zero if there are explanatory variables.

Note

For intercept-models, the misc slot has a component called p0 which is the estimate of P(Y=0). Note that P(Y=0) is not the parameter phi.

If k is large then the use of VGAM family function zipoisson is probably preferable. This follows because the Poisson is the limiting distribution of a negative binomial as k tends to infinity.

The zero-deflated negative binomial distribution cannot be handled with this family function. It can be handled with the zero-altered negative binomial distribution; see zanegbinomial.

Author(s)

T. W. Yee

See Also

Zinb, negbinomial, rpois.

Examples

x = runif(n <- 1000)
phi = logit(-0.5+1*x, inverse=TRUE)
munb = exp(3+x)
k = exp(0+2*x)
y1 = rzinb(n, phi, mu=munb, size=k)
y2 = rzinb(n, phi, mu=munb, size=k)
table(y1)["0"] / sum(table(y1))
table(y2)["0"] / sum(table(y2))
fit = vglm(cbind(y1,y2) ~ x, zinegbinomial(zero=NULL), trace=TRUE)
coef(fit, matrix=TRUE)
summary(fit)
cbind(fitted(fit), (1-phi) * munb)[1:5,]
vcov(fit)

[Package VGAM version 0.7-7 Index]