| zipoisson {VGAM} | R Documentation |
Fits a zero-inflated Poisson distribution using full maximum likelihood estimation.
zipoisson(lphi="logit", llambda = "loge",
ephi=list(), elambda =list(),
iphi = NULL, method.init=1, shrinkage.init=0.8, zero = NULL)
lphi |
Link function for the parameter phi.
See Links for more choices.
|
llambda |
Link function for the usual lambda parameter.
See Links for more choices.
|
ephi, elambda |
List. Extra argument for the respective links.
See earg in Links for general information.
|
iphi |
Optional initial value for phi, whose value must lie
between 0 and 1. The default is to compute an initial value internally.
|
method.init |
An integer with value 1 or 2 which
specifies the initialization method for lambda.
If failure to converge occurs try another value
and/or else specify a value for shrinkage.init
and/or else specify a value for iphi.
|
shrinkage.init |
How much shrinkage is used when initializing lambda.
The value must be between 0 and 1 inclusive, and
a value of 0 means the individual response values are used,
and a value of 1 means the median or mean is used.
This argument is used in conjunction with method.init.
|
zero |
An integer specifying which linear/additive predictor is modelled as
intercepts only. If given, the value must be either 1 or 2, and the
default is none of them. Setting zero=1 makes phi
a single parameter.
|
This function uses Fisher scoring and is based on
P(Y=0) = phi + (1-phi) * exp(-lambda),
and for y=1,2,...,
P(Y=y) = (1-phi) * exp(-lambda) * lambda^y / y!.
The parameter phi satisfies 0 < phi < 1. The mean of Y is (1-phi)*lambda and these are returned as the fitted values. By default, the two linear/additive predictors are (logit(phi), log(lambda))^T.
An object of class "vglmff" (see vglmff-class).
The object is used by modelling functions such as vglm,
and vgam.
Numerical problems can occur.
Half-stepping is not uncommon.
If failure to converge occurs, try using combinations of
method.init,
shrinkage.init,
iphi, and/or
zero=1 if there are explanatory variables.
For intercept-models, the misc slot has a component called
p0 which is the estimate of P(Y=0). Note that P(Y=0)
is not the parameter phi. This family function currently
cannot handle a multivariate response.
This family function is now recommended above yip88.
The zero-deflated Poisson distribution cannot be handled with
this family function. It can be handled with the zero-altered Poisson
distribution; see zapoisson.
T. W. Yee
Thas, O. and Rayner, J. C. W. (2005) Smooth tests for the zero-inflated Poisson distribution. Biometrics, 61, 808–815.
Data: Angers, J-F. and Biswas, A. (2003) A Bayesian analysis of zero-inflated generalized Poisson model. Computational Statistics & Data Analysis, 42, 37–46.
zapoisson,
Zipois,
yip88,
rpois.
x = runif(n <- 2000)
phi = logit(-0.5 + 1*x, inverse=TRUE)
lambda = loge(0.5 + 2*x, inverse=TRUE)
y = rzipois(n, lambda, phi)
table(y)
fit = vglm(y ~ x, zipoisson, trace=TRUE)
coef(fit, matrix=TRUE) # These should agree with the above values
# Another example: data from McKendrick (1926).
y = 0:4 # Number of cholera cases per household in an Indian village
w = c(168, 32, 16, 6, 1) # Frequencies; there are 223=sum(w) households
fit = vglm(y ~ 1, zipoisson, wei=w, trace=TRUE)
coef(fit, matrix=TRUE)
cbind(actual=w, fitted=
dzipois(y, lambda=Coef(fit)[2], phi=Coef(fit)[1]) * sum(w))
# Another example: data from Angers and Biswas (2003)
y = 0:7
w = c(182, 41, 12, 2, 2, 0, 0, 1)
y = y[w>0]
w = w[w>0]
fit = vglm(y ~ 1, zipoisson(lphi=probit, iphi=0.3), wei=w, tra=TRUE)
fit@misc$prob0 # Estimate of P(Y=0)
coef(fit, matrix=TRUE)
Coef(fit) # Estimate of phi and lambda
fitted(fit)
weighted.mean(y,w) # Compare this with fitted(fit)
summary(fit)