我使用固定的时间效应模型和群体固定效应模型。此外,我希望计算健壮的集群标准错误。因此,我使用coeftest(model, vcov = vcovDC(model))
我不明白提供的t-统计数字是如何计算自由度的。它是否使用了与提供的plm固定效应模型相同的自由度,还是进行了调整。也许我的问题是:当一个人在双向固定效应模型中使用聚类标准误差时,自由度是调整的,还是保持不变?
发布于 2020-04-22 09:41:47
plm计算普通方差协方差矩阵(VCOV).当您在您的summary对象上使用plm (您可能指的是“提供plm-固定效果模型”)时,实际上应用了plm:::summary.plm方法,该方法使用普通的标准误差(SE),不进行自由度校正,直到您将默认为NULL的vcov=参数更改为另一个计算不同的VCOV,例如vcovCL或vcovDC。
您可以执行lmtest::coeftest(fit, vcov.=...),也可以直接执行summary(fit, vcov=...)操作,如下面的示例所示。
示例
library(plm)
data(Cigar)
fit <- plm(sales ~ price, data=Cigar, effect="twoways", model="within",
index=c("state", "year"))
summary(fit)$coe
# same:
summary(fit, vcov=NULL)$coe ## default, ordinary SE
# Estimate Std. Error t-value Pr(>|t|)
# price -1.084712 0.07554847 -14.35782 1.640552e-43现在,为了获得健壮的标准错误(不对集群进行调整),我们可以使用vcovCL并考虑type=参数。在?sandwich::vcovCL中,我们可以读到:
HC0应用不小的样本偏差调整。HC1应用基于自由度的修正,(n-1)/(N),其中n是观测数,k是模型中解释变量或预测变量的数目。
summary(fit, vcov=vcovHC)$coe
# same:
summary(fit, vcov=vcovHC(fit, type="HC0"))$coe ## robust SE
# Estimate Std. Error t-value Pr(>|t|)
# price -1.084712 0.2406786 -4.506889 7.168418e-06
summary(fit, vcov=vcovHC(fit, type="HC1"))$coe ## robust SE, df-corrected
# Estimate Std. Error t-value Pr(>|t|)
# price -1.084712 0.2407658 -4.505256 7.22292e-06对于健壮的标准错误,vcovDC及其type=参数也是如此,对组和时间的聚类进行了双重调整:
summary(fit, vcov=vcovDC(fit))$coe
# same:
summary(fit, vcov=vcovDC(fit, type="HC0"))$coe ## double-cluster-robust SE
# Estimate Std. Error t-value Pr(>|t|)
# price -1.084712 0.2923507 -3.71031 0.0002157146
summary(fit, vcov=vcovDC(fit, type="HC1"))$coe ## double-cluster-robust SE, df-corrected
# Estimate Std. Error t-value Pr(>|t|)
# price -1.084712 0.2924567 -3.708966 0.0002168511https://stackoverflow.com/questions/61360227
复制相似问题