Введение

В рамках нашего проекта Capstone в Институте науки о данных (DSI) Колумбийского университета мы хотели воспользоваться некоторыми из этих богатых знаний в рамках Конкурса прогнозирования M5, где более 7000 человек из более чем 100 стран соревновались, чтобы предоставить наиболее точные и точные прогнозы на Данные по розничным продажам Walmart. Мы (Джингвен Ду, Дэвид Шемич, Дэвид Ву) были студентами Columbia DSI с разной степенью знакомства с машинным обучением и к концу нашего проекта ушли, расширив свои знания в области эффективного машинного обучения. Приложения DL для прогнозирования временных рядов. Работая вместе с нашими наставниками из JP Morgan AI Research (Нафтали Коэн, Шриджан Суд и Чжэнь Цзэн), мы хотели обобщить и поделиться своими знаниями с более широким сообществом данных, надеясь, что они будут столь же полезны. другим.

В этом посте мы кратко рассмотрим:

  1. О чем был конкурс M5 Competition
  2. Наши ключевые выводы о приложениях для прогнозирования временных рядов ML / DL, наблюдаемых в ходе соревнований
  3. Выводы из практических экспериментов с методами, используемыми успешными участниками
  4. Как мы проводили исследование и внедрение для № 2 и № 3

Обзор конкурса и исследования

Серия M-Competition направлена ​​на развитие теории прогнозирования путем проведения публичных конкурсов для решения четко определенных реальных задач прогнозирования. Размещенный на Kaggle, M5 уделял особое внимание методам прогнозирования на основе ML и DL, предоставлял иерархически организованные наборы данных (например, мелкозернистые продажи продуктов могли быть агрегированы в крупномасштабные продажи на уровне магазина) и просил участников генерировать максимальную прибыль. точные и точные прогнозы на 28 дней будущих продаж продуктов в 10 торговых точках Walmart. Точность и точность (так называемая неопределенность в соревновании) были измерены в двух параллельных отдельных соревнованиях, в каждом из которых были награждены 5 лучших команд. Более подробную информацию можно найти в Интернете, например, в этой статье от организаторов конкурса.

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

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

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

ЛГБМ был самым популярным пакетом

В целом мы обнаружили, что усиление градиента, в частности LightGBM (LGBM), было наиболее широко используемым типом модели. Следующими наиболее распространенными моделями были архитектуры нейронных сетей, такие как N-BEATS, архитектура глубокого обучения, предназначенная для одномерного прогнозирования временных рядов, и Seq2Seq, особый подход к реализации рекуррентных нейронных сетей LSTM.

* Сокращенные названия команд, где «А» или «U» обозначают «Точность» или «Неопределенность», а число указывает рейтинг (например, «А1» означает команду, занявшую 1-е место в соревновании на точность, а «U18» 18 место в конкурсе неопределенности)

** В моделях с усилением градиента используется LGBM, если не указано иное

*** ”R” = Рекурсивное многоступенчатое прогнозирование; NR = нерекурсивное, прямое прогнозирование

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

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

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

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

Как мы это сделали

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

  1. уровни агрегации обучающих данных: уровень магазина по сравнению с уровнями магазина-продукта
  2. модели машинного обучения: нерекурсивный LGBM, N-BEATS и Seq2Seq
  3. область перекрестного обучения: все продукты магазина по сравнению с продуктами в той же категории
  4. ансамбль постобработки: усреднение по моделям против усреднения по уровням обучения

Конвейер реализации

Какая модель машинного обучения работает лучше всего?

Мы обучили данные на уровне магазина по трем моделям и сравнили прогнозы с фактическими данными о продажах в магазине. Вы можете видеть, что зеленая линия LGBM имеет тенденцию лучше отслеживать синюю линию как по форме, так и по величине, чем оранжевая линия N-BEATS и красная линия Seq2Seq.

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

Баллы по результатам модели для прогноза точности на уровне магазина

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

Мы изучили разницу в прогнозировании продаж в магазине, обучаясь историческим продажам на уровне магазина и продажам на уровне продукта, суммированным до числа на уровне магазина. Результаты показывают, что ЛГБМ снова превзошла оба сценария. Что еще интереснее, результаты показывают, что лучше прогнозировать будущие продажи магазина, обучаясь историческим продажам в магазине или, возможно, даже данным на уровне магазина из другого магазина, чем обучаясь отдельным продуктам и затем суммируя их.

Улучшает ли перекрестное обучение прогнозы?

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

В таблице ниже показаны оценки RMSE для прогнозирования продаж по 3 позициям. Эти три элемента были выбраны как репрезентативные для низкого, среднего и высокого уровней разреженности (т. Е. Доли нулевых продаж).

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

Оценки RMSE для моделей с одним продуктом и моделей с перекрестным обучением

Что мы обнаружили:

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

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

Выводы о неопределенности

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

Мы повторили этот процесс для каждого уровня и модели. Распределение остатков для каждой комбинации показано ниже.

Фактические продажи, прогнозируемые продажи и интервалы прогнозов показаны ниже.

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

Совокупность выводов: две «модели» лучше, чем одна?

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

Мы рассмотрели две стратегии ансамбля:

  1. Прогнозы среднего и общего количества товаров на уровне магазина
  2. Среднее по 3 моделям машинного обучения

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

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

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

Заключение и благодарность

На этом наш путь познания завершен. Мы надеемся, что вы также узнали что-то новое из нашего поста. Выражаем признательность нашим наставникам из J.P. Morgan AI Research, команде невероятно знающих практиков и поддерживающих стюардов, с которыми мы имели огромное удовольствие работать.

Спасибо, что нашли время прочитать наш пост! Удачного прогнозирования.