Как использовать пакет vars в R для прогнозирования нескольких временных рядов? - PullRequest
0 голосов
/ 01 марта 2020

Я пытаюсь использовать пакет vars в R для анализа данных нескольких временных рядов. Например:

g <- tibble(r10=c(1,2,3),r20=c(3,2,4),
            Date=as.Date(c('2020-01-01','2020-01-02','2020-01-03'),format = '%Y-%m-%d'))

есть два временных ряда (r10, r20) в таблице. Мне нужно предсказать 2 значения для них. Так что это несколько временных рядов.

Я хочу последовать примеру в vars:

data(Canada) 
var.2c <- VAR(Canada, p = 2, type = "const") 
predict(var.2c, n.ahead = 8, ci = 0.95)

Однако, пример 'Canada' в руководстве vars имеет такой формат:

enter image description here

Я пытаюсь напрямую использовать свой тиббл в функции, но она не удалась. Кажется, что модель не работает, если я напрямую использую tibble в пакете vars. Я также попробовал метод из Как преобразовать фрейм данных во временные ряды? , который все еще не работает. Итак, мой вопрос: как преобразовать tibble в формат, который можно использовать в пакете vars?

1 Ответ

1 голос
/ 01 марта 2020

Я думаю, что формат данных, который вам нужен:

library(vars)
#convert to dataframe
g  <- data.frame(g)
#Assign date as row names
rownames(g) <- g$Date
#Remove Date column
g$Date <- NULL
#Convert to time-series
g <- ts(g)
var.2c <- VAR(g)
predict(var.2c)

Возможно, вам придется настроить некоторые параметры в функции VAR и predict, чтобы получить нужные числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...