Я пытаюсь заставить стандартные ошибки Newey-West работать с выходом pmg()
(Средние группы/оценка Fama-MacBeth) из пакета plm
.
Следуя примеру здесь:
require(foreign)
require(plm)
require(lmtest)
test <- read.dta("http://www.kellogg.northwestern.edu/faculty/petersen/htm/papers/se/test_data.dta")
fpmg <- pmg(y~x, test, index=c("firmid", "year")) # Time index in second position, unlike the example
Я могу использовать coeftest
непосредственно просто, чтобы получить стандартные ошибки Fama-MacBeth:
# Regular "Fama-MacBeth" standard errors
coeftest(fpmg)
# t test of coefficients:
#
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 0.032470 0.071671 0.453 0.6505
# x 0.969212 0.034782 27.866 <2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Однако попытки использовать оценки Нью-Уэста не выполняются:
# Newey-West standard-errors
coeftest(fpmg, vcov = NeweyWest(fpmg, lag=3))
# Error in UseMethod("estfun") :
# no applicable method for 'estfun' applied to an object of class "c('pmg', 'panelmodel')"
Это кажется недостатком в пакете plm
. Вы знаете способ сделать эту работу? Должен ли я закодировать свой собственный объект estfun
для pmg
? Кодекс оценки Newey-West с нуля? Или я должен обойти пакет plm
вообще?