От Мойд Хассан и Сурав Хемка

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

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

Математически теперь мы можем определить проблему следующим образом:

По заданнымNодномерным временным рядам, представляющим ежедневные данные, сгенерируйте прогнозы на дни Ti, Ti+1, T i+2 … Ti+n.

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

Введение в TFT

Temporal Fusion Transformer (TFT) — это глубокая нейронная сеть, основанная на внимании, оптимизированная для превосходной производительности при прогнозировании временных рядов с несколькими горизонтами при одновременном получении интерпретируемого понимания временной динамики. Во время эталонного тестирования TFT превзошла традиционные статистические модели, включая модели на основе авторегрессивной интегрированной скользящей средней (ARIMA) и глубокой нейронной сети (DNN), такие как DeepAR, MQRNN и модели состояния глубокого космоса. ».

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

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

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

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

Архитектура TFT

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

Существует пять основных строительных блоков TFT, которые мы рассмотрим по очереди:

Механизмы блокировки

  • TFT предлагает модуль, называемый Gated Residual Network (GRN), который пропускает любой неиспользуемый компонент модели (как следует из данных), обеспечивая адаптивную глубину и сложность сети для размещения широкого диапазона наборов данных и вариантов.
  • Для некоторых данных нелинейная обработка требует понимания распределения, но для некоторых более простых моделей это может быть полезно, например, когда наборы данных малы или зашумлены. GRN дает модели гибкость для применения нелинейной обработки только там, где это необходимо. Это означает, что модели узнают об этом из данных и на их основе решат, следует ли использовать остаточное соединение, чтобы пропустить плотный слой, или использовать плотный слой.
  • GRN имеет два плотных слоя и два типа функций активации: Экспоненциальная линейная единица (ELU) и Стробируемая линейная единица (GLU). ELU используется для создания постоянного вывода, который приводит к линейному поведению слоя, в то время как GLU позволяет TFT контролировать степень вклада GRN в исходный ввод, потенциально пропуская весь слой GRN, если это необходимо.

Сети выбора переменных (VSN)

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

Статические ковариатные кодировщики

  • Эти компоненты TFT предназначены для интеграции информации из статических метаданных, используя отдельные кодировщики для создания четырех различных векторов контекста: Cs, Ce, Cc и Ch. Затем эти векторы подаются в декодеры.
  • Cs — вектор контекста для выбора временной переменной, Cc и Ch — векторы контекста для локальной обработки временных признаков, а Ce — вектор контекста, используемый для обогащения временных признаков статической информацией.
  • Статические характеристики могут оказать существенное влияние на прогнозы. Например, разные магазины могут иметь различную временную динамику продаж (в магазине в сельской местности может наблюдаться более высокая посещаемость в выходные дни, но в магазине в центре города могут наблюдаться ежедневные пиковые нагрузки в нерабочее время).

Временная обработка

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

Интервалы прогнозирования

  • При прогнозировании временных рядов прогнозирования только цели недостаточно; также важно оценить неопределенность прогнозов.
  • Когда в выходных данных TFT включен интервал прогнозирования, стандартная регрессионная функция потерь MSE/MAE становится квантильной потерей, которая определяется как:
  • Квантиль потерь: max(q* (y y_pred), (1 —q) * (y_pred —y))
  • Чтобы подробнее понять квантильные потери, обратитесь к этому блогу.

Интерпретируемость TFT

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

На приведенном ниже рисунке показано, как переменные, такие как праздники и закрытие магазинов, снижают прогнозы по сравнению с обычными днями, имитируя фактическое падение продаж.

Данные

У нас есть 140 169 одномерных временных рядов, 54 дня исторических данных для обучения модели и семь дней для прогнозирования и оценки модели для всех временных рядов. Для обучения данные были разделены на группы по 80 процентов для обучения, 10 процентов для проверки и 10 процентов для тестирования. Для максимизации вывода были использованы все временные ряды.

Оборудование

Мы используем Tesla K80 GPU с шестью ядрами и 56 ГБ оперативной памяти для обучения и логического вывода.

Структура обучения и оценки модели TFT

Для обучения мы разделили исторические данные за 54 дня на кодировщик за 47 дней и декодер за семь дней. Для вывода/оценки мы сдвигаем кодер и декодер на семь дней вперед. При выводе декодер семи дней (горизонтов) будет предсказан с помощью кодировщика 47 дней.

Показатели для сравнения TFT и Prophet

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

Средняя абсолютная ошибка (MAE)

Средняя абсолютная ошибка — это среднее значение всех абсолютных ошибок. Формула:

Где:

  • n = количество наблюдений в данных
  • ∑ = суммирование по всем наблюдениям
  • |xix| = абсолютные ошибки

Симметричная средняя абсолютная ошибка в процентах (SMAPE)

SMAPE используется в качестве альтернативы MAPE (поскольку последний налагает более серьезные штрафы за отрицательные ошибки, чем за положительные ошибки, поскольку процентная ошибка не может превышать 100 процентов) и имеет как нижнюю (0 процентов), так и верхнюю (200 процентов) границы — поэтому он называется симметричным. МАП. Формула:

Стандартное отклонение SMAPE

Стандартное отклонение SMAPE измеряет, как SMAPE, усредненный по горизонтам, распределяется по всем более чем 140 000 временных рядов.

Точность

Процент точных временных рядов относится к проценту временных рядов с менее чем 10 процентами, пятью процентами и одним процентом SMAPE, усредненным по горизонтам.

Вычислить стоимость

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

Сравнительные результаты

Чтобы понять производительность, мы смотрим на общие результаты вместе с некоторыми альтернативами.

Общие результаты

При просмотре всех 140 169 временных рядов с семидневным прогнозированием общие числа, в которых ошибки были рассчитаны по всем горизонтам без разделения, следующие:

Из этой информации мы видим следующие улучшения:

  • TFT улучшил MAE примерно на 38 процентов.
  • TFT улучшил SMAPE на 6,5%.
  • TFT снижает стоимость вычислений на 80 процентов.

Результаты по горизонтам (дни)

Мы видим следующие результаты по всем горизонтам, относящимся к SMAPE и MAE:

Из этой информации мы видим следующее:

  • SMAPE для Prophet лучше, когда горизонт прогноза невелик, при этом ошибка увеличивается по мере увеличения горизонта (дней) для прогнозирования, чего нельзя сказать о TFT, где SMAPE стабилен на всех прогнозируемых горизонтах. Кроме того, для последних четырех горизонтов SMAPE лучше подходит для TFT, чем модель Prophet.
  • MAE для TFT намного ниже модели пророка по всем горизонтам. Несмотря на то, что MAE ухудшается для TFT по мере того, как мы перемещаемся по горизонтам, дельта для TFT намного ниже, что говорит нам о том, что мы можем быть более уверены в TFT для прогноза на несколько горизонтов.

Стандартное отклонение SMAPE

Сравнение стандартного отклонения SMAPE между Prophet и TFT показывает более низкое значение для TFT:

Процент точных временных рядов

Вот несколько мер точности:

Из этой информации мы видим следующее:

  • Процент временных рядов с SMAPE, усредненным по горизонтам менее чем на 10 процентов, выше на один процент для Prophet и ниже на два процента для временных рядов со SMAPE менее пяти процентов.
  • Процент временных рядов со средним значением SMAPE менее 1 процента по горизонтам на 24 процента выше для TFT по сравнению с Prophet. Это говорит нам о том, что TFT может фиксировать закономерности в исторических данных более точно, чем модель Prophet.

Заключение

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

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

Спасибо, что прочитали эту статью. Мы приветствуем любые конструктивные отзывы, которые вы можете оставить. Пожалуйста, оставьте свой отзыв в разделе комментариев ниже. Мы также есть на LinkedIn со ссылками на наши профили в подписи в начале этой статьи.