View source: R/family.zeroinf.R
zabinomial | R Documentation |
Fits a zero-altered binomial distribution based on a conditional model involving a Bernoulli distribution and a positive-binomial distribution.
zabinomial(lpobs0 = "logitlink", lprob = "logitlink",
type.fitted = c("mean", "prob", "pobs0"),
ipobs0 = NULL, iprob = NULL, imethod = 1, zero = NULL)
zabinomialff(lprob = "logitlink", lonempobs0 = "logitlink",
type.fitted = c("mean", "prob", "pobs0", "onempobs0"),
iprob = NULL, ionempobs0 = NULL, imethod = 1, zero = "onempobs0")
lprob |
Parameter link function applied to the probability parameter
of the binomial distribution.
See |
lpobs0 |
Link function for the parameter |
type.fitted |
See |
iprob , ipobs0 |
See
|
lonempobs0 , ionempobs0 |
Corresponding argument for the other parameterization. See details below. |
imethod , zero |
See
|
The response Y
is zero with probability p_0
,
else Y
has a positive-binomial distribution with
probability 1-p_0
. Thus 0 < p_0 < 1
,
which may be modelled as a function of the covariates.
The zero-altered binomial distribution differs from the
zero-inflated binomial distribution in that the former
has zeros coming from one source, whereas the latter
has zeros coming from the binomial distribution too. The
zero-inflated binomial distribution is implemented in
zibinomial
.
Some people call the zero-altered binomial a hurdle model.
The input is currently a vector or one-column matrix.
By default, the two linear/additive
predictors for zabinomial()
are (logit(p_0), \log(p))^T
.
The VGAM family function zabinomialff()
has a few
changes compared to zabinomial()
.
These are:
(i) the order of the linear/additive predictors is switched so the
binomial probability comes first;
(ii) argument onempobs0
is now 1 minus the probability of an observed 0,
i.e., the probability of the positive binomial distribution,
i.e., onempobs0
is 1-pobs0
;
(iii) argument zero
has a new default so that the onempobs0
is intercept-only by default.
Now zabinomialff()
is generally recommended over
zabinomial()
.
Both functions implement Fisher scoring and neither 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_{b} / [1 - (1 - \mu_{b})^N]
where \mu_{b}
is the usual binomial mean.
If type.fitted = "pobs0"
then p_0
is returned.
The response should be a two-column matrix of counts, with first column giving the number of successes.
Note this family function allows p_0
to be modelled as
functions of the covariates by having zero = NULL
.
It is a conditional model, not a mixture model.
These family functions effectively combine
posbinomial
and binomialff
into
one family function.
T. W. Yee
dzabinom
,
zibinomial
,
posbinomial
,
spikeplot
,
binomialff
,
dbinom
,
CommonVGAMffArguments
.
zdata <- data.frame(x2 = runif(nn <- 1000))
zdata <- transform(zdata, size = 10,
prob = logitlink(-2 + 3*x2, inverse = TRUE),
pobs0 = logitlink(-1 + 2*x2, inverse = TRUE))
zdata <- transform(zdata,
y1 = rzabinom(nn, size = size, prob = prob, pobs0 = pobs0))
with(zdata, table(y1))
zfit <- vglm(cbind(y1, size - y1) ~ x2, zabinomial(zero = NULL),
data = zdata, trace = TRUE)
coef(zfit, matrix = TRUE)
head(fitted(zfit))
head(predict(zfit))
summary(zfit)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.