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

Не забудьте ПОДПИСАТЬСЯ здесь, чтобы не пропустить новые статьи на темы науки о данных, проекты, руководства и многое другое!

Подготовка

Ландшафт прогнозирования временных рядов резко изменился за два года.

Четвертое и пятое в серии M-соревнований Makridakis (более известных как соревнования M4 и M5 соответственно) состоялись в 2018 и 2020 годах. Для тех, кто не знает, эти М-конкуренции, по сути, являются статус-кво для экосистемы временных рядов, предлагая эмпирические и объективные данные, которые определяют теорию и практику прогнозирования.

Результаты конкурса M4 в 2018 году показали, что чистые методы «ML» в значительной степени уступают традиционным статистическим подходам. Это было неожиданно, учитывая, что глубокое обучение уже оставило неизгладимый отпечаток в других областях, таких как компьютерное зрение и НЛП. Однако два года спустя в конкурсе M5[1] с более творческим набором данных на первые места были отправлены только методы ML. Чтобы быть более точным, все 50 наиболее эффективных методов были основаны на машинном обучении. Это соревнование ознаменовалось появлением универсального LightGBM (используемого для прогнозирования временных рядов) и дебютом Amazon DeepAR[2] и N-BEATS[3]. Модель N-BEATS, выпущенная в 2020 году, опередила победителя конкурса M4 на 3%!

Недавний конкурс Прогнозирование давления вентилятора на Kaggle продемонстрировал важность использования методов глубокого обучения для решения реальных задач временных рядов. В частности, цель конкурса состояла в том, чтобы предсказать временную последовательность давления в механическом легком, учитывая временной ряд управляющих входных данных. Каждый обучающий экземпляр был, по сути, собственным временным рядом, поэтому задача представляла собой проблему с несколькими временными рядами. Команда-победитель представила многоуровневую глубокую архитектуру, которая включала, среди прочего, сеть LSTM и блок Transformer.

За последние несколько лет было опубликовано много известных архитектур, таких как Многогоризонтальный квантильный рекуррентный прогнозист (MQRNN) и Модели состояния глубокого космоса (DSSM). Все эти модели используют глубокое обучение, чтобы внести много новшеств в область прогнозирования временных рядов. Однако, помимо победы в соревнованиях Kaggle, есть и другие факторы, такие как:

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

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

  1. N-BEATS (ElementAI)
  2. DeepAR (Амазонка)
  3. Форматор пространства-времени[4]
  4. Temporal Fusion Transformer или TFT (Google) [5]

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

N-УДАРОВ

Эта модель была разработана (к сожалению) недолговечной компанией ElementAI, соучредителем которой был Йошуа Бенджио. Архитектура верхнего уровня вместе с ее основными компонентами показана на рис. 1:

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

Каждый последующий блок моделирует только остаточную ошибку из-за восстановления обратного прогноза из предыдущего блока, а затем обновляет прогноз на основе этой ошибки. Этот процесс имитирует метод Бокса-Дженкинса при подгонке моделей ARIMA.

Вот основные преимущества модели:

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

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

Двойной остаточный стек.Идея остаточных соединений и стекирования настолько блестящая, что она используется почти во всех типах глубоких нейронных сетей, таких как глубокие конвнеты и преобразователи. . Тот же принцип применяется в реализации N-BEATS, но с некоторыми дополнительными изменениями: каждый блок имеет две остаточные ветви, одна проходит через окно ретроспективного анализа (называемое backcast) и другой через прогнозируемое окно (называемое прогноз).

Каждый последующий блок моделирует только остаточную ошибку из-за восстановления обратного прогноза из предыдущего блока, а затем обновляет прогноз на основе этой ошибки. Это помогает модели лучше аппроксимировать полезные ретроспективные сигналы, в то время как окончательный прогноз стек-прогноз моделируется как иерархическая сумма всех частичных прогнозов.Интересно, что этот процесс имитирует Метод Бокса-Дженкинса при подборе моделей ARIMA.

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

Примечание.исходная реализация N-BEATS работает только с одномерными временными рядами.

DeepAR

Новая модель временных рядов, сочетающая в себе характеристики глубокого обучения и авторегрессии. Представление верхнего уровня DeepAR показано на рис. 2:

Вот основные преимущества модели:

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

Богатый набор входных данных.Помимо исторических данных, DeepAR также позволяет использовать известные будущие временные последовательности (характеристика авторегрессионных моделей) и дополнительные статические атрибуты для рядов. В вышеупомянутом сценарии прогнозирования спроса на электроэнергию дополнительной временной переменной может быть month (в виде целого числа со значениями от 1 до 12). Очевидно, что, учитывая, что каждый клиент связан с одним датчиком, который измеряет энергопотребление, дополнительная статическая переменная будет иметь вид sensor_id или customer_id.

Автоматическое масштабирование. Если вы знакомы с прогнозированием временных рядов с использованием архитектур нейронных сетей, таких как MLP и RNN, одним из важнейших шагов предварительной обработки является масштабирование временной последовательности с использованием метода нормализации или стандартизации. В DeepAR нет необходимости делать это вручную, так как внутренняя модель масштабирует входные данные авторегрессии z каждого временного ряда i с коэффициентом масштабирования v_i , который представляет собой просто среднее значение этого временного ряда. . В частности, уравнение коэффициента масштабирования, используемое в бенчмарках статьи, выглядит следующим образом:

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

Вероятностное прогнозирование.DeepAR делает вероятностные прогнозы вместо прямого вывода будущих значений. Это делается в виде образцов Монте-Карло. Кроме того, эти прогнозы используются для расчета квантильных прогнозов с помощью функции квантильных потерь. Для тех, кто не знаком с этим типом потерь, квантиль потерь используется для расчета не только оценки, но и интервала прогнозирования вокруг этого значения.

Пространство-времяформер

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

Другими словами, модель будет учитывать как временные, так и пространственные отношения. Это основная идея Spacetimeformer.

Мы также могли бы сделать еще один шаг вперед и использовать модель, которая использует пространственные отношения между этими городами/местоположениями, чтобы изучить дополнительные полезные зависимости. Другими словами, модель будет учитывать как временные, так и пространственные отношения. Это основная идея Spacetimeformer.

Углубление в пространственно-временные последовательности

Как следует из названия, в этой модели используется конструкция на основе трансформатора под капотом. В прогнозировании временных рядов с помощью моделей на основе преобразователя популярный метод создания встраивания с учетом времени заключается в передаче входных данных через Time2Vec[6]встраивающий слой (напоминаем, что для задач НЛП вместо Time2vec используется вектор позиционного кодирования, который создает контекстно-зависимые вложения). Хотя этот метод действительно хорошо работает для одномерных временных последовательностей, он не имеет никакого смысла для многомерных входных временных данных. В языковом моделировании каждое слово предложения представлено встраиванием, а слово по существу является понятием, частью словаря.

В контексте многомерного временного ряда на заданном временном шаге t входные данные имеют форму x_1,t , x_2,t , x_m,t, где x_i,t — числовое значение признака i, а m — общее количество признаков/последовательностей. Если мы пропустим входные данные через слой Time2Vec, будет создан вектор внедрения времени. В таком случае, что на самом деле представляет это вложение? Ответ заключается в том, что он будет представлять весь набор входных данных как единую сущность (токен). Следовательно, модель будет изучать только временную динамику между временными шагами, но пропустит пространственные отношения между функциями/переменными.

Spacetimeformer решает эту проблему, объединяя входные данные в один большой вектор, называемый пространственно-временной последовательностью. Если входные данные состоят из N переменных, организованных в T временных шагов, сгенерированная пространственно-временная последовательность будет иметь (NxT) маркеров. Это лучше видно на Рисунке 3:

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

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

Преобразователь временного слияния

Temporal Fusion Transformer (TFT) – это основанная на преобразователе модель прогнозирования временных рядов, опубликованная Google. Если вам нужен более тщательный анализ этой удивительной модели, проверьте этот пост.

TFT более универсален, чем предыдущие модели. Например, DeepAR не работает с функциями, зависящими от времени, которые известны только до настоящего времени.

Архитектура верхнего уровня TFT показана на рис. 4.Ключевые преимущества модели:

  • Несколько временных рядов. Как и вышеупомянутые модели, TFT поддерживает построение модели на основе нескольких разнородных временных рядов.
  • Большое количество функций: TFT поддерживает 3 типа функций: i) данные, зависящие от времени, с известными исходными данными в будущем, ii) данные, зависящие от времени, известные только до настоящего времени. и iii) категориальные/статические переменные, также известные как постоянные во времени функции. Как следствие, TFT более универсален, чем предыдущие модели. Например, DeepAR не работает с функциями, зависящими от времени, которые известны только до настоящего времени. В вышеупомянутом сценарии прогнозирования спроса на электроэнергию мы хотели бы использовать уровни влажности как зависящую от времени характеристику, которая известна только до настоящего времени. Это возможно в TFT, но не вDeepAR.

Пример использования всех этих функций показан на рис. 5.

  • Интерпретируемость. TFT уделяет большое внимание интерпретируемости. В частности, используя преимущества компонента Variable Selection (показанного на рис. 4), модель может успешно измерить влияние каждой функции. Как следствие, модель запоминает важность функций.
    С другой стороны, TFT предлагает новый интерпретируемый механизм многоголового внимания: вес внимания зависит от этого Слой может показать, какие временные шаги в течение ретроспективного периода являются наиболее важными. Следовательно, визуализация этих весов может выявить наиболее заметные сезонные закономерности во всем наборе данных.
  • Интервалы прогнозирования.Подобно DeepAR, TFT выводит интервал прогнозирования вместе с прогнозируемыми значениями с помощью квантильной регрессии.

Заключительные замечания

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

Спасибо, что прочитали!

Рекомендации

[1] Макридакис и др., Конкурс точности M5: результаты, результаты и выводы, (2020)

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

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

[4] Джейк Григсби и др., Преобразователи дальнего действия для динамического пространственно-временного прогнозирования,

[5] Брайан Лим и др., Трансформаторы временного синтеза для интерпретируемого прогнозирования временных рядов с несколькими горизонтами, Международный журнал прогнозирования, сентябрь 2020 г.

[6] Сейед Мехран Каземи и др. , Time2Vec: Learning a Vector Representation of Time, июль 2019 г.