使用用户提供的协方差矩阵计算 F 统计量

问题描述 投票:0回答:1

请参阅下面的编辑

使用包

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

r panel-data plm
1个回答
1
投票

如果你查看

plm:::summary.plm
的源代码,你会发现第一行是:
object$fstatistic <- Ftest(object, test = "F")
。因此,
.vcov
参数不会传递给
plm:::Ftest()
,因此 F 统计量根本不受影响。您可以联系
plm
维护者并要求对此进行改进或至少在手册页上指出。目前,
.vcov
仅用于每个系数的部分Wald测试,即对应于
lmtest
通过
coeftest(gp, vcov = vcovHC(gp, "white2"))
计算的内容。

© www.soinside.com 2019 - 2024. All rights reserved.