Сделайте модели из пакета rugarch для настройки с MuMIn
Я пытаюсь выполнить усреднение моделей и хочу объединить модели из пакета rugarch и модели, оцененные с помощью функции "lm". Я использую данные ежедневного финансового индекса, преобразованные в объект XTS. Тем самым я запускаю функции lm:
X<-as.xts(Financial_index_data)
LM.Result<-lm(X ~ lag(X, -1))
и затем я запускаю функцию GARCH, используя пакет rugarch:
library(rugarch)
Garch.spec = ugarchspec(variance.model = list(model="sGARCH", garchOrder = c(1,1)), mean.model = list(armaOrder=c(1,1)), distribution.model = "norm")
GARCH.Result<- ugarchfit(Garch.spec, X)
На следующем шаге я хочу выполнить усреднение модели с помощью MuMIn:
library(MuMIn)
MA<-model.avg(LM.Result, GARCH.Result)
И получает следующую ошибку: "Ошибка: оператор $ не определен для этого класса S4"
Я понимаю, что пакет rugarch не поддерживается пакетом MuMIn. Но есть ли способ преобразовать мою регрессию, созданную в rugarch, в класс lm или в какой-либо пакет усреднения моделей, поддерживающий все виды регрессии?
1 ответ
Прежде всего, вам нужно написать либо logLik
метод или функция для возврата информационного критерия, который будет использоваться для ранжирования (model.avg
"s rank
). Кроме того, вам необходимо адаптировать как минимум эти функции: coefTable
, getAllTerms
, get_call
(или использовать updateable
как "uGARCHfit"
класс, кажется, не хранить вызов). Посмотри на lm
или же glm
аналоги этих функций (например, MuMIn:::coefTable.lm
).