资料名称: PyFixest(Python 包,PyPI 当前版本 0.60.0,主仓库 py-econometrics/pyfixest,MIT 许可)。
帖内资料: 仓库 README 全文(含功能清单、quickstart 代码与实际输出、基准测试说明、引用格式)、官方文档站与 API 参考入口、PyPI 发布记录、变更日志。
时间覆盖: PyPI 上共 82 个版本,最新 0.60.0;仓库最近一次推送为 2026 年 10 月 27 日;README 内的基准测试对应 k=10 协变量的设定。
许可与引用: MIT 许可,可商用、修改与再分发,保留版权与许可声明;作者给出的 BibTeX 引用里年份写的是 2025。
适用任务: 面板与高维固定效应回归、工具变量与泊松/logit 估计、双重差分、聚类稳健推断、论文结果表输出。
这份资料的定位一句话说完:它是 R 包 fixest 的 Python 对照实现,作者的目标是把 fixest 的语法与默认值尽量照搬过来,熟 fixest 的人可以不看文档直接上手。所以它的价值不在「又一个回归库」,而在于同一条公式、同一套默认设定在 Python 里能跑出和 R 对得上的结果。
装上之后三行就能跑。import pyfixest as pf 导入,数据用包内自带的 pf.get_data(),然后 pf.feols("Y ~ X1 | f1 + f2", data=data).summary()——竖线左边是解释变量,右边是固定效应。README 里贴了实际输出:997 个观测,推断方式默认 CRV1,X1 的系数是 0.919、标准误 0.065、t 值 14.057,RMSE 1.441、R 0.609、组内 R 0.2。
这组数字比任何形容词都有用,因为它就是你复现时该对上的那一版。
能力上分三块。估计端支持 OLS、WLS、IV 与 GLM(泊松、logit、probit、高斯),都带高维固定效应;去均值有三套后端可换——MAP、within 的 LSMR、以及基于 torch 的 LSMR,后者能跑 GPU。此外还有内点法解的分位数回归、一整套双重差分估计(TWFE、Did2s、局部投影、Sun-Abraham 事件研究)、按 Gelbach (2016) 做的回归分解,以及用 f[x] 或 f[[x]] 写变斜率的固定效应。
推断端的东西比多数人预期多:除了常见的稳健、聚类稳健与 HAC 方差,还有 wild cluster bootstrap(走 wildboottest 包)、多重假设校正与同时置信区间、随机化推断、因果聚类方差估计(CCV),以及按 Lindon 等 2026 年那篇做的随时有效推断(SAVI)——后者给的是随时有效 p 值、e 值与置信序列,适合边跑边看、反复比较的场景。
结果表这块作者是认真做的:要么用 Great Tables 出 HTML 表,要么通过 maketables 走 LaTeX booktabs,直接进论文。配合多重估计语法 sw(Y, Y2) ~ X1 | csw0(f1, f2),一次跑多组因变量与多组固定效应组合,再用 etable() 并排输出,比循环加手工拼表省事得多。
有两点装环境时要留意。一是 Python 版本口径不一致:仓库徽章写的是 3.9—3.14,而 PyPI 元数据里的 requires_python 是 >=3.10,以 PyPI 为准更稳,3.9 装不上是正常现象。二是 GPU 后端不是装完就有,torch 版去均值要另外装 torch 并在构造 LsmrDemeaner 时指定 backend="torch"、device="cuda",没有 CUDA 环境就别开这个开关。
基准测试那段要谨慎读。作者用的是 fixest 官方基准里的「简单」与「困难」两套数据生成过程,固定 k=10 个协变量,比较 PyFixest 的 MAP、within、torch GPU 三个后端与 R 的 fixest、Julia 的 FixedEffectModels.jl,取三次运行的中位数。作者自己也写了:运行时间高度依赖硬件,GPU 后端尤其如此。
所以那张图能说明「方向」,不能当「结论」——你要评估速度,必须在自己的数据与机器上跑一遍。
与 R 的关系值得单独说一句,因为它决定了迁移成本。语法层面几乎一一对应,feols 对应 feols,etable 对应 etable,固定效应用竖线,变斜率用方括号,多重估计用 sw 与 csw0 这类写法。这意味着从 R 迁过来主要是改导入方式和数据处理习惯(pandas 而不是 data.frame),统计设定本身不用重学。
反过来说,如果你本来就不熟 fixest,这份资料的默认值会显得很「默默生效」——尤其推断方式默认就是聚类稳健,不写 vcov 也会给 CRV1,这一点要在方法节里写清楚。
最后说边界:它是估计与推断的工具,不是数据清洗工具,也不是 Stata 的完整替代(一些 Stata 特有的后估计命令在这里没有对应实现)。真要做因果推断的全流程,缺的是识别策略与稳健性设计,这部分任何包都替不了。
────────────────
文档站、quickstart、API 参考、双重差分与分位数回归两份教程,以及仓库与 PyPI 的地址都在下面,回帖就能看到。


雷达卡


京公网安备 11010802022788号







