Прежде чем перейти к рассмотрению модели ARIMA, познакомимся сначала с двумя другими моделями: скользящего среднего и моделью авторегрессии.
Модель скользящего среднего MA()
Модель скользящего среднего порядка или просто MA() предполагает следующую зависимость даннных:
где — стационарный ряд со средним , а — гауссовский белый шум, то есть и независимы.
По сути наш ряд выражается через сумму некоторого фиксированного среднего , значения белого шума в текущий момент времени и не более предыдущих значений белого шума, домноженных на некоторые коэффициенты, которые являются параметрами модели.
Рассмотрим некоторые свойства модели MA(). Как уже было упомянуто выше, ряд будет являтьcя стационарным со средним . Найдем также . Воспользовавшись свойством независимости для , можем заключить, что
Посчитаем автоковариационную функцию для ряда , то есть найдем значение . Легко понять, что если , то = 0, т.к. независимы. Если же , то тогда
Записав более компактно, можем получить:
где . Из посчитанных значений для дисперсии и ковариационной функции, можете попробовать получить выражение и для автокорреляционной функции. Ее особенностью будет как раз равенство нулю на лаге, превосходящим .
Посмотрим на визуализацию:
Модель авторегрессии AR()
Модель авторегрессии для временного ряда можно записать следующим образом:
где — стационарный ряд, а — гауссовский белый шум, то есть и независимы. Отметим, что, вообще говоря, для стационарности нужны некоторые условия на коэффициенты .
По сути наш ряд выражается через сумму некоторого фиксированного числа , значения белого шума в текущий момент времени и не более предыдущих значений этого же ряда, домноженных на некоторые коэффициенты, которые являются параметрами модели.
Другими словами, модель AR() — это модель для которой
- Таргет: — значение ряда в момент времени
- Признаки: — значения ряда в предыдущие моменты времени
Введем — оператор сдвига, обладающий следующими свойствами:
- применение к ряду дает предыдущее значение этого же ряда:
- применение к белому шуму дает предыдущее значение шума:
- применение к константе — это константа:
Оператор иногда называют также лаговым оператором. Можно рассматривать функции от оператора сдвига, например, кратное применение оператора : или . Для записей некоторых моделей временных рядов будет удобно использовать лаговый многочлен:
Обратным к оператору называют оператор такой, что:
Так, например, для можно заключить, что:
Рассмотрим модель AR():
С помощью оператора сдвига ее можно представить в следующем виде:
где — характеристический полином.
Сформулируем пару важных утверждений:
- Любой стационарный (в широком смысле) процесс представим в виде , то есть в виде модели скользящего среднего с неограниченным количеством слагаемых (конечное или бесконечное число). Этот результат так же известен как теорема Волда о декомпозиции временного ряда.
- Модель задает стационарный временной ряд все комплексные корни лежат вне единичного круга.
Приведем пояснение второго утверждения. В самом деле, пусть — все его комплексные корни (их ровно с учетом кратности), тогда справедливо представление:
Тогда при представлении временного ряда в виде
и дальнейшего его разложения на простые дроби возникнут слагаемые вида
Если при этом лежит внутри единичного круга или на его границе, то соответствующий ряд будет расходящимся. На самом деле, случай мы в дальнейшем учтем.
В качестве примера рассмотрим подробнее модель .
Зависимость имеет вид , где . Для данного ряда можно выписать следующие свойства:
- Уравнение , имеет корень .
- Тем самым, стационарен . Кроме того, чем меньше , тем предыдущее значение ряда вносит меньший вклад в текущее значение.
- Если ряд стационарен, то:
- .
Разберем первое равенство, остальные получаются аналогично. Возьмем математическое ожидание в уравнении ряда
Поскольку ряд стационарен, то его математическое ожидание не меняется во времени, а для белого шума математическое ожидание равно нулю. Тем самым мы получаем уравнение на , откуда следует доказываемая формула.
Таким образом, в зависимости от значения мы можем получить следующие результаты:
- Если , то — представление ряда в виде MA().
- Если , то — это случайное блуждание.
- Если , то — экспоненциально растущий процесс.
Посмотрим на визуализацию.
-
В первом случае мы имеем модель , отрицательный коэффициент является следствием больших колебаний ряда.
-
Во втором случае модель , большой положительный коэффициент делает ряд менее шумным.
-
В третьем случае показано несколько рядов вида случайного блуждания , что соответствует случаю .
-
В четвертом случае показан экспоненциальный процесс , на графике шум уже не заметен из-за масштаба.
На немного вернемся к модели MA(). Чуть выше мы выяснили, что при некоторых условиях на коэффиценты временной ряд модели AR() будет стационарным, а значит имеет представление в виде MA(). На самом деле, модель скользящего среднего порядка тоже можно представить с помощью оператора следующим образом:
где — характеристический многочлен. Для простоты изложения пусть . Важным при такой записи оказывается понятие обратимости, то есть представления в виде
которое означает, что ряд можно представить в виде бесконечной авторегрессионной модели.
Здесь, как и в рассуждениях выше, можно заключить, что временной ряд обратим, если все комплексные корни лежат вне единичного круга.
Модель ARMA()
Модель ARMA() по сути является суммой моделей и , иначе говоря, модель есть сумма нескольких предыдущих значений ряда и нескольких предыдущих значений белого шума с некоторым коэффициентами.
Эквивалентную запись ряда в терминах оператора сдвига можно получить, рассмотрев два многочлена
или
где и .
Заметим, что во втором представлении константа заменена на . На самом деле, стационарность такого ряда будет определяться только его AR() компонентой, то есть значениями коэффициентов , так ряд в модели MA() всегда является стационарным.
Модель ARIMA()
Модель ARIMA() — это расширение моделей типа ARMA на нестационарные временные ряды, которые однако могут стать стационарным после применениея процедуры дифференцирования ряда. Модель ARIMA() для ряда определяется как модель ARMA() для ряда разностей порядка ряда .
- Разность порядка 1: .
- Разность порядка 2: .
Получаем формулу модели ARIMA:
или
То есть многочлен имеет единичных корней.
Тем самым такая модель позволяет учесть нестационарности, в частности, тренд.
В качестве примера рассмотрим процесс случайного блуждания:
где — белый шум. Как уже упомяналось ранее, такой ряд не является стационарным. Однако, если мы применим операцию дифференцирования, то можем перейти к новому, уже стационарном ряду , который можно записать в виде:
Частичная автокорреляция
Для модели скользящего среднего порядка мы выяснили, что значения автокорреляционной функции для такого ряда оказывается равной нулю после лага . Эта особенность позволяет использовать автокорреляционную функцию для определения порядка модели скользящего среднего. Возникает разумный вопрос, как оценить порядок для модели AR()? Здесь оказывается полезным понятие частичной (частной) автокорреляционной функции.
Частичная автокорреляция (PACF) — корреляция ряда с собой после снятия линеной зависимости от промежуточных значений ряда. Иначе говоря, мы хотим как-то учесть опосредованного влияние промежуточных значений ряда и оценить непосредственное влияние на . Чуть более формально частичную автокорреляцию можно записать следующим образом:
где — линейная регрессия на :
Пример для :
где — МНК-оценка в модели .
Можно показать, что значение частиной автокорреляции для модели авторегресии AR() будет ненулевой для лагов и равняться нулю для лагов . Имеет место быть полная аналогия с автокорреляционной функцией и моделью MA(). Таким образом, исследование поведения автокорреляционной и частичной автокорреляционной функции может быть использовано для определения порядка модели скользящего среднего и порядка модели авторегрессии соответсвтенно.
Оценка коэффициентов в ARIMA
Пусть гиперпараметры фиксированы. В предположении, что — гауссовский белый шум, в нашей модели мы можем выписать функцию правдоподобия где $ p_{\theta, \varphi, \alpha}(a_1, ..., a_T)$ — соместная плотность. Из-за того, что имеют нормальное распределение, она будет иметь разумный вид. Соответственно, в качестве оценок параметров берется оценка максимального правдоподобия.
Для поиска начальных приближение для параметров и воспользуемся автокорреляционной и частичной автокорреляционной функцией.
- Начальное приближение : последний значимый пик у PACF.
- Начальное приближение : последний значимый пик у ACF.
Далее обычно используется поиск по сетке вокруг подобранных значений, минимизируя информационный критерий:
- — критерий Акаике;
- — критерий Акаике (короткие ряды);
- — Байесовский информационный критерий или критерий Шварца,
где — логарифм функции правдоподобия, — длина временного ряда.
Приведем некоторый план при применению модели ARIMA для прогнозирования временных рядов.
-
Анализ выбросов: замена нерелевантых выбросов на
NA
или усреднение по соседним элементам. -
Стабилизация дисперсии (преобразования).
-
Дифференцирование, если ряд не стационарен.
-
Выбор пилотных и по PACF и ACF.
-
Вокруг этих параметров подбираем оптим. модель по /.
-
Пошаговое построение прогноза:
— для : ;
— для : ;
— для : . -
Построение предсказательного интервала:
— если остатки модели нормальны и гомоскедастичны (дисперсия постоянна), то строится теоретический предсказательный интервал
где — горизонт прогнозирования, — оценка на дисперсию шума , — коэф. для ряда при его представлении в виде бесконечного процесса скользящего среднего. И , и могут быть выражены через оценки на параметры и .
— иначе интервалы строятся с помощью бутстрепа.
Модели SARIMA и ARIMAX
Рассмотрим некоторые расширение модели ARIMA. Обобщение модели ARIMA на ряды с наличием сезонной составляющей назвается SARIMA. Пусть — известная сезонность ряда. Добавим в модель ARIMA() компоненты, отвечающие за значения в предыдущие сезоны. Тогда модель SARIMA может быть записана следующим образом:
где
Параметр сезонного дифференцирования , а также параметры подбираются из тех же соображений, что и для , но только с поправкой, что делается это с учетом сезонности . ARIMAX — обобщение модели ARIMA, которая учитывает некоторые экзогенные факторы. Пусть — ряд регрессоров, известный до начала прогноза.
Простой вариант:
Общий случай:
Пример:
Вышеукзанные модели можно объединить и получить SARIMAX $(p, d, q)\times (P, D, Q)_s $:
Проведем аналогию с линейной регрессией. Это линейная по признакам модель, в которой
- Отклик: — значение ряда в моменты времени
- Признаки:
- — значения ряда в предыдущие моменты времени
- Значение ряда за предыдущие сезоны
- Значения признаков в предыдущие моменты времени
- Значения признаков в предыдущие сезоны
- Ошибка: сумма шума за предыдущие моменты времени и предыдущие сезоны.