Прогнозирование в басне ARIMA взрыва - PullRequest
1 голос
/ 07 апреля 2020

Я пытаюсь соответствовать модели ARIMA (пакет басен), где я включаю манекены. Вот код, который я использую

mod_region <- aggregated_region %>% 
  filter(SETTLEMENTDATE < '2020-02-11') %>% 
  model( 
    arima = ARIMA(sum ~ as.factor(Day))
  )
fc_region <- mod_region %>% 
  forecast(h='7 days’)

Это выдает эту ошибку:

«Ошибка: объект« День »не найден» Невозможно вычислить требуемые переменные из предоставленного new_data. Требуется ли вашей модели дополнительные переменные для составления прогнозов? »

Я пытался посмотреть в Google, но ничего не смог понять.

Раньше я думал, что, может быть, он создает 7 манекенов, и поэтому код взрывается, а затем я тестировал, используя arima = ARIMA(sum ~ I(Day == ’Sunday’)) Но он выдает ту же ошибку во время использования функцииcast ().

Знаете ли вы, почему это может происходить?

1 Ответ

0 голосов
/ 11 апреля 2020

Во-первых, вам нужно создать переменные перед моделированием. Поэтому добавьте факторную версию Day перед вызовом функции модели.

Во-вторых, вам нужны все переменные в tsibble, а не отдельные объекты в соответствии с комментариями.

Следующий код будет работать с вашими данными.

library(tidyverse)
library(tsibble)
library(fable)
aggregated_region <- readRDS('aggregated_region.rds') %>%
  mutate(Day = as.factor(Day))
train <- aggregated_region %>% 
  filter(Date < '2020-02-11')
test <- aggregated_region %>% 
  filter(Date >= '2020-02-11') 

mod_region <- train %>% 
  model(arima = ARIMA(sum ~ Day)) 
fc_region <- mod_region %>% 
  forecast(new_data = test)
...