# genpoisson: Generalized Poisson Regression In VGAMdata: Data Supporting the 'VGAM' Package

 genpoisson R Documentation

## Generalized Poisson Regression

### Description

Estimation of the two-parameter generalized Poisson distribution.

### Usage

```genpoisson(llambda = "rhobitlink", ltheta = "loglink",
ilambda = NULL, itheta = NULL, imethod = 1,
ishrinkage = 0.95, zero = "lambda")
```

### Arguments

 `llambda, ltheta` Parameter link functions for λ and θ. See `Links` for more choices. The λ parameter lies at least within the interval [-1,1]; see below for more details, and an alternative link is `rhobitlink`. The θ parameter is positive, therefore the default is the log link. `ilambda, itheta` Optional initial values for λ and θ. The default is to choose values internally.
 `imethod` An integer with value `1` or `2` or `3` 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`. `ishrinkage, zero` See `CommonVGAMffArguments` for information.

### Details

This family function is not recommended for use; instead try `genpoisson1` or `genpoisson2`. For underdispersion with respect to the Poisson try the GTE (generally-truncated expansion) method described by Yee and Ma (2020).

The generalized Poisson distribution has density

f(y)=θ(θ+λ * y)^(y-1) * exp(-θ-λ * y) / y!

for θ > 0 and y = 0,1,2,…. Now max(-1,-θ/m) ≤ lambda ≤ 1 where m (≥ 4) is the greatest positive integer satisfying θ + mλ > 0 when λ < 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` will not always work, and some tinkering may be required to get it running.

As Consul and Famoye (2006) state on p.165, the lower limits on λ and m >= 4 are imposed to ensure that there are at least 5 classes with nonzero probability when λ is negative.

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

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

### Value

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

### Warning

Monitor convergence! This family function is fragile. Don't get confused because `theta` (and not `lambda`) here really matches more closely with `lambda` of `dpois`.

### Note

This family function handles multiple responses. This distribution is potentially useful for dispersion modelling. Convergence problems may occur when `lambda` is very close to 0 or 1. If a failure occurs then you might want to try something like `llambda = extlogitlink(min = -0.9, max = 1)` to handle the LHS complicated constraint, and if that doesn't work, try `llambda = extlogitlink(min = -0.8, max = 1)`, etc.

### Author(s)

T. W. Yee. Easton Huch derived the EIM and it has been implemented in the `weights` slot.

### References

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

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

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

Yee, T. W. and Ma, C. (2021). Generally–altered, –inflated and –truncated regression, with application to heaped and seeped counts. Under review.

`genpoisson1`, `genpoisson2`, `poissonff`, `dpois`. `dgenpois0`, `rhobitlink`, `extlogitlink`.

### Examples

```## Not run:
gdata <- data.frame(x2 = runif(nn <- 500))  # NBD data:
gdata <- transform(gdata, y1 = rnbinom(nn, exp(1), mu = exp(2 - x2)))
fit <- vglm(y1 ~ x2, genpoisson, data = gdata, trace = TRUE)
coef(fit, matrix = TRUE)
summary(fit)
## End(Not run)
```

VGAMdata documentation built on March 18, 2022, 8:03 p.m.