plm
вычисляет обычную дисперсионно-ковариационную матрицу (VCOV). Когда вы используете summary
на вашем plm
объекте (что вы, вероятно, подразумеваете под «предоставленной моделью фиксированного эффекта plm»), фактически применяется метод plm:::summary.plm
, который использует обычные стандартные ошибки (SE) без степеней - исправление свободы, пока вы не измените аргумент vcov=
со значением по умолчанию NULL
на другой 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) / (nk), где 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.0002168511