предсказание в басне ARIMA взрывается

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

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’))Но он дает ту же ошибку во время использования функции прогноз ().

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

1 ответ

Решение

Во-первых, вам нужно создать переменные перед моделированием. Итак, добавьте факторную версию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)
Другие вопросы по тегам