Автокорреляционная функция

Временной ряд – зависимые между собой наблюдения. Например, температура воздуха сегодня достаточно сильно зависит от вчерашнего показателя температуры. Эту зависимость хотелось бы описать численно. Для этого часто используют разные виды коэффициентов корреляции, например, корреляции Пирсона, Спирмена и Кендалла. Каждый из этих коэффициентов корреляции вычисляется по двум выборкам, корреляцию между которыми требуется посчитать. В данном случае мы имеем один временной ряд, и наша задача – оценить корреляцию между разными наблюдениями ряда, считая, что она не меняется со временем.

В качестве оценки корреляции значений и для любых рассмотрим коэффициент корреляции Пирсона ряда с самим собой со сдвигом на . Тем самым мы получим численную оценку степени влияния значения на значение :

где – лаг автокорреляции, а среднее вычисляется по всему ряду . Например, если мы хотим оценить степень влияния сегодняшней температуры на завтрашнюю, то посчитаем коэффициент корреляции исходного ряда и им же, сдвинутым на 1 день.

Замечание. Формула содержит некоторые упрощения при оценке ковариации и дисперсий.

Свойства коэффициента корреляции:

  • ;
  • – отсутствие автокорреляции, при этом значения могут быть зависимыми (см. подробнее про разницу между независимостью и некоррелированностью);
  • – положительная корреляция, то есть чем больше было значение вчера, тем оно будет больше сегодня;
  • – отрицательная корреляция, то есть чем больше было значение вчера, тем оно будет меньше сегодня;
  • означает строгую линейную зависимость.

Посмотреть простые примеры и потренировать свою интуицию вы можете в игре Guess The Correlation.

Пусть мы посчитали значение автокорреляции. А как понять, значение 0.1 – это много или мало? На этот вопрос может ответить статистический критерий Льюнга-Бокса (Ljung–Box), который проверяет значимость отклонения от нуля. Основное правило, которое нужно здесь понять – если значение p-value критерия не превосходит (или другого заранее фиксированного порога значимости), то автокорреляция с лагом значима. Это число вычисляется с помощью стандартных статистических пакетов (например, statsmodels в Питоне).

Рассмотрим временной ряд дорожно-транспортных происшествий за 14 лет с дискретностью 1 месяц, то есть с 12 измерениями в год. На графике мы видим явную сезонность. На нижнем графике изображена коррелограмма – график, визуализирующий автокорреляционную функцию. Точками на графике показаны значения автокорреляционной функции. Ее значение в нуле всегда равно 1, так как это автокорреляция ряда с собой же. Также мы видим, что значение является локальным максимумом, что означает высокую положительную корреляцию значения ряда за текущий месяц с аналогичным значением год назад. Иными словами, ряд со сдвигом на год ведёт себя «похожим образом», и это подкрепляет наше наблюдение про наличие годичной сезонности. Наоборот, значение минимально в своей окрестност и, что означает высокую отрицательную корреляцию значения ряда со значением полгода назад. Закрашенная область визуализирует границу незначимой автокорреляции, то есть тех значений автокорреляции, для которых не выявлена статистически значимое отличие от 0 (иначе говоря, доверительный интервал пересекает 0). Так мы видим, что последняя значимая сезонная автокорреляция это – это . Кроме нее также значима сезонная корреляция и корреляция за половину сезона . Из несезонных автокорреляций значимы оказались и . Отсюда можно сделать вывод, что для построения прогноза значения имеет смысл рассматривать признаки .

ex

ex

Рассмотрим временной ряд потребления электричества в Австралии с дискретностью 30 минут. По графику мы можем заметить две разных сезонности – суточную и недельную. Кроме того, при наличии большего количества данных мы смогли бы увидеть еще и годовую сезонность. На данном графике видно повышенное потребление электричества в январе-феврале, когда в Австралии жарко и работает много кондиционеров. По графику автокорреляций мы видим, что наибольшую корреляцию имеют соседние измерения, а также значения сутки назад, двое суток назад, и т.д. Наоборот, значения 12, 36, ... часов назад имеют отрицательную корреляцию.

ex

ex

Стационарные временные ряды

Временной ряд называется стационарным

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

Пример. Рассмотрим временной ряд , где и независимы и одинаково распределены, причем .

Можем заметить, что и . Тем самым имеем стационарность в широком смысле.

Но при получаем , а при получаем

Мы получили разные распределения, поэтому нет стационарности в узком смысле.

Некоторые примеры нестационарных временных рядов:

  • Случайное блуждание – пример: , где – белый шум, то есть независимые одинаково распределенные случайные величины. Математическое ожидание постоянно, но ряд не является стационарным, поскольку бесконечно растет.
  • Временной ряд с трендом – пример: , где – белый шум. Ряд не стационарен, так как меняется с течением времени.
  • Временной ряд с сезонностью – пример: , где – белый шум. Не стационарен, так как

Стационарный ряд визуально не имеет предсказуемых закономерностей. Если посмотреть на график такого ряда издалека, то он будет горизонтален.

Ряд можно проверить строго на станционарность с помощью различных статистических критериев. Наиболее популярны следующие критерии:

  • критерий KPSS (Kwiatkowski–Phillips–Schmidt–Shin): если p-value , то отвергаем стационарность;
  • критерий Дики-Фуллера: если p-value , то отвергаем \textbf{НЕ}стационарность.

Рассмотрим несколько примеров временных рядов:

  • ряды а, c, d, e, f, i не стационарны, поскольку они имеют тренд;
  • ряд b скорее всего стационарный, имеется выброс;
  • ряды d, g, h, i не стационарны, потому что имеют сезонность.

stationary

Когда вы определяете, чем вызвано изменение данных – трендом или шумом – стоит учитывать природу данных. Например, колебания значений ряда f теоретически можно было бы объяснить шумом в данных, но по временной оси мы видим, что данные представлены за 15 лет, соответственно, понимаем данные колебания как изменения тренда. Аналогично, для ряда d мы говорим о наличии меняющегося тренда помимо годовой сезонности.

Приведение к стационарным: стабилизация дисперсии

Зачем?

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

Преобразования:

  • Класс преобразований Бокса-Кокса с параметром :

  • Если есть предположения о зависимости от , то можно рассмотреть ряд .

После построения прогноза для преобразованного ряда нужно сделать обратное преобразование.

Приведение к стационарным: тренд и сезонность

Преобразования:

  • Дифференцирование ряда, то есть переход к ряду , где . Данное преобразование используется для снятие тренда.
  • Сезонное дифференцирование ряда, то есть переход к ряду , где , – длина сезона.

Преобразования можно применять несколько раз. Обычно сначала применяют сезонное дифференцирование.

Посмотрим на пример. В критерии KPSS для исходного ряда , то есть ряд можно считать нестационарным. После логарифмирования ряда , а после ещё и сезонного дифференцированная , тем самым полученный ряд мы уже не можем отличить от стационарного.

ex

Модели вида экспоненциального сглаживания

Простое экспоненциальное сглаживание

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

Пусть имеется временной ряд . В результате экспоненциального сглаживания получается новый временной ряд по правилу

где – прогноз значения в момент времени , а параметр сглаживания.

Смысл преобразования следующий – сглаженное значение в момент времени есть взвешенная комбинация предыдущего значения ряда и предыдущего сглаженного значения ряда .

Свойства:

  • при больший вес последнему значению ряда, поэтому получается слабое сглаживание ;
  • при больший вес отдается предыдущему сглаженному значению, и получается сильное сглаживание, что в пределе вырождается в среднее ;
  • Оптимальное значение можно подобрать либо по графику, либо оптимизируя

Существуют следующие эмпирические правила:

  • если то ряд стационарен, можно применять экспоненциальное сглаживание без риска большой потери информации;
  • если то ряд нестационарен, применение экспоненциального сглаживания может привести к потере информации или смещению.

Примеры: на каждом из графиков изображен исходный ряд (синий) и сглаженный ряд (оранжевый) для разных значений параметра сглаживания. Если имеется тренд или сезонность, то при большом сглаживании полученный ряд начинает «запаздывать» за исходным рядом.

es001

es01

Откуда взялась эта формула экспоненциального сглаживания?

Покажем, что сглаженное значение соответствует прогнозу величины в момент времени , подбираемому по правилу

Иначе говоря, для прогнозирования мы берем взвешенный MSE с экспоненциально убывающими по времени весами.

Приравняем производную к нулю:

Отсюда выразим и воспользуемся разложением функции в ряд Тейлора

Тем самым мы получили модель экспоненциального сглаживания для .

Модель Хольта

Аддитивный линейный тренд:

Прогноз на шагов вперед выражается с помощью линейной функции от числа шагов, где коэффициенты меняются по формулам, аналогичным экспоненциальному сглаживанию

Модель для мультипликативного линейного тренда выглядит аналогично

Модель Хольта: пояснение формул

Поясним на примере аддитивного тренда, почему формулы для и получаются именно такими.

Заметим, что для и и момента времени получаем , . Хотелось бы, чтобы эти прогнозы примерно совпадали, то есть чтобы имело место .

  • Рассмотрим ряд разностей и задачу константного прогноза для него (то есть ) методом простого экспоненциального сглаживания

Ее решение мы уже получили ранее:

Получилась формулу для в модели аддитивного тренда.

  • Далее, мы хотим, чтобы имело место . Рассматривая для экспоненциальное сглаживание, в котором в качестве предыдущего значения сглаженного ряда берется , а в качестве нового – , получаем

Модель Хольта-Уинтерса

Аддитивная сезонность с трендом:

где – длина сезона

Мультипликативная сезонность

Без тренда

С линейным трендом

Разные модели с трендом и сезонностью

trends

Адаптивное сглаживание

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

Пусть – прогноз значения в момент времени обычным экспоненциальным сглаживанием, а – ошибка прогноза, сделанного на шаге .

Определим следующие значения

  • Среднее значение ошибки:

  • Средний разброс ошибки:

  • – статистика, которая сигнализирует, насколько адекватно модель работает в момент времени .
    • – модель систематически ошибается в одну сторону.
    • – модель работает адекватно.

Обычно берут значения .
Чтобы экспоненциальное сглаживание быстро приспосабливалось к резким структурным изменениям берут .

Однако, у данного подхода есть и недостатки, например,

  • плохо реагирует на одиночные выбросы;
  • требует подбора .

adaptive

Отмечайте параграфы как прочитанные чтобы видеть свой прогресс обучения

Вступайте в сообщество хендбука

Здесь можно найти единомышленников, экспертов и просто интересных собеседников. А ещё — получить помощь или поделиться знаниями.
Вступить
Сообщить об ошибке
Предыдущий параграф10.2. Временные ряды
Следующий параграф10.4. Модели вида ARIMA