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

在R的plm包中为双向固定效应模型配置HAC标准误的疑问

问题根源与解决方法

你遇到的核心问题是plm()函数本身的vcovHC/vcovHAC参数并不直接控制模型输出的标准误,这些参数仅用于内部传递,所以直接加在plm()里不会改变summary的输出结果,自然看起来标准误完全一致。

正确操作步骤

要在双向固定效应模型中得到HC3或HAC稳健标准误,需要分两步:先估计基础固定效应模型,再用专门的协方差矩阵函数结合coeftest()输出结果。

  1. 加载必要的包
library(plm)
library(lmtest) # 提供coeftest函数用于输出稳健标准误
  1. 估计双向固定效应模型(和你原代码的fe1一致)
fe_base <- plm(log(DEB) ~ log(IMP),
               model = "within",
               data = data,
               index = c("country","year"), 
               effect = "twoways")
  1. 计算HC3异方差稳健标准误
# 输出带HC3标准误的系数结果
coeftest(fe_base, vcov. = vcovHC(fe_base, type = "HC3"))
  1. 计算HAC(Newey-West型)稳健标准误
    HAC标准误需考虑序列相关性,通常要指定滞后阶数(示例设为3):
# 输出带HAC3标准误的系数结果,lag参数指定滞后阶数
coeftest(fe_base, vcov. = vcovHAC(fe_base, type = "HAC3", lag = 3))

为什么之前的代码没差异?

当你在plm()里添加vcovHC="HC3"或vcovHAC="HAC3"时,这些参数并没有替换模型默认的协方差矩阵——plm对象的summary()默认仍输出固定效应模型的普通标准误。只有通过coeftest()结合对应的vcovHC()/vcovHAC()函数,才能真正得到稳健标准误的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 00:05:09