Прогнозы с определенными задержками модели VAR

Заранее спасибо. В этом сообщении Я задал вопрос, как выбрать конкретные лаги в модели VAR. После быстрого ответа и информации о функциях «restrict» и «coef» я смог успешно запустить модель VAR с нужными мне задержками. Однако какой код мне нужен, чтобы использовать ограниченную модель VAR для прогнозирования?

Пример моего кода ниже:

 ##Attempt to Restrict VAR Coefficients
 ##VAR has 5 lags with three variables plus constant and 11 seasonal dummies.

 library("vars")
 var1 <- VAR(DVARmat, p = 5, type ="const", season = 12)
 restrict <- matrix (c(1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,
                       1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,
                       1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0),
                     nrow = 3, ncol = 27, byrow = T)
 var1_restrict <- coef(restrict(var1, method ="man", resmat = restrict))
 var1_restrict

Я знаю код прогноза после обычного VAR, но не могу вставить в него ограниченный VAR. Спасибо еще раз.


person gtnbz2nyt    schedule 01.04.2014    source источник
comment
Я предполагаю, что вы используете predict для неограниченной модели VAR, но тогда, поскольку restrict(...) также возвращает объект класса varest, вы также сможете успешно использовать predict на restrict(...). Может быть, вы пробовали predict(coef(restrict(...))) или что-то в этом роде?   -  person Julius Vainora    schedule 09.04.2014
comment
@ Юлий, хорошо, теперь я ясно вижу. Мне нужно привыкнуть к терминологии R с объектами и классами. Большое тебе спасибо.   -  person gtnbz2nyt    schedule 09.04.2014
comment
Не стесняйтесь опубликовать ответ на свой вопрос и принять его.   -  person Julius Vainora    schedule 09.04.2014


Ответы (1)


После создания матрицы ограниченных коэффициентов restrict вы можете использовать predict для restrict(...), поскольку restrict(...) также возвращает объект класса varest:

 ##Attempt to Restrict VAR Coefficients
     ##VAR has 5 lags with three variables plus constant and 11 seasonal dummies.

         library("vars")
         var1 <- VAR(DVARmat, p = 5, type ="const", season = 12)
         restrict <- matrix (c(1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,
                               1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0,
                               1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,0,1,0,0,0,0),
                             nrow = 3, ncol = 27, byrow = T)
         var1_restrict <- coef(restrict(var1, method ="man", resmat = restrict))
         var1_restrict

         expostrestrict <- predict(restrict(var1, method="man", resmat = restrict), n.ahead = 13, ci=.95)

Обратите внимание, что restrict(var1, method="man", resmat = restrict) — это объект, который можно сгенерировать, поэтому, если кто-то предпочитает, он также может использовать следующее:

restrict_var <- restrict(var1, method="man", resmat = restrict)
expostrestrict <- predict(restrict_var, n.ahead = 13, ci=.95)
person gtnbz2nyt    schedule 28.05.2014