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

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

(Различия между версиями)
Перейти к: навигация, поиск
(дополнение)
(Исправлена формула вероятностного прогноза, формулы, оформление)
 
(9 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
'''Прогноз''' — это процесс или результат предсказания тех или иных фактов, событий, явлений, величин, которые станут известны лишь в будущем по отношению к моменту времени, в котором создается прогноз. Под прогнозом также иногда понимают модель будущего события, явления и т. п.
+
{{well|Статья расширена с использованием LLM '''Gemini 3.5 Flash''' и проверена участником [[Участник:Vsevolod Peretiatko|Vsevolod Peretiatko]] 23:58, 15 июня 2026 (MSD)}}
-
'''Прогнозирование''' — это процесс (часто основанный на научном исследовании) по расчету прогноза или разработке прогнозной модели.
+
'''Прогнозирование''' (англ. ''forecasting'') — область [[Машинное обучение|машинного обучения]] и [[Прикладная статистика|прикладной статистики]], задача которой заключается в предсказании будущих значений целевого процесса или величины на основе исторических данных, а также доступной сопутствующей информации.
-
В узком смысле под прогнозированием понимают предсказание будущих значений [[Временной ряд|временного ряда]] на основе его значений в прошлом, и, возможно, дополнительной информации. Такую дополнительную информацию представляют влияющие на ситуацию внешние факторы. Например, для прогнозирования временного ряд спроса на какой-либо товар это могут быть предложения замещающих товаров, для экспортных грузоперевозок — таможенные пошлины и курс доллара, для цен акций — политические решения и т. д.
+
В контексте анализа данных прогнозирование чаще всего сводится к анализу [[Временной ряд|временных рядов]] (англ. ''time series forecasting''). Главное отличие задачи прогнозирования от классической задачи [[Регрессия|регрессии]] заключается в нарушении предположения о независимости и одинаковой распределённости наблюдений (i.i.d.): данные в прогнозировании упорядочены во времени и обладают внутренней зависимостью ([[Автокорреляция|автокорреляцией]]). Качественный прогноз требует не просто аппроксимации функции, но и выявления скрытых структурных компонентов ряда: долгосрочных трендов, циклических и сезонных закономерностей, а также адаптации к случайным шокам и структурным сдвигам в данных.
-
== Примеры прогнозированых моделей ==
+
== Математическая постановка задачи ==
-
* [[Математический прогноз даты сильных землетрясений]]
+
-
* [[Прогнозирование количества телефонных звонков клиентов телекоммуникационной компании]]
+
-
{{stub}}
+
Пусть задан [[Случайный процесс|случайный процесс]], наблюдаемый в дискретные моменты времени <tex>t = 1, 2, \dots, T</tex>. Значение целевой переменной в момент времени <tex>t</tex> обозначим как <tex>y_t \in \mathbb{R}</tex>.
 +
 
 +
Также в каждый момент времени может быть доступен вектор экзогенных (внешних) факторов <tex>\mathbf{x}_t \in \mathbb{R}^d</tex>, которые влияют на целевую переменную, но сами от неё не зависят (например, метеоусловия для прогноза энергопотребления).
 +
 
 +
Задача прогнозирования заключается в построении модели (алгоритма) <tex>f</tex>, которая по известной предыстории длины <tex>k</tex> предсказывает значения целевой переменной на <tex>h</tex> шагов вперёд. Величина <tex>h \ge 1</tex> называется '''горизонтом прогнозирования''' (англ. ''forecasting horizon'').
 +
 
 +
=== Точечный прогноз ===
 +
Для фиксированного момента времени <tex>T</tex> (настоящее время) [[Точечный прогноз|точечный прогноз]] на момент времени <tex>T+h</tex> вычисляется как:
 +
<tex>\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})</tex>
 +
 
 +
В зависимости от доступности экзогенных факторов на шаге <tex>T+h</tex>, их значения могут быть либо известны заранее (например, календарные признаки: день недели, праздники), либо сами являться результатами других прогнозных моделей.
 +
 
 +
=== Интервальный и вероятностный прогноз ===
 +
Помимо точечного значения <tex>\hat{y}_{T+h}</tex>, в современных задачах машинного обучения часто требуется оценить неопределённость.
 +
* '''Интервальный прогноз''' задаёт границы <tex>[L_{T+h}, U_{T+h}]</tex>, в которые истинное значение попадёт с заданной вероятностью <tex>1 - \alpha</tex>.
 +
* '''Вероятностный прогноз''' (англ. ''probabilistic forecasting'') строит оценку условной плотности распределения целевой переменной в будущем на основе всей известной информации: <tex>p(y_{T+h} \mid y_1, \dots, y_T; \mathbf{x}_1, \dots, \mathbf{x}_{T+h})</tex>
 +
 
 +
[[Изображение:Forecasting intervals.png|thumb|center|700px|Визуализация точечного, интервального и вероятностного прогнозов. Веерный график (Fan Chart) наглядно демонстрирует расширение доверительных интервалов (80% и 95%) по мере увеличения горизонта прогнозирования h.]]
 +
 
 +
Обучение модели <tex>f</tex> заключается в минимизации [[Ожидаемый риск|ожидаемого риска]] ([[Эмпирический риск|эмпирического функционала качества]]) на обучающей выборке по заданной [[Функция потерь|функции потерь]] <tex>\mathcal{L}(y, \hat{y})</tex>.
 +
 
 +
== Классификация подходов к прогнозированию ==
 +
 
 +
Методы прогнозирования временных рядов можно разделить на три парадигмы, каждая из которых эффективна в своём классе задач.
 +
 
 +
=== Классические статистические методы ===
 +
Основаны на предположении о наличии фиксированной математической структуры в ряду ([[Тренд|тренд]], [[Сезонность|сезонность]], циклы) и [[Стационарность|стационарности]] случайного процесса (или возможности свести его к стационарному через разности).
 +
* '''[[Экспоненциальное сглаживание]]''' (англ. ''exponential smoothing'', ETS): модели, в которых прогноз формируется как взвешенное среднее прошлых наблюдений, где веса затухают экспоненциально с течением времени (например, [[Метод Хольта-Винтерса|метод Хольта-Винтерса]]).
 +
* '''[[ARIMA|Интегрированная модель авторегрессии — скользящего среднего]]''' (англ. ''Autoregressive Integrated Moving Average'', ARIMA): семейство моделей, где текущее значение ряда линейно зависит от его собственных предыдущих значений ([[Авторегрессия|авторегрессия]], <tex>p</tex>) и от прошлых ошибок прогноза ([[Скользящее среднее (модель)|скользящее среднее]], <tex>q</tex>). Её расширение [[SARIMA]] учитывает сезонные компоненты.
 +
 
 +
[[Изображение:Time series decomposition.png|thumb|center|600px|Аддитивная декомпозиция временного ряда (Time Series Decomposition) на долгосрочный тренд, сезонную компоненту и случайный шум (остатки), лежащая в основе классических статистических подходов.]]
 +
 
 +
Эти методы эффективны для коротких и единичных временных рядов, обладают высокой интерпретируемостью, но плохо адаптируются к сложным нелинейным зависимостям и большим объёмам внешних данных.
 +
 
 +
=== Классическое машинное обучение ===
 +
Переход от анализа временного ряда к стандартной задаче [[Обучение с учителем|обучения с учителем]] осуществляется с помощью метода '''[[Метод скользящего окна|скользящего окна]]''' (англ. ''sliding window''). Непрерывный ряд разбивается на объекты, где признаками (англ. ''features'') выступают прошлые значения ряда (лаги, <tex>y_{t-1}, y_{t-2}, \dots</tex>), а также агрегированные статистики (скользящее среднее, стандартное отклонение за период).
 +
* '''[[Градиентный бустинг]]''' (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 cv schemes.png|thumb|600px|Схемы блокированного скользящего контроля (Time Series Cross-Validation) с расширяющимся (Expanding) и движущимся (Rolling) окнами. Жёлтым цветом выделен временной зазор (Gap), предотвращающий утечку данных через признаки-лаги.]]
 +
 
 +
На практике применяются следующие схемы:
 +
 
 +
=== Оценка на отложенной выборке вне периода обучения ===
 +
* '''[[Out-of-sample]] (OOS)''': оценка качества модели на данных, которые не использовались при настройке параметров модели. Ряд разбивается на две хронологические части: прошлое (обучение) и будущее (тест).
 +
* '''[[Out-of-time]] (OOT)''': частный и более строгий случай OOS в машинном обучении, когда тестовый набор данных сдвинут относительно обучающего на фиксированный временной интервал или представляет собой принципиально другой временно́й контекст (например, модель обучалась на стабильном периоде, а тестируется во время резкого изменения макроэкономики).
 +
 
 +
=== Блокированный скользящий контроль ===
 +
 
 +
Для полноценного [[Скользящий контроль|кросс-валидационного оценивания]] используют методы, сохраняющие временную структуру (англ. ''Time Series Cross-Validation'').
 +
* '''Схема с расширяющимся окном''' (англ. ''Expanding Window''): на первой итерации модель обучается на блоке длины <tex>T_1</tex> и тестируется на <tex>h</tex> шагах. На следующей итерации тестовый блок включается в обучающую выборку, и модель переобучается на блоке длины <tex>T_1 + h</tex>.
 +
* '''Схема с движущимся окном''' (англ. ''Rolling Window''): размер обучающей выборки остаётся фиксированным (например, всегда ровно один год данных), а само окно обучения сдвигается вперёд на величину <tex>h</tex> на каждом шаге.
 +
 
 +
При наличии лагов в признаках (например, если для прогноза на завтра нужен лаг недельной давности) между обучающей и тестовой выборками закладывается '''зазор''' (англ. ''gap''), чтобы исключить любое неявное проникновение информации.
 +
 
 +
== Метрики качества прогнозирования ==
 +
 
 +
Классические метрики регрессии, такие как [[Среднеквадратичная ошибка|среднеквадратичная ошибка]] (<tex>\text{MSE}</tex>) или [[Средняя абсолютная ошибка|средняя абсолютная ошибка]] (<tex>\text{MAE}</tex>), зависят от масштаба конкретного временного ряда. Они неприменимы, когда требуется сравнить качество работы модели на разнородных данных (например, при одновременном прогнозировании спроса на дорогие и дешёвые товары). Для решения этой проблемы используются специфичные безразмерные и масштабированные метрики.
 +
 
 +
=== MAPE (Mean Absolute Percentage Error) ===
 +
[[MAPE|Средняя абсолютная процентная ошибка]] измеряет среднее относительное отклонение прогноза от истинных значений в процентах:
 +
<tex>\text{MAPE} = \frac{100\%}{n} \sum_{t=1}^n \left| \frac{y_t - \hat{y}_t}{y_t} \right|</tex>
 +
* '''Достоинства''': инвариантна к масштабу данных; обладает прямой и интуитивно понятной интерпретацией для бизнес-заказчиков.
 +
* '''Недостатки''': при наличии в ряду нулевых истинных значений (<tex>y_t = 0</tex>) метрика не определена (деление на ноль). Обладает сильной асимметрией: штраф за завышение прогноза (перепрогноз) стремится к бесконечности, в то время как штраф за занижение ограничен снизу 100%. Это может вынуждать модель систематически занижать предсказания.
 +
 
 +
=== SMAPE (Symmetric Mean Absolute Percentage Error) ===
 +
[[SMAPE|Симметричная средняя абсолютная процентная ошибка]] призвана скорректировать асимметрию MAPE за счёт изменения знаменателя:
 +
<tex>\text{SMAPE} = \frac{100\%}{n} \sum_{t=1}^n \frac{|y_t - \hat{y}_t|}{(|y_t| + |\hat{y}_t|)/2}</tex>
 +
* '''Достоинства''': ограничена сверху фиксированным значением (200%), одинаково обрабатывает знаки ошибок в относительных терминах.
 +
* '''Недостатки''': при стремлении и истинного, и прогнозного значений к нулю метрика становится нестабильной из-за деления на малые величины. Из-за наличия прогноза <tex>\hat{y}_t</tex> в знаменателе её сложнее интерпретировать математически и оптимизировать градиентными методами.
 +
 
 +
=== MASE (Mean Absolute Scaled Error) ===
 +
[[MASE|Средняя абсолютная масштабированная ошибка]] сравнивает абсолютную ошибку оцениваемой модели с ошибкой базового («наивного») прогноза на обучающей выборке (где прогнозом на шаг вперёд является последнее известное историческое значение):
 +
<tex>\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}|}</tex>
 +
где <tex>T</tex> — длина обучающей последовательности.
 +
* '''Достоинства''': полностью устойчива к нулевым значениям в ряду; симметрична; инвариантна к масштабу. Обладает строгим математическим смыслом: значение <tex>\text{MASE} < 1</tex> гарантирует, что модель извлекает из данных полезный сигнал и работает лучше простейшей константной стратегии.
 +
* '''Недостатки''': менее очевидна для неспециалистов, требует сохранения исходной обучающей выборки для расчёта знаменателя на этапе валидации.
 +
 
 +
=== Прочие метрики качества ===
 +
В специализированных задачах также применяются следующие метрики:
 +
* '''[[WAPE]]''' (англ. ''Weighted Absolute Percentage Error'') — взвешенная абсолютная процентная ошибка. Решает проблему деления на ноль в MAPE за счёт нормировки суммарной ошибки на сумму всех фактических значений. Широко применяется в ритейле.
 +
* '''[[RMSSE]]''' (англ. ''Root Mean Squared Scaled Error'') — масштабированная среднеквадратичная ошибка. Модификация MASE, использующая квадраты отклонений; является стандартным критерием качества во многих современных бенчмарках (например, M5 Competition).
 +
* '''[[Quantile Loss|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
 +
|ссылка = https://otexts.com/fpp3/
 +
}}
 +
* {{статья
 +
|автор = 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
 +
}}
[[Категория:Прогнозирование]]
[[Категория:Прогнозирование]]
 +
[[Категория:Прогнозирование временных рядов]]
 +
[[Категория:Математическая статистика]]
 +
[[Категория:Прикладная статистика]]

Текущая версия

Статья расширена с использованием 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) строит оценку условной плотности распределения целевой переменной в будущем на основе всей известной информации: p(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.