statsmodels.discrete.discrete_model.GeneralizedPoisson#

class statsmodels.discrete.discrete_model.GeneralizedPoisson(endog, exog, p=1, offset=None, exposure=None, missing='none', check_rank=True, **kwargs)[source]#

Generalized Poisson Model

Parameters:
endogarray_like

A 1-d endogenous response variable. The dependent variable.

exogarray_like, optional

A nobs x k array where nobs is the number of observations and k is the number of regressors. An intercept is not included by default and should be added by the user. See statsmodels.tools.add_constant.

pint, optional

P denotes parameterizations for GP regression. p=1 for GP-1 and p=2 for GP-2. Default is p=1.

offsetarray_like, optional

Offset is added to the linear prediction with coefficient equal to 1.

exposurearray_like, optional

Log(exposure) is added to the linear prediction with coefficient equal to 1.missing : str, optional Available options are ‘none’, ‘drop’, and ‘raise’. If ‘none’, no nan checking is done. If ‘drop’, any observations with nans are dropped. If ‘raise’, an error is raised. Default is ‘none’.

check_rankbool

Check exog rank to determine model degrees of freedom. Default is True. Setting to False reduces model initialization time when exog.shape[1] is large.

Attributes:
endogndarray

A reference to the endogenous response variable

exogndarray

A reference to the exogenous design.

Notes

The final element of the parameter vector is the dispersion parameter \(\alpha\). For conditional mean \(\mu\), the conditional variance is \(\mu (1 + \alpha \mu^{p-1})^2\). Thus GP-1 (p=1) has variance \(\mu (1 + \alpha)^2\), while GP-2 (p=2) has variance \(\mu (1 + \alpha \mu)^2\).

For GP-1, \(\alpha\) is not the \(\lambda\) used in the alternative variance expression \(\mu / (1 - \lambda)^2\). For nonnegative dispersion, the conversion is \(\lambda = \alpha / (1 + \alpha)\). For example, \(\alpha = 0.5\) corresponds to \(\lambda = 1/3\); both give a variance-to-mean ratio of 2.25. In VGAM’s dgenpois1, this ratio is the dispind parameter, not \(\alpha\) itself [1].

The generalized Poisson distribution was introduced by Consul and Jain [2]. Regression models based on it are discussed in [3] and [4].

References

[1]

VGAM, “Generalized Poisson Distribution (GP-1 and GP-2 Parameterizations of the Mean)”. https://search.r-project.org/CRAN/refmans/VGAM/html/genpois1UC.html

[2]

Consul, P. C., and G. C. Jain. 1973. “A Generalization of the Poisson Distribution.” Technometrics 15 (4): 791-799.

[3]

Famoye, F. 1993. “Restricted Generalized Poisson Regression Model.” Communications in Statistics - Theory and Methods 22 (5): 1335-1354.

[4]

Zamani, H., and N. Ismail. 2012. “Functional Form for the Generalized Poisson Regression Model.” Communications in Statistics - Theory and Methods 41 (20): 3666-3675.

Methods

cdf(X)

The cumulative distribution function of the model.

cov_params_func_l1(likelihood_model, xopt, ...)

Computes cov_params on a reduced parameter space corresponding to the nonzero parameters resulting from the l1 regularized fit.

fit([start_params, method, maxiter, ...])

Fit the model using maximum likelihood.

fit_regularized([start_params, method, ...])

Fit the model using a regularized maximum likelihood.

from_formula(formula, data[, subset, drop_cols])

Create a Model from a formula and dataframe

get_distribution(params[, exog, exposure, ...])

Get frozen instance of distribution based on predicted parameters Get frozen instance of distribution based on predicted parameters

hessian(params)

Generalized Poisson model Hessian matrix of the log-likelihood.

hessian_factor(params)

Generalized Poisson model Hessian matrix of the log-likelihood.

information(params)

Fisher information matrix of model

initialize()

Initialize is called by statsmodels.model.LikelihoodModel.__init__ and should contain any preprocessing that needs to be done for a model.

loglike(params)

Log-likelihood of Generalized Poisson model.

loglikeobs(params)

Log-likelihood for observations of Generalized Poisson model.

pdf(X)

The probability density (mass) function of the model.

predict(params[, exog, exposure, offset, ...])

Predict response variable of a model given exogenous variables.

score(params)

Score vector of model

score_factor(params[, endog])

score_obs(params)

Properties

endog_names

Names of endogenous variables

exog_names

Names of exogenous variables