oazeta {VGAMdata} | R Documentation |
One-Altered Zeta Distribution
Description
Fits a one-altered zeta distribution based on a conditional model involving a Bernoulli distribution and a 1-truncated zeta distribution.
Usage
oazeta(lpobs1 = "logitlink", lshape = "loglink",
type.fitted = c("mean", "shape", "pobs1", "onempobs1"),
gshape = exp((-4:3)/4), ishape = NULL, ipobs1 = NULL, zero = NULL)
Arguments
lpobs1 |
Link function for the parameter |
lshape |
See |
type.fitted |
See |
gshape , ishape , ipobs1 , zero |
See |
Details
The response Y
is one with probability p_1
,
or Y
has a 1-truncated zeta distribution with
probability 1-p_1
. Thus 0 < p_1 < 1
,
which is modelled as a function of the covariates. The one-altered
zeta distribution differs from the one-inflated
zeta distribution in that the former has ones coming from one
source, whereas the latter has ones coming from the zeta
distribution too. The one-inflated zeta distribution
is implemented in the VGAM package. Some people
call the one-altered zeta a hurdle model.
The input can be a matrix (multiple responses).
By default, the two linear/additive predictors
of oazeta
are (logit(\phi), log(shape))^T
.
Value
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 = \phi + (1-\phi) A
where A
is the mean of the one-truncated
zeta distribution.
If type.fitted = "pobs1"
then p_1
is returned.
Note
This family function effectively combines
binomialff
and
otzeta
into
one family function.
Author(s)
T. W. Yee
See Also
Oazeta
,
zetaff
,
oizeta
,
otzeta
,
CommonVGAMffArguments
,
simulate.vlm
.
Examples
## Not run: odata <- data.frame(x2 = runif(nn <- 1000))
odata <- transform(odata, pobs1 = logitlink(-1 + 2*x2, inverse = TRUE),
shape = loglink( 1 + 1*x2, inverse = TRUE))
odata <- transform(odata, y1 = roazeta(nn, shape = shape, pobs1 = pobs1),
y2 = roazeta(nn, shape = shape, pobs1 = pobs1))
with(odata, table(y1))
ofit <- vglm(cbind(y1, y2) ~ x2, oazeta, data = odata, trace = TRUE)
coef(ofit, matrix = TRUE)
head(fitted(ofit))
head(predict(ofit))
summary(ofit)
## End(Not run)