УДК 004
Использование Python для построения модели Sarima временного ряда
Мартынов Даниил Алексеевич – выпускник Национального исследовательского ядерного университета «МИФИ»
Петровская Анастасия Викторовна – старший преподаватель кафедры кибернетики Национального исследовательского ядерного университета «МИФИ»
Аннотация: В данной работе планируется рассмотреть процесс построения модели сезонного авторегрессионного скользящего среднего, используя языка программирования – Python. Данная модель также носит название SARIMA (Seasonal autoregressive integrated moving average). SARIMA используется для прогнозирования и моделирования нестационарных временных рядов с ярко выраженной сезонной компонентой.
Ключевые слова: SARIMA, Python, временной ряд.
Математическая формулировка построения модели SARIMA
Временной ряд – это последовательность упорядоченных во времени числовых показателей, характеризующих уровень состояния и изменения изучаемого явления [1]. Целью прогнозирования временных рядов является прогнозирование будущих показателей изучаемой величины на основании данных из прошлого. На сегодняшний день выделено большое количество различных моделей прогнозирования. Примерами могут служить: Авторегрессионные модели прогнозирования; Модели скользящего среднего; Нейросетевые модели; Модели экспоненциального сглаживания; Модели, построенные на цепях Маркова. Рассматриваемая в рамках данной работы модель (SARIMA) построена на основе авторегресионных моделей и моделей скользящего среднего. SARIMA используется при работе с нестационарными рядами. Нестационарным временным рядом называется такой временной ряд, у которого хотя бы одна из его вероятностных характеристик является непостоянной.
AR(p) модель
Авторегрессионной моделью называют такую модель временного ряда, в которой его текущее значение линейно зависит от значений за предыдущие моменты времени t-1, t-2, … t-p этого же ряда. Под линейностью в данном случае подразумевается, что текущее значение эквивалентно взвешенной сумме нескольких предыдущих значений временного ряда [2]:
yt =φ1yt−1 +φ2yt−2 +···+φpyt−p +
где