zanegbinomial(lpobs0 = "logit", lmunb = "loge", lsize = "loge",
type.fitted = c("mean", "pobs0"),
ipobs0 = NULL, isize = NULL, zero = -3, imethod = 1,
nsimEIM = 250, shrinkage.init = 0.95)
zanegbinomialff(lmunb = "loge", lsize = "loge", lonempobs0 = "logit",
type.fitted = c("mean", "pobs0", "onempobs0"),
isize = NULL, ionempobs0 = NULL, zero = c(-2, -3),
imethod = 1, nsimEIM = 250, shrinkage.init = 0.95)pobs0 here.
See Links for more choices.munb parameter, which is the mean
$\mu_{nb}$ of an ordinary negative binomial distribution.
See Links for more choices.k. That is, as k increases, the
variance of the response decreases.
See Links for moCommonVGAMffArguments
and fittedvlm for information.k.
If given then it is okay to give one value
for each response/species by inputting a vector whose length
is the number of columns of the response matrix.zero = NULL
(not recommended).
A negative value means thnegbinomial
and CommonVGAMffArguments."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 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.
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 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.
Yee, T. W. (2014) Reduced-rank vector generalized linear models with two linear predictors. Computational Statistics and Data Analysis.
dzanegbin,
posnegbinomial,
negbinomial,
binomialff,
rposnegbin,
zinegbinomial,
zipoisson,
dnbinom,
CommonVGAMffArguments.zdata <- data.frame(x2 = runif(nn <- 2000))
zdata <- transform(zdata, pobs0 = logit(-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))Run the code above in your browser using DataLab