Автокорреляция: сегодня похоже на вчера
В регрессии наблюдения независимы: одна строка ничего не знает о соседней. В ряду это не так — сегодняшняя выручка похожа на вчерашнюю, а воскресная на прошлое воскресенье. Такая связь ряда с самим собой называется автокорреляцией, и у неё две стороны. Плохая: обычная регрессия на таких данных занижает свою ошибку и выдаёт слишком уверенный прогноз. Хорошая: если сегодня зависит от вчера, то по прошлому ряда можно предсказывать будущее — на этом и стоят все модели дальше.
Каждая палочка — корреляция ряда с самим собой, сдвинутым на k дней. Внутри серой полосы значение неотличимо от нуля.
Возьмём ряд и сдвинем его копию на один день. Получатся пары: значение вчера — значение сегодня. Каждая такая пара нарисована точкой на правой панели, а бирюзовые отрезки на левой соединяют дни, из которых пары составлены. Число r под панелью — обычная корреляция из прошлого модуля, посчитанная по этим парам.
Что это значит
Коррелограмма — рабочий инструмент диагностики, а не украшение. Медленное затухание говорит, что ряд надо дифференцировать; пики на кратных лагах называют период сезонности; всё внутри полосы значимости означает, что моделировать нечего.
После построения модели коррелограмму строят повторно — уже по остаткам. Если в них осталась структура, модель забрала не всю закономерность, и её стоит усложнить. Остатки, похожие на чистый шум, — главный признак того, что модель достаточна.
Рядом с ACF обычно смотрят частную автокорреляцию (PACF): она показывает связь на лаге k, из которой вычтено влияние промежуточных дней. По паре ACF и PACF классически подбирают порядки p и q — этим займёмся в уроке про ARIMA.
Где это встречается
Автокорреляция есть почти во всём, что измеряется во времени: температура, загрузка серверов, пробки, посещаемость. Сегодняшнее значение обычно ближе к вчерашнему, чем к среднему по году.
На автокорреляции построена интуиция «завтра будет как сегодня» — простейший прогноз погоды, который трудно превзойти на горизонте в сутки.
Обратный случай — отрицательная автокорреляция: за большим значением систематически идёт малое. Так ведут себя запасы после закупки или отдача после интенсивной тренировки.
Определения
Когда метод врёт (допущения)
Автокорреляция измеряет линейную связь — как и обычная корреляция. Нелинейная зависимость от прошлого (например, всплеск после порога) может дать r около нуля при реальной предсказуемости ряда.
Полоса ±1.96/√n выведена в предположении, что настоящих корреляций нет вовсе. При множестве лагов часть палочек вылезет за неё случайно: это те же множественные сравнения, что и в модуле про гипотезы.
Подробный разбор: математика и механизм (необязательно)
Почему нельзя просто добавить в регрессию признак «вчерашнее значение» и забыть про автокорреляцию: оценка коэффициента при лаге смещена вниз на конечной выборке (смещение порядка 1/n), а если в остатках модели сохранилась своя автокорреляция, оценки перестают быть состоятельными вовсе. Отсюда и отдельный класс моделей вместо приёма «подставим лаг признаком».
Формально ряд, у которого автокорреляция ненулевая только на лаге 1, — это MA(1), а ряд с экспоненциально затухающей ACF — AR(1). Пара «затухает плавно» против «обрывается на лаге q» и есть тот язык, на котором коррелограмма подсказывает структуру модели.