Прогнозирование временных рядов – одна из важнейших задач в области data science. Долгое время эти задачи не доверяли нейронным сетям: исследователи предпочитали использовать быстрые, надежные и понятные методы классического машинного обучения. К тому же, точность нейронок в таких задачах оставляла желать лучшего. Однако, в последние годы кое-что изменилось – нейросети начали побеждать классические ML алгоритмы на “их же поле” – временных рядах. И некоторые из таких моделей превзошли предшественников по точности даже не на проценты, а на десятки процентов!
Эволюция развития методов машинного обучения для предсказания временных рядов
В области машинного обучения для прогнозирования временных рядов в каждую эпоху существовал свой эталон – модель, которая лучше всех решала поставленные задачи:
1990-е годы
В 1990-х годах основное внимание уделялось алгоритмам, которые могли эффективно обрабатывать большие объемы данных при небольшой нагрузке на компьют. В те годы процессоры, память и видеокарты были развиты на достаточно примитивном уровне, поэтому приоритет в задачах анализа и прогнозирования временных рядов отдавался преимущественно наиболее быстрым моделям – линейной регрессии, ARMA, ARIMA, SARIMA и им подобным.
Эталонная модель эпохи – ARFIMA. Это глубокая модификация ARIMA, она была весьма популярна в конце 90-х для моделирования временных рядов с “долгосрочной памятью” или длительными зависимостями. ARFIMA позволяла моделировать данные, в которых зависимость между наблюдениями медленно затухает, что характерно для некоторых финансовых и природных процессов.
2000-е годы
В 2000-е годы огромный интерес возник к вопросам сглаживания и фильтрации временных рядов. В эту пору активно развивались новые методы скользящих средних, новые digital-фильтры и все это внедрялось, в основном, в регрессионные модели – для улучшения их точности. Широкую популярность приобрел GARCH (Generalized Autoregressive Conditional Heteroskedasticity), он часто использовался в эконометрике – для моделирования волатильности временных рядов.
Благодаря эволюции процессоров и мощности всего “железа” в целом стали чаще применяться методы машинного обучения для прогнозирования временных рядов: Случайный лес (random forest) и Методы опорных векторов (SVM). Однако их точность оставляла желать лучшего и во многих задачах уступала уже раннее используемым моделям.
Эталонная модель эпохи – VAR. Расшифровывается как Vector AutoRegression. Она обычно применялась для моделирования систем с несколькими временными рядами. Имела хорошую для того времени точность, в основном использовалась в финансовой отрасли для моделирования взаимосвязей между макроэкономическими показателями.
2010-2015 годы
Этот период характеризуется бурным ростом интереса к оптимизации и бустингам традиционных моделей машинного обучения. Появляются такие модели как XGBoost, LightGBM, Catboost. Ансамблевые методы впервые выходят на высокую точность прогнозирования за счет последовательного улучшения слабых моделей.
Эталонная модель эпохи – Gradient Boostings (GBM). Они значительно “подняли планку” в задачах прогнозирования временных рядов, особенно при наличии большого количества признаков. Их мощь заключалась в умении справляться с нелинейностями и сложными паттернами.
2015-2020 годы
Это период расцвета рекуррентных нейронных сетей (RNN) и их модификаций: LSTM, GRU и проч. Рекуррентные нейросети “были рождены” для текстов, однако они показали себя эффективными моделями для работы с любыми последовательными данными, такими как временные ряды, благодаря своей способности учитывать контекст предыдущих состояний.
В эту эпоху появляются знаменитые модели DeepAR от Amazon, Prophet от Facebook, N-BEATS, LSTNet. Все они используют разную архитектуру:
- DeepAR — это модель, использующая RNN для прогнозирования временных рядов. Она способна обучаться на нескольких временных рядах одновременно, что улучшает точность прогнозирования для новых данных;
- Prophet был выпущен для решения задач временных рядов, которые могут содержать тренды и сезонность. Модель ориентирована на простоту использования, имеет отличную документацию и интерфейс, и получила широкое распространение в бизнесе;
- N-BEATS — это архитектура нейронной сети для прогнозирования временных рядов, которая показала превосходные результаты по сравнению с классическими моделями, такими как ARIMA и ETS. Она использует нейронные блоки для автоматической генерации прогнозов;
- LSTNet — это гибридная модель, объединяющая CNN и LSTM, специально разработанная для прогнозирования временных рядов. Она способна эффективно захватывать как краткосрочные, так и долгосрочные зависимости.
Как видим, моделей в 2015-2020 гг вышло довольно много. И многие считают именно эту эпоху началом революции в прогнозировании временных рядов – отхода от классического ML к нейросетям. Однако не стоит забывать, что один из важных признаков революции – повсеместное внедрение. И, увы, этого не случилось с этими моделями. Причины тому: долгая обучаемость, неинтерпретируемость, результаты чуть выше или сопоставимые с бустингами.
Эталонная модель эпохи – Prophet от Facebook (кстати и до сих пор показывающая хорошие результаты).
Начало 2020 гг
В этот период все научное и бизнес-сообщество начинает проявлять огромный интерес к глубоким нейронным сетям (deep learning). Успех трансформеров BERT в задачах декодинга и энкодинга текстов не остался незамеченным среди ученых, занимающихся прогнозированием временных рядов. В эту эпоху в сфере time series analysis начинает процветать разработка различных моделей трансформеров:
- Informer (2020). Эта модель трансформера для временных рядов оптимизирована для работы с длинными последовательностями данных. Использует механизм «сгущения внимания» (ProbSparse Self-attention) для эффективного выбора наиболее релевантных точек данных, что сокращает вычислительные затраты по сравнению с классическим трансформером;
- TFT (Temporal Fusion Transformer) (2020). Трансформер TFT был специально разработан для временных рядов с учетом как краткосрочных, так и долгосрочных зависимостей. Модель поддерживает обработку множественных временных рядов и включает интерпретируемые механизмы внимания, что делает ее особенно полезной для приложений в бизнесе;
- Autoformer (2021). Эта модель трансформера была разработана для автоматического захвата как сезонных, так и трендовых компонентов временных рядов. Autoformer уменьшает сложность вычислений, улучшая производительность на длинных последовательностях данных и повышая точность прогнозов;
- FEDformer (Frequency Enhanced Decomposition Transformer) (2022). Нейронная сеть FEDformer улучшает производительность трансформеров для временных рядов, используя комбинацию декомпозиции временных рядов и механизмов внимания для извлечения информации в частотной области. Это помогает моделировать сложные паттерны и улучшает масштабируемость;
- Pyraformer (2022). Нейросеть Pyraformer использует пирамидальную структуру для улучшенной обработки временных рядов. Эта модель уменьшает сложность при работе с длинными последовательностями данных, сохраняя точность и эффективность. Структура модели позволяет выявлять как локальные, так и глобальные зависимости;
- Non-stationary Transformer (2022). Эта модель трансформера специально разработана для работы с нестационарными временными рядами, что является сложной задачей для классических трансформеров. Нейросеть Non-stationary Transformer использует модифицированные механизмы внимания и нормализации для улучшения работы с данными, которые имеют изменяющиеся паттерны;
- DLinear (2023). Это модель трансформера, оптимизированная для работы с временными рядами, акцентирующая внимание на линейных преобразованиях вместо сложных механизмов внимания, что улучшает точность и ускоряет вычисления.
Помимо разработки новых нейросетей в этот период продолжается активная доработка и улучшение классических моделей машинного обучения. Несмотря на взрывной рост интереса к трансформерам и нейронным сетям, классические модели продолжают играть важную роль, особенно когда требуется интерпретируемость, простота или ограниченные вычислительные ресурсы. Вот основные примеры таких доработок:
- XGBoost, LightGBM, CatBoost. Эти ансамблевые ML-модели имеют широкую поддержку сообщества и благодаря этому продолжают активно усовершенствоваться. Появилась поддержка вычислений на GPU, возможность параллельных вычислений, что существенно ускоряет обучение на больших данных. Повысилась интерпретируемость моделей, активно внедряется SHAP (SHapley Additive exPlanations) и улучшенные визуализации важности признаков. CatBoost усовершенствован с точки зрения “обработки пропущенных данных”, что делает модель особенно устойчивой к реальным данным, где часто встречаются пробелы в признаках. Все три модели начинают все чаще интегрироваться в гибридные модели. Например, их объединяют с нейронными сетями, такими как LSTM, для захвата сложных нелинейных зависимостей. Это позволяет использовать сильные стороны градиентного бустинга для структурированных данных и мощь нейронных сетей для сложных временных рядов.
- Support Vector Machines (SVM), хотя и были разработаны давно, также продолжают модернизироваться. В частности, разработки последних лет сосредоточены на улучшении их работы для нелинейных временных рядов и интеграции с ядрами и методами, ориентированными на временные зависимости. Также стали доступны новые гибридные модели, которые сочетают SVM с нейронными сетями для более точного прогнозирования.
- GARCH. В области финансов GARCH по-прежнему является стандартом для моделирования волатильности. С 2020 года произошли улучшения моделей семейства GARCH, такие как EGARCH (Exponential GARCH) и TGARCH (Threshold GARCH), которые лучше справляются с асимметрией и нелинейностью в финансовых данных. Эти улучшенные версии модели используются для прогнозирования волатильности на рынках.
- Long Short-Term Memory Models (LSTM). Хотя нейросети LSTM считаются менее точными, чем трансформеры, их продолжают активно использовать и усовершенствовать. В частности, по-прежнему большой интерес сообщества прикован к LSTNet. Последние доработки таких сетей включают более сложные гибридные архитектуры, такие как их сочетание с методами преобразования Фурье или вейвлет-анализом для обработки сигналов.
Таким образом, даже несмотря на огромную популярность трансформеров и глубокого обучения в последние годы, классические модели машинного обучения продолжают активно использоваться и совершенствоваться. Эти улучшения часто касаются повышения производительности, интерпретируемости и адаптивности к новым условиям данных. Новый тренд – гибридные модели, поскольку они позволяют использовать сильные стороны как классических моделей, так и методов глубокого обучения, что ведет к улучшению прогнозов в различных прикладных областях.
TimeGPT – начало новой эпохи
Модель TimeGPT была выпущена в 2023 году компанией Nixtla. Она быстро привлекла внимание ученых и специалистов в области анализа данных благодаря своей высокой точности и эффективности в прогнозировании временных рядов. TimeGPT стала первой моделью, ознаменовавшей новую эпоху machine learning в области time series forecasting.
Под “капотом” этой модели лежит вся мощь GPT, но это не ChatGPT. Эта нейросеть имеет другую архитектуру, чем знаменитая LLM. Nixtla создала совершенно новую модель, которая НЕ обучалась на текстах. Эта нейронная сеть была обучена только на временных рядах, причем из самых разных областей: торговля, IoT, производство, здравоохранение, электроэнергия, веб-трафик и т. д. TimeGPT был обучен на собственном наборе данных, содержащем более 100 миллиардов точек данных (на порядки больше, чем самые большие из доступных публичных наборов данных). И ее специально обучали для задач прогнозирования и обнаружения аномалий.
С технической точки зрения, функция оптимизации TimeGPT сильно отличается от задачи предсказания последовательности в контексте естественного языка. Эта модель принимает на вход данные с временными метками, значениями и экзогенными переменными и выдает прогнозы или обнаруженные аномалии. То есть, лексемы в TimeGPT заменены на временные метки. И, что еще интересно – здесь полностью отсутствует слои эмбеддинга.
Таким образом, TimeGPT стал первой большой нейросетью-трансформером, полноценно заточенной под прогнозирование временных рядов. И это дало свои плоды – практически во всех тестах TimeGPT превзошел всех своих предшественников по ключевым метрикам точности: MAE, RMSE, MAPE и др.
Рис 1: Сравнение точности TimeGPT с другими моделями
Выход TimeGPT ознаменовал новую эпоху в отрасли. Эта нейросеть стала первой демонстрацией того, что подход глубокого обучения может не только превзойти существующие подходы, но и работать гораздо быстрее.
Прорыв произошел не только в метриках. С этой моделью стало гораздо проще анализировать данные. TimeGPT является предварительно обученной моделью и предлагает совершенно новую парадигму в прогнозировании временных рядов и обнаружении аномалий, поскольку пользователям не нужно обучать и развертывать собственные модели. С этой моделью не нужно делать сложную предобработку данных или создавать специфичные для задачи features. Девиз разработчиков из Nixtla – “просто загружайте и прогнозируйте”.
Ключевые преимущества TimeGPT перед предыдущими моделями
- Контекстное восприятие: В отличие от традиционных трансформеров, TimeGPT лучше учитывает временные зависимости и может обрабатывать данные разной частоты (например, дневные, недельные, месячные) без потери качества;
- Масштабируемость: Модель способна работать с большими наборами данных и быстро обучаться, что особенно важно для промышленных приложений с большими объемами временных рядов;
- Точность: TimeGPT продемонстрировала улучшенные показатели прогнозирования по сравнению с предыдущими моделями, такими как LSTNet и стандартные трансформеры, благодаря специальным адаптациям для временных рядов.
Таким образом, TimeGPT упростила работу с временными рядами, предоставив универсальную и высокоточную модель, что сделало ее значимым шагом вперед в области прогнозирования.
Архитектура модели
TimeGPT основана на модифицированной версии трансформеров, адаптированных для работы с временными рядами. Основные компоненты:
- Временные эмбеддинги: Модель использует специальные временные эмбеддинги для кодирования времени (день, час, минута и т.д.), что помогает учитывать временные зависимости;
- Механизм внимания: Как и в стандартных трансформерах, TimeGPT использует механизм внимания (attention) для захвата долгосрочных зависимостей. Это позволяет модели фокусироваться на ключевых временных точках, важных для прогнозирования;
- Нормализация данных: Модель включает встроенные механизмы для нормализации временных рядов, что позволяет ей эффективно работать с данными разной шкалы и частоты;
- Многоуровневая декомпозиция: TimeGPT использует декомпозицию временных данных на несколько компонент (например, тренды, сезонность), что улучшает точность прогнозирования;
- Предсказательная голова: Финальный слой модели адаптирован для предсказания временных рядов и может выдавать как точечные прогнозы, так и интервальные оценки.
Эта архитектура обеспечивает эффективную работу с временными рядами, учитывая их уникальные особенности, что делает TimeGPT универсальной и точной моделью для прогнозирования.
PatchTST – прорыв в прогнозировании временных рядов
Еще одним прорывом последних лет стала нейронная сеть PatchTST (Patch Time Series Transformer). Эта модель, разработанная группой ученых из Гонконгского университета в конце 2022 года, представляет собой инновационный подход к долгосрочному прогнозированию временных рядов, сочетающий в себе силу архитектуры трансформеров и уникальную технику обработки данных, известную как “патчинг” (patches).
По моему мнению, PatchTST – одна из наиболее перспективных нейросетей в этой области. Это не просто очередная модель в длинном списке алгоритмов прогнозирования. Она воплощает в себе новый взгляд на проблему анализа временных рядов, предлагая решение, которое одновременно эффективно, масштабируемо и удивительно точно в своих предсказаниях.
В сравнении с SOTA (лучшими предшествующими моделями трансформеров) PatchTST (версия /64) показал улучшение качества метрик MSE на 21.0%, MAE на 16.7%.
Рис 2: Сравнение точности PatchTST с другими моделями
Чтобы по-настоящему оценить революционность PatchTST, давайте погрузимся глубже в ее устройство, принципы работы и те инновации, которые она привносит в область анализа временных рядов.
Предыстория и контекст
Прогнозирование временных рядов всегда было сложной задачей, особенно когда речь идет о долгосрочных прогнозах. Традиционные методы, такие как ARIMA или экспоненциальное сглаживание, хорошо работают для краткосрочных прогнозов, но часто не справляются с долгосрочными предсказаниями или сложными паттернами в данных.
С появлением глубокого обучения открылись новые горизонты. Рекуррентные нейронные сети (RNN), модели с долгосрочной и краткосрочной памятью (LSTM) и нейросети на основе attention, такие как трансформеры, показали впечатляющие результаты в различных задачах обработки последовательностей, включая анализ временных рядов. Однако даже эти продвинутые модели сталкиваются с проблемами при работе с длинными последовательностями и долгосрочным прогнозированием.
Именно в этом контексте и появилась модель PatchTST, предлагая свежий взгляд на решение этих проблем.
Ключевые инновации PatchTST
1. Патчинг временных рядов
Центральная идея PatchTST заключается в применении техники “патчинга” к временным рядам. Это концепция, заимствованная из области компьютерного зрения, где изображения часто разбиваются на небольшие патчи для обработки. В контексте временных рядов, длинные последовательности данных разбиваются на более короткие сегменты или “патчи”.
Этот подход имеет несколько преимуществ:
- Он позволяет модели эффективно обрабатывать длинные последовательности, преодолевая ограничения, связанные с вычислительной сложностью и потребностью в памяти;
- Патчинг создает больше обучающих примеров, что особенно полезно при работе с ограниченными наборами данных;
- Эта техника помогает модели лучше улавливать локальные паттерны и зависимости в данных.
2. Архитектура на основе трансформера
PatchTST использует архитектуру трансформера, которая уже доказала свою эффективность в различных задачах обработки последовательностей. Однако, в отличие от стандартных трансформеров, PatchTST применяет механизм внимания не к отдельным временным шагам, а к патчам временного ряда. Это позволяет модели:
- Эффективно улавливать долгосрочные зависимости в данных;
- Параллельно обрабатывать различные сегменты временного ряда, что значительно ускоряет вычисления;
- Использовать преимущества самовнимания (self-attention) для выявления сложных взаимосвязей между различными частями временного ряда.
3. Канальное разделение
Еще одна ключевая инновация PatchTST — это канальное разделение. В многомерных временных рядах разные каналы (или переменные) могут иметь различные характеристики и паттерны. PatchTST обрабатывает каждый канал отдельно, применяя к нему свой собственный трансформер.
Преимущества такого подхода заключаются в том, что модель может лучше улавливать уникальные характеристики каждого канала, что позволяет более эффективно обрабатывать многомерные временные ряды с большим количеством переменных. Канальное разделение также способствует лучшей интерпретируемости модели, так как можно анализировать вклад каждого канала в итоговый прогноз.
Архитектура PatchTST в деталях
Теперь, когда мы рассмотрели ключевые инновации, давайте углубимся в детали архитектуры PatchTST.
На вход модели подается временной ряд X размерностью (B, L, C), где B — размер батча, L — длина последовательности, C — количество каналов. Временной ряд разбивается на патчи размером P. Таким образом, получается новая последовательность размерностью (B, L/P, P*C). К каждому патчу применяется линейное преобразование для получения эмбеддингов патчей.
Энкодер PatchTST построен на основе трансформера. Эмбеддинги патчей подаются на вход энкодера трансформера, а сам энкодер состоит из нескольких слоев, каждый из которых включает:
- Многоголовый слой самовнимания (Multi-Head Self-Attention);
- Слой нормализации (Layer Normalization);
- Полносвязный слой (Feed-Forward Network)
В отличие от стандартных трансформеров, PatchTST не использует позиционное кодирование, так как информация о положении данных уже содержится в патчах.
После обработки энкодером, представления патчей разделяются обратно на отдельные каналы. Для каждого канала применяется свой собственный декодер-трансформер.
Декодер также основан на архитектуре трансформера, но обычно имеет меньше слоев, чем энкодер. Выходы декодеров для каждого канала объединяются. Финальный линейный слой преобразует объединенные выходы в прогноз временного ряда.
Обучение и оптимизация
Процесс обучения PatchTST имеет несколько интересных особенностей.
PatchTST использует комбинированную функцию потерь, которая включает MSE (Mean Squared Error) для оценки точности прогноза, плюс дополнительный член регуляризации для поощрения разнообразия в представлениях различных патчей.
При обучении модели используется техника “curriculum learning”. Суть ее в следующем – модель сначала обучается на более простых задачах (краткосрочное прогнозирование), а затем переходит к более сложным (долгосрочное прогнозирование). Здесь также применяется метод “reverse distillation”, т.е. сначала обучается большая модель, а затем ее знания передаются меньшей модели для повышения эффективности.
Отдельно хочется отметить, что разработчики PatchTST уделили особое внимание оптимизации гиперпараметров, включая:
- Размер патчей;
- Количество слоев в энкодере и декодере;
- Количество голов в механизме внимания;
- Размерность скрытого состояния.
Преимущества и ограничения PatchTST
Преимущества:
- Эффективность при долгосрочном прогнозировании: PatchTST показывает превосходные результаты в задачах прогнозирования временных рядов на длительные периоды времени;
- Масштабируемость: Благодаря технике патчинга, модель может эффективно обрабатывать очень длинные временные ряды;
- Многозадачность: PatchTST можно легко адаптировать для решения различных задач, связанных с временными рядами, включая классификацию и обнаружение аномалий;
- Интерпретируемость: Канальное разделение и механизм внимания позволяют лучше понять, как модель принимает решения;
- Эффективность обучения: Патчинг и параллельная обработка ускоряют процесс обучения по сравнению с традиционными моделями для временных рядов.
Ограничения:
- Сложность модели: PatchTST требует значительных ресурсов для обучения. Иногда даже 8 Гб видеокарты может оказаться недостаточно. И в целом, эта нейросеть выглядит перегруженной и даже избыточной для простых задач или коротких временных рядов;
- Требования к данным: С датасетами меньше тысяч временных меток в эту нейросеть лезть даже не стоит – она не обучится. Для эффективного обучения модели лучше всего использовать большие датасеты;
- Чувствительность к гиперпараметрам: Производительность модели ощутимо зависит от правильного выбора гиперпараметров, что требует определенного мастерства от специалиста;
- Вычислительные требования: Как уже было сказано выше PatchTST может требовать значительных вычислительных ресурсов, особенно для очень длинных или многомерных временных рядов.
TimesFM – новейшая нейросеть от Google
Родоначальник трансформеров и BERTа компания Google не могла оставаться в стороне и тоже включилась в гонку фундаментальных моделей прогнозирования временных рядов, представив миру TimesFM – модель с 200 (!) миллиардами параметров.
Проблема построения больших моделей временных рядов заключается в нехватке данных. Трудно найти хорошие и разнообразные общедоступные данные временных рядов. К счастью, команда TimesFM использовала не только общедоступные датасеты, но и расширила обучающие данные за счет огромного числа временных меток из Google Trends и Wikipages. Итоговая модель была предварительно обучена на 100 миллиардах реальных временных точек.
Архитектурно TimesFM представляет собой модель на основе трансформеров, которая использует техники патчинга и масштабирования для прогнозирования временных рядов (рис. 3):
Как и в PatchTST данные в нейросеть TimesFM подаются патчами и проходят через декодер. Патчинг позволяет предсказывать следующие участки данных по аналогии с тем, как это делает ChatGPT, при предсказании следующего слова. Хотя, разумеется, у этих моделей колоссальная разница во всем остальном.
Патчирование полезно, потому что оно рассматривает окно временных точек как маркер, создавая богатые представления с локальной временной информацией. Это помогает TimesFM более эффективно улавливать временную динамику, что приводит к более точным прогнозам (рис. 4):
Важно также отметить, что TimesFM – это модель zero-shot прогнозирования. То есть эту модель не нужно файнтюнить, дообучать на своих данных. Концепция zero-shot основана на идее, что даже если модель не «видела» ни одного примера из конкретной задачи или области данных во время обучения, она все равно может эффективно выполнять задачи в этой области. И эта нейросеть специально спроектирована таким образом, чтобы улавливать любые закономерности во временных рядах.
TimesFM работает лучше, чем большинство классических Machine Learning моделей, таких как ARIMA, ETS, VAR, XGBoost и имеет похожие и лучшие показатели, в сравнении с мощными современными Deep Learning моделями, такими как DeepAR, PatchTST и др.
Рис. 5: Сравнение качества прогнозирования модели TimesFM с другими нейросетями
По графику выше видно, что модель TimesFM показывает меньшую Scaled MAE ошибку в прогнозах, чем большинство современных моделей, включая самые продвинутые модели глубокого обучения.
Moirai – модель предсказания временных рядов от Salesforce
Компания Salesforce является одним из лидеров мирового рынка CRM систем. Разумеется, ей приходится работать ежедневно с огромными объемами данных, которые также нужно прогнозировать. Нейронная сеть Moirai вышла в свет в 2024 году. Она также построена на патчах, как и PatchTST и TimesFM, однако отличается своей уникальной архитектурой трансформера-кодировщика, разработанной для обработки неоднородных и сложных данных временных рядов.
Ключевые особенности Moirai включают:
- Мультипатч-слои: Moirai адаптируется к нескольким частотам, обучаясь разным размерам патчей для каждой частоты;
- Внимание к любой переменной: В модели реализован особый механизм внимания, который учитывает дисперсию перестановок между каждой переменной и улавливает временную динамику между точками данных;
- Смесь параметрических распределений: Moirai оптимизирует обучение для смеси распределений, а не для гипотезы об одном распределении.
Рис. 6: Архитектура нейросети Moirai
Эта нейронная сеть также является zero-shot forecaster – т.е. ее не нужно дообучать или файнтюнить под свои данные, чем схожа с предыдущей моделью. Однако, по сравнению с TimesFM, в нейросети Moirai заложено множество новых функций для предсказания временных рядов. Здесь также значительно улучшен традиционный механизм внимания (Any-variate Attention), по заявлению разработчиков он лучше учитывает различные частоты временных рядов.
Разумеется, эффективность Moirai (как и любой другой deep learning модели) сильно зависит от качества и полноты набора данных для предварительного обучения. Moirai была предварительно обучена на датасете LOTSA, массивной коллекции из 27 миллиардов наблюдений в 9 областях. И это значительно меньше, чем у TimesFM, который был обучен на 100 миллиардах временных точек.
Вердикт: в целом Moirai – крепкий середняк, но не SOTA. Эта модель навряд-ли сможет конкурировать с монстрами PatchTST и TimesFM. Несомненным преимуществом этой модели является то, что она является open source. Вокруг Moirai в сети активно формируется сообщество и постоянно предлагаются различные идеи по ее улучшению.
Moirai довольно шустро обучается и отлично работает с почасовыми данными и делает это намного быстрее, чем другие deep learning модели, однако точность этой модели зачастую оставляет желать лучшего. Причем во временных рядах с сильной цикличностью или линейностью Moirai уступает не только современным нейросетям, но и классическим статистическим моделям, таким как ARIMA, ETS, CES.
Рис. 7: Сравнение нейросети Moirai с другими моделями машинного обучения
По графику выше видно, что ансамбль классических статмоделей AutoARIMA, AutoETS, AutoETS превзошел Moirai почти во всех временных промежутках. Датасет включал в себя 100000 различных временных меток из различных сфер, так что это сравнение можно считать достаточно репрезентативным.
Тем не менее, в некоторых задачах, например в краткосрочном прогнозировании потребления электроэнергии (на 24 часа вперед), модель показывает себя очень хорошо.
Рис. 8: Прогнозирование потребления электроэнергии моделью Moirai-large
В этой задаче нейросеть Moirai предсказала временные ряды с точностью MAE=8.40, SMAPE=0.038. И это великолепно. Такие показатели ошибок в прогнозах “могут только сниться” ARIMA и другим традиционным статистическим моделям машинного обучения.
Наконец, еще одной сильной стороной Moirai является возможность многомерного прогнозирования. Мы можем добавлять в модель наблюдаемые в прошлом ковариаты или известные в будущем исходные данные (например, праздники). Таким образом, Moirai может стать прекрасным решением для случаев с временными рядами, которые могут быть дополнены внешней информацией (например, торговля, прогнозирование спроса на энергию и т. д.).
Tiny Time Mixers (TTM) – чужак среди трансформеров
Нейросеть TinyTimeMixer (TTM) разработана IBM в 2024 году и позиционируется как легкая, быстрая, нересурсозатратная, предварительно обученная модель ИИ, способная методами zero-shot forecasting прогнозировать многомерные временные ряды.
Как показал опыт, большие предварительно обученные модели часто показывают низкую эффективность при прогнозировании многомерных временных рядов (TS) из-за различных характеристик данных. В связи с этим, IBM сконцентрировала свои усилия на разработке собственной модели – TTM.
Tiny Time Mixers (TTM) – это семейство моделей, заточенных под краткосрочное прогнозирование и, в основном, на датасеты с низкой гранулярностью (от минутных до часовых). Самая компактная модель в семействе имеет всего 1M параметров. Несмотря на столь малые размеры, эта нейросеть побила в тестах множество гигантов с миллиардами параметров в задачах zero-shot forecasting.
TTM, основанная на легкой архитектуре TSMixer, включает такие инновации, как:
- адаптивный фиксинг;
- возможность выборки с различным разрешением и настройки префикса разрешения, что позволяет проводить предварительное обучение на различных разрешениях наборов данных с минимальным объемом модели;
- многоуровневое моделирование данных, позволяющее улавливать корреляции каналов и вводить внешние сигналы с их точной настройкой.
Tiny Time Mixers превосходят многие модели последних лет в задачах zero-shot forecasting на 4-40%, и при всем этом они не требуют GPU, могут эффективно обучаться на CPU и даже на ноутбуках! Все это, несомненно, делает эту модель более универсальной, чем аналоги, такие как PatchTST и TimesFM, которые крайне требовательны к вычислительным ресурсам. В некоторых задачах анализа данных разработчики отметили экономию ресурсов в 250-300 раз!
С учетом всего вышесказанного, Tiny Time Mixers имеет огромный потенциал. Уже сейчас эту нейросеть активно используют различные организации по всему миру. IBM использует TTM так же и для собственных нужд, внутри компании, для решения таких задач, как управление рабочими нагрузками, прогнозирование цен на акции и оптимизация производства.
Архитектура модели
TTM – это нейросеть, но не модель-трансформер! И это удивительно, в эпоху доминирования трансформеров практически во всех областях ИИ.
Что же тогда у этой модели “под капотом”? Давайте посмотрим:
- Это несколько полносвязных слоев NN вместо механизма Attention. Вот где появляется такой буст в скорости и нетребовательности к компьюту;
- В качестве основы заложен алгоритм patchTSMixer (прорывная модель временных рядов, также разработанная IBM). По названию алгоритма нетрудно догадаться что здесь также задействованы патчи;
- TTM использует временное смешение для моделирования дальних зависимостей в данных временных рядов. Он отражает взаимодействие между удаленными временными точками с помощью комбинации локальной и глобальной информации;
- Модуль Multi-Scale Aggregation (агрегация на нескольких временных масштабах). Этот модуль отвечает за обработку данных на разных временных интервалах. Для временных рядов очень важно учитывать как краткосрочные изменения, так и долгосрочные тренды. В TTM это достигается за счет объединения информации, обработанной на разных временных масштабах (например, минутные и часовые интервалы);
- Проекционный слой (Projection Layer). Этот слой преобразует входные данные в скрытое пространство меньшей размерности, что позволяет эффективно сжимать информацию, не теряя ее информативности;
- Слой нормализации (Normalization Layer). Включение слоя нормализации помогает стабилизировать обучение и улучшить сходимость модели. Нормализация сглаживает колебания в активации нейронов и помогает предотвратить проблемы с градиентами при обучении на временных рядах большой длины;
- Слой предсказания (Prediction Layer). Последний слой модели используется для финальной обработки скрытых представлений и получения предсказаний. Обычно этот слой линейный, и на его основе строятся прогнозы, например, значения временного ряда в следующий момент времени или на более длительный период.
На рисунке 9 показан верхний уровень архитектуры TTM:
В алгоритмах модели заложены 2 фазы: предварительное обучение и тонкая настройка:
- На этапе предварительной подготовки модель обучается только на одномерных временных рядах, используя историческую информацию и локальные сезонные закономерности;
- На этапе тонкой настройки модель получает многомерные данные и изучает их взаимозависимость – за счет включения процесса смешивания каналов.
Во время тонкой настройки основные слои остаются замороженными, что значительно ускоряет процесс обучения нейросети. При желании модель может использовать будущие известные ковариаты, активируя экзогенный микшер (Exogenous Mixer) для повышения производительности (показано на рис. 10).
Рис. 10: Прогнозирование временных рядов моделью TTM
Семейство Tiny Time Mixers включает в себя несколько моделей сразличными размерами параметров, длиной контекста (sl) и длиной прогноза (fl):
- TTM-Base (TTM_B): 1M параметров, sl = 512, pl = 64;
- TTM-Enhanced (TTM_E): 4M параметров, sl = 1024, pl = 128;
- TTM-Advanced (TTM_A): 5M параметров, sl = 1536 и pl = 128;
- Quick-TTM (TTMQ): 2 варианта: sl/pl = (512,96) и (1024,96).
По утверждениям разработчиков, в тестах на бенчмарках, в основном, сравнивали TTM-Base, остальные модели работают даже лучше. Также хочу отметить, что в TTM заложен встроенный анализ feature importance, что встречается крайне редко в моделях, заточенных на прогнозирование временных рядов:
Рис. 11: Тепловая карта важности признаков обучения модели TTM
На рисунке выше мы наблюдаем тепловую карту внимания канала датасета UCI, связанного с шерингом велосипедов (один из наборов данных с экзогенными переменными, где оценивался TTM). По ней сразу становится понятно, какие фичи принесут наибольший вклад в обучение модели.
В целом, TTM – это выдающаяся модель. Ее подход, заключающийся в отказе от использования тяжелых трансформеров, открывает двери для многих интересных возможностей. И, кто знает? Возможно, Tiny Time Mixers зададут свой вектор развития моделей предсказания временных рядов.
Moment – универсальное cемейство быстрых open-source моделей
Предварительное обучение больших моделей на данных временных рядов является сложной задачей из-за ряда проблем:
- Отсутствия большого и целостного общедоступного хранилища временных рядов;
- Различных характеристик временных рядов, которые делают обучение на нескольких наборах данных обременительным;
- Экспериментальные эталоны для оценки этих моделей, особенно в сценариях с ограниченными ресурсами, временем и наблюдением, все еще находятся на стадии зарождения.
Чтобы решить эти проблемы, разработчики собрали большую и разнообразную коллекцию публичных временных рядов, названную Time Series Pile, и систематически решают с ней специфические задачи анализа временных рядов. На основании этих данных и были обучены модели Moment-1, Moment-2 и др.
Это семейство моделей также появилось в 2024 году и относится к классу трансформеров. Нейронные сети Moment “под капотом” имеют трансформерную архитектуру, которая принимает на вход сегменты временных рядов, маскирует их и восстанавливают с помощью головы предсказания (head).
Модель способна работать как с унивариативными, так и с многовариативными временными рядами. В отличие от предыдущих моделей, нейросеть Moment функционирует как модель временных рядов общего назначения. Она может решать задачи как прогнозирования, так и классификации, обнаружения аномалий.
Разработчики Moment взяли за основу архитектуры 2 мощных нейросетей: GPT4TS и TimesNet и, по собственным заявлениям, значительно улучшили их характеристики. Нейронная сеть Moment превосходит GPT4TS и TimesNet в задачах классификации и обнаружения аномалий, даже без использования меток данных. В задачах прогнозирования на длинные горизонты MOMENT также показывает лучшие результаты на большинстве наборов данных.
Рис. 12: Сравнение точности прогнозов модели Moment с другими моделями
Как видно из таблицы выше по показателям средней квадратичной ошибки (MSE) и средней абсолютной ошибки (MAE) в долгосрочном прогнозировании временных рядов Moment показывает впечатляющие результаты, уступая лишь более “тяжелой” PatchTST.
Преимущества моделей Moment по сравнению с другими моделями предсказания временных рядов:
- Эта нейронная сеть разработана для работы с разнообразными временными рядами и успешно решает задачи без значительного количества обучающих данных (например, zero-shot и few-shot);
- Маскированное обучение представлений помогает улучшить прогнозирование и восстановление пропусков во временных рядах, что делает эту нейросеть более универсальной, чем аналоги;
- Легковесность модели позволяет проводить быстрое обучение при ограниченных вычислительных ресурсах.
Особенности архитектуры
Как и все современные time series forecasting модели, подача данных в слои Moment осуществляется патчами. Нейросеть считывает подпоследовательности временных точек как лексемы, что повышает скорость вывода. Во время предварительного обучения модель нормализует временные точки и преобразует их в эмбеддинги. Эти эмбеддинги затем обрабатываются для восстановления исходных временных точек.
Таким образом, процесс предварительного обучения напоминает процесс обучения BERT, в котором части входных данных случайным образом маскируются, и модель обучается оптимально восстанавливать их.
Рис. 13: Верхнеуровневая архитектура нейросети Moment во время предварительного обучения
Семейство Moment представлено 3 базовыми моделями, обученных на энкодере T5: T5-Small (40M), T5-Base (125M) и T5-Large (385M). Они были предварительно обучены на различных наборах данных (Time-Series Pile), что позволило модели научиться хорошо обобщать данные, в т.ч. те, которые она не разу не видела.
Есть еще Moment-LP – семейство тонко настроенных моделей для конкретных задач, которые показали многообещающие результаты в бенчмарках, где они часто превосходили более крупные и сложные модели.
Таким образом, Moment можно охарактеризовать как универсальную, легкую модель предикции временных рядов, идеально подходящую для многоцелевых сценариев. Ее высокая производительность, особенно в условиях ограниченных ресурсов, делает ее ценным инструментом в анализе временных рядов.
Заключение
В этой статье мы рассмотрели множество моделей предсказания временных рядов, рассмотрели как эволюционировали модели, что являлось причинами перехода от одних архитектур к другим. Особенный интерес, разумеется, был прикован к новейшим моделям прогнозирования временных рядов, их особенностям, результатам, архитектуре.
Мы увидели как трансформеры изменили отрасль. Есть все основания полагать, что описанные модели временных рядов станут на долгие годы стандартами отрасли и окажут значительное влияние на практические приложения. Подобно тому, как GPT сегодня стал стандартом для генерации текста, нейросети для временных рядов тоже могут “вывести своего чемпиона” – одна из описанных моделей также может стать культовой и общеизвестной, тем более что до сих пор в мире накоплено огромное количество задач прогнозирования, где точность решений пока что весьма далека от идеала.
Разумеется, все вышеописанные модели еще не такие прорывные как GPT, еще не изобретено универсальной модели прогнозирования, которая могла быть решать задачи так же универсально, с любыми наборами данных, с любыми форматами. Еще есть еще куда стремиться.
Однако хорошая новость заключается в том, что индустрия разработки таких нейросетей почти полностью перешла в open source. А это значит что прогресс исследований и разработок в этой области в ближайшем будущем только ускорится. И совсем скоро мы увидим еще более точные и совершенные time series модели.