SuperAPI AI 工具集

statsmodels

数据与分析

查看项目

更新于 10-15 18:31

技能介绍

用途

Statsmodels 是 Python 的统计建模与计量经济学库,用于估计、推断和诊断各类统计模型。该技能适用于需要严谨统计分析的场景,包括:拟合回归模型(OLS、WLS、GLS、分位数回归)、执行广义线性建模(Logistic、Poisson、Gamma 等)、分析离散结果(二值、多项、计数、有序)、进行时间序列分析(ARIMA、SARIMAX、VAR、预测)、运行统计检验与诊断、检验模型假设(异方差、自相关、正态性)、检测异常值与影响点、比较模型(AIC/BIC、似然比检验)、估计因果效应,以及生成适合发表的统计表格与推断结果。

主要能力

线性回归模型

提供 OLS、WLS、GLS、GLSAR、分位数回归、混合效应模型、递归/滚动回归等。支持综合诊断检验、稳健标准误(HC、HAC、聚类稳健)、影响统计量(Cook 距离、杠杆值、DFFITS)、假设检验(F 检验、Wald 检验)、模型比较(AIC、BIC、似然比检验)以及带置信区间和预测区间的预测。

广义线性模型(GLM)

支持二项、泊松、负二项、Gamma、逆高斯、高斯、Tweedie 等分布族,以及 Logit、Probit、Log、Identity、Inverse、Sqrt、CLogLog、Power 等连接函数。提供通过 IRLS 的极大似然估计、偏差与 Pearson 残差、拟合优度统计量、伪 R 方、稳健标准误。

离散选择模型

二值模型(Logit、Probit)、多项模型(MNLogit、条件 Logit、有序模型)、计数模型(泊松、负二项、零膨胀 ZIP/ZINB、Hurdle 模型)。支持极大似然估计、边际效应、AIC/BIC 模型比较、预测概率与分类、拟合优度检验。

时间序列分析

单变量模型(AutoReg、ARIMA、SARIMAX、指数平滑、ETS)、多变量模型(VAR、VARMAX、动态因子模型、VECM)、高级模型(状态空间、区制转换、ARDL)。支持 ACF/PACF 分析、平稳性检验(ADF、KPSS)、带预测区间的预测、残差诊断(Ljung-Box、异方差)、Granger 因果检验、脉冲响应函数(IRF)、预测误差方差分解(FEVD)。

统计检验与诊断

残差诊断(自相关检验、异方差检验、正态性检验、设定检验)、影响与异常值(杠杆值、Cook 距离、DFFITS、DFBETAs、学生化残差、影响图)、假设检验(t 检验、比例检验、卡方检验、非参数检验、ANOVA)、多重比较(Tukey HSD、Bonferroni 校正、FDR)、效应量与功效(Cohen's d、eta 平方、功效分析、样本量计算)、稳健推断(异方差一致标准误 HC0-HC3、HAC 标准误 Newey-West、聚类稳健标准误)。

使用方式

标准 API

使用 import statsmodels.api as sm,通过 sm.add_constant() 添加常数项,然后调用 sm.OLS(y, X)、sm.GLM(y, X, family=...) 等建模,用 .fit() 拟合,results.summary() 查看结果。时间序列使用 from statsmodels.tsa.arima.model import ARIMA 等模块。

公式 API(R 风格)

使用 import statsmodels.formula.api as smf,以公式指定模型,例如 smf.ols('y ~ x1 + x2 + x1:x2', data=df).fit(),支持分类变量自动哑变量编码(C(category))、交互项(x1 * x2)、多项式项(I(x**2))等。

模型选择与比较

使用 AIC/BIC 比较非嵌套模型,使用似然比检验比较嵌套模型,使用交叉验证评估样本外表现。

适用场景

  • 连续结果变量的回归分析与推断
  • 非正态结果(二值、计数、比例)的建模
  • 时间序列预测与动态关系分析
  • 模型假设检验与诊断
  • 因果效应估计
  • 生成发表级统计表格

限制

资料中未提供关于平台兼容性、性能限制、收费模式或具体版本要求的信息。部分模型(如 ARIMA)不支持公式 API,需使用标准 API。使用前需确保数据准备正确(添加常数项、处理缺失值、编码分类变量)。