2013-09-20 3 views
2

так, используя модель вар с пакетом «Варс» для R, таким образом:VAR модель R, стационарность

model_var <- VAR(my_data, lag.max=10) 
roots(model_var) 
pred <- predict(model_var, n.ahead=15) 

если my_data находится в неподвижном состоянии, не существует никаких проблем. Но, если my_data не является стационарным, я различаю все временные ряды в my_data, это правильно? Теперь я работаю с разностными данными, и предсказание выполняется с этими данными. Для возврата к исходным данным для предсказания, как следует использовать оператор diffinv()?

Спасибо!

Лука

ответ

2

Данные должны иметь "ц" класса. Если ваши данные матрица называется данных

класса (данные)

[1] "МТС", "TS"

ddata < - Diff (данные)

Теперь вы могут возвращать ваши данные до уровней с

diffinv (ddata, xi = t (data [1,]))

Таким образом, ваши предсказанные значения выражаются в различиях, а затем возвращайте их, например.

diffinv (пред $ FCST $ VARIABLENAME [1,], XI = т (данные [nrow (данные), "VARIABLENAME"])

с использованием последнего наблюдения данных в качестве начального значение, вы можете вернуть прогноз на уровни, где nrow (data) - последняя строка, а «VARIABLENAME» - столбец интересующей вас переменной. Имеет ли смысл?

0

@ user21240.

Адрес электронной почты: Технически то, что вы сказали, верно. i.e diff() и diffinv() работают точно так же, как в любой серии. Но является ли это правильным способом возвращения прогноза на уровни, особенно в контексте VAR.

Некоторые пояснения с символическими обозначениями могут быть очень полезными, потому что даже я застрял в одной и той же проблеме.

Смежные вопросы