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
,
simulate.vlm
.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