使用 plm 包的 R 中的 HAC 标准错误?

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

我想估计一个固定效应模型(具有国家和年份固定效应)并另外应用 HAC 标准误差。虽然在 r 中运行以下代码后没有收到任何错误消息,但我不确定是否真的收到了 HAC 标准错误。有人可以确认一下吗?特别是,如果我将 HAC3 更改为 HC3,甚至完全删除选项 vcovHAC(或 vcovHC)等,我会得到完全相同的标准错误。

fe1 <- plm( log(DEB) ~ log(IMP),
                   model = "within",
                   data = data,
                   index = c("country","year"), 
                   effect = "twoways")
fe2 <- plm( log(DEB) ~ log(IMP),
                   model = "within",
                   data = data,
                   index = c("country","year"), 
                   effect = "twoways",
                   vcovHAC = "HAC3")
fe3 <- plm( log(DEB) ~ log(IMP),
                   model = "within",
                   data = data,
                   index = c("country","year"), 
                   effect = "twoways",
                   vcovHC = "HC3")
r panel-data plm standard-error
1个回答
0
投票

你的做法是错误的,没有参数

vcovHAC
,也没有
vcovHC
来发挥作用
plm
。 R 中处理非常规标准错误的典型方法是:

  • 第一次估计模型
  • 第二次分别估计非常规标准误差
  • 第三步将两者结合起来

这种方法非常灵活,因为 vcov 可以提供给许多格式化包/函数(第三步),例如,模型摘要的典型

summary
lmtest::coeftest
。我在下面举了一个例子,取自帮助文件
?plm::vcovHC
,但还有更多例子。请务必阅读帮助文件以了解您可能想要设置的所有参数等。

plm
包的小插图[https://cran.r-project.org/web/packages/plm/vignettes/A_plmPackage.html]有一整节“鲁棒协方差矩阵估计”和示例。另外,plm的
vocHC
以及plm的其他vcovXX功能都有例子。

library(plm)
data("Produc", package = "plm")
zz <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
          data = Produc, model = "random")
summary(zz, vcov = vcovHC)
#> Oneway (individual) effect Random Effect Model 
#>    (Swamy-Arora's transformation)
#> 
#> Note: Coefficient variance-covariance matrix supplied: vcovHC
#> 
#> Call:
#> plm(formula = log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp, 
#>     data = Produc, model = "random")
#> 
#> Balanced Panel: n = 48, T = 17, N = 816
#> 
#> Effects:
#>                    var  std.dev share
#> idiosyncratic 0.001454 0.038137 0.175
#> individual    0.006838 0.082691 0.825
#> theta: 0.8888
#> 
#> Residuals:
#>       Min.    1st Qu.     Median    3rd Qu.       Max. 
#> -0.1067230 -0.0245520 -0.0023694  0.0217333  0.1996307 
#> 
#> Coefficients:
#>               Estimate Std. Error z-value  Pr(>|z|)    
#> (Intercept)  2.1354110  0.2386676  8.9472 < 2.2e-16 ***
#> log(pcap)    0.0044386  0.0545970  0.0813  0.935206    
#> log(pc)      0.3105484  0.0435922  7.1239 1.049e-12 ***
#> log(emp)     0.7296705  0.0699680 10.4286 < 2.2e-16 ***
#> unemp       -0.0061725  0.0023326 -2.6461  0.008141 ** 
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Total Sum of Squares:    29.209
#> Residual Sum of Squares: 1.1879
#> R-Squared:      0.95933
#> Adj. R-Squared: 0.95913
#> Chisq: 4524.65 on 4 DF, p-value: < 2.22e-16

设置特定参数:

summary(zz, vcov = function(x) vcovHC(x, method="arellano", type="HC1"))
#> Oneway (individual) effect Random Effect Model 
#>    (Swamy-Arora's transformation)
#> 
#> Note: Coefficient variance-covariance matrix supplied: function(x) vcovHC(x, method = "arellano", type = "HC1")
#> 
#> Call:
#> plm(formula = log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp, 
#>     data = Produc, model = "random")
#> 
#> Balanced Panel: n = 48, T = 17, N = 816
#> 
#> Effects:
#>                    var  std.dev share
#> idiosyncratic 0.001454 0.038137 0.175
#> individual    0.006838 0.082691 0.825
#> theta: 0.8888
#> 
#> Residuals:
#>       Min.    1st Qu.     Median    3rd Qu.       Max. 
#> -0.1067230 -0.0245520 -0.0023694  0.0217333  0.1996307 
#> 
#> Coefficients:
#>               Estimate Std. Error z-value  Pr(>|z|)    
#> (Intercept)  2.1354110  0.2394021  8.9198 < 2.2e-16 ***
#> log(pcap)    0.0044386  0.0547651  0.0810  0.935404    
#> log(pc)      0.3105484  0.0437264  7.1021 1.229e-12 ***
#> log(emp)     0.7296705  0.0701833 10.3966 < 2.2e-16 ***
#> unemp       -0.0061725  0.0023398 -2.6380  0.008339 ** 
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Total Sum of Squares:    29.209
#> Residual Sum of Squares: 1.1879
#> R-Squared:      0.95933
#> Adj. R-Squared: 0.95913
© www.soinside.com 2019 - 2024. All rights reserved.