УДК 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 +

 

где