Пророк против DeepAR: прогнозирование спроса на продукты питания

В сотрудничестве с Кристианом Алби Свалесеном

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

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

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

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

В этом посте мы исследуем две модели прогнозирования: Facebook Prophet и DeepAR прогноза Amazon. Мы сочли это многообещающим, поскольку исследования Amazon утверждали, что DeepAR привел к улучшению прогнозов примерно на 15% по сравнению с текущими современными методами, в то время как Prophet позволяет быстро и чрезвычайно гибко моделировать.

Пророк Facebook

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

Вот общая формула Пророка, показывающая все различные компоненты:

Тенденция:

Компонент тренда может быть линейной или логистической функцией времени. Для моделирования непериодических изменений тренда в уравнение был введен термин a (t) ^ T, а именно точки изменения, чтобы учесть изменения в коэффициенте роста. Логистическая функция вводит термин C (t) для предотвращения бесконечного роста или отрицательного роста тренда.

Сезонность:

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

Праздники и события:

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

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

Плюсы

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

Минусы

  • Может быть непостоянным при небольшом количестве наблюдений
  • Долгосрочное прогнозирование может быть нестабильным благодаря автоматическому выбору точки изменения

Amazon DeepAR

Алгоритм DeepAR (или усовершенствованная версия DeepAR +, для простоты называемый DeepAR в этой статье), разработанный Amazon Research, адаптирует аналогичную архитектуру рекуррентной нейронной сети на основе LSTM к задаче вероятностного прогнозирования. Long Short-Term Memory (LSTM) известна своей способностью изучать зависимости между элементами в последовательности, что делает ее подходящей для задачи прогнозирования временных рядов. Он реализует серию шлюзов, в которых информация либо передается, либо забывается. Вместо того, чтобы просто передавать скрытое состояние h, он также передает долгосрочное состояние c. Это позволяет ему изучать как краткосрочные, так и долгосрочные модели временных рядов.

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

Модель DeepAR также принимает набор ковариат X, которые представляют собой временные ряды, связанные с целевым временным рядом. Кроме того, в модель предоставляется одна категориальная переменная, которая используется в качестве информации о группировках связанных временных рядов. Модели тренируют вектор внедрения, который изучает общие свойства всех временных рядов в группе. Еще одна особенность модели заключается в том, что DeepAR автоматически создает дополнительные временные ряды функций в зависимости от степени детализации целевого временного ряда. Это могут быть, например, временные ряды, созданные для «дня месяца» или «дня года», которые позволяют модели изучать зависящие от времени шаблоны.

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

Плюсы и минусы

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

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

Оценка модели

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

Для сравнения моделей мы использовали временные ряды для 1000 продуктов розничной торговли, которые варьировались от 3 месяцев до 3 лет. В случае DeepAR данные включали данные о праздниках, а также группировку продуктов по категориям розничных продуктов. Мы устанавливаем количество эпох на 500, длину контекста и длину прогноза 90 дней, оставляя значения по умолчанию для всех других гиперпараметров. В случае с Prophet модель обучалась отдельно для каждого временного ряда, включая праздники. Используемые гиперпараметры были настроены на самый популярный продукт питания и включали мультипликативную еженедельную сезонность, дополнительную годовую сезонность и высокую дисперсию для предварительного распределения обеих сезонностей.

Используя методологию перекрестной проверки с расширенным окном с горизонтом 7 дней и движущимся источником из 12 источников и размером шага 7 дней, MAPE почти большинства продуктов был значительно выше для DeepAR, чем для Prophet. Однако это нестабильная метрика, особенно потому, что некоторые из продуктов имели нулевые или близкие к нулю записи, поэтому мы визуально исследовали графики времени, чтобы сравнить оба прогноза. Наша специальная метрика также показала, что ошибки прогнозирования DeepAR приведут к несколько более высоким бизнес-расходам, чем у Prophet.

  • Общие потери с прогнозом Пророка: 890 013,29 единиц
  • Общие потери с прогнозом DeepAR: 1 502 708,56 единиц
  • Потери Prophet на 41% лучше, чем DeepAR.

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

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

Мы пришли к выводу, что Prophet выигрывает в этом упражнении по прогнозированию по следующим причинам:

  • Лучшее прогнозирование динамики спроса на продукты питания
  • Гибкость модели и простота настройки
  • Нет необходимости в большом количестве продуктов для достижения хорошей производительности
  • Нет необходимости группировать товары
  • Позволяет развертывать на любой облачной платформе