Открыть сервис

Прогнозирование временных рядов

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

Основные понятия и компоненты временного ряда

Любой временной ряд можно представить как состоящий из нескольких ключевых компонентов, которые анализируются по отдельности или совместно:

  • Тренд (Trend) — долгосрочная тенденция изменения ряда, отражающая общее направление (рост, снижение или стагнация) без учёта краткосрочных колебаний. Например, устойчивый рост численности населения России в XIX веке или снижение рождаемости в 1990-е годы.
  • Сезонность (Seasonality) — регулярные, повторяющиеся с определённым периодом (сутки, неделя, месяц, год) колебания. Например, рост продаж мороженого летом и снижение зимой, увеличение пассажиропотока в метро в часы пик.
  • Цикличность (Cyclicality) — колебания, не имеющие строго фиксированного периода, обычно связанные с экономическими циклами (например, циклы Кондратьева или деловые циклы длительностью 7–11 лет). В отличие от сезонности, циклы не привязаны к календарю.
  • Случайная составляющая (Noise, Residual) — остаточные колебания, которые невозможно объяснить трендом, сезонностью или цикличностью. Они возникают из-за случайных факторов, ошибок измерения или непредсказуемых событий (например, аномальная погода, политические кризисы).

Классификация методов прогнозирования

Методы прогнозирования временных рядов делятся на несколько крупных групп, различающихся по сложности, объёму требуемых данных и области применения.

Статистические методы

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

  • Наивные методы (Naive methods) — простейшие подходы, используемые как базовые эталоны. Например, прогноз на следующий период равен последнему наблюдению (метод «случайного блуждания») или среднему значению за несколько предыдущих периодов.
  • Метод скользящего среднего (Moving Average, MA) — сглаживание ряда путём усреднения значений за фиксированное число предыдущих периодов. Используется для выявления тренда и краткосрочного прогноза.
  • Экспоненциальное сглаживание (Exponential Smoothing) — взвешенное усреднение, где веса убывают экспоненциально по мере удаления от текущего момента. Наиболее известные варианты: простое (для рядов без тренда и сезонности), метод Хольта (для рядов с трендом), метод Хольта-Уинтерса (для рядов с трендом и сезонностью).
  • Модели ARIMA (Autoregressive Integrated Moving Average) — семейство моделей, широко применяемых в экономике и финансах. ARIMA описывает ряд через его собственные прошлые значения (авторегрессия, AR), прошлые ошибки прогноза (скользящее среднее, MA) и степень дифференцирования (I) для приведения ряда к стационарному виду. Существуют сезонные расширения — SARIMA.
  • Метод декомпозиции (Decomposition) — разложение ряда на трендовую, сезонную и остаточную компоненты с последующим прогнозированием каждой компоненты отдельно (например, с помощью STL-декомпозиции).

Методы машинного обучения

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

  • Линейная регрессия с лаговыми переменными — классическая регрессия, где в качестве предикторов выступают прошлые значения ряда (лаги), а также, при необходимости, внешние факторы (экзогенные переменные).
  • Случайный лес (Random Forest) и градиентный бустинг (Gradient Boosting, XGBoost, LightGBM, CatBoost) — ансамблевые методы, которые хорошо работают на табличных данных, включая временные ряды. Требуют тщательного создания признаков (feature engineering): лаги, скользящие средние, сезонные индикаторы.
  • Нейронные сетиглубокое обучение позволяет моделировать сложные зависимости. Наиболее популярны:
  • Рекуррентные нейронные сети (RNN, LSTM, GRU) — архитектуры, специально разработанные для последовательных данных, способные «запоминать» долгосрочные зависимости.
  • Свёрточные нейронные сети (CNN) — могут использоваться для извлечения локальных паттернов из временных рядов (например, одномерные свёртки).
  • Трансформеры (Transformers) — современные архитектуры, изначально созданные для обработки текстов, но успешно адаптированные для временных рядов (например, модели Informer, Autoformer, PatchTST).

Эконометрические и структурные модели

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

  • Векторная авторегрессия (VAR)модель, в которой каждый из нескольких временных рядов зависит от собственных прошлых значений и прошлых значений других рядов. Широко используется в макроэкономике.
  • Модели коррекции ошибок (ECM) — применяются для анализа долгосрочных равновесных связей между нестационарными рядами (коинтеграция).
  • Модели с экзогенными переменными (ARIMAX, SARIMAX) — расширение ARIMA, позволяющее включать внешние факторы (например, погода, праздники, цены на сырьё).

Этапы построения прогноза

Процесс прогнозирования временного ряда обычно включает несколько последовательных шагов:

  1. Постановка задачи и сбор данных — определение цели прогноза (горизонт, требуемая точность), сбор ретроспективных данных за достаточный период.
  2. Визуализация и предварительный анализ — построение графика ряда, выявление трендов, сезонности, аномалий, пропусков.
  3. Предобработка данных — очистка от выбросов, заполнение пропусков (интерполяция, вставка среднего), приведение к стационарности (если требуется моделью) — например, взятие разностей или логарифмирование.
  4. Выбор и идентификация модели — на основе анализа автокорреляционной (ACF) и частной автокорреляционной (PACF) функций, а также экспертных знаний выбирается тип модели (ARIMA, экспоненциальное сглаживание, нейронная сеть).
  5. Оценка параметров модели — подбор коэффициентов модели на обучающей выборке (например, методом максимального правдоподобия или градиентного спуска).
  6. Валидация и тестирование — проверка точности прогноза на отложенной тестовой выборке (исторических данных, не участвовавших в обучении). Используются метрики: MAE (средняя абсолютная ошибка), RMSE (среднеквадратическая ошибка), MAPE (средняя абсолютная процентная ошибка).
  7. Прогнозирование — расчёт будущих значений на заданный горизонт.
  8. Оценка неопределённости — построение доверительных интервалов для прогноза (например, с помощью бутстрепа или аналитических формул).

Применение

Прогнозирование временных рядов используется в самых разных областях:

  • Экономика и финансы — прогнозирование ВВП, инфляции, курсов валют, цен акций, объёмов кредитования. В России Банк России и Минэкономразвития регулярно публикуют макроэкономические прогнозы.
  • Промышленность и логистика — планирование производства, управление запасами, прогнозирование спроса на товары, загрузка мощностей.
  • Энергетика — прогнозирование потребления электроэнергии, нагрузки на сети, выработки возобновляемых источников энергии (солнечная, ветровая) в зависимости от погоды.
  • Метеорология и климатология — прогноз погоды (температура, осадки, давление), моделирование климатических изменений.
  • Медицина и эпидемиология — прогнозирование распространения заболеваний (например, гриппа, COVID-19), нагрузки на больницы.
  • Транспорт — прогнозирование пассажиропотока, загруженности дорог, времени в пути.
  • Интернет и IT — прогнозирование трафика сайтов, нагрузки на серверы, поведения пользователей.

Ограничения и сложности

Прогнозирование временных рядов сталкивается с рядом фундаментальных проблем:

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

Критика

Прогнозирование временных рядов, особенно в экономике и финансах, нередко подвергается критике. Скептики (например, лауреат Нобелевской премии по экономике Юджин Фама, сторонник гипотезы эффективного рынка) утверждают, что точное предсказание будущих цен активов в долгосрочной перспективе невозможно из-за случайного характера их изменений. Многие экономические прогнозы, особенно на длительные сроки, систематически оказываются ошибочными, что связано с высокой сложностью и нелинейностью экономических систем. Тем не менее, инструменты прогнозирования остаются востребованными для краткосрочного планирования и оценки рисков.

Источники

  1. Бокс Дж., Дженкинс Г. «Анализ временных рядов. Прогноз и управление». — М.: Мир, 1974.
  2. Ханк Д. Э., Райтс Д. У., Уичерн Д. У. «Бизнес-прогнозирование». — М.: Вильямс, 2003.
  3. Hyndman R. J., Athanasopoulos G. «Forecasting: Principles and Practice» (3rd ed.). — OTexts, 2021.
  4. Материалы Федеральной службы государственной статистики (Росстат) по методологии анализа временных рядов.
  5. Публикации Банка России по вопросам макроэкономического прогнозирования.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →