我有一个关于不同公司几个季度的股票回报的随机效应模型。为了处理集群标准错误,我想按公司和季度使用 vcovHC 和集群。我找到了几个答案,这些答案有助于通过两个维度对常规线性模型进行聚类,但不会出现随机效应,因此请您帮助将其包括在内。
下面的代码是否适用或者您的方法是什么?
clustered_se <- vcovHC(random_model, type = "HC1", cluster = "group", group = "time")
coeftest(random_model, clustered_se)
从您的问题来看,尚不清楚您使用哪些 R 软件包。我假设您使用
plm
进行随机效应模型估计,并使用 lmtest::coeftest
。
许多包都带来了
vcovHC
实现。如果您使用 plm::vcovHC
,这不会给您带来双集群标准错误,请参阅文档 ?plm::vcovHC
。 (参数 cluster
表示您使用 plm::vcovHC
,但另一方面,参数 group
对于 plm
´s vcovHC
无效。)
对于基于 PLM 的方法,
plm::vcovDC
给出了 Thompson (2011) 和 Cameron 等人的聚类标准误差。 (2011),请参阅其文档。
因此,如果您的数据是季度数据(并且季度数据位于数据的时间维度中),则可以按公司和季度进行聚类。
一个示例看起来像这样(例如,双向 RE 模型):
library(plm)
data("Grunfeld")
swar <- plm(inv ~ value + capital,
data = Grunfeld, model = "random", effect = "twoways")
dblcluster <- vcovDC(swar)
summary(swar, vcov = dblcluster)
#
#
#> Twoways effects Random Effect Model
#> (Swamy-Arora's transformation)
#>
#> Note: Coefficient variance-covariance matrix supplied: dblcluster
#>
#> Call:
#> plm(formula = inv ~ value + capital, data = Grunfeld, effect = "twoways",
#> model = "random")
#>
#> Balanced Panel: n = 10, T = 20, N = 200
#>
#> Effects:
#> var std.dev share
#> idiosyncratic 2675.43 51.72 0.274
#> individual 7095.25 84.23 0.726
#> time 0.00 0.00 0.000
#> theta: 0.864 (id) 0 (time) 0 (total)
#>
#> Residuals:
#> Min. 1st Qu. Median 3rd Qu. Max.
#> -177.1700 -19.7576 4.6048 19.4676 252.7596
#>
#> Coefficients:
#> Estimate Std. Error z-value Pr(>|z|)
#> (Intercept) -57.865377 36.373180 -1.5909 0.1116
#> value 0.109790 0.010657 10.3021 < 2.2e-16 ***
#> capital 0.308190 0.043926 7.0161 2.281e-12 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Total Sum of Squares: 2376000
#> Residual Sum of Squares: 547910
#> R-Squared: 0.7694
#> Adj. R-Squared: 0.76706
#> Chisq: 155.664 on 2 DF, p-value: < 2.22e-16
#
#
lmtest::coeftest(swar, vcov. = dblcluster, df = Inf)
#>
#> z test of coefficients:
#>
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) -57.865377 36.373180 -1.5909 0.1116
#> value 0.109790 0.010657 10.3021 < 2.2e-16 ***
#> capital 0.308190 0.043926 7.0161 2.281e-12 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1