离散因变量的回归

用于受限和定性因变量的回归模型。该模块目前允许估计具有二元 (Logit, Probit)、名义 (MNLogit) 或计数 (Poisson, NegativeBinomial) 数据的模型。

从 0.9 版本开始,这也包括新的计数模型,这些模型在 0.9 中仍然是实验性的,NegativeBinomialP、GeneralizedPoisson 和零膨胀模型,ZeroInflatedPoisson、ZeroInflatedNegativeBinomialP 和 ZeroInflatedGeneralizedPoisson。

请参阅 模块参考 以了解命令和参数。

示例

# Load the data from Spector and Mazzeo (1980)
In [1]: import statsmodels.api as sm

In [2]: spector_data = sm.datasets.spector.load_pandas()

In [3]: spector_data.exog = sm.add_constant(spector_data.exog)

# Logit Model
In [4]: logit_mod = sm.Logit(spector_data.endog, spector_data.exog)

In [5]: logit_res = logit_mod.fit()
Optimization terminated successfully.
         Current function value: 0.402801
         Iterations 7

In [6]: print(logit_res.summary())
                           Logit Regression Results                           
==============================================================================
Dep. Variable:                  GRADE   No. Observations:                   32
Model:                          Logit   Df Residuals:                       28
Method:                           MLE   Df Model:                            3
Date:                Thu, 03 Oct 2024   Pseudo R-squ.:                  0.3740
Time:                        16:08:45   Log-Likelihood:                -12.890
converged:                       True   LL-Null:                       -20.592
Covariance Type:            nonrobust   LLR p-value:                  0.001502
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
const        -13.0213      4.931     -2.641      0.008     -22.687      -3.356
GPA            2.8261      1.263      2.238      0.025       0.351       5.301
TUCE           0.0952      0.142      0.672      0.501      -0.182       0.373
PSI            2.3787      1.065      2.234      0.025       0.292       4.465
==============================================================================

详细的示例可以在这里找到

技术文档

目前所有模型都是通过最大似然估计的,并假设独立同分布误差。

所有离散回归模型都定义相同的方法并遵循相同的结构,这与回归结果类似,但有一些特定于离散模型的方法。此外,其中一些还包含额外的特定于模型的方法和属性。

参考

此类模型的通用参考是

A.C. Cameron and P.K. Trivedi.  `Regression Analysis of Count Data`.
    Cambridge, 1998

G.S. Madalla. `Limited-Dependent and Qualitative Variables in Econometrics`.
    Cambridge, 1983.

W. Greene. `Econometric Analysis`. Prentice Hall, 5th. edition. 2003.

模块参考

具体的模型类是

Logit(endog, exog[, offset, check_rank])

Logit 模型

Probit(endog, exog[, offset, check_rank])

Probit 模型

MNLogit(endog, exog[, check_rank])

多项式 Logit 模型

Poisson(endog, exog[, offset, exposure, ...])

泊松模型

NegativeBinomial(endog, exog[, ...])

负二项式模型

NegativeBinomialP(endog, exog[, p, offset, ...])

广义负二项式 (NB-P) 模型

GeneralizedPoisson(endog, exog[, p, offset, ...])

广义泊松模型

ZeroInflatedPoisson(endog, exog[, ...])

泊松零膨胀模型

ZeroInflatedNegativeBinomialP(endog, exog[, ...])

零膨胀广义负二项式模型

ZeroInflatedGeneralizedPoisson(endog, exog)

零膨胀广义泊松模型

HurdleCountModel(endog, exog[, offset, ...])

用于计数数据的障碍模型

TruncatedLFNegativeBinomialP(endog, exog[, ...])

用于计数数据的截断广义负二项式模型

TruncatedLFPoisson(endog, exog[, offset, ...])

用于计数数据的截断泊松模型

ConditionalLogit(endog, exog[, missing])

将条件逻辑回归模型拟合到分组数据。

ConditionalMNLogit(endog, exog[, missing])

将条件多项式逻辑回归模型拟合到分组数据。

ConditionalPoisson(endog, exog[, missing])

将条件泊松回归模型拟合到分组数据。

用于序数因变量的累积链接模型目前位于 miscmodels 中,因为它子类化了 GenericLikelihoodModel。这将在以后的版本中更改。

OrderedModel(endog, exog[, offset, distr])

基于逻辑或正态分布的序数模型

具体的类是

LogitResults(model, mlefit[, cov_type, ...])

Logit 模型的结果类

ProbitResults(model, mlefit[, cov_type, ...])

Probit 模型的结果类

CountResults(model, mlefit[, cov_type, ...])

计数数据的结果类

MultinomialResults(model, mlefit)

多项式数据的结果类

NegativeBinomialResults(model, mlefit[, ...])

负二项式 1 和 2 的结果类

GeneralizedPoissonResults(model, mlefit[, ...])

广义泊松的结果类

ZeroInflatedPoissonResults(model, mlefit[, ...])

零膨胀泊松的结果类

ZeroInflatedNegativeBinomialResults(model, ...)

零膨胀广义负二项式的结果类

ZeroInflatedGeneralizedPoissonResults(model, ...)

零膨胀广义泊松的结果类

HurdleCountResults(model, mlefit, ...[, ...])

障碍模型的结果类

TruncatedLFPoissonResults(model, mlefit[, ...])

截断泊松的结果类

TruncatedNegativeBinomialResults(model, mlefit)

截断负二项式的结果类

ConditionalResults(model, params, ...)

属性:

OrderedResults(model, mlefit)

有序模型的结果类

DiscreteModel 是所有离散回归模型的超类。估计结果以 DiscreteResults 的子类实例形式返回。每个模型类别,二元、计数和多元,都有其自己的中间级模型和结果类。这些中间类主要是为了方便实现由 DiscreteModelDiscreteResults 定义的方法和属性。

DiscreteModel(endog, exog[, check_rank])

离散选择模型的抽象类。

DiscreteResults(model, mlefit[, cov_type, ...])

离散因变量模型的结果类。

BinaryModel(endog, exog[, offset, check_rank])

属性:

BinaryResults(model, mlefit[, cov_type, ...])

二元数据的结果类

CountModel(endog, exog[, offset, exposure, ...])

属性:

MultinomialModel(endog, exog[, offset, ...])

属性:

GenericZeroInflated(endog, exog[, ...])

通用零膨胀模型


上次更新: 2024 年 10 月 3 日