Нейросеть для временных рядов
Вопрос
Нужно прогнозировать нагрузку на серверы по минутам. Стоит ли брать LSTM или трансформер? Как бы вы подошли?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Сначала сильные бейзлайны: сезонная наивная модель, бустинг на лагах и календаре
Нейросети оправданы при множестве связанных рядов и сложных паттернах
Варианты: LSTM, TCN, трансформеры для рядов, предобученные модели рядов
Корректная валидация по времени, без утечек в нормализации
Квантильный прогноз и мониторинг дрейфа
Что могут спросить следом
- Как нормализовать ряды разного масштаба?
- Когда бустинг выигрывает у нейросети на рядах?
Разбор
Сначала строю бейзлайны: значение неделю или сутки назад и градиентный бустинг на лагах, скользящих статистиках и календарных признаках. На практике бустинг часто оказывается очень сильным, и нейросеть должна его обойти. Нейросети оправданы, когда рядов много и они связаны, паттерны сложные, а данных достаточно: тогда пробую LSTM или GRU по окну истории, временные свёрточные сети (TCN) или трансформеры для рядов с патчами, а также предобученные foundation-модели временных рядов как zero-shot бейзлайн. Валидация строго по времени, нормализацию считаю только по истории (часто на окно), чтобы не подсмотреть будущее. Для планирования мощностей важны квантили, поэтому учу квантильную потерю, а не только среднее. В проде слежу за дрейфом: релизы и маркетинговые акции меняют нагрузку.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.