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



请参阅下面的编辑

对于包plm,我想知道为什么summary()显示的F统计量在我提供协方差矩阵(用于稳健的标准误差)后不会改变。考虑下面的代码,我没有得到summery()计算的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统计量的输出w/和w/o鲁棒标准误差,我觉得F统计量应该改变。

这是plm 1.4(然后稳定释放)。

EDITplm的CRAN版本1.6-4中的pwaldtest就是这样做的,并且现在已经集成到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"))计算的内容。

最新更新