Я хочу оценить модель с фиксированным эффектом и использовать надежную ковариационную матрицу с корректировкой HC3 для малой выборки.
Для самой модели я использую следующие строки кода:
require(plm)
require(sandwich)
require(lmtest)
require(car)
QSFE <- plm(log(SPREAD)~PERIOD, data = na.omit(QSREG), index = c("STOCKS", "TIME"), model = "within")
Это работает очень хорошо, теперь для расчета устойчивой стандартной ошибки HC3 я использовал функцию coeftest
с vcovHC
в ней.
coeftest(x = QSFE, vcov = vcovHC(QSFE, type = "HC3", method = "arellano"))
И это не работает. Возвращенная ошибка выглядит следующим образом:
Error in 1 - diaghat : non-numeric argument to binary operator
Проблема в vcovHC: когда задается тип "HC3"
. Он использует функцию hatvalues()
для вычисления "diaghat"
, которая не поддерживает объекты plm
и возвращает ошибку:
Error in UseMethod("hatvalues") :
no applicable method for 'hatvalues' applied to an object of class "c('plm', 'panelmodel')"
Кто-нибудь знает, как использовать оценщик HC3 (HC2) для plm. Я думаю, это должно зависеть от значений функции, используемых в vcov, поскольку HC0 / HC1 отлично работает, потому что это не нужно.
vcovHC
не отправляется методу, предоставленномуplm
для объектов plm, поскольку в plm нет функцииhatvalues
, слово hatvalues отсутствует даже в исходном коде plm. Убедитесь, что пакетplm
загружен при выполненииcoeftest
. - person Helix123   schedule 13.04.2020