Расскажите про опыт работы с временными рядами и используемые модели
Что проверяют
Отличаете ли вы задачу с временем от обычной регрессии. Главный признак уровня в ответе: понимаете ли вы, что такие данные нельзя перемешивать, и можете ли назвать бейзлайн, с которым сравнивали модель.
Как отвечать
Разложите на этапы:
- разведка: тренд, сезонность (часто несколько периодов сразу), выбросы, пропуски, календарь праздников. Стационарность проверяют тестами, например расширенным тестом Дики-Фуллера, и лечат разностями или логарифмом;
- признаки: лаги, скользящие статистики, календарные признаки. Всё считается только по прошлому относительно точки прогноза;
- модели. Сезонно-наивный прогноз как бейзлайн, дальше
ETSи Holt-Winters,ARIMAиSARIMA,SARIMAXпри внешних регрессорах,Prophetдля рядов с праздниками и пропусками, градиентный бустинг на лаговых признаках, когда рядов много, рекуррентные сети только при действительно больших данных; - валидация только вперёд: скользящее или расширяющееся окно, разбиение по дате, горизонт совпадает с прикладным;
- метрики: MAE, RMSE, MASE, sMAPE. Выбор объясняйте задачей, а не привычкой.
Скажите, сколько рядов и какой гранулярности были, прогноз точечный или интервальный, и как модель переобучалась в продакшене.
Где спотыкаются
Перемешивают выборку и считают признаки сразу по всей истории. Нормировка или заполнение пропусков средним по всему ряду заносит будущее в обучение, и офлайн-качество получается красивым, а в бою модель проседает.
Второе: берут MAPE по привычке. На нулях он не определён, на малых значениях взрывается, и метрика начинает описывать несколько ночных часов вместо рабочего дня. MASE и MAE ведут себя предсказуемее.
Третье: не называют бейзлайн. Без сравнения с наивным и сезонно-наивным прогнозом непонятно, есть ли от модели польза, а говорить про «точность прогноза» в долях вообще некорректно: это регрессия, а не классификация, и там другие метрики.