Я использую регрессионную модель с некоторой гетероскедастичностью и последовательной корреляцией, и я пытаюсь решить обе задачи, не меняя спецификацию моей модели.
Во-первых, я создал модель OLS и понял обе проблемы, гетероскедастичность и последовательную корреляцию. Итак, я попытался запустить возможную обобщенную модель наименьших квадратов (FGLS) с помощью команды plm pggls
для одновременного решения обеих проблем, но эта команда, похоже, решает только гетероскедастичность, а не последовательную корреляцию.
Мой код выглядит следующим образом:
base<-pdata.frame(base, index = c("ID","time"), drop = FALSE)
Reg<-pggls(sells~ prices + income + stock+
period1 + period2+ period3, model = c("pooling"),
data=base)
Эта команда, кажется, исправляет гетероскедастичность, но она определенно не исправляет последовательную корреляцию, поскольку я создал простое доказательство. Ниже я сгенерировал регрессию между остатками и запаздывающими остатками регрессионной модели:
res = Reg$res
n = length(res)
mod = lm(res[-n] ~ res[-1])
summary(mod)
Коэффициент res[-1]
по модулю значителен. Таким образом, это не решило серийную корреляцию.
Кто-нибудь знает, как добавить какую-то опцию в команду pggls
, чтобы решить эту проблему? Или кто-нибудь знает лучшую команду для решения обеих проблем? Это не обязательно должна быть команда данных панели, поскольку у меня есть только 1 человек.
vcovXX
(например,vcovHC
) в пакетеplm
также должны выполнять кластеризованный SE - проще, чем реализовать его самостоятельно. 10.04.2017