请参阅下面的编辑
使用包
plm
,我想知道为什么一旦我提供协方差矩阵(用于稳健的标准误差),summary()
显示的F统计量就不会改变。考虑下面的代码,我没有得到由 summary()
计算的 F 统计量的变化。然而,通过 waldtest()
计算的 F 统计量发生了变化:
require(plm)
require(lmtest)
data("Grunfeld")
gp <- plm(inv ~ value + capital,data=Grunfeld,model="pooling")
# summary() and waldtest() yield same F statistic [w/o user supplied covariance matrix]
summary(gp)
waldtest(gp, test="F")
# summary() and waldtest() yield different F statistic [w/ user supplied covariance matrix]
summary(gp, .vcov = plm::vcovHC(gp, "white2"))
waldtest(gp, test="F", vcov=plm::vcovHC(gp, "white2"))
考虑到这篇关于 Stata 稳健标准误差的文章,并比较带有和不带有稳健标准误差的 F 统计量的输出,我觉得 F 统计量应该改变。
这是 plm 1.4(当时的稳定版本)。
编辑:
pwaldtest
的CRAN版本1.6-4中的plm
做到了这一点,现在已合并到summary.plm
中,因此,只需运行以下命令之一即可通过调整后的df2参数进行稳健的F测试:
summary(gp, vcov = plm::vcovHC(gp, "white2"))
pwaldtest(gp, test="F", vcov = plm::vcovHC(gp, "white2"))
对于从业者来说,这是一个很好的稳健推理参考:Cameron/Miller,“集群稳健推理的从业者指南”,《人力资源杂志》,2015 年春季,第 50 卷,第 2 期,第 317-373 页。 http://cameron.econ.ucdavis.edu/research/papers.html
如果你查看
plm:::summary.plm
的源代码,你会发现第一行是:object$fstatistic <- Ftest(object, test = "F")
。因此,.vcov
参数不会传递给plm:::Ftest()
,因此 F 统计量根本不受影响。您可以联系 plm
维护者并要求对此进行改进或至少在手册页上指出。目前,.vcov
仅用于每个系数的部分Wald测试,即对应于lmtest
通过coeftest(gp, vcov = vcovHC(gp, "white2"))
计算的内容。