Ряд превращается в табличную задачу: лаги, скользящие статистики, календарь — и дальше градиентный бустинг.
Ключевые тезисы
- Побеждает в большинстве соревнований по прогнозированию.
- Легко подключает внешние факторы и иерархию рядов.
- Требует строгой хронологической валидации, чтобы не заглянуть в будущее.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Превращаем ряд в таблицу
Лаги, окна, календарь — и дальше обычный бустинг.
df["lag_1"] = df.groupby("sku")["sales"].shift(1)
df["lag_7"] = df.groupby("sku")["sales"].shift(7)
df["roll_7"] = df.groupby("sku")["sales"].shift(1).rolling(7).mean()
df["dow"] = df.date.dt.dayofweek
df["is_holiday"] = df.date.isin(holidays)- Горизонт прогноза определяет минимальный доступный лаг: если предсказываем на 7 дней вперёд, лаг 1 недоступен.
- Валидация только хронологическая, с теми же разрывами, что и в проде.
- Такой подход естественно работает с сотнями рядов сразу и с внешними факторами.
2Иерархические ряды
Когда прогнозы должны согласовываться между уровнями.
Прогноз по товару, по категории и по всей сети должны сходиться: сумма частей обязана равняться целому. Если прогнозировать уровни независимо, они разойдутся.
- Bottom-up: прогнозируем нижний уровень и суммируем — просто, но шумно на верхнем уровне.
- Top-down: прогнозируем агрегат и распределяем по долям — устойчиво, но теряет специфику товаров.
- Reconciliation (MinT): статистически оптимальное согласование всех уровней сразу.
Связанные темы
Прогноз спроса · Прогнозирование рядов
Hierarchical Forecasting85%
Иерархические прогнозы · Временные рядыПрогнозы по товару, категории и сети должны согласовываться: сумма частей обязана равняться целому.
Intermittent Demand85%
Прерывистый спрос · Временные рядыРяды, где большая часть значений — нули: запчасти, редкие товары, аварийные события. Обычные метрики и модели здесь не работают.
MAPE85%
Средняя абсолютная процентная ошибка · МетрикиОтносительная ошибка в процентах — удобна для сравнения рядов разного масштаба.
SMAPE85%
Симметричная MAPE · МетрикиВариант MAPE с нормировкой на сумму факта и прогноза — частично лечит асимметрию.
Poisson Distribution85%
Распределение Пуассона · Теория вероятностей и распределенияЧисло редких независимых событий за фиксированный интервал: заказы за час, отказы за сутки, клики за сессию.
Stationarity85%
Стационарность · Временные рядыПостоянство статистических свойств ряда во времени — предпосылка большинства классических моделей.
Autocorrelation85%
Автокорреляция · Временные рядыСвязь ряда с собственными прошлыми значениями — главный источник признаков и диагностики.
AR / MA / ARIMA85%
AR / MA / ARIMA · Временные рядыКлассическое семейство: авторегрессия, скользящее среднее ошибок и их комбинация с дифференцированием.
SARIMA85%
SARIMA · Временные рядыARIMA с явными сезонными компонентами — для рядов с недельной, месячной или годовой периодикой.
Exponential Smoothing85%
Экспоненциальное сглаживание · Временные рядыВзвешивание прошлых наблюдений с экспоненциально убывающими весами; модель Хольта — Винтерса добавляет тренд и сезонность.
Prophet85%
Prophet · Временные рядыАддитивная модель тренда, сезонностей и праздников с упором на удобство для аналитика.
RNN/LSTM85%
RNN/LSTM для рядов · Временные рядыНейросети, обучаемые сразу на множестве связанных рядов, улавливают общие паттерны.
Transformer forecasting85%
Трансформеры для прогноза · Временные рядыВнимание над длинными горизонтами: Informer, Autoformer, PatchTST, TFT.