zinegbinomial {VGAM} | R Documentation |
Fits a zero-inflated negative binomial distribution by full maximum likelihood estimation.
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)
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.
|
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.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
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.
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
.
T. W. Yee
Zinb
,
negbinomial
,
rpois
.
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)