One-inflated Zipf Distribution Family Function
Fits a 1-inflated Zipf distribution.
oizipf(N = NULL, lpstr1 = "logitlink", lshape = "loglink",
type.fitted = c("mean", "shape", "pobs1", "pstr1", "onempstr1"),
ishape = NULL, gpstr1 = ppoints(8), gshape = exp((-3:3) / 4), zero = NULL)N |
Same as |
lpstr1, lshape |
For |
gpstr1, gshape, ishape |
For initial values.
See |
type.fitted, zero |
See |
The 1-inflated Zipf distribution is a mixture
distribution of the
Zipf
distribution with some probability of obtaining a (structural) 1.
Thus there are two sources for obtaining the value 1.
This distribution is written here
in a way that retains a similar notation to the
zero-inflated Poisson, i.e., the
probability P[Y=1] involves another parameter phi.
See zipoisson.
This family function can handle multiple responses.
An object of class "vglmff" (see vglmff-class).
The object is used by modelling functions such as vglm,
rrvglm and vgam.
Under- or over-flow may occur if the data is ill-conditioned. Lots of data is needed to estimate the parameters accurately. Usually, probably the shape parameter is best modelled as intercept-only.
Thomas W. Yee
## Not run: odata <- data.frame(x2 = runif(nn <- 1000)) # Artificial data
odata <- transform(odata, pstr1 = logitlink(-1 + x2, inverse = TRUE),
myN = 10,
shape = exp(-0.5))
odata <- transform(odata, y1 = roizipf(nn, N = myN, s = shape, pstr1 = pstr1))
with(odata, table(y1))
fit1 <- vglm(y1 ~ x2, oizipf(zero = "shape"), data = odata, trace = TRUE)
coef(fit1, matrix = TRUE)
## End(Not run)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.