什么时候用
先判断任务是否合适
- 需要R风格的统计摘要表(系数、SE、p值、置信区间)和残差诊断图
- 经济/社会科学研究中的面板数据回归和时间序列分析
- 需要对大量假设同时做多重比较校正(Bonferroni、FDR等)
- 需要状态空间模型做结构时间序列分解(趋势/季节/周期成分)
先准备什么
材料越清楚,结果越有用
- •整理好的数据表格(pandas DataFrame),标注清楚因变量和自变量
- •模型公式(如 y ~ x1 + x2)或用矩阵指定endog/exog
- •对数据的基本理解:哪些是连续/分类变量、有无缺失值、有无组结构
它会怎样推进
从材料到可以检查的结果
- 01
指定模型
用公式或矩阵接口定义因变量、自变量、模型族(OLS/GLM/MixedLM等)
- 02
拟合模型
调用fit方法,输出系数估计、标准误、p值和置信区间
- 03
诊断模型
检查残差分布、异方差、影响点、VIF共线性等诊断指标
- 04
假设检验
对线性约束做Wald/LR检验,或对多组比较做多重校正
- 05
预测与解释
生成预测值和置信区间,整理成可发表的统计表格
第一次这样开始
把仓库地址直接交给 AI
先让 AI 说明环境和风险,再完成最小安装验证。跑通以后,再把自己的真实材料放进去。
第一次直接复制
帮我安装这个库:https://github.com/statsmodels/statsmodels 安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。
结果出来后
先看这些检查点
- 残差是否满足模型假设(正态性、同方差、独立性)
- VIF值是否低于常用的共线性阈值
- 多重比较校正后的显著性是否与校正前差异很大
- 时间序列的残差是否为白噪声(Ljung-Box检验)
常见误区
这些判断仍由你负责
- 用OLS拟合面板数据而不考虑个体异质性——应使用MixedLM或GEE
- 在非平稳时间序列上直接跑回归——单位根检验(ADF/KPSS)不通过时需差分
- 对几十个假设不加多重比较校正就逐个做显著性推断——会严重高估显著发现
- 直接用summary表中的p值做因果结论——回归系数只有模型假设成立时才有因果含义
技术依据
查看能力拆解、验证范围与来源
技术依据
查看能力拆解、验证范围与来源
- 01
假设检验与多重比较
给定一组样本、列联表或已拟合的模型,回答"组间/变量间是否存在差异或关联",产出检验统计量、p 值、效应量、置信区间,并对成组比较或多次检验做多重比较校正,同时给出样本量与功效的正向与反向计算,让研究者把研究问题映射到正确的检验并完整报告。
- 02
时间序列与状态空间建模
给定一个或多个时间序列,识别其平稳性、阶数和协整关系,用状态空间框架(SARIMAX、UCM、动态因子、VARMAX)或经典框架(ARIMA、VAR、VECM)拟合,产出可预测、可诊断、可参数恢复的时序模型,并支持滤波、平滑、预测、冲击响应和方差分解。
- 03
线性回归与诊断
给定一个被解释变量和设计矩阵(或 R 风格公式),拟合并诊断线性回归模型,产出可解释的系数、推断、稳健协方差、设定检验和影响点,让研究者判断模型是否满足高斯–马尔可夫假设、哪些观测在驱动结论。
- 04
面板与混合效应模型
给定纵向、聚类或分层(面板)数据,在考虑组内相关和分层方差结构的前提下拟合模型,产出固定效应估计、随机效应或工作相关结构下的推断,让研究者处理重复测量、聚类设计和非独立观测,而不会把组内相关误当独立样本。
| 能力 | 主要输入 | 主要输出 | 人工检查 |
|---|---|---|---|
假设检验与多重比较源码已核对 |
|
|
|
时间序列与状态空间建模源码已核对 |
|
|
|
线性回归与诊断源码已核对 |
|
|
|
面板与混合效应模型源码已核对 |
|
|
|
处理机制
- 01
核心处理链
用经典统计推断方法做回归、时间序列、面板分析和假设检验。
已核对范围
- 读取 statsmodels/stats/anova.py(anovalm、AnovaRM 类在 anova 模块)
- 读取 statsmodels/stats/weightstats.py(ttestind、ttostind、ttostpaired、ztest、zconfint)
- 读取 statsmodels/stats/proportion.py(proportionsztest、proportionschisquare、powerproportions2indep)
- 读取 statsmodels/stats/multitest.py(multipletests、fdrcorrection、fdrcorrectiontwostage)
- 读取 statsmodels/stats/multicomp.py(MultiComparison、TukeyHSD)存在
- 读取 statsmodels/stats/power.py(TTestPower、TTestIndPower、NormalIndPower、FTestPower、FTestAnovaPower、GofChisquarePower 的 solvepower)
- 读取 statsmodels/stats/contingencytables.py(Table、SquareTable、Table2x2、StratifiedTable)
- 确认 examples/notebooks/interactionsanova.ipynb、chi2fitting.ipynb 存在
仍待核对
- 未运行本机 t-test/ANOVA/multipletests smoke
- 未核对 contingency tables 的精确检验分支
- 未覆盖非参数检验(Wilcoxon/Mann-Whitney 在 scipy,statsmodels 部分在 sandbox)
- 未运行本机 SARIMAX/VAR/单位根 smoke
- 未逐一核对 Kalman filter/smoother 的数值实现
- 未覆盖 Markov switching、ETS、Holt-Winters、exponential smoothing 的内部细节
- 未运行本机 OLS 拟合 smoke
- 未逐个验证每个诊断检验的统计口径
读取版本
43066730ab0daa5f1586dc0dbd0a8ca7b79ec456许可
BSD-3-Clause
最近核对
内容 2026-07-10
Stars 2026-07-11
相关文章
科研之我见
AI 科研全流程怎么搭,我梳理出三个核心入口
每天开工先固定阶段入口、材料入口和验证入口,把庞大的科研全流程收缩成一段可执行、可检查的任务。
查看内容