← Вернуться к неделе 13

Временные ряды: тренд, сезонность, сглаживание, прогноз

Симулятор для первого знакомства. Выберите ряд, попробуйте на глаз ответить, есть ли в нём тренд и сезонность, затем проверьте себя кнопками, поиграйте со сглаживанием и разностями и постройте несколько прогнозов.

Ряд

Показать
Сглаживание
Преобразование

Проверьте себя

Автокорреляция (ACF)

Прогноз

Метод

Шпаргалка

Что такое временной ряд

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

Тренд

Долгосрочное направление: ряд в целом растёт, падает или стоит на месте. Тренд удобно увидеть, если «размазать» ряд скользящим средним с окном в один сезон (12 месяцев): сезонные колебания взаимно гасятся, остаётся плавная линия. Осторожно: случайное блуждание (например, курс акции) выглядит как ряд с трендом, но направление у него случайное и может смениться в любой момент.

Сезонность

Повторяющийся рисунок с фиксированным периодом: каждый год пик летом, каждую неделю спад в воскресенье. Чтобы её увидеть, вычитаем тренд и усредняем остаток по «месяцу года» — получается сезонный профиль. На графике автокорреляции сезонность видна как высокий столбик на лаге, равном периоду (12).

Стационарность и разности

Ряд стационарен, если его поведение не меняется во времени: среднее одно и то же, разброс один и тот же, нет ни тренда, ни сезонности. Большинству моделей прогноза нужен именно такой ряд. Тренд убирают разностью Δyt = yt − yt−1 (вместо уровня смотрим на прирост), сезонность — сезонной разностью yt − yt−12 (сравниваем с тем же месяцем год назад). Буква d в ARIMA — это сколько раз взяли разность.

Сглаживание

Скользящее среднее заменяет каждую точку средним по окну соседей: маленькое окно (3) убирает только мелкую дрожь, большое (12) убирает и сезонность, оставляя тренд, но сильнее запаздывает. Экспоненциальное сглаживание считает взвешенное среднее всех прошлых точек, где веса убывают как α, α(1−α), α(1−α)²…: при большом α линия почти повторяет ряд, при маленьком — сильно сглажена. Сглаживание не предсказывает будущее само по себе, но показывает «чистый сигнал» без шума.

Прогноз и ARIMA

Простые методы — это точки отсчёта, с которыми стоит сравнивать любую модель: наивный повторяет последнее значение, сезонный наивный — значение год назад, среднее — среднее всего ряда. ARIMA(p, d, q) устроена из трёх кусков: d раз берём разность, чтобы ряд стал стационарным; AR(p) — следующее значение зависит от p предыдущих; MA(q) — и от q последних ошибок модели. ARIMA(0,1,0) — это ровно наивный прогноз, ARIMA(1,0,0) — «завтра похоже на сегодня, но тянется к среднему». Голубая полоса на графике — 80 % возможных сценариев: чем дальше горизонт, тем она шире, и это честно: далёкое будущее мы знаем хуже.

Как проверять прогноз

Модель нельзя оценивать на тех же данных, на которых её обучили. Прячем последние 12 точек, строим прогноз по остальным и сравниваем с тем, что было на самом деле. Средняя абсолютная ошибка (MAE) — на сколько единиц в среднем мы промахнулись. Если сложная модель не бьёт наивный прогноз — она не нужна.