Какие метрики используются для моделей по временным рядам
Что проверяют
Понимаете ли вы, что метрика прогноза выбирается под данные и бизнес, а не по списку, и знаете ли, чем плох MAPE. Следом обычно просят объяснить, как валидировать модель на временном ряду, а иногда написать метрику руками в numpy, например np.mean(np.abs(y-y_hat)).
Как отвечать
Точечные метрики:
- MAE: средний модуль ошибки в единицах ряда, устойчив к выбросам, оптимален для медианного прогноза;
- RMSE: сильнее штрафует большие промахи, оптимален для прогноза среднего. Оба зависят от масштаба, поэтому ряды в разных единицах так не сравнить;
- MAPE: процентная ошибка, понятная бизнесу. Ломается на нулях и значениях около нуля, а завышение прогноза штрафует сильнее занижения;
- WAPE: сумма модулей ошибок, делённая на сумму фактов. Популярен в ритейле, спокойно переносит отдельные нули и позволяет свести крупные и мелкие товары в один отчёт;
- MASE: ошибка модели, делённая на ошибку наивного сезонного прогноза. Значение меньше 1 значит, что модель лучше правила «повтори прошлую неделю»;
- bias: средняя ошибка со знаком. Показывает систематическое завышение или занижение, которого MAE не видит.
Если прогноз вероятностный, добавляют pinball loss по квантилям и покрытие интервалов: попадают ли в 90-процентный интервал примерно 90% фактов.
Валидация только по времени: скользящее или расширяющееся окно, TimeSeriesSplit в sklearn, метрика отдельно для каждого горизонта прогноза. И обязательно сравнение с бейзлайнами: наивным и сезонным наивным.
Где спотыкаются
Проверяют модель случайной кросс-валидацией с перемешиванием. В обучение попадает будущее, и метрика получается лучше, чем будет в проде.
Берут MAPE на спросе с нулевыми продажами. Метрика улетает в бесконечность, или её тихо считают только по ненулевым точкам, выбрасывая самые трудные дни.
Приводят R², AIC и BIC как метрики точности прогноза. AIC и BIC это критерии выбора модели по правдоподобию на обучающих данных, а не измеренная ошибка на отложенном периоде. R² на ряду с сильным трендом бывает высоким даже у бесполезной модели.