View source: R/family.zeroinf.R
zanegbinomial | R Documentation |
Fits a zero-altered negative binomial distribution based on a conditional model involving a binomial distribution and a positive-negative binomial distribution.
zanegbinomial(zero = "size", type.fitted = c("mean", "munb", "pobs0"),
mds.min = 1e-3, nsimEIM = 500, cutoff.prob = 0.999,
eps.trig = 1e-7, max.support = 4000, max.chunk.MB = 30,
lpobs0 = "logitlink", lmunb = "loglink", lsize = "loglink",
imethod = 1, ipobs0 = NULL,
imunb = NULL, iprobs.y = NULL, gprobs.y = (0:9)/10,
isize = NULL, gsize.mux = exp(c(-30, -20, -15, -10, -6:3)))
zanegbinomialff(lmunb = "loglink", lsize = "loglink", lonempobs0 = "logitlink",
type.fitted = c("mean", "munb", "pobs0", "onempobs0"),
isize = NULL, ionempobs0 = NULL, zero = c("size",
"onempobs0"), mds.min = 1e-3, iprobs.y = NULL, gprobs.y = (0:9)/10,
cutoff.prob = 0.999, eps.trig = 1e-7, max.support = 4000,
max.chunk.MB = 30, gsize.mux = exp(c(-30, -20, -15, -10, -6:3)),
imethod = 1, imunb = NULL,
nsimEIM = 500)
lpobs0 |
Link function for the parameter |
lmunb |
Link function applied to the |
lsize |
Parameter link function applied to the reciprocal of the dispersion
parameter, called |
type.fitted |
See |
lonempobs0 , ionempobs0 |
Corresponding argument for the other parameterization. See details below. |
ipobs0 , imunb , isize |
Optional initial values for |
zero |
Specifies which of the three linear predictors are
modelled as intercept-only.
All parameters can be modelled as a
function of the explanatory variables by setting |
nsimEIM , imethod |
See |
iprobs.y , gsize.mux , gprobs.y |
See |
cutoff.prob , eps.trig |
See |
mds.min , max.support , max.chunk.MB |
See |
The response Y
is zero with probability p_0
,
or Y
has a positive-negative binomial distribution with
probability 1-p_0
. Thus 0 < p_0 < 1
,
which is modelled as a function of the covariates. The zero-altered
negative binomial distribution differs from the zero-inflated negative
binomial distribution in that the former has zeros coming from one
source, whereas the latter has zeros coming from the negative binomial
distribution too. The zero-inflated negative binomial distribution
is implemented in the VGAM package. Some people
call the zero-altered negative binomial a hurdle model.
For one response/species, by default, the three linear/additive
predictors
for zanegbinomial()
are (logit(p_0), \log(\mu_{nb}), \log(k))^T
. This vector is recycled for multiple species.
The VGAM family function zanegbinomialff()
has a few
changes compared to zanegbinomial()
.
These are:
(i) the order of the linear/additive predictors is switched so the
negative binomial mean comes first;
(ii) argument onempobs0
is now 1 minus the probability of an observed 0,
i.e., the probability of the positive negative binomial distribution,
i.e., onempobs0
is 1-pobs0
;
(iii) argument zero
has a new default so that the pobs0
is intercept-only by default.
Now zanegbinomialff()
is generally recommended over
zanegbinomial()
.
Both functions implement Fisher scoring and can handle
multiple responses.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.
The fitted.values
slot of the fitted object,
which should be extracted by the generic function fitted
, returns
the mean \mu
(default) which is given by
\mu = (1-p_0) \mu_{nb} / [1 - (k/(k+\mu_{nb}))^k].
If type.fitted = "pobs0"
then p_0
is returned.
This family function is fragile; it inherits the same difficulties as
posnegbinomial
.
Convergence for this VGAM family function seems to depend quite
strongly on providing good initial values.
This VGAM family function is computationally expensive
and usually runs slowly;
setting trace = TRUE
is useful for monitoring convergence.
Inference obtained from summary.vglm
and summary.vgam
may or may not be correct. In particular, the p-values, standard errors
and degrees of freedom may need adjustment. Use simulation on artificial
data to check that these are reasonable.
Note this family function allows p_0
to be modelled as
functions of the covariates provided zero
is set correctly.
It is a conditional model, not a mixture model.
Simulated Fisher scoring is the algorithm.
This family function effectively combines
posnegbinomial
and binomialff
into
one family function.
This family function can handle multiple responses, e.g., more than one species.
T. W. Yee
Welsh, A. H., Cunningham, R. B., Donnelly, C. F. and Lindenmayer, D. B. (1996). Modelling the abundances of rare species: statistical models for counts with extra zeros. Ecological Modelling, 88, 297–308.
Yee, T. W. (2014). Reduced-rank vector generalized linear models with two linear predictors. Computational Statistics and Data Analysis, 71, 889–902.
gaitdnbinomial
,
posnegbinomial
,
Gaitdnbinom
,
negbinomial
,
binomialff
,
zinegbinomial
,
zipoisson
,
spikeplot
,
dnbinom
,
CommonVGAMffArguments
,
simulate.vlm
.
## Not run:
zdata <- data.frame(x2 = runif(nn <- 2000))
zdata <- transform(zdata, pobs0 = logitlink(-1 + 2*x2, inverse = TRUE))
zdata <- transform(zdata,
y1 = rzanegbin(nn, munb = exp(0+2*x2), size = exp(1), pobs0 = pobs0),
y2 = rzanegbin(nn, munb = exp(1+2*x2), size = exp(1), pobs0 = pobs0))
with(zdata, table(y1))
with(zdata, table(y2))
fit <- vglm(cbind(y1, y2) ~ x2, zanegbinomial, data = zdata, trace = TRUE)
coef(fit, matrix = TRUE)
head(fitted(fit))
head(predict(fit))
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.