Интерактивная статистика
Модуль 8 «Временные ряды и прогноз»
Прогресспройдено 0 / 63

Насколько прогноз хорош: бэктест и метрики

Модель, обученная на всей истории, всегда выглядит убедительно: линия проходит близко к данным. Но качество прогноза измеряется не тем, как модель описала прошлое, а тем, как она справилась с тем, чего не видела. Отсюда бэктест: отрезаем историю в какой-то точке, прогнозируем следующие две недели, сравниваем с фактом, сдвигаем точку и повторяем. Три таких окна на графике переключаются кликом.

обучающая частьокно 1окно 2окно 3средняя ошибка по шагу прогноза, все окнадень 1день 148%
SARIMA: MAPE 4.1% · MAE 5.4сезонно-наивный: MAPE 1.9%по всем окнам: 4.2% против 4.5%

Разрез идёт по времени, а не случайно: при случайном отборе тестовых дней модель училась бы на их соседях — завтра предсказывалось бы послезавтрашним днём.

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

Предскажите

Что покажет метрика, если тестовые дни выбрать вразброс по всему ряду?

Что это значит

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

Отчёт о качестве прогноза стоит писать в трёх числах: метрика, горизонт, ориентир. «MAPE 8% на 14 дней, у сезонно-наивного 11%» — содержательно. «Точность 92%» — нет.

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

Где это встречается

В прогнозе спроса цена ошибки несимметрична: недозаказ означает упущенные продажи, перезаказ — списание. Тогда вместо MAE берут метрику с разными штрафами за знак промаха — и оптимизируют не точку, а квантиль распределения.

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

Прогноз погоды давно публикуется вероятностно: «60% осадков» вместо «будет дождь». Прогнозы метрик двигаются в ту же сторону — интервал полезнее точки.

Определения

Бэктест
проверка прогноза на истории: обучение только на данных до точки отсечения, сравнение прогноза с фактом после неё.
По-простому: проверка прогноза на прошлом, честно — без подглядывания вперёд.
Скользящее начало (rolling origin)
повторение бэктеста с несколькими точками отсечения; даёт распределение ошибки вместо одного числа.
По-простому: повторить проверку в нескольких точках истории.
MAEMAE = (1/n)·Σ|y − ŷ|
средняя абсолютная ошибка в единицах метрики.
По-простому: на сколько в среднем промахиваемся.
RMSERMSE = √((1/n)·Σ(y − ŷ)²)
корень из среднего квадрата ошибки; сильнее наказывает крупные промахи.
По-простому: как MAE, но крупные промахи весят больше.
MAPEMAPE = (100/n)·Σ|y − ŷ| / |y|
средняя ошибка в процентах от факта; не определена при нулевых значениях и несимметрична.
По-простому: ошибка в процентах — но ломается на нулях.
Наивный прогноз
ориентир без модели: «завтра как сегодня» или «как в тот же день неделю назад». Модель, не превзошедшая его, не нужна.
По-простому: простейшее правило, с которым сравнивают модель.

Когда метод врёт (допущения)

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

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

Подробный разбор: математика и механизм (необязательно)

MASE решает обе проблемы MAPE сразу: ошибка модели делится на среднюю ошибку наивного прогноза на обучающей выборке. Единица означает «как наивный», 0,7 — «на 30% лучше наивного». Метрика определена при нулях, симметрична и сравнима между рядами разного масштаба — поэтому она стала стандартом в соревнованиях по прогнозированию.

Для интервальных прогнозов точечные метрики не годятся вовсе: интервал оценивают по покрытию (какая доля фактов попала внутрь 95%-го интервала — должно быть около 95%) и по pinball loss, который штрафует и за промах, и за излишнюю ширину. Модель с идеальной MAE и вечно узкими интервалами опаснее честной модели с широкими.

Дальше →
Такие разборы — в канале

Пишу про аналитику простыми словами: как считать метрики, не наврать в A/B, что спрашивают на собесах и как я собираю этот сайт. Без воды.

Подписаться на канал