You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fixest Feols与Lfe Felm事件研究结果差异原因求助

多组事件研究中felm与feols结果差异的排查方向
  • 默认基准期与相对时间处理差异:feols的内置事件研究语法(如i(rel_time, treat))会自动设置基准期(默认是ref=-1),但如果你的felm模型手动指定的基准期不同,或者feols对相对时间的截断规则(比如超出领先/滞后范围的样本处理)和你手动生成领先滞后项的逻辑不一致,就会出现结果偏差。调整处理组后样本结构变化,这类规则差异的影响会被放大。

  • 固定效应吸收算法的精度差异:felm用迭代投影法吸收固定效应,feols默认采用Cholesky/QR分解的快速算法。当固定效应维度极高(如大样本的个体/时间FE),或存在完全共线性的FE组合时,二者的数值精度会出现偏差。调整处理组后,样本的FE结构变化,共线性问题可能更突出,导致差异加剧。

  • 处理组识别逻辑不匹配:调整处理组/对照组后,要核对两个函数对处理状态的计算是否完全一致。比如feols的动态处理时间参数是否正确对应个体的实际处理时点;你手动给felm生成领先滞后项时,是否在新分组下准确计算了每个个体的相对时间,有没有出现未处理个体被错误赋值、或处理时间NA值处理方式不同的情况。

  • 样本筛选与权重的隐性规则差异:检查二者的NA值处理逻辑:feols默认删除含NA的观测,felm的na.action默认是na.exclude,这会导致样本量差异。如果模型用到权重,要确认feols的weights参数和felm的权重处理是否一致,比如是否对权重做了标准化,或是否支持相同的权重类型。

  • 事件研究语法的歧义问题:若用feols的公式式事件研究,要确认treat变量是严格的二元处理指示符,且rel_time的计算和你手动生成的完全一致。比如feols的i()函数在多组多期场景下,可能自动将未处理个体的rel_time设为特定值,而你手动生成时可能将这些个体的领先滞后项全设为0,这种赋值差异会直接导致系数结果不同。

内容的提问来源于stack exchange,提问作者trace miller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:35:55