Несколько слов о самых горячих моделях в этой области

Машинное обучение — это заведомо сложная область, которую практикуют как ученые, так и отрасли, постоянно совершенствуя свои эталоны и порождая интересные идеи и подходы к решению проблем.

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

По этой причине иногда может быть немного сложно идти в ногу с новейшими архитектурами; в этой статье мы исследуем самые последние успехи в области прогнозирования временных рядов, класс задач прогнозирования с особым статусом из-за временного измерения.

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

Все, везде, все сразу

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

Модели такого рода становятся все более распространенными с каждым днем, используя изобилие данных, которые мы сегодня имеем во многих областях, и решаем проблемы, когда нам нужны конкретные прогнозы для отдельных небольших наборов данных; тогда как раньше мы могли только надеяться на предсказание на более высоком, агрегированном уровне.

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

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

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

Например, данные о продажах из разных магазинов одной и той же компании можно рассматривать как похожие, поскольку многие переменные, влияющие на процессы генерации данных, одинаковы (одинаковые продукты, цены, маркетинг…).

Тем не менее, многие другие переменные (местоположение, местные привычки клиентов…) различают каждую серию таким образом, что модели трудно обнаружить, и поэтому нам нужно кодировать эти переменные в качестве входных данных.

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

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

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

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

  • иметь много связанных наборов данных для прогнозирования, все из которых получены из аналогичных процессов и демонстрируют схожие закономерности;
  • много знать о них, особенно в том, чем они похожи и чем они отличаются.

Несколько интересных моделей

Прогнозирование временных рядов — особенно хорошо подходящая задача для глобальных моделей [1][2], поскольку нередко приходится иметь много связанных временных рядов, часто в фиксированной реляционной структуре: данные от клиентов компании, датчики в системной сети, движение в разных местах...

В то же время нейронные сети оказались идеальными глобальными моделями из-за их способности обрабатывать любые типы ковариатных функций и их общей склонности к огромным сложным наборам данных.

Поэтому неудивительно, что сочетание глубокого обучения, прогнозирования временных рядов и больших данных в последние годы нашло такую ​​благодатную почву как в академических, так и в отраслевых исследованиях.

Без претензии на полноту, вот некоторые из наиболее интересных результатов этого астрального соединения.

Обратите внимание, что результаты и сравнительный анализ для каждой из этих моделей можно найти в упомянутых документах; нас интересует не столько этот аспект, сколько новизна и остроумие любого из этих подходов.

DeepAR

DeepAR [3] – это модель глубокого обучения, основанная на рекуррентных сетях и предназначенная для изучения авторегрессионного представления целевого временного ряда.

В частности, это многослойная сеть ячеек LSTM со структурой кодер-декодер, которая служит для суммирования на каждом этапе обучения информационного вывода ячеек в его прошлом (называемого диапазоном кондиционирования) и делает его доступным для прогнозирования. его будущее (диапазон предсказания).

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

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

DeepAR, конечно же, оснащен динамическими ковариатами, такими как функции календаря, и статическими: это те самые ярлыки, которые мы должны прикрепить к каждой серии, если мы хотим обучить единую глобальную модель.

Для получения более подробной информации о внутренней работе этой модели, например, об умном способе обработки рядов, имеющих разные масштабы, мы отсылаем к оригинальной статье [3].

StemGNN

Нейронная сеть Spectral Temporal Graph [4] представляет собой инновационный и умный дизайн для глобальной модели, которая совместно изучает межсерийные и внутрисерийные корреляции.

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

Хотя выполнение преобразований Фурье для ряда во временной области является классической и простой техникой, нам необходимо понять, что вообще означает выполнение этого для всех рядов в фиксированное время.

Действительно, первый уровень StemGNN, называемый слой скрытой корреляции, берет весь набор данных и возвращает график, где узлы представляют собой временные ряды, а взвешенные ребра — это корреляционные отношения между ними, которые были выведены самим уровнем.

Этот слой состоит из ГРУ [9] и механизма самоконтроля, но его также можно удалить, если знание предметной области предполагает использование вместо него определенного представления графа; например, можно связать ряды, используя те же метки, которые будут переданы другим моделям как статические ковариаты.

После этого модель последовательно применяет несколько идентичных блоков, выполняющих преобразования Фурье, к графическому представлению набора данных как в графовой области (GFT), так и во временной области (DFT) каждой серии (которая является узлом в график); кроме этого, сверточные блоки изучают информацию, раскрытую этими преобразованиями, прежде чем инвертировать их, чтобы вернуться к исходным доменам.

Эти блоки являются основной новой частью этой архитектуры, и их метко называют блоками StemGNN. Их внутренняя работа на самом деле очень сложна, поэтому за подробностями мы отсылаем к статье [4].

Для наших целей достаточно сказать, что применение свертки спектрального графа после DFT и GFT позволяет нам совместно изучать закономерности, возникающие в спектральном представлении каждой серии, а также в спектрально-матричном представлении корреляционного графа.

Наконец, блоки StemGNN применяются остаточным образом, так что каждый блок может углубляться в шаблоны, оставленные предыдущими. Это мощная техника, также широко используемая в [4].

DSSM

Модели глубокого пространства состояний [5] — это новая идея, которая сочетает в себе глубокое обучение и модели пространства состояний, чтобы использовать преимущества обоих подходов.

Модели пространства состояний (SSM)[7][8] представляют собой семейство классических статистических моделей для прогнозирования, включая пресловутые методы ARIMA и экспоненциального сглаживания.

Они особенно подходят, когда временной ряд хорошо охарактеризован из-за возможности делать структурные предположения в модели и создавать ее, выбирая ее компоненты и функции.

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

Идея авторов DSSM состоит в том, чтобы затем совместно изучить параметры SSM через рекуррентную нейронную сеть, поглощающую все ряды и их ковариаты: термин «совместно» здесь относится к тому факту, что, хотя каждый ряд будет иметь разные SSM со своими параметрами, метапараметры нейронной сети являются общими на протяжении всего процесса обучения.

Другими словами, одна RNN, обученная во всех сериях, учится назначать разные параметры SSM для каждой серии в качестве задачи метаобучения.

Подобные модели, сочетающие машинное обучение и классические статистические методы, в этом контексте называются гибридными моделями.

В рабочем режиме при обучении сеть, подобная LSTM, выводит параметры SSM, которые передаются в функцию правдоподобия, которая зависит от конкретной модели SSM этой серии вместе с известными наблюдениями; затем максимизируется вероятность обновления параметров LSTM.

Аналогичным образом при выводе DSSM вычисляет распределение вероятностей состояния SSM на последнем этапе обучения, используя известные значения ряда и изученные параметры в обучающем наборе; эта вероятность представляет собой как знание, так и наилучшую оценку, полученную моделью о состоянии, в котором мы находимся. Используя эту вероятность, модель затем разворачивает любое количество прогнозов в подходе Монте-Карло, рекурсивно используя SSM с параметрами, заданными RNN при выводе.

ДипГЛО

Наконец, еще одна интересная гибридная модель: DeepGLO [6], по словам авторов, представляет собой «модель глубокого прогнозирования, которая мыслит глобально, а действует локально».

Это комбинация классической модели матричной факторизации, сверточной сети (ТСС) для ее регуляризации и другой, независимой локальной СТС, действующей на каждый ряд и на выход первой модели.

Функция, которая отличает DeepGLO от многих конкурентов, заключается в одновременном использовании всех временных рядов не только при обучении, но и при выводе.

Еще раз процитируем авторов: «Например, при прогнозировании фондового рынка может быть полезно посмотреть на прошлые значения Alphabet, а также цены акций Amazon, а также прогнозировать цену акций Apple. Точно так же при прогнозировании розничного спроса можно использовать прошлые значения аналогичных товаров при прогнозировании будущего для определенного товара».

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

То, как работает матричное произведение, делает так, что каждый фактор будет разделять одно из измерений исходной матрицы: если мы обозначим это как Y, имеющее форму (n, t + тау) (мы уже разделяем измерение времени для обучения и тестирования целей) множители F и X будут соответственно (n, k) и (k, t + тау), где k некоторое число, которое обычно много меньше n.

См. следующий рисунок для более четкого изображения размеров разложения.

По сути, X можно рассматривать как кодирование глобальной информации в k базовых рядов , которые имеют длину, равную исходным, а F содержит коэффициенты, которые дают исходный ряд как линейную комбинацию базисных.

Гибридизация этой модели со сверточной сетью довольно сложна, и мы обратимся к [6] для тех, кто интересуется деталями; Короче говоря, сеть используется в качестве регуляризатора, что означает, что она поощряет процесс факторизации для выдачи базисных рядов, которые близки к тому, что предсказывает сеть.

Факторизация и сверточная сеть обучаются совместно на чередующихся шагах; при выводе сеть предсказывает будущие значения базисного ряда, начиная с значений, полученных в результате факторизации, и умножая их на матрицу коэффициентов, дает окончательные глобальные прогнозы.

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

Заключение

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

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

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

Ведутся споры о том, что принципиально лучше: глобальное или локальное [1][2], классическое или гибридное или чистое глубокое обучение [10][11][12].

Можно возразить, что все зависит от имеющейся у нас информации как о процессе генерации данных, так и о его фактической реализации (временных рядах); первый должен помочь нам выбрать лучший класс функций для задачи, то есть алгоритм, а второй должен помочь ему найти лучшую функцию в классе (результат обучения).

Как обычно, количество и качество априорной информации должны коррелировать со сложностью и специфичностью модели.

[1] H. Hewamalage и др., Глобальные модели для прогнозирования временных рядов: имитационное исследование (2021).

[2] П. Монтеро-Мансо и др., Принципы и алгоритмы прогнозирования групп временных рядов: локальность и глобальность (2021).

[3] Д. Салинас и др., DeepAR: вероятностное прогнозирование с авторегрессионными рекуррентными сетями (2019).

[4] Д.Као и др., Нейронная сеть спектрального временного графа для многомерного прогнозирования временных рядов (2020).

[5] Д. Рангапурам и др., Модели глубокого космоса для прогнозирования временных рядов (2018).

[6] Р. Сен и др., Думай глобально, действуй локально: подход глубокой нейронной сети к прогнозированию многомерных временных рядов (2019).

[7] Р. Дж. Хайндман и др., Прогнозирование с экспоненциальным сглаживанием: подход пространства состояний (2008).

[8] М. Аоки, Моделирование пространства состояний временных рядов (1990).

[9] А. Чжан и др., Погружение в глубокое обучение (2020).

[10] С. Макридакис и др., Статистические методы прогнозирования и машинного обучения: проблемы и перспективы (2018).

[11] Б. Н. Орешкин и др., N-BEATS: анализ расширения нейронной базы для прогнозирования интерпретируемых временных рядов (2019).

[12] К. Бенидис и др., Глубокое обучение для прогнозирования временных рядов: учебник и обзор литературы (2018).