Главная/Блог/Гайд/TimesFM 2.5: Полное руководство по…
Гайд4 мин чтения · 2 августа 2026 г.

TimesFM 2.5: Полное руководство по прогнозированию временных рядов

Глубокое погружение в TimesFM 2.5: от настройки окружения до продвинутого бэктестинга, работы с ковариатами и обнаружения аномалий.

TimesFM 2.5: Полное руководство по прогнозированию временных рядов

В мире данных, где каждое решение зависит от точности предсказаний, прогнозирование временных рядов (Time-Series Forecasting) остается одной из самых сложных и востребованных задач. Традиционные статистические методы, такие как ARIMA или экспоненциальное сглаживание, долгое время были стандартом индустрии, но они часто не справляются с сложными, нелинейными зависимостями в больших данных. На смену им приходят модели на основе глубокого обучения, и одной из самых перспективных среди них является TimesFM от Google.

В этой статье мы не просто поверхностно коснемся темы, а пройдем полный путь создания end-to-end рабочего процесса прогнозирования с использованием модели TimesFM 2.5. Мы разберем, как настроить окружение, сгенерировать реалистичные данные, обучить (или, в данном случае, использовать zero-shot) модель, оценить её точность с помощью строгих метрик и, что самое важное, интегрировать внешние переменные (ковариаты) для повышения качества прогнозов. Это руководство предназначено для аналитиков, data scientists и инженеров, которые хотят вывести свои навыки работы с временными рядами на новый уровень.

011. Подготовка окружения и генерация данных

Любая серьезная работа с машинным обучением начинается с подготовки инфраструктуры. В нашем случае мы используем Google Colab, что позволяет бесплатно получить доступ к GPU, что критически важно для ускорения инференса больших моделей. Однако, даже на CPU, TimesFM демонстрирует высокую эффективность благодаря оптимизациям.

Первым шагом является установка необходимых библиотек. Мы устанавливаем пакет timesfm[torch], который включает в себя поддержку PyTorch, а также стандартный стек для работы с данными: numpy, pandas и matplotlib. Важно сразу задать seed для генератора случайных чисел, чтобы обеспечить воспроизводимость результатов. Это особенно важно при сравнении моделей или отладке.

Но сами по себе библиотеки — это лишь инструмент. Ключ к успешному прогнозированию — это данные. В реальном мире данные редко бывают чистыми и простыми. Поэтому мы создаем синтетический, но максимально реалистичный датасет розничных продаж. Он включает в себя:

TimesFM 2.5: Полное руководство по прогнозированию временных рядов
  • Тренд: Линейный рост или падение продаж с течением времени.
  • Сезонность: Недельная (пиковые дни — выходные) и годовая (сезонные товары, праздники).
  • Влияние цен: Эластичность спроса по цене. Если цена растет, продажи падают.
  • Акции (Promotions): Случайные события, резко повышающие спрос.
  • Праздники: Специальные дни, влияющие на покупательскую активность.
  • Влияние погоды: Например, спрос на напитки или одежду зависит от температуры.
  • Шум: Случайные колебания, имитирующие непредсказуемость человеческого поведения.

Мы генерируем данные за длительный период для нескольких магазинов в разных регионах. Это позволяет модели учиться на разнообразных паттернах, а не переобучаться на одном специфичном магазине.

💡
Совет по локальному запуску. Если вы планируете запускать TimesFM на локальной машине в России, убедитесь, что у вас установлен актуальный драйвер NVIDIA CUDA и библиотека cuDNN. Модель требует значительных объемов видеопамяти (VRAM) для загрузки весов, особенно при работе с большими батчами. Для видеокарт с ограниченным объемом памяти рекомендуется использовать режим с уменьшенным размером батча.

022. Загрузка и компиляция модели TimesFM 2.5

TimesFM 2.5 — это фундаментная модель (Foundation Model) для временных рядов. В отличие от традиционных моделей, которые нужно обучать на каждом конкретном наборе данных заново, TimesFM предварительно обучена на огромном массиве разнообразных временных рядов. Это позволяет ей делать прогнозы в режиме zero-shot, то есть без дополнительной дообучки под вашу задачу.

Загрузка модели осуществляется через Hugging Face. Мы инициализируем объект TimesFM_2p5_200M_torch. Цифра 200M указывает на количество параметров модели (200 миллионов), что делает её достаточно легкой для развертывания, но при этом мощной для захвата сложных паттернов.

TimesFM 2.5: Полное руководство по прогнозированию временных рядов

Ключевым этапом является компиляция модели. В PyTorch это означает преобразование модели в оптимизированный граф вычислений. Мы задаем базовую конфигурацию:

  • max_context: Максимальная длина истории, которую модель может учитывать.
  • max_horizon: Максимальная длина прогноза вперед.
  • normalize_inputs: Нормализация входных данных для стабильности работы нейросети.
  • use_continuous_quantile_head: Включение режима вероятностного прогнозирования, который выдает не одно число, а распределение.

033. Zero-shot прогнозирование и визуализация

После загрузки мы передаем в модель исторические данные одного из магазинов. TimesFM возвращает два типа прогнозов:

  1. Point Forecast (Точечный прогноз): Среднее значение или медиана распределения. Это то, что мы обычно видим в классических графиках.
  2. Probabilistic Forecast (Вероятностный прогноз): Набор квантилей. Это позволяет оценить неопределенность. Например, верхний квантиль показывает сценарий «оптимистичного» пика, а нижний — «пессимистичного» минимума.

Визуализация результатов показывает, как модель «видит» будущее. Оранжевая линия — медианный прогноз, а полупрозрачная область вокруг неё — доверительный интервал. Обратите внимание, что ширина этой области увеличивается с ростом горизонта прогнозирования. Э

Источник: MarkTechPost ↗