为什么lm_robust()HC3标准误差小于coeftest()HC0标准误差?

为什么lm_robust()HC3标准误差小于coeftest()HC0标准误差?,r,statistics,lm,robust,R,Statistics,Lm,Robust,我使用包“estimatr”的lm_鲁棒性,用于固定效应模型,包括HC3鲁棒标准误差。我不得不从vcovHC()切换,因为我的数据样本太大,无法处理 使用以下行进行回归: lm_robust(log(SPREAD) ~ PERIOD, data = dat, fixed_effects = ~ STOCKS + TIME, se_type = "HC3") 代码运行良好,系数与使用包plm的固定效果相同。由于数据样本太大,我无法使用coeftest估计plm输出的HC3标准误差,因此我将lm_

我使用包“estimatr”的lm_鲁棒性,用于固定效应模型,包括HC3鲁棒标准误差。我不得不从vcovHC()切换,因为我的数据样本太大,无法处理

使用以下行进行回归:

lm_robust(log(SPREAD) ~ PERIOD, data = dat, fixed_effects = ~ STOCKS + TIME, se_type = "HC3")
代码运行良好,系数与使用包plm的固定效果相同。由于数据样本太大,我无法使用coeftest估计plm输出的HC3标准误差,因此我将
lm_robust
的HC3估计值与
coeftest(model,vcov=vcovHC(model,type=HC1))的HC1进行了比较。
因此,lm_robust的HC3标准误差远小于系数测试的HC1

有人有解释吗,因为HC3应该比HC1更具限制性。我赞赏任何建议和解决办法

编辑用于系数测试的模型:


plm(log(SPREAD)~周期,数据=dat,指数=c(“股票”,“时间”),effect=“twoway”,method=“in”)
对于
plm
vcovHC()
方法似乎可以自动估计集群稳健标准错误,而对于
lm_robust()
,则不能。因此,与
lm\u robust
(就这一点而言,
lm
HC1
相比,
plm
的标准误差估计将显得过高

使用一些玩具数据:

库(三明治)
图书馆(tidyverse)
图书馆(plm)
图书馆(估计)
图书馆(lmtest)
种子集(1981年)
x x
#>x 0.05042142
#>属性(,“集群”)
#>[1]“组”
sqrt(rb_fit$vcov)
#>x
#>x 0.05041177
这两个包中似乎没有等效的集群健壮标准错误类型。但是,在
lm_robust()
中指定集群健壮SEs时,SEs更接近:

rb\u配合
#>电话:
#>lm_稳健(公式=y~x,数据=dat,聚类=f,固定_效应=f+
#>t,se_type=“CR0”)
#> 
#>标准错误类型:CR0
#> 
#>系数:
#>估计标准误差t值Pr(>t)CI下限CI上限DF
#>x 0.925 0.05034 18.38 1.133e-33 0.8251 1.025 99
#> 
#>倍数R平方:0.3664,调整后的R平方:0.2888
#>多重R平方(项目模型):0.3101,调整后的R平方(项目模型):0.2256
#>F-统计(项目模型):1和99 DF上的337.7,p值:<2.2e-16
系数(plm_-fit,vcov.=vcovHC(plm_-fit,type=“HC1”))
#> 
#>系数的t检验:
#> 
#>估计标准误差t值Pr(>t)
#>x 0.925009 0.050364 18.366<2.2e-16***
#> ---
#>签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1

由(v0.3.0)于2020年4月16日创建。

您能分享您的数据吗?另外,很高兴知道
股票的规模
时间
,以及观察的数量是肯定的;可下载的数据大小为
股票
为288天,
时间
为312天。因此,312*288次观察。请参阅上面我的编辑,了解比较中使用的两个代码行。由于我对使用HC3估计器感兴趣,但由于系数测试所需的计算能力而无法使用。我使用
估计器0.18.0获得
0.005444
0.005463
获得
type\u se=“HC3
。在我看来还可以。是的,使用具有相同功能的HC1和HC3(lm_robust),可以得到合理的顺序。但我将lm_robust的HC3与应用于plm模型的coeftest()的HC1进行比较非常感谢!现在我明白了这两种方法之间的区别!