Подгонка модели к высокочастотному таймсерию и прогнозирование на краткосрочную перспективу с помощью fable

У меня есть таймсерии значений с довольно высокой частотой (15 минут). Временной ряд не имеет пропущенных значений и показывает некоторые дневные и еженедельные периодические компоненты.

Я пытаюсь смоделировать это с помощью fable в R, но я не могу найти достойного результата, и мне интересно, что я делаю не так.

Вот мой код с использованием примера набора данных, который можно загрузить:

library(tsibble)
library(fable)
library(dplyr)
library(lubridate)

download.file("https://srv-file7.gofile.io/download/9yo0cg/so_data.csv", destfile = "so_data.csv", method = "wget")
csv = read.csv("so_data.csv") %>%
    mutate(time = ymd_hms(time)) %>%
    as_tsibble(index = time)

# Take a look
csv %>% summary
csv %>% autoplot

Это временной ряд: как видите, он довольно регулярный, с хорошей ежедневной периодичностью. Попробуем смоделировать его, используя настройки по умолчанию для нескольких моделей:

csv %>%
    model(
        ets = ETS(value),
        arima = ARIMA(value),
        snaive = SNAIVE(value)
    ) %>%
    forecast(h = "1 week") %>%
    autoplot(csv)

Все они эффектно проваливаются:

Мое ограниченное понимание этого процесса явно ошибочно, и значения по умолчанию бесполезны в этой ситуации. Как бы я ни пытался их настроить, но, к сожалению, ничего лучше у меня не получилось. В любом случае, поскольку я новичок в этой области, я не понимаю, связано ли это с:

  • я не устанавливаю правильные параметры по умолчанию (я должен глубже погрузиться в fable"s справочник)
  • ограниченные данные, которые у меня есть (короткие временные ряды, всего несколько месяцев)
  • подход не подходит для быстро меняющихся данных (ежедневные и еженедельные повторяющиеся модели)
  • проблемы в моем коде

1 ответ

Решение

Ваши 15-минутные данные о частоте показывают несколько сезонных закономерностей. Эти модели дают прогнозы низкого качества, поскольку они не предназначены для отражения этих закономерностей (и поэтому это не так).

Ваш код выглядит хорошо, и (визуально) данные, кажется, имеют четкие закономерности, которые должна уловить соответствующая модель.

В настоящее время существуют две более сложные модели, которые работают с баснями, которые должны улавливать несколько сезонных закономерностей, чтобы дать вам лучшие прогнозы. Они есть:

Другие вопросы по тегам