关于 alterlab-statsmodels
alterlab-statsmodels 是使用 Python statsmodels 进行统计建模与计量分析的技能,适用于需要估计、推断和诊断的研究者。它覆盖回归、离散结果、时间序列、假设检验及模型比较。
主要功能
- 01线性回归与广义线性模型
- 02离散选择与计数模型
- 03时间序列建模和预测
- 04统计检验与模型诊断
- 05稳健标准误和模型比较
适用场景
- 01估计回归系数并检验假设
- 02分析二元、类别或计数结果
- 03对时间序列数据建模与预测
- 04检查模型假设和异常观测
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-statsmodels安装后在 Claude Code 中输入/alterlab-statsmodels确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/discrete_choice.mdglm.mdlinear_models.mdmodel_selection.mdquickstart_examples.mdstats_diagnostics.mdtime_series.mdworkflows_and_practices.md详细介绍
Statsmodels:统计建模与计量经济学
概述
Statsmodels 是 Python 首选的统计建模库,提供适用于广泛统计方法的估计、推断和诊断工具。无论是简单线性回归,还是复杂的时间序列模型和计量经济学分析,都可以使用此技能进行严谨的统计分析。
何时使用此技能
在以下情况下应使用此技能:
- 拟合回归模型(OLS、WLS、GLS、分位数回归)
- 执行广义线性建模(逻辑回归、Poisson、Gamma 等)
- 分析离散结果(二元、多项、计数、有序)
- 进行时间序列分析(ARIMA、SARIMAX、VAR、预测)
- 运行统计检验和诊断
- 检验模型假设(异方差、自相关、正态性)
- 检测异常值和有影响力的观测值
- 比较模型(AIC/BIC、似然比检验)
- 估计因果效应
- 生成可用于发表的统计表和推断结果
不适用的情况
| 场景 | 改用 |
|---|---|
| 选择适合研究设计的检验、检查假设并撰写 APA 风格的结果 | alterlab-statistical-analysis |
| 使用后验分布的贝叶斯或分层模型(PyMC、NUTS) | alterlab-pymc |
| 将准实验因果设计(DiD、IV、RD、面板固定效应、事件研究)作为完整工作流 | alterlab-causal-inference |
| 使用交叉验证调参进行预测性机器学习,而非系数推断 | alterlab-scikit-learn |
| 使用预训练基础模型进行零样本预测,而非拟合 ARIMA/ETS | alterlab-timesfm |
statsmodels 0.15 说明
statsmodels 0.15.0(2026 年 8 月)是自 0.14(2023 年)以来的首个版本。以下变更会影响日常代码:
- 命名结果:
adfuller、kpss、acf(含qstat/alpha)、het_arch、acorr_lm、acorr_breusch_godfrey、het_goldfeldquandt及其他少数函数仍会返回旧式元组,但会发出FutureWarning;传入result_object=True即可获取命名结果(例如adfuller(y, result_object=True).pvalue、het_arch(r, result_object=True).lmpval)。默认行为将在 0.16 中切换。 - 随机性:
seed=/random_state=参数已弃用,改用rng=(SPEC 7)。 - 已移除:
grangercausalitytests(verbose=...)、AutoReg(old_names=...);现在kpss(nlags=None)会引发错误——请传入'auto'、'legacy'或整数。 - 公式:patsy 仍是默认引擎;formulaic 现在是必需依赖项,可通过
SM_FORMULA_ENGINE=formulaic选择。模型和公式 API 也接受 Polars DataFrames。 - 新增:Games-Howell 事后比较(
pairwise_tukeyhsd(..., use_var="unequal"))、Leybourne-McCabe 平稳性检验(statsmodels.tsa.stattools.leybourne)、MultivariateLS,以及稳健 MM/S 估计器。
快速入门
OLS、逻辑回归、ARIMA、GLM/Poisson 和 R 风格公式 API 的复制粘贴示例见 references/quickstart_examples.md。核心规则:除非有意不使用截距,否则始终使用 sm.add_constant() 添加截距。
核心统计建模能力
1. 线性回归模型
适用于连续型结果的综合线性模型套件,支持多种误差结构。
可用模型:
- OLS:误差独立同分布的标准线性回归
- WLS:用于异方差误差的加权最小二乘法
- GLS:用于任意协方差结构的广义最小二乘法
- GLSAR:针对时间序列自回归误差的 GLS
- 分位数回归:条件分位数(对异常值稳健)
- 混合效应:带随机效应的分层/多层模型
- 递归/滚动:时变参数估计
主要特性:
- 全面的诊断检验
- 稳健标准误(HC、HAC、聚类稳健)
- 影响统计量(Cook 距离、杠杆值、DFFITS)
- 假设检验(F 检验、Wald 检验)
- 模型比较(AIC、BIC、似然比检验)
- 带置信区间和预测区间的预测
**适用场景:**结果变量为连续型,需要对系数进行推断,且需要诊断分析
**参考:**有关模型选择、诊断和最佳实践的详细指南,请参阅 references/linear_models.md。
2. 广义线性模型(GLM)
将线性模型扩展到非正态分布的灵活框架。
分布族:
- 二项分布:二元结果或比例(逻辑回归)
- 泊松分布:计数数据
- 负二项分布:过度离散的计数数据
- 伽马分布:正值连续、右偏数据
- 逆高斯分布:具有特定方差结构的正值连续数据
- 高斯分布:等同于 OLS
- Tweedie 分布:适用于半连续数据的灵活分布族
连接函数:
- Logit、Probit、Log、Identity、Inverse、Sqrt、CLogLog、Power
- 根据解释需求和模型拟合效果进行选择
主要特性:
- 通过 IRLS 进行最大似然估计
- 偏差残差和 Pearson 残差
- 拟合优度统计量
- 伪 R 平方度量
- 稳健标准误
**适用场景:**结果变量非正态,需要灵活指定方差和连接函数
**参考:**有关分布族选择、连接函数、结果解释和诊断的详细指南,请参阅 references/glm.md。
3. 离散选择模型
用于分类结果和计数结果的模型。
二元模型:
- Logit:逻辑回归(优势比)
- Probit:Probit 回归(正态分布)
多项模型:
- MNLogit:无序类别(3 个或更多水平)
- 条件 Logit:使用备选项特定变量的选择模型
- 有序模型:有序结果(有序类别)
计数模型:
- 泊松模型:标准计数模型
- 负二项模型:过度离散的计数数据
- 零膨胀模型:零值过多的数据(ZIP、ZINB)
- 门槛模型:针对零值较多数据的两阶段模型
主要特性:
- 最大似然估计
- 均值处的边际效应或平均边际效应
- 通过 AIC/BIC 进行模型比较
- 预测概率和分类
- 拟合优度检验
**适用场景:**二元、分类或计数结果
**参考:**有关模型选择、结果解释和评估的详细指南,请参阅 references/discrete_choice.md。
4. 时间序列分析
提供全面的时间序列建模与预测功能。
单变量模型:
- AutoReg (AR):自回归模型
- ARIMA:自回归积分滑动平均模型
- SARIMAX:带外生变量的季节性 ARIMA
- 指数平滑:简单指数平滑、Holt、Holt-Winters
- ETS:创新状态空间模型
多变量模型:
- VAR:向量自回归
- VARMAX:带 MA 和外生变量的 VAR
- 动态因子模型:提取共同因子
- VECM:向量误差修正模型(协整)
高级模型:
- 状态空间:卡尔曼滤波、自定义规格
- 状态转换:马尔可夫转换模型
- ARDL:自回归分布滞后模型
主要功能:
- 用于模型识别的 ACF/PACF 分析
- 平稳性检验(ADF、KPSS)
- 带预测区间的预测
- 残差诊断(Ljung-Box、异方差)
- 格兰杰因果检验
- 脉冲响应函数(IRF)
- 预测误差方差分解(FEVD)
适用场景: 按时间排序的数据、预测、理解时间动态
参考: 有关模型选择、诊断和预测方法,请参阅 references/time_series.md。
5. 统计检验与诊断
提供丰富的检验与诊断功能,用于模型验证。
残差诊断:
- 自相关检验(Ljung-Box、Durbin-Watson、Breusch-Godfrey)
- 异方差检验(Breusch-Pagan、White、ARCH)
- 正态性检验(Jarque-Bera、Omnibus、Anderson-Darling、Lilliefors)
- 设定检验(RESET、Harvey-Collier)
影响度与异常值:
- 杠杆值(帽子值)
- Cook 距离
- DFFITS 和 DFBETAs
- 学生化残差
- 影响度图
假设检验:
- t 检验(单样本、双样本、配对)
- 比例检验
- 卡方检验
- 非参数检验(Mann-Whitney、Wilcoxon、Kruskal-Wallis)
- 方差分析(单因素、双因素、重复测量)
多重比较:
- Tukey 的 HSD
- Bonferroni 校正
- 假发现率(FDR)
效应量与检验效能:
- Cohen's d、eta-squared
- t 检验、比例检验的检验效能分析
- 样本量计算
稳健推断:
- 异方差一致标准误(HC0-HC3)
- HAC 标准误(Newey-West)
- 聚类稳健标准误
适用场景: 验证假设、发现问题、确保推断稳健
参考: 有关全面的检验与诊断流程,请参阅 references/stats_diagnostics.md。
公式 API、模型选择与工作流
- R 风格公式 API(
smf.ols、smf.logit、smf.poisson、交互项、C()、I())→references/quickstart_examples.md。 - 模型选择与比较(AIC/BIC 表、嵌套模型的似然比检验、k 折交叉验证)→
references/model_selection.md。 - 最佳实践、端到端工作流(OLS、逻辑回归、计数、时间序列)及常见问题 →
references/workflows_and_practices.md。
路由指南
- 线性/连续型结果、推断与诊断 → 能力 1 +
references/linear_models.md。 - 非正态结果、灵活的链接函数/方差 → 能力 2 +
references/glm.md。 - 二元、分类或计数型结果 → 能力 3 +
references/discrete_choice.md。 - 按时间排序的数据、预测 → 能力 4 +
references/time_series.md。 - 验证假设、检验、稳健推断 → 能力 5 +
references/stats_diagnostics.md。 - 在候选模型之间进行选择 →
references/model_selection.md。
参考资料索引
references/quickstart_examples.md— 可直接复制粘贴的 OLS / Logit / ARIMA / GLM 示例,以及 R 风格的公式 API。references/linear_models.md— OLS、WLS、GLS、GLSAR、分位数、混合效应、递归/滚动模型;诊断、影响分析、稳健标准误、假设检验。references/glm.md— 所有分布族、链接函数、结果解读、伪 R 方、残差分析。references/discrete_choice.md— 二元(Logit/Probit)、多项、计数(Poisson/NB/ZIP/ZINB/障碍模型)、有序模型、边际效应。references/time_series.md— AR/ARIMA/SARIMAX/ETS、VAR/VARMAX/动态因子、状态空间、平稳性、预测、Granger/IRF/FEVD。references/stats_diagnostics.md— 残差诊断、影响分析/异常值、参数与非参数检验、ANOVA、多重比较、稳健协方差、统计功效/效应量。references/model_selection.md— AIC/BIC 比较、似然比检验、交叉验证。references/workflows_and_practices.md— 最佳实践、端到端工作流、常见陷阱、搜索模式、官方文档链接。
属于 AlterLab Academic Skills 套件。