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

R语言fixest包双向固定效应Logit模型标准误与p值差异问题

双向固定效应Logit模型标准误差异问题解答

问题背景

使用fixest包构建含交互项的双向固定效应(TWFE)Logit模型时,为报告wave固定效应的系数,将其从固定效应部分移至常规控制变量,发现模型系数一致,但标准误和p值与标准TWFE模型存在差异。


问题1:两个模型间标准误和p值的差异是否源于自由度调整?

是,核心差异来自自由度调整逻辑的不同:

  • 当wave作为固定效应(model1)时,fixest在计算标准误时,会扣除固定效应维度占用的自由度,且两向聚类标准误的计算会适配固定效应的约束逻辑。
  • 当wave作为常规控制变量(model2)时,wave的系数被纳入核心参数集合,自由度扣除的是所有控制变量(含wave)与固定效应的总数量,聚类标准误的自由度计算也基于全部估计参数的规模,最终导致标准误和p值出现偏差。

问题2:这属于统计问题(如附带参数问题)还是单纯的软件问题?若是软件问题,该如何解决?

这本质是统计设定差异带来的计算逻辑不同,而非单纯软件问题,但可通过fixest的功能统一推断结果:

  1. 统计层面的原因:
    固定效应属于“附带参数”,常规控制变量属于“结构参数”,两者在非线性模型(Logit)中的推断逻辑存在差异——固定效应的推断会考虑附带参数的渐近性质,而常规控制变量则按结构参数处理,虽拟合目标等价,但推断步骤的自由度扣除、标准误计算假设不同。
  2. 解决方法:
    • 方法一:直接提取固定效应系数(推荐)
      无需修改模型设定,直接从标准TWFE模型中提取wave的固定效应系数及统计量,既保留正确的推断逻辑,又能获取目标结果:
      # 提取model1中wave的固定效应系数及统计量
      wave_fixef <- fixef(model1, type = "level")$wave
      summary(wave_fixef)
      
    • 方法二:统一自由度调整逻辑
      在model2的summary中手动指定自由度扣除规则,使其与model1对齐:
      summary(model2, vcov = "twoway", ssc = ssc(adj = FALSE, cluster.adj = FALSE, fixef.K = "full"))
      
      其中fixef.K = "full"会让fixest按照固定效应的维度扣除自由度,而非所有控制变量的数量,以此匹配标准TWFE模型的标准误计算逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 13:00:16