r-使用vcovHC()的鲁棒标准误差(HC3),plm对象的coefftest



我想估计一个固定效应模型,并使用HC3小样本调整的稳健方差-协方差矩阵。

对于模型本身,我使用以下代码行:

require(plm)
require(sandwich)
require(lmtest)
require(car)
QSFE <- plm(log(SPREAD)~PERIOD, data = na.omit(QSREG), index = c("STOCKS", "TIME"), model = "within")

这工作得很好,现在为了计算HC3的鲁棒标准误差,我使用了函数coeftestvcovHC

coeftest(x = QSFE, vcov = vcovHC(QSFE, type = "HC3", method = "arellano"))

这是行不通的。返回的错误如下:

Error in 1 - diaghat : non-numeric argument to binary operator

问题出现在vcovHC中:当将类型设置为"HC3"时。它使用函数hatvalues()来计算"diaghat",该函数不支持plm对象,并返回错误:

Error in UseMethod("hatvalues") : 
no applicable method for 'hatvalues' applied to an object of class "c('plm', 'panelmodel')"

有人知道如何使用plm的HC3(HC2(估计器吗。我认为这应该取决于vcov中使用的函数hatvalues,因为HC0/HC1工作得很好,因为这不需要它。

plm开发人员。虽然效率问题在计算上很有趣,但从统计的角度来看,当你有一个300 x 300的面板时,不需要这些小样本校正。你可以很高兴地使用HC0(或者如果你确实想要面板小样本校正"sss"(面板DF(无论如何都是最好的,后者在计算上要轻得多(。

当数据大小增加时,小样本校正变得毫无用处,这是我们没有分配稀缺的开发人员时间来提高效率的主要原因。此外,从统计学的角度来看,请注意,像White Arellano这样的"聚类"vcovs的性质对于T~N来说并不理想,它们适用于N>>T。

最后,有一点需要澄清:你原来的帖子:虽然最初vcovHC是"三明治"包中的一个通用函数,但在面板上下文中,应用了"plm"包的专用方法vcovHC.plm。更好的解释如下:https://www.jstatsoft.org/article/view/v082i03

plm为plm对象提供的方法中,包plm中没有函数hatvalues,单词";hatvalues";甚至不在plm的源代码中。执行coeftest时,请确保已加载包plm。此外,请确保从CRAN安装了最新版本的plm(目前版本为2.2-3(。

如果您已经加载了包plm,那么代码应该可以工作。我的机器上有一个玩具示例。可以肯定的是,您可能希望强制使用plm:提供的vcovHC

拳头,试试vcovHC(QSFE, type = "HC3", method = "arellano")。如果出现同样的错误,请尝试plm::vcovHC(QSFE, type = "HC3", method = "arellano")

接下来,请尝试:coeftest(QSFE, vcov.=function(x) vcovHC(QSFE, method="arellano", type="HC3"))

编辑:使用所提供的数据集,可以清楚地看出,向vcovHC.plm的调度工作是正确的。此处不涉及包sandwich。根本原因是函数vcovHC.plm的内存需求,参数type设置为"HC3"(以及其他(。这也解释了您对为数据子集工作的函数的评论。

第2版:从plm版本2.4-0开始(内部函数dhat优化(,vcovHC.plm的小样本调整的内存需求显著降低,并且错误不再发生。

vcovHC(QSFE, type = "HC3", method = "arellano")
Error in 1 - diaghat : non-numeric argument to binary operator
Called from: omega(uhat, diaghat, df, G)
Browse[1]> diaghat
[1] "Error : cannot allocate vector of size 59.7 Gbn"
attr(,"class")
[1] "try-error"
attr(,"condition")
<simpleError: cannot allocate vector of size 59.7 Gb>

最新更新