Содержание:

1. Бизнес-проблема

2. Источник данных и обзор

3. Цель

4. Тип проблемы машинного обучения

5. Показатели эффективности

6. Почему машинное обучение лучше подходит для решения этой проблемы?

7. Существующие подходы

8. Исследовательский анализ данных

9. Мой первый подход

10. Разработка функций

11. Моделирование

12. Сравнение моделей в табличном формате

13. Оценка отправки на Kaggle (1,5 % лучших заявок)

14. Окончательный конвейер

15. Модель, развернутая на EC2 (демонстрация)

16. Будущая работа

17. Ссылки

18. Гитхаб

1. Бизнес-проблема:

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

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

· Walmart, ведущая розничная сеть в США, стремится использовать свои обширные исторические данные с помощью методов искусственного интеллекта для прогнозирования продаж своей продукции на 28 дней вперед.

2. Источник данных и обзор:

2.1 Источник:

· Конкурсы М получили свое название от инициалов Макридакиса, выдающегося профессора Университета Никосии, наиболее известного своими работами в области прогнозирования, конкурсов и искусственного интеллекта.

· В 5-й итерации конкурса нам предоставляются иерархические данные о продажах Walmart с целью создания точечных прогнозов на 28 дней вперед для всех рядов данных.

· Данные собираются в течение 19 13 дней, и соревнование проводится в 2 этапа – проверка (прогноз на дни с 1914 по 1941 год) и оценка (прогноз на дни с 1942 по 1969 год).

· Соревнование M5 проводилось на Kaggle, данные можно скачать здесь.

2.2 Обзор данных:

· Набор данных содержит реальные иерархические структурированные данные о продажах, предоставленные Walmart, США.

· Есть 2 компонента данных, которые необходимо подтвердить:

1) Исторические: набор данных состоит из ежедневных данных о продажах, собранных за период в 1941 день с 2011-01-29 по 2016-06-19 (включая этап проверки).

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

· Интуитивно понятно, что данные содержат информацию о продажах 3049 продуктов, распределенных по 7 отделам по 3 категориям, которые продаются в 10 магазинах, расположенных в 3 штатах.

· Существует 12 уровней иерархии, на которых могут быть агрегированы данные, включая в общей сложности 42840 временных рядов.

· Иерархическая структура данных позволяет нам оценивать данные на макроуровне (например, состояние), а также спускаться на детальном уровне (например, продукт-магазин).

3. Цель:

· Используйте исторические данные о продажах Walmart для оценки ежедневных продаж товаров в течение следующих 28 дней.

4. Тип проблемы машинного обучения:

· Исходя из формата данных, эту задачу можно поставить следующим образом:

1) Широкий формат (каждая серия уровня 12 в одной строке): проблема регрессии с несколькими метками

2) Длинный формат (каждый день каждой серии 12 уровня в одной строке): основная проблема регрессии

5. Показатель эффективности:

· Среднеквадратичная масштабированная ошибка (RMSSE) рассчитывается для каждого временного ряда на всех уровнях, что дает нам 42840 метрических значений.

· Чтобы оценить модель, мы должны потребовать одно значение, которое может определить производительность. Поэтому вводится взвешенная среднеквадратичная масштабированная ошибка (WRMSSE), взвешенная сумма значений RMSSE всех рядов.

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

· Цель: минимизировать показатель WRMSSE.

6. Почему машинное обучение лучше подходит для решения этой проблемы?

· Традиционные методы статистического прогнозирования включают SES (простое экспоненциальное сглаживание), AR (авторегрессия), MA (скользящее среднее), ARMA, ARIMA, ARIMAX, SARIMAX и другие.

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

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

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

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

7. Существующие подходы:

Ссылка 7.1: https://medium.com/opex-analytics/hierarchical-time-series-101-734a3da15426

Обзор:

· В этой статье рассказывается о различных подходах и их плюсах и минусах при выполнении прогнозирования иерархических временных рядов.

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

· Ниже приведены 4 важных подхода к прогнозированию иерархических временных рядов:

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

2) Сверху вниз. Это включает в себя прогнозирование ряда на верхнем уровне иерархии, а затем разделение прогнозов для создания оценок для более низких уровней.

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

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

Ссылка 7.2: https://www.kaggle.com/code/kneroma/m5-first-public-notebook-under-0-50/notebook?scriptVersionId=31671308

Обзор:

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

· Это позволяет вводить функции, связанные с конкретным днем, такие как задержки, скользящие средние, праздники, дни привязки, цены в дополнение к функциям, связанным с продуктом.

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

· Для эффективной реализации регрессора LGBM X_train и y_train создаются как объект набора данных с использованием класса LGBM.

· Интуитивно это решение создает прогноз для ряда уровня 12, т. е. самого низкого уровня в иерархии, поэтому для агрегирования прогнозов используется восходящий метод и, наконец, вычисляется WRMSSE.

7.3 Ссылка: https://www.kaggle.com/code/ragnar123/very-fst-model

Обзор:

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

Ссылка 7.4: https://www.kaggle.com/code/qcw171717/other-naive-forecasts-submission-score

Обзор:

· В решении используются следующие наивные методы для прогнозирования продаж продукции:

1) Все 0

2) Среднее за всю историю

3) Среднее значение за предыдущие 10, 20, 30, 40, 50, 60 дней

4) То же, что и предыдущие 28 дней.

5) Среднее значение того же дня за все предыдущие недели

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

· Метод, в котором используются данные «То же, что и за предыдущие 28 дней», превосходит остальные с самым низким показателем WRMSSE 0,85.

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

8. Исследовательский анализ данных:

8.1 Визуализация иерархической природы данных

Наблюдения:

  • На приведенной выше диаграмме показана иерархическая структура данных: Штат -> Магазин -> Категория -> Отдел (-> Товары).
  • Всего существует 12 уровней агрегации, включая базовые блоки (Штат, Магазин, Категория, Отдел) и их комбинации.
  • Каждый уровень агрегации состоит из определенного количества временных рядов, например, уровень состояния состоит из 3 данных о продажах временных рядов, соответствующих каждому уникальному состоянию, присутствующему в данных, а именно CA, TX, WI.
  • Общее количество временных рядов по всем уровням составляет 42840.

8.2 Визуализация распределения категорий на разных уровнях

Наблюдения:

Категория:

  • 46% товаров относятся к категории ПРОДУКТЫ (большинство), что имеет смысл, поскольку большинство людей обычно посещают супермаркеты для покупки продуктов, поэтому супермаркеты, как правило, хранят больше разнообразных продуктов питания для удовлетворения потребительского спроса.
  • За ними следуют товары для дома, на которые приходится 35% товаров, что означает, что для потребителей покупки для дома находятся на следующем приоритете, поэтому супермаркеты могут сохранять большее разнообразие в этом разделе.
  • 19% товаров относятся к категории ХОББИ (минимум), что означает, что, вероятно, большинство потребителей склонны не покупать много вещей из этого раздела.

Отдел:

  • 26% товаров относятся к отделу FOODS_3, что является самым высоким показателем.
  • За ними следуют HOUSEHOLD_1 и HOUSEHOLD_2, каждая из которых состоит почти из 16 % объектов.
  • ХОББИ_2 состоят из наименьшего количества предметов (почти 3%).

Состояние и магазин:

  • Всего 3049 уникальных товаров.
  • В каждом из магазинов представлены эти 3049 уникальных товаров.
  • В Калифорнии есть дополнительный магазин, поэтому в нем больше всего товаров — 40%.

8.3 Визуализация данных о продажах на разных уровнях

8.3.1 Уровень страны

Наблюдения:

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

Наблюдения:

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

8.3.2 Уровень штата

Наблюдения:

  • Общий объем продаж в ЦА превосходит TX, WI на протяжении всего периода, что вполне логично, поскольку в ЦА 4 магазина по сравнению с TX, WI, в каждом из которых по 3 магазина.
  • В течение всего периода продажи в Техасе и Висконсине в основном совпадают.
  • 15 июня 2015 года произошел всплеск продаж TX, когда он превзошел даже продажи CA с разницей в 1,89 тыс. единиц. Это означает, что около этой даты может произойти какое-то большое событие. Кроме того, это пик продаж (то есть 18,73 тыс. единиц), который наблюдался в штате Техас.
  • При дальнейшем расследовании мы обнаружили, что одним из основных событий, произошедших в Техасе около 15 июня 2015 года, было то, что основные части Техаса пострадали от тропического шторма Билла, что могло быть причиной такого всплеска продаж. (упоминание — https://weather.com/storms/hurricane/news/tropical-storm-bill-flooding-heavy-rain-threat)

Наблюдения:

  • Кривая продаж скользящего среднего временного ряда во всех трех штатах в целом следует восходящей тенденции.
  • Наблюдается сезонный характер, когда пик продаж приходится на определенный период, который приходится на июль-октябрь (~ 3-й квартал) каждого года.
  • Восходящий тренд с сезонностью наблюдается во всех 3 временных рядах.
  • WI превосходит продажи TX за январь-март (1-й квартал) каждый год с 2013 по 2016 год.
  • В целом средние продажи в Висконсине и Техасе перекрываются для большинства временных рядов.

8.3.3 Уровень магазина

Наблюдения:

  • CA_3, TX_2 и WI_3 — самые эффективные магазины в разных штатах. Магазины CA_4, TX_1 и WI_1 наименее эффективны.
  • Продажи 24 марта 2015 года в магазине TX_2 невероятно низкие, однако в других магазинах TX продажи были значительными, вероятно, из-за какого-то крупного события. Продажи показывают внезапный всплеск на следующий день с увеличением на 45-25% по сравнению с предыдущим днем.
  • Продажи 2 февраля 2011 года в магазине WI_3 были невероятно низкими, однако в других магазинах WI продажи были значительными, вероятно, из-за какого-то важного события.
  • В ходе дальнейшего расследования мы обнаружили, что 2 февраля 2011 года в некоторых частях Висконсина произошла атака Blizzard, что могло быть потенциальной причиной низких продаж только в одном магазине в Висконсине. (кредит — https://www.fox6now.com/weather/remember-the-blizzard-of-2011-some-parts-of-se-wisconsin-saw-more-than-2-feet-of -снег)

Наблюдения:

  • CA_3 показывает тенденцию к росту с сезонностью, когда пик продаж приходится на определенный период, который приходится на июль-октябрь (примерно 3-й квартал) каждого года.
  • Трудно наблюдать закономерности во временных рядах других магазинов из-за большого количества перекрытий, поэтому мы переходим к другим графикам.

8.3.4 Уровень категории

Наблюдения:

  • В категории ПРОДУКТЫ самые высокие продажи за весь период, за ними следует ДОМАШНЕЕ ХОЗЯЙСТВО, а затем ХОББИ, которое является самым низким.
  • Это означает, что большинство потребителей совершают визит в первую очередь за продуктами.

Наблюдения:

  • Категория ПРОДУКТЫ следует восходящей тенденции с сезонностью, когда пик продаж приходится на определенный период, который приходится на июль-октябрь (примерно 3-й квартал) каждого года, за исключением первого года.
  • Категория ДОМОХОЗЯЙСТВА имеет тенденцию к небольшому росту, однако здесь не наблюдается сезонной закономерности.
  • Категория ХОББИ демонстрирует стабильную динамику на протяжении всего периода.

8.3.5 Уровень отдела

Наблюдения:

  • Отдел FOODS_3 имеет самые высокие штучные продажи за весь период, что, вероятно, означает, что продукты в этом отделе могут быть основными продуктами питания, которые потребляет практически каждый покупатель.
  • Отдел HOUSEHOLD_1 занимает второе место по объему продаж с марта 2012 г. Здесь применима та же логика, что и выше.
  • Отдел HOBBIES_2 имеет самые низкие штучные продажи за весь период, что означает, что, вероятно, этот отдел состоит из дорогих продуктов, в которые обычная публика не собирается вкладывать средства, учитывая тот факт, что, с другой стороны, отдел HOBBIES_1 делает значительные продажи.

Наблюдения:

  • Отдел FOODS_3 следует тенденции роста с сезонностью, когда пик продаж приходится на определенный период, который приходится на июль-октябрь (примерно 3-й квартал) каждого года, кроме первого года.
  • Отдел HOUSEHOLD_1 имеет тенденцию к небольшому росту, однако здесь не наблюдается сезонной закономерности.
  • Отдел FOODS_2 может следовать очень небольшой восходящей тенденции, и есть компонент сезонности, который можно наблюдать в скользящем окне = {7, 14}, где всплеск продаж приходится на 15-е число каждого месяца на протяжении всего временного ряда.
  • Отделы HOBBIES_2, FOODS_1, HOUSEHOLD_2 следуют стабильной тенденции без какой-либо значительной сезонной составляющей.

8.4 Визуализация данных о продажах на разных уровнях в разные компоненты времени

8.4.1 Рабочие дни

Уровень штата

Наблюдения:

  • В выходные дни самые высокие средние продажи во всех 3 штатах.
  • Если не считать выходных, по пятницам самые высокие средние продажи в Калифорнии и Висконсине.
  • В среднем по воскресеньям в Калифорнии продается 18,43 тыс. единиц, что выше, чем в среднем по воскресеньям в других штатах, т.е. в Техасе — 12 тыс., в Висконсине — 10,6 тыс.
  • В отличие от Калифорнии и Техаса, в Висконсине самые высокие средние продажи по субботам, а не по воскресеньям.

Уровень категории

Наблюдения:

  • Товары из всех трех категорий имеют самые высокие средние продажи только в выходные дни.
  • В отличие от HOBBIES (9K) и HOUSEHOLD (~4K), которые имеют самые высокие средние продажи в субботу, FOODS имеют самые высокие средние продажи (28,3K) в воскресенье.

8.4.2 День месяца

Уровень штата

Наблюдения:

  • В среднем CA продает 16,3 тыс. единиц в 3-й день месяца, что является самым высоким показателем для CA.
  • Точно так же Висконсин показывает самые высокие средние продажи в 11,61 тыс. единиц на 3-й день месяца, а Техас показывает самые высокие средние продажи в 10,9 тыс. единиц на 15-й день месяца.
  • Средние продажи WI и TX 15 и 31 числа месяца примерно равны друг другу.
  • WI показывает всплеск средних продаж каждые 3 дня до 15-го числа месяца.
  • Все 3 штата показывают более высокий средний уровень продаж в первой половине месяца, а затем падение во второй половине.
  • Все 3 штата показывают самые низкие средние продажи 25-го числа месяца. Такое поведение наблюдается в первую очередь потому, что продажи на Рождество (25 декабря) резко падают, что способствует снижению среднего показателя.

Наблюдения после изучения шаблонов SNAP (в следующем разделе):

  • Средние продажи в Калифорнии значительно падают после 10-го числа по той причине, что первые 10 дней каждого месяца являются днями SNAP в Калифорнии.
  • Средние продажи в Техасе также следуют модели роста и падения в течение первых 15 дней, что в основном связано со схемой дней, отведенных SNAP в Техасе.
  • Средние продажи в Висконсине также следуют модели роста и падения в течение первых 15 дней, в основном из-за схемы отведенных дней по программе SNAP в Висконсине.
  • Средние продажи TX и WI значительно падают после 15-го числа, так как это последний день месяца SNAP в обоих штатах.

Уровень категории

Наблюдения:

  • Средние продажи продуктов категории FOODS резко увеличиваются каждые 3 дня в первой половине месяца, пик приходится на 3 день месяца и составляет 26,9 тысяч.
  • Средний объем продаж продуктов категории HOUSEHOLD имеет стабильную тенденцию и достигает пика в 1-й день месяца при значении 8,5 тыс.
  • Средний объем продаж товаров категории ХОББИ имеет стабильную тенденцию, достигая максимума 3-го числа месяца со значением 3,4 тыс.

8.5 Влияние дней SNAP на продажи

8.5.1 Визуализация появления дней SNAP в разных штатах

Наблюдения:

  • CA имеет первые 10 дней месяца как дни SNAP
  • TX распределяет дни SNAP, начиная с 1-го числа месяца, по следующей схеме 1–1–3–1–3–1 с одним обычным днем ​​между каждым числом.
  • WI распределяет дни SNAP, начиная со 2-го числа месяца, по следующей схеме 2–2–2–2–2, один обычный день между каждым числом.

8.5.2 Визуализация влияния на продажи в различных категориях в дни SNAP по сравнению с обычными днями

Наблюдения:

  • Поскольку SNAP является инициативой по увеличению доступности продуктов питания для населения США, мы видим, что она сильно влияет на средние продажи продуктов категории FOODS во всех 3 штатах.
  • В штате Висконсин наблюдается увеличение средних продаж на 33% в дни SNAP, что является самым высоким показателем среди штатов, за которым следует Техас, где средний объем продаж увеличился на 17%, и, наконец, Калифорния, где средний объем продаж увеличился на 7%.

8.6 Влияние дней проведения мероприятий на продажи

8.6.1 Визуализация возникновения различных типов событий

Наблюдения:

  • Наиболее часто встречающимися типами событий являются религиозные и национальные.
  • Дней, когда 2 типа событий происходят в один и тот же день, таких как Культурное_Религиозное, Религиозное_Культурное, Спортивное_Культурное, очень мало.

8.6.2 Визуализация влияния на продажи в разных штатах по разным категориям в событиях по сравнению с обычными днями

Наблюдения:

  • Типы мероприятий Cultural_Religious, Sporting_Cultural и Sporting в ЦА демонстрируют наибольшее положительное влияние на средние продажи в категориях ПРОДУКТЫ и ХОЗЯЙСТВА по сравнению с NoEvent. Национальный тип события оказывает самое сильное негативное влияние на продажи в ЦА по категориям.
  • Типы мероприятий Cultural_Religious, Sporting_Cultural и Sporting в Техасе демонстрируют наибольшее положительное влияние на средние продажи в категории FOODS по сравнению с NoEvent. Тип мероприятия Sporting_Cultural также показывает положительное влияние на средние продажи в категориях HOBBIES, HOUSEHOLD. Национальный тип события оказывает наибольшее негативное влияние на продажи в Техасе по категориям.
  • Типы событий Sporting_Cultural и Sporting в Висконсине демонстрируют наибольшее положительное влияние на средние продажи в категории FOODS по сравнению с NoEvent. Национальное и культурное_религиозное событие оказывает наибольшее негативное влияние на продажи в Висконсине по категориям.

8.7 Распределение цен

Наблюдения:

  • На приведенном выше графике показано распределение цен в категории с учетом всех недель.
  • Продукты категории FOODS имеют самые низкие цены, 50% которых находятся в диапазоне 2,5–5 долларов США. Самый дорогой продукт в FOODS стоит около 22 долларов США.
  • Цены на 50% товаров категории HOUSEHOLD лежат в диапазоне 3–7,5 долларов США. Самый дорогой продукт в HOUSEHOLD составляет около 107 долларов США.
  • 50% цен на товары категории ХОББИ лежат в диапазоне 2–8 долларов США. Самый дорогой продукт в HOBBIES составляет около 32 долларов США.

9. Мой первый подход к обрезке:

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

  • Теперь для базовой модели (моделей) машинного обучения мы стремимся получить оценку, меньшую или равную 0,78, и чем ближе мы подходим, тем выше потенциал превзойти установленную оценку с использованием окончательной оптимизированной модели машинного обучения.
  • Мы решили сохранить данные в формате по умолчанию (т. е. в широком формате данных), что делает проблему регрессии с несколькими метками.
  • Поскольку данные имеют широкий формат, у нас есть каждый ряд уровня 12 в одной строке, что означает, что у нас есть каждый день/дата в виде столбца, в этой ситуации мы не можем ввести какие-либо функции, связанные с конкретным днем/датой.
  • Однако мы можем использовать функции, связанные с продуктом, такие как отдел, категория, магазин, штат. Мы делаем минимальную разработку функций одним горячим кодированием упомянутых категориальных функций.
  • Поскольку мы имеем дело с данными временных рядов, нам нужно убедиться, что мы разделяем данные поезда, перекрестной проверки и тестирования в хронологическом порядке.
  • Мы выполняем базовую настройку гиперпараметров на следующих моделях, и полученные оценки следующие:

  • Extra Trees Regressor может соответствовать эталонной оценке, т. Е. 0,78, мы можем улучшить оценку, преобразовав данные в длинный формат, введя новые функции вокруг даты и внедрив более мощные методы ансамбля, такие как GBDT.

10. Разработка функций:

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

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

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

· Мы также удаляем данные, собранные до даты 2014–01–01, поскольку имеет значение новизна.

· Ниже мы обсудим некоторые ключевые функции, созданные из предоставленных данных:

· Функции календаря:

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

· Функции, основанные на продажах:

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

· Функции, основанные на цене:

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

11. Моделирование:

  • Мы решили поэкспериментировать с LightGBM Regressor в качестве нашей основной модели, поскольку ее характеристики позволяют эффективно работать с огромными наборами данных. После разработки функций наши данные исключительно велики: 40+ столбцов и 20+ миллионов строк, поэтому LightGBM был бы очень потенциальным кандидатом.
  • LightGBM работает быстро, эффективно использует память и обеспечивает высокую точность, поскольку использует алгоритмы на основе гистограмм и реализует рост дерева по листам.
  • Прежде чем погрузиться в часть настройки гиперпараметров, мы тестируем производительность модели регрессора LightGBM на двух разных наборах функций:
  1. Только базовые функции (функции, которые были предоставлены в наборе данных)
  2. Базовые + производные функции (все функции)
  • Мы делаем это, чтобы наблюдать за изменением оценки WRMSSE, которое происходит из-за включения набора производных функций, что помогает нам оценить, было ли добавление дополнительных функций хорошей идеей или нет.

  • Теперь, когда мы знаем, что наша модель работает лучше при использовании всех функций, мы углубимся в настройку гиперпараметров, чтобы еще больше повысить производительность.
  • В зависимости от того, хотите ли вы достичь более высокой точности или более высокой скорости, обратитесь к официальным документам и/или этой статье для справки.
  • Достигнута самая низкая локальная оценка WRMSSE 0,5717 по следующему набору значений гиперпараметров:

12. Сравнение моделей в табличном формате:

13. Оценка за отправку на Kaggle:

  • По количеству представленных заявок на доске Private Leader мы занимаем 83-е место в списке из 5582 участников, что составляет около 1,5% лучших заявок.
  • Существует разница ~ 0,02 в общедоступной оценке и нашей локальной оценке WRMSSE, что означает, что наш индивидуальный расчет WRMSSE довольно точен.

14. Окончательный конвейер:

  • Эта функция принимает «id» в качестве входных данных, выполняет полное проектирование функций и подает один кадр данных длинного формата в модель для создания прогнозов. Сгенерированные прогнозы возвращаются в виде кадра данных, как показано выше.
  • Этот конвейер используется для развертывания нашей модели на AWS EC2.

15. Модель, развернутая на EC2 (демонстрация):

16. Будущая работа:

  • Поскольку известно, что погодные условия влияют на продажи, мы можем использовать общедоступные наборы данных, содержащие данные о погоде в США.
  • Добавление других статистических функций скользящего окна, таких как максимум, минимум, медиана и процентили по продажам и ценам.
  • Внедрение других мощных методов, таких как LSTM, Stacked Ensembles, для повышения точности.

17. Ссылки:

18. Гитхаб:

Пожалуйста, не стесняйтесь взглянуть на мое решение ниже.



Оставайтесь на связи со мной в Linkedin и Twitter.

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