Прогнозирование

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья расширена с использованием LLM Gemini 3.5 Flash и проверена участником Vsevolod Peretiatko 23:58, 15 июня 2026 (MSD)


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

В контексте анализа данных прогнозирование чаще всего сводится к анализу временных рядов (англ. time series forecasting). Главное отличие задачи прогнозирования от классической задачи регрессии заключается в нарушении предположения о независимости и одинаковой распределённости наблюдений (i.i.d.): данные в прогнозировании упорядочены во времени и обладают внутренней зависимостью (автокорреляцией). Качественный прогноз требует не просто аппроксимации функции, но и выявления скрытых структурных компонентов ряда: долгосрочных трендов, циклических и сезонных закономерностей, а также адаптации к случайным шокам и структурным сдвигам в данных.

Содержание

Математическая постановка задачи

Пусть задан случайный процесс, наблюдаемый в дискретные моменты времени t = 1, 2, \dots, T. Значение целевой переменной в момент времени t обозначим как y_t \in \mathbb{R}.

Также в каждый момент времени может быть доступен вектор экзогенных (внешних) факторов \mathbf{x}_t \in \mathbb{R}^d, которые влияют на целевую переменную, но сами от неё не зависят (например, метеоусловия для прогноза энергопотребления).

Задача прогнозирования заключается в построении модели (алгоритма) f, которая по известной предыстории длины k предсказывает значения целевой переменной на h шагов вперёд. Величина h \ge 1 называется горизонтом прогнозирования (англ. forecasting horizon).

Точечный прогноз

Для фиксированного момента времени T (настоящее время) точечный прогноз на момент времени T+h вычисляется как: \hat{y}_{T+h} = f(y_T, y_{T-1}, \dots, y_{T-k+1}; \mathbf{x}_{T+h}, \mathbf{x}_{T+h-1}, \dots, \mathbf{x}_{1})

В зависимости от доступности экзогенных факторов на шаге T+h, их значения могут быть либо известны заранее (например, календарные признаки: день недели, праздники), либо сами являться результатами других прогнозных моделей.

Интервальный и вероятностный прогноз

Помимо точечного значения \hat{y}_{T+h}, в современных задачах машинного обучения часто требуется оценить неопределённость.

  • Интервальный прогноз задаёт границы [L_{T+h}, U_{T+h}], в которые истинное значение попадёт с заданной вероятностью 1 - \alpha.
  • Вероятностный прогноз (англ. probabilistic forecasting) строит оценку условной плотности распределения целевой переменной в будущем на основе всей известной информации:

(y_{T+h} \mid y_1, \dots, y_T; \mathbf{x}_1, \dots, \mathbf{x}_{T+h})

Визуализация точечного, интервального и вероятностного прогнозов. Веерный график (Fan Chart) наглядно демонстрирует расширение доверительных интервалов (80% и 95%) по мере увеличения горизонта прогнозирования h.
Визуализация точечного, интервального и вероятностного прогнозов. Веерный график (Fan Chart) наглядно демонстрирует расширение доверительных интервалов (80% и 95%) по мере увеличения горизонта прогнозирования h.

Обучение модели f заключается в минимизации ожидаемого риска (эмпирического функционала качества) на обучающей выборке по заданной функции потерь \mathcal{L}(y, \hat{y}).

Классификация подходов к прогнозированию

Методы прогнозирования временных рядов можно разделить на три парадигмы, каждая из которых эффективна в своём классе задач.

Классические статистические методы

Основаны на предположении о наличии фиксированной математической структуры в ряду (тренд, сезонность, циклы) и стационарности случайного процесса (или возможности свести его к стационарному через разности).

Аддитивная декомпозиция временного ряда (Time Series Decomposition) на долгосрочный тренд, сезонную компоненту и случайный шум (остатки), лежащая в основе классических статистических подходов.
Аддитивная декомпозиция временного ряда (Time Series Decomposition) на долгосрочный тренд, сезонную компоненту и случайный шум (остатки), лежащая в основе классических статистических подходов.

Эти методы эффективны для коротких и единичных временных рядов, обладают высокой интерпретируемостью, но плохо адаптируются к сложным нелинейным зависимостям и большим объёмам внешних данных.

Классическое машинное обучение

Переход от анализа временного ряда к стандартной задаче обучения с учителем осуществляется с помощью метода скользящего окна (англ. sliding window). Непрерывный ряд разбивается на объекты, где признаками (англ. features) выступают прошлые значения ряда (лаги, y_{t-1}, y_{t-2}, \dots), а также агрегированные статистики (скользящее среднее, стандартное отклонение за период).

  • Градиентный бустинг (LightGBM, XGBoost, CatBoost) и Случайный лес (англ. Random Forest): на сегодняшний день являются индустриальным стандартом для табличных данных и прогнозирования регулярных бизнес-метрик (например, продаж товаров).

Они отлично работают с тысячами разнородных рядов одновременно, легко интегрируют экзогенные факторы (цены, промо-акции, погоду) и нелинейные связи, однако требуют ручного конструирования признаков (англ. feature engineering).

Глубокое обучение

Использует специализированные нейросетевые архитектуры для автоматического извлечения временных закономерностей:

  • Рекуррентные нейронные сети (LSTM, GRU): моделируют последовательности за счёт внутреннего состояния (памяти), но могут страдать от затухания градиентов на длинных горизонтах.
  • Временные свёрточные сети (англ. Temporal Convolutional Networks, TCN): применяют причинные (каузальные, англ. causal) свёртки, исключающие заглядывание в будущее.
  • Трансформаторные архитектуры и Foundation-модели (Temporal Fusion Transformer, PatchTST, Chronos): адаптируют механизм внимания (англ. attention) для захвата долгосрочных зависимостей. Они способны обучаться на гигантских разнородных датасетах (англ. cross-series learning) и делать прогнозы для новых рядов «из коробки» (англ. zero-shot forecasting).

Валидация моделей прогнозирования

При валидации моделей прогнозирования категорически запрещено использовать стандартный случайный скользящий контроль (K-fold cross-validation), так как случайное перемешивание данных приводит к утечке данных из будущего (англ. data leakage). Модель обучается на информации, которая в реальных условиях ещё не была бы известна, что приводит к оптимистично заниженной ошибке на валидации и провалу модели на реальных данных.

Схемы блокированного скользящего контроля (Time Series Cross-Validation) с расширяющимся (Expanding) и движущимся (Rolling) окнами. Жёлтым цветом выделен временной зазор (Gap), предотвращающий утечку данных через признаки-лаги.
Схемы блокированного скользящего контроля (Time Series Cross-Validation) с расширяющимся (Expanding) и движущимся (Rolling) окнами. Жёлтым цветом выделен временной зазор (Gap), предотвращающий утечку данных через признаки-лаги.

На практике применяются следующие схемы:

Оценка на отложенной выборке вне периода обучения

  • Out-of-sample (OOS): оценка качества модели на данных, которые не использовались при настройке параметров модели. Ряд разбивается на две хронологические части: прошлое (обучение) и будущее (тест).
  • Out-of-time (OOT): частный и более строгий случай OOS в машинном обучении, когда тестовый набор данных сдвинут относительно обучающего на фиксированный временной интервал или представляет собой принципиально другой временно́й контекст (например, модель обучалась на стабильном периоде, а тестируется во время резкого изменения макроэкономики).

Блокированный скользящий контроль

Для полноценного кросс-валидационного оценивания используют методы, сохраняющие временную структуру (англ. Time Series Cross-Validation).

  • Схема с расширяющимся окном (англ. Expanding Window): на первой итерации модель обучается на блоке длины T_1 и тестируется на h шагах. На следующей итерации тестовый блок включается в обучающую выборку, и модель переобучается на блоке длины T_1 + h.
  • Схема с движущимся окном (англ. Rolling Window): размер обучающей выборки остаётся фиксированным (например, всегда ровно один год данных), а само окно обучения сдвигается вперёд на величину h на каждом шаге.

При наличии лагов в признаках (например, если для прогноза на завтра нужен лаг недельной давности) между обучающей и тестовой выборками закладывается зазор (англ. gap), чтобы исключить любое неявное проникновение информации.

Метрики качества прогнозирования

Классические метрики регрессии, такие как среднеквадратичная ошибка (\text{MSE}) или средняя абсолютная ошибка (\text{MAE}), зависят от масштаба конкретного временного ряда. Они неприменимы, когда требуется сравнить качество работы модели на разнородных данных (например, при одновременном прогнозировании спроса на дорогие и дешёвые товары). Для решения этой проблемы используются специфичные безразмерные и масштабированные метрики.

MAPE (Mean Absolute Percentage Error)

Средняя абсолютная процентная ошибка измеряет среднее относительное отклонение прогноза от истинных значений в процентах: \text{MAPE} = \frac{100\%}{n} \sum_{t=1}^n \left| \frac{y_t - \hat{y}_t}{y_t} \right|

  • Достоинства: инвариантна к масштабу данных; обладает прямой и интуитивно понятной интерпретацией для бизнес-заказчиков.
  • Недостатки: при наличии в ряду нулевых истинных значений (y_t = 0) метрика не определена (деление на ноль). Обладает сильной асимметрией: штраф за завышение прогноза (перепрогноз) стремится к бесконечности, в то время как штраф за занижение ограничен снизу 100%. Это может вынуждать модель систематически занижать предсказания.

SMAPE (Symmetric Mean Absolute Percentage Error)

Симметричная средняя абсолютная процентная ошибка призвана скорректировать асимметрию MAPE за счёт изменения знаменателя: \text{SMAPE} = \frac{100\%}{n} \sum_{t=1}^n \frac{|y_t - \hat{y}_t|}{(|y_t| + |\hat{y}_t|)/2}

  • Достоинства: ограничена сверху фиксированным значением (200%), одинаково обрабатывает знаки ошибок в относительных терминах.
  • Недостатки: при стремлении и истинного, и прогнозного значений к нулю метрика становится нестабильной из-за деления на малые величины. Из-за наличия прогноза \hat{y}_t в знаменателе её сложнее интерпретировать математически и оптимизировать градиентными методами.

MASE (Mean Absolute Scaled Error)

Средняя абсолютная масштабированная ошибка сравнивает абсолютную ошибку оцениваемой модели с ошибкой базового («наивного») прогноза на обучающей выборке (где прогнозом на шаг вперёд является последнее известное историческое значение): \text{MASE} = \frac{\frac{1}{n} \sum_{t=1}^n |y_t - \hat{y}_t|}{\frac{1}{T-1} \sum_{i=2}^T |y_i - y_{i-1}|} где T — длина обучающей последовательности.

  • Достоинства: полностью устойчива к нулевым значениям в ряду; симметрична; инвариантна к масштабу. Обладает строгим математическим смыслом: значение \text{MASE} < 1 гарантирует, что модель извлекает из данных полезный сигнал и работает лучше простейшей константной стратегии.
  • Недостатки: менее очевидна для неспециалистов, требует сохранения исходной обучающей выборки для расчёта знаменателя на этапе валидации.

Прочие метрики качества

В специализированных задачах также применяются следующие метрики:

  • WAPE (англ. Weighted Absolute Percentage Error) — взвешенная абсолютная процентная ошибка. Решает проблему деления на ноль в MAPE за счёт нормировки суммарной ошибки на сумму всех фактических значений. Широко применяется в ритейле.
  • RMSSE (англ. Root Mean Squared Scaled Error) — масштабированная среднеквадратичная ошибка. Модификация MASE, использующая квадраты отклонений; является стандартным критерием качества во многих современных бенчмарках (например, M5 Competition).
  • Pinball Loss (англ. Quantile Loss) — квантильная функция потерь. Используется для обучения и оценки моделей вероятностного и интервального прогнозирования.
  • MSIS (англ. Mean Scaled Interval Score) — масштабированный интервальный критерий, оценивающий одновременно как ширину построенного доверительного интервала, так и штраф за выход истинного значения за его пределы.

Примеры прикладных задач прогнозирования

В рамках Ресурса представлены следующие примеры реализации и анализа прогнозных моделей:

См. также

Литература

  • Бокс Дж., Дженкинс Г. Анализ временных рядов. Прогноз и управление. Пер. с англ.. — М.: Мир, 1974.
  • Лукашин Ю. П. Адаптивные методы краткосрочного прогнозирования временных рядов. — М.: Финансы и статистика, 2003.
  • Кендалл М., Стюарт А. Многомерный статистический анализ и временные ряды. Пер. с англ.. — М.: Наука, 1976.
  • Hyndman R. J., Athanasopoulos G. Forecasting: principles and practice. — 3rd ed. — OTexts, 2021.
  • Makridakis S., Spiliotis E., Assimakopoulos V. The M4 Competition: Results, findings, conclusions and way forward // International Journal of Forecasting. — 2018. — Т. Vol. 34, no. 4. — С. 802–808.
  • Lim B., Zohren S. Time-series forecasting with deep learning: a survey // Philosophical Transactions of the Royal Society A. — 2021. — Т. Vol. 379, no. 2194. — С. 20200209.