Chronos от Amazon: революция в обработке временных рядов. Часть 2
Итак, друзья, продолжаем тему прогнозирования временных рядов с помощью Chronos.
Напомню, что Chronos это фреймворк от компании Amazon — простой, но эффективный фрэймворк для предобученных вероятностных моделей временных рядов.
Chronos токенизирует значения временных рядов с помощью масштабирования и квантования в фиксированный словарь и обучает существующие архитектуры языковых моделей на основе трансформеров на этих токенизированных временных рядах с использованием функции потерь кроссэнтропии. Chronos был предобучен на основе семейства T5 (размеры от 20M до 710M параметров) на большом количестве общедоступных наборов данных, дополненных синтетическим набором данных, который сгенерировали с помощью гауссовских процессов для улучшения обобщения.
В этой статье я не буду подробно рассказывать, как устроен Chronos и на чем он предобучен. Вся эта информация изложена в моей предыдущей статье (Часть 1). Здесь мы попробуем применить его на общедоступных данных на примере прогнозирования котировок акций компаний из индекса Dow Jones (общедоступный датасет на Kaggle), а также на данных одного крупного российского перевозчика.
По биржевым данным цель была проста, посмотреть, как новый инструмент справляется с задачей предсказания цены акции. А на данных с железной дороги в качестве цели исследования выбрали построение прогнозов по количеству отступлений, называемых просадка пути. Многие из вас ездили поездом, и вот когда качает, это зачастую и есть просадки. Отступление довольно часто и быстро возникающее, влияет на безопасность движения, плавность хода и скорость. И предприятиям, обслуживающим путь, полезно оценивать при планировании, сколько таких отступлений предстоит устранять в следующем месяце. Данные брали посуточные, для десяти случайно выбранных предприятий. Временной период в 4 года, из них 1 месяц для тестирования. Посуточные показатели суммировали до месяца. В случае Dow Jones, пытаемся предсказать цену закрытия акции посуточно на 12 точек вперед.
Для наших экспериментов на корпоративных данных мы выбрали модель large (на графиках обозначена красной линией), Индекс Dow Jones прогнозировали с помощью base-версии Chronos. В качестве бэйзлайна в обоих случаях скользящее среднее с окном 20 точек (на графиках черная линия).
Начнем с акций Dow Jones:
Рис. 1 — Прогноз для AAPL (Apple)
Рис. 2 — Прогноз для BA (Boeing)
Рис. 3 — Прогноз для CAT (Caterpillar)
Рис. 4 — Прогноз для CSCO (Cisco Systems)
Рис. 5 — Прогноз для CVX (Chevron)
Рис. 6 — Прогноз для DIS (Walt Disney)
Рис. 7 — Прогноз для GE (General Electric)
Рис. 8 — Прогноз для GS (Goldman Sachs)
Рис. 9 — Прогноз для HD (Home Depot)
Рис. 9 — Прогноз для IBM (IBM)
Рис. 10 — Прогноз для INTC (Intel Corporation)
Рис. 11 — Прогноз для JNJ (Johnson & Johnson)
Рис. 12 — Прогноз для JPM (JP Morgan)
Рис. 13 — Прогноз для KO (Coca Cola)
Рис. 14 — Прогноз для МММ (3M Company)
Рис. 15 — Прогноз для MCD (MacDonald’s)
Рис. 16 — Прогноз для PFE (Pfizer)
Рис. 17 — Прогноз для NKE (Nike)
Рис. 18 — Прогноз для MSFT (Microsoft)
Рис. 19- Прогноз для UNH (UnitedHealth Group)
Рис. 20- Прогноз для TRV (Travelers Companies)
Рис. 21 — Прогноз для PG (Procter & Gamble)
Рис. 22 — Прогноз для V (Visa)
Рис. 23 — Прогноз для XOM (Exxon Mobil Corporation)
Рис. 24 — Прогноз для WMT (Walmart Inc)
Рис. 25 — Прогноз для VZ (Verizon Communications Inc.)
Рис. 26 — Прогноз для MRK (Merck & Co., Inc.)
Рис. 27 — Прогноз для AXP (American Express Company )
Метрики модели и бэйзлайна по компаниям индекса Dow Jones
На полученных графиках заметно, что Chronos на трендовых движениях строит прогноз гораздо лучше, чем скользящее среднее, которое априори имеет задержку, при этом в боковом движении он не проигрывает.
Графики предсказаний на данных российского перевозчика.
Рис. 30 — Прогноз для Предприятия 1
Рис. 31 — Прогноз для Предприятия 2
Рис. 32 — Прогноз для Предприятия 3
Рис. 33 — Прогноз для Предприятия 4
Рис. 34 — Прогноз для Предприятия 5
Рис. 35 — Прогноз для Предприятия 6
Рис. 36 — Прогноз для Предприятия 7
Рис. 37 — Прогноз для Предприятия 8
Рис. 38 — Прогноз для Предприятия 9
Рис. 39 — Прогноз для Предприятия 10
Рис. 39 — Метрики по модели и бэйзлайну по Предприятиям 1–10
В таблице отражены результаты расчета сумм количества инцидентов за квартал по историческим данным и по историческим с предиктом за квартал. Как мы видим, по некоторым предприятиям расхождение составляет всего 0,38%, а по некоторым доходит до 38% со знаком минус (как правило в меньшую сторону). Очень наглядно картину отражает RMSE. Если мы сравним модель и бэйзлайн по этой метрике, увидим практически отсутствие разницы, а на некоторых предприятиях бэйзлайн справился даже лучше. Что можно отметить в плюс этому фреймворку, так это отличную способность прогнозировать нулевые значения (в нашем случае отсутствие инцидентов).
Какие выводы напрашиваются из нашего эксперимента. Chronos неплохо улавливает пиковые значения и тренды. Хорошо улавливает выраженную периодичность и нулевые значения. По суммарным значениям факт/предикт за квартал максимальная ошибка составила 37,64% (Предприятие 2), минимальная 0,38% (Предприятие 9).
Заключение
1.Использование архитектуры языковых моделей: Chronos основан на архитектуре T5, что позволяет ему обрабатывать временные ряды как последовательности токенов. Это позволяет выделять паттерны в данных и учитывать контекст появления паттерна, что не способны предоставить другие модели.
2.Нулевое обучение (Zero-shot learning): Chronos способен выполнять прогнозирование без необходимости в обучении и валидации, а также в дообучении моделей в проде. Это позволяет применять одну единственную модель к новым временным рядам, что является важным преимуществом в условиях изменяющихся данных.
3.Probabilistic forecasting: Модели Chronos могут генерировать вероятностные прогнозы, что дает возможность учитывать неопределенность и вариативность в данных. Это особенно полезно для бизнес-приложений, где важно понимать диапазон возможных исходов.
4.Адаптивность к различным типам данных: Chronos хорошо справляется с различными характеристиками временных рядов, включая сезонность и тренды, что делает его универсальным инструментом для анализа данных в разных областях, таких как финансы, продажи и управление запасами.
5.Масштабируемость: Chronos позволяет эффективно обрабатывать большое количество временных рядов одновременно, что решает проблему, связанную с необходимостью создания отдельных моделей для каждого ряда, что может быть ресурсоемким и неэффективным.
Эти преимущества делают Chronos мощным инструментом для прогнозирования временных рядов, способным конкурировать с более традиционными методами и обеспечивать более точные и надежные прогнозы.