gaitdzeta {VGAM} | R Documentation |
Fits a generally–altered, –inflated, –truncated and deflated zeta regression by MLE. The GAITD combo model having 7 types of special values is implemented. This allows mixtures of zetas on nested and/or partitioned support as well as a multinomial logit model for altered, inflated and deflated values.
gaitdzeta(a.mix = NULL, i.mix = NULL, d.mix = NULL, a.mlm = NULL, i.mlm = NULL, d.mlm = NULL, truncate = NULL, max.support = Inf, zero = c("pobs", "pstr", "pdip"), eq.ap = TRUE, eq.ip = TRUE, eq.dp = TRUE, parallel.a = FALSE, parallel.i = FALSE, parallel.d = FALSE, lshape.p = "loglink", lshape.a = lshape.p, lshape.i = lshape.p, lshape.d = lshape.p, type.fitted = c("mean", "shapes", "pobs.mlm", "pstr.mlm", "pdip.mlm", "pobs.mix", "pstr.mix", "pdip.mix", "Pobs.mix", "Pstr.mix", "Pdip.mix", "nonspecial", "Numer", "Denom.p", "sum.mlm.i", "sum.mix.i", "sum.mlm.d", "sum.mix.d", "ptrunc.p", "cdf.max.s"), gshape.p = -expm1(-ppoints(7)), gpstr.mix = ppoints(7) / 3, gpstr.mlm = ppoints(7) / (3 + length(i.mlm)), imethod = 1, mux.init = c(0.75, 0.5, 0.75), ishape.p = NULL, ishape.a = ishape.p, ishape.i = ishape.p, ishape.d = ishape.p, ipobs.mix = NULL, ipstr.mix = NULL, ipdip.mix = NULL, ipobs.mlm = NULL, ipstr.mlm = NULL, ipdip.mlm = NULL, byrow.aid = FALSE, ishrinkage = 0.95, probs.y = 0.35)
truncate, max.support |
See |
a.mix, i.mix, d.mix |
See |
a.mlm, i.mlm, d.mlm |
See |
lshape.p, lshape.a, lshape.i, lshape.d |
Link functions.
See |
eq.ap, eq.ip, eq.dp |
Single logical each.
See |
parallel.a, parallel.i, parallel.d |
Single logical each.
See |
type.fitted, mux.init |
See |
imethod, ipobs.mix, ipstr.mix, ipdip.mix |
See |
ipobs.mlm, ipstr.mlm, ipdip.mlm, byrow.aid |
See |
gpstr.mix, gpstr.mlm |
See |
gshape.p, ishape.p |
See |
ishape.a, ishape.i, ishape.d |
See |
probs.y, ishrinkage |
See |
zero |
See |
Many details to this family function can be found
in gaitdpoisson
because it is also a 1-parameter
discrete distribution.
This function currently does not handle multiple responses.
Further details are at Gaitdzeta
.
As alluded to above, when there are covariates it is
much more interpretable to model the mean rather than
the shape parameter.
Hence zetaffMlink
is recommended.
(This might become the default in the future.)
So installing VGAMextra is a good idea.
Apart from the order of the linear/additive predictors,
the following are (or should be) equivalent:
gaitdzeta()
and zetaff()
,
gaitdzeta(a.mix = 1)
and oazeta(zero = "pobs1")
,
gaitdzeta(i.mix = 1)
and oizeta(zero = "pstr1")
,
gaitdzeta(truncate = 1)
and otzeta()
.
The functions
oazeta
,
oizeta
and
otzeta
have been placed in VGAMdata.
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such
as vglm
,
rrvglm
and vgam
.
See gaitdpoisson
.
See gaitdpoisson
.
T. W. Yee
Gaitdzeta
,
zetaff
,
zetaffMlink
,
Gaitdpois
,
gaitdpoisson
,
gaitdlog
,
spikeplot
,
goffset
,
Trunc
,
oazeta
,
oizeta
,
otzeta
,
CommonVGAMffArguments
,
rootogram4
,
simulate.vlm
.
## Not run: avec <- c(5, 10) # Alter these values parametrically ivec <- c(3, 15) # Inflate these values tvec <- c(6, 7) # Truncate these values set.seed(1); pobs.a <- pstr.i <- 0.1 gdata <- data.frame(x2 = runif(nn <- 1000)) gdata <- transform(gdata, shape.p = logitlink(2, inverse = TRUE)) gdata <- transform(gdata, y1 = rgaitdzeta(nn, shape.p, a.mix = avec, pobs.mix = pobs.a, i.mix = ivec, pstr.mix = pstr.i, truncate = tvec)) gaitdzeta(a.mix = avec, i.mix = ivec) with(gdata, table(y1)) spikeplot(with(gdata, y1), las = 1) fit7 <- vglm(y1 ~ 1, trace = TRUE, data = gdata, crit = "coef", gaitdzeta(i.mix = ivec, truncate = tvec, a.mix = avec, eq.ap = TRUE, eq.ip = TRUE)) head(fitted(fit7, type.fitted = "Pstr.mix")) head(predict(fit7)) t(coef(fit7, matrix = TRUE)) # Easier to see with t() summary(fit7) spikeplot(with(gdata, y1), lwd = 2, ylim = c(0, 0.6), xlim = c(0, 20)) plotdgaitd(fit7, new.plot = FALSE, offset.x = 0.2, all.lwd = 2) ## End(Not run)