Last chance! 50% off unlimited learning
Sale ends in
zinegbinomial(lpstr0 = "logit", lmunb = "loge", lsize = "loge",
type.fitted = c("mean", "pobs0", "pstr0", "onempstr0"),
ipstr0 = NULL, isize = NULL, zero = -3,
imethod = 1, ishrinkage = 0.95, nsimEIM = 250)
zinegbinomialff(lmunb = "loge", lsize = "loge", lonempstr0 = "logit",
type.fitted = c("mean", "pobs0", "pstr0", "onempstr0"),
isize = NULL, ionempstr0 = NULL, zero = c(-2, -3),
imethod = 1, ishrinkage = 0.95, nsimEIM = 250)
negbinomial
for details,
and Links
for more choices.
For the zero-deflated mCommonVGAMffArguments
and fittedvlm
for more information.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 ishrinkage
.
CommonVGAMffArguments
for information."vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
,
and vgam
.stepsize
(in vglm.control
),
imethod
,
ishrinkage
,
ipstr0
,
isize
, and/or
zero
if there are explanatory variables.An infinite loop might occur if some of the fitted values (the means) are too close to 0.
This trace = TRUE
is useful for monitoring convergence.
zinegbinomial()
are $(logit(\phi), \log(\mu), \log(k))^T$.
See negbinomial
, another
Independent multivariate responses are handled.
If so then arguments ipstr0
and isize
may be vectors
with length equal to the number of responses.
The zinegbinomialff()
has a few
changes compared to zinegbinomial()
.
These are:
(i) the order of the linear/additive predictors is switched so the
NB mean comes first;
(ii) onempstr0
is now 1 minus the probability of a structural 0,
i.e., the probability of the parent (NB) component,
i.e., onempstr0
is 1-pstr0
;
(iii) argument zero
has a new default so that the onempstr0
is intercept-only by default.
Now zinegbinomialff()
is generally recommended over
zinegbinomial()
.
Both functions implement Fisher scoring and can handle
multiple responses.
Zinegbin
,
negbinomial
,
rpois
,
CommonVGAMffArguments
.# Example 1
ndata <- data.frame(x2 = runif(nn <- 1000))
ndata <- transform(ndata, pstr0 = logit(-0.5 + 1 * x2, inverse = TRUE),
munb = exp( 3 + 1 * x2),
size = exp( 0 + 2 * x2))
ndata <- transform(ndata,
y1 = rzinegbin(nn, mu = munb, size = size, pstr0 = pstr0),
y2 = rzinegbin(nn, mu = munb, size = size, pstr0 = pstr0))
with(ndata, table(y1)["0"] / sum(table(y1)))
fit <- vglm(cbind(y1, y2) ~ x2, zinegbinomial(zero = NULL), data = ndata)
coef(fit, matrix = TRUE)
summary(fit)
head(cbind(fitted(fit), with(ndata, (1 - pstr0) * munb)))
round(vcov(fit), 3)
# Example 2: RR-ZINB could also be called a COZIVGLM-ZINB-2
ndata <- data.frame(x2 = runif(nn <- 2000))
ndata <- transform(ndata, x3 = runif(nn))
ndata <- transform(ndata, eta1 = 3 + 1 * x2 + 2 * x3)
ndata <- transform(ndata, pstr0 = logit(-1.5 + 0.5 * eta1, inverse = TRUE),
munb = exp(eta1),
size = exp(4))
ndata <- transform(ndata,
y1 = rzinegbin(nn, pstr0 = pstr0, mu = munb, size = size))
with(ndata, table(y1)["0"] / sum(table(y1)))
rrzinb <- rrvglm(y1 ~ x2 + x3, zinegbinomial(zero = NULL), data = ndata,
Index.corner = 2, str0 = 3, trace = TRUE)
coef(rrzinb, matrix = TRUE)
Coef(rrzinb)
Run the code above in your browser using DataLab