StatsPAI:为 Agent 时代设计的计量工具包
pip install statspaiimport statspai as sp一个为 AI Agent 时代设计的 Python 计量经济学与因果推断开源工具包。150+ 个函数,统一 API,MIT 协议。
StatsPAI 的核心定位:面向 Agent 开发的计量包。 当 Claude Code、Codex、Cursor 等 AI 编程工具越来越多地参与实证研究,底层需要一个统一、稳定、接口标准化的 Python 统计包来执行计算。StatsPAI 就是为这个场景而生的——既给研究者用,更给 Agent 调。
为什么是 Python
Stata 和 R 在实证领域积累深厚,但它们都是专用语言。Python 是通用编程语言,这带来一个决定性的优势:新算法的实现速度远快于 Stata 和 R。
Stata 的新方法要等 StataCorp 官方发版或社区写 ado 文件。R 的新包要经过 CRAN 审核流程。而 Python 生态里,一篇因果推断新论文发出来,借助 AI 编程工具,几天内就能把算法实现出来、测试好、发布到 PyPI。scikit-learn、PyTorch、transformers 这些包的迭代速度已经证明了这一点。
StatsPAI 的目标就是把这种速度优势用在实证研究领域:借助 AI 编程,快速实现前沿算法,让研究者和 Agent 都能第一时间用上。
而且 Python 天然连接着数据工程、机器学习和云计算。一个研究者用 pandas 清洗数据,用 sp.dml() 跑双重机器学习,用 PyTorch 训练自定义模型,全在同一个环境里完成,不需要在软件之间导数据、切语言。这是 Stata 和 R 给不了的体验。
StatsPAI 包在做什么
做实证研究的人对 Stata 和 R 都不陌生。Stata 40 年积累了一套高度统一的计量命令体系,从 reg 到 xtreg 到 ivregress,语法一致,用起来很顺。R 的 CRAN 上有几十个因果推断包——fixest、did、rdrobust、grf——方法前沿且覆盖广,新论文的方法实现经常先在 R 社区落地。
Python 这边,数据科学的基础设施早就是行业标配了——pandas、scikit-learn、TensorFlow、PyTorch,成为 AI 行业的基石。但到了实证研究,一直缺一个统一方便的工具。statsmodels 管回归,linearmodels 管面板,EconML 管异质处理效应,differences 管 DID,各写各的 API,各出各的结果格式,做一篇论文要装一堆包,自己当胶水工,过程繁杂,劳神费心。
StatsPAI 做的事情就是借鉴主流统计软件的优点,把 Stata 的命令体系和 R 的因果推断方法覆盖度,统一到 Python 的一个包里:
import statspai as sp
# 经典计量
sp.regress("wage ~ edu + exp", data=df, robust='hc1')
sp.ivreg("wage ~ (edu ~ parent_edu) + exp", data=df)
sp.panel(df, "wage ~ edu + exp", entity='id', time='year', model='fe')
# 因果推断
sp.did(df, y='wage', treat='policy', time='year', id='worker')
sp.rdrobust(df, y='score', x='running_var', c=0)
sp.synth(df, treat_unit=1, outcome='y', time='year', unit='id')
# ML 因果
sp.dml(df, y='wage', treat='training', covariates=['age', 'edu'])
sp.causal_forest("y ~ treatment | x1 + x2 + x3", data=df)
# 所有结果,同一套接口
result.summary()
result.plot()
result.to_docx() # Word
result.to_latex() # LaTeX
result.cite() # 方法对应的 BibTeX
# 出版表格一行搞定
sp.modelsummary(r1, r2, r3, output='results.docx')所有函数共享一套 API 设计,所有结果返回统一的 CausalResult 对象,出版级表格直接导出 Word、Excel、LaTeX、HTML。Stata 用户看到 sp.regress()、sp.margins()、sp.test() 会觉得熟悉,R 用户看到 sp.callaway_santanna()、sp.rdrobust() 也不会陌生。
方法覆盖
150+ 个公共函数,以下是按类别的概览:
经典计量 — regress, ivreg, panel, heckman, qreg, tobit, xtabond
DID 全家族 — did, callaway_santanna, sun_abraham, bacon_decomposition, honest_did
断点回归 — rdrobust, rdplot, rddensity
匹配与加权 — match (PSM / Mahalanobis / CEM), ebalance
合成控制 — synth, sdid
ML 因果 — dml, causal_forest, metalearner (S/T/X/R/DR), tmle, aipw, deepiv
神经因果 — tarnet, cfrnet, dragonnet
因果发现 — notears, pc_algorithm
策略学习 — policy_tree, policy_value
更多 — dose_response, multi_treatment, lee_bounds, manski_bounds, spillover, g_estimation, bunching, mc_panel, causal_impact, mediate, bartik, conformal_cate, bcf
后估计 — margins, test, lincom, oster_bounds, sensemakr, evalue, hausman_test, het_test, reset_test, vif
稳健性自动化(Stata 和 R 都没有的一键方案)
spec_curve()— 规范曲线 / 多元宇宙分析robustness_report()— 自动换标准误、缩尾、加减控制变量、子样本subgroup_analysis()— 异质性分析 + 森林图 + Wald 检验
modelsummary, outreg2, sumstats, balance_table, tab, coefplot, binscatter
面向 Agent 的设计
AI Agent 做实证研究时,工作流分两层:Skill 编排"做什么",统计包执行"怎么做"。
一个 Skill 写着"跑 Callaway-Sant'Anna 交错 DID → 检验平行趋势 → 导出 Word 表格",Agent 底层需要调用具体的 Python 函数。如果底层是七八个散装包,Agent 要在不同的 API 之间来回切换、适配格式。如果底层是 StatsPAI,就是三行 sp.xxx() 的事。
StatsPAI 在设计上就考虑了 Agent 调用的场景:
- 统一的函数签名 — Agent 不需要记住每个包不同的参数风格
- 标准化的结果对象 — 所有方法返回同一种对象,下游处理可以标准化
- 内置的出版输出 —
.to_docx()、.to_latex()直接可用,不需要额外拼接 - 方法级引用 —
.cite()返回 BibTeX,方便自动生成参考文献
时间线
- 2025.07 — StatsPAI v0.1.0 发布 PyPI。开源先行,从经典计量和出版表格做起
- 2025.08 — StatsPAI Inc. 注册。给开源项目一个持续投入的主体
- 2025.12 — CoPaper.AI 上线。基于 StatsPAI 构建的 AI 实证研究合著平台
- 2026.04 — v0.3.1。三次大版本迭代,150+ 函数,经典计量到前沿 ML 因果基本覆盖
接下来
StatsPAI 在快速迭代中,目前的 150+ 常用函数是起步,而且每周都有大量的新功能上线。
近期方向:
- 性能 — 大规模面板数据的计算效率,向 Stata 编译后端和 R
fixest看齐 - 方法补全 — 调查数据(survey design)、空间计量经济学、结构估计,把 Stata 和 R 仍然领先的领域补上
- 生态集成 — 和
pandas、scikit-learn、PyTorch更深度地融合,快速推动 AI 与因果推断的融合 - AI 适配 — 为 Agent 和 Skills 提供结构化的函数文档和标准化接口,降低 AI 调用的门槛
- 前沿算法快速落地 — 发挥 Python + AI 编程的速度优势,新论文发出来就跟进实现
scikit-learn 之于机器学习、pandas 之于数据处理的角色。这需要时间,也需要社区的力量。目前整个生态正处于快速成长期,每个版本都在加入新的方法、优化已有的实现、打磨 API 的一致性。我们会保持这个节奏。**
参与
StatsPAI 是一个开放的生态,所有形式的参与都受欢迎:
- 使用 —
pip install statspai,在你的下一个实证分析里试试 - 反馈 — 在 GitHub Issues 告诉我们哪里不对、哪里可以更好
- 建议 — 你最想要什么方法?什么功能?告诉我们
- 贡献 — Fork & PR,一起来写
GitHub: github.com/brycewang-stanford/statspai
CoPaper.AI: copaper.ai
StatsPAI Inc. · Stanford REAP Program