Множественные временные ряды в тиббле длинного формата

Я хочу запустить модели временных рядов, чтобы прогнозировать на шаг вперед, используя 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
)
Другие вопросы по тегам