Множественные временные ряды в тиббле длинного формата
Я хочу запустить модели временных рядов, чтобы прогнозировать на шаг вперед, используя fable
пакет. Насколько я понимаю, мне нужны мои данные вtsibble
формат. Вот что я пытаюсь сделать,
- Создайте три идентификатора
- Отметки времени для этих трех идентификаторов
- Три случайные серии
- Присоединяйтесь ко всему как
tsibble
- Прогноз на месяц вперед
Итак, я хочу сделать tsibble
первый. Для этого я пытаюсь создать, используя следующие строки:
ts <- tsibble(
ids = c(rep(43, 20), rep(33, 20), rep(11, 20)),
timest = rep(yearmonth("2010 Jan") + 0:19, each = 3),
data = rnorm(60, mean = 10, sd = 5),
key = ids
)
Используя этот тсиббл, я хочу запустить следующие модели,
fit <- ts %>%
model(
arima = ARIMA(data)
)
fit
fc <- fit %>%
forecast(h = "1 month")
fc
Однако у меня возникла проблема с созданием tsibble
. Я знаю, что у меня не может быть дубликатов, но я указываюkey = ids
должен решить проблему. Кто-нибудь может помочь мне найти ошибку, которую я делаю?
1 ответ
Вы почти у цели. Вместо тогоtimest = rep(yearmonth("2010 Jan") + 0:19, each = 3)
тебе нужно timest = rep(yearmonth("2010 Jan") + 0:19, times = 3)
Время не соответствовало идентификаторам. каждый повторяет "2010 jan" 3 раза подряд вместо всего ввода, повторяемого 3 раза. Смотрите подробности с помощью представителя?rep
library(tsibble)
ts <- tsibble(
ids = c(rep(43, 20), rep(33, 20), rep(11, 20)),
timest = rep(yearmonth("2010 Jan") + 0:19, times = 3),
data = rnorm(60, mean = 10, sd = 5),
key = ids,
index = timest
)