Learn R Programming

VGAM (version 0.8-2)

genpoisson: Generalized Poisson distribution

Description

Estimation of the two parameters of a generalized Poisson distribution.

Usage

genpoisson(llambda = "elogit", ltheta = "loge",
           elambda = if (llambda == "elogit") list(min = -1, max = 1)
                     else list(),
           etheta = list(), ilambda = NULL, itheta = NULL,
           use.approx = TRUE, method.init = 1, zero = 1)

Arguments

llambda, ltheta
Parameter link functions for $\lambda$ and $\theta$. See Links for more choices. The $\lambda$ parameter lies at least within the interval $[-1,1]$; see below for more details. The $\theta$ parameter
elambda, etheta
List. Extra argument for each of the links. See earg in Links for general information.
ilambda, itheta
Optional initial values for $\lambda$ and $\theta$. The default is to choose values internally.
use.approx
Logical. If TRUE then an approximation to the expected information matrix is used, otherwise Newton-Raphson is used.
method.init
An integer with value 1 or 2 which specifies the initialization method for the parameters. If failure to converge occurs try another value and/or else specify a value for ilambda and/or itheta.
zero
An integer vector, containing the value 1 or 2. If so, $\lambda$ or $\theta$ respectively are modelled as an intercept only. If set to NULL then both linear/additive predictors are modelled as functions of the explanatory variables.

Value

  • An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, and vgam.

Details

The generalized Poisson distribution has density $$f(y) = \theta(\theta+\lambda y)^{y-1} \exp(-\theta-\lambda y) / y!$$ for $\theta > 0$ and $y = 0,1,2,\ldots$. Now $\max(-1,-\theta/m) \leq \lambda \leq 1$ where $m (\geq 4)$ is the greatest positive integer satisfying $\theta + m\lambda > 0$ when $\lambda < 0$ [and then $P(Y=y) = 0$ for $y > m$]. Note the complicated support for this distribution means, for some data sets, the default link for llambda is not always appropriate.

An ordinary Poisson distribution corresponds to $\lambda=0$. The mean (returned as the fitted values) is $E(Y) = \theta / (1 - \lambda)$ and the variance is $\theta / (1 - \lambda)^3$.

For more information see Consul and Famoye (2006) for a summary and Consul (1989) for full details.

References

Consul, P. C. and Famoye, F. (2006) Lagrangian Probability Distributions, Boston: Birkhauser.

Jorgensen, B. (1997) The Theory of Dispersion Models. London: Chapman & Hall

Consul, P. C. (1989) Generalized Poisson Distributions: Properties and Applications. New York: Marcel Dekker.

See Also

poissonff.

Examples

Run this code
gdata = data.frame(x = runif(nn <- 200))
gdata = transform(gdata, y = rpois(nn, exp(2-x))) # Ordinary Poisson data
fit  = vglm(y ~ x, genpoisson(zero = 1), gdata, trace = TRUE)
coef(fit, matrix = TRUE)
summary(fit)

Run the code above in your browser using DataLab