24.01.2023

Обзор моделей прогнозирования прерывистого спроса на базе алгоритмов машинного обучения

Николай Курбатов, аналитик данных, Beltel Datanomics

 

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

 

Постановка задачи

1.    Архитектура ML модели

В [1] мы кратко рассмотрели статистическую модель Кростона, основная идея которой в разделении задачи прогнозирования прерывистого спроса на две подзадачи: сначала оценка вероятности спроса, далее оценка объема спроса. Развивая эту идею, можно решить каждую подзадачу с помощью алгоритмов машинного обучения:

  • возникновение спроса рассматривать как проблему классификации;
  • оценку размера спроса – как проблему регрессии.

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

В качестве классификатора спроса можно использовать метод SBC как в работе [3]. Данный метод относит продажи SKU к одному из четырех типов спроса на основе значений коэффициентов CV2 (Squared Coefficient of Variation) и ADI (Average inter-Demand Interval) [1]. Однако Rožanec J. и др. [4] рекомендуют разделять спрос на два типа только по пороговому значению коэффициента ADI, который измеряет регулярность спроса во времени, вычисляя средний интервал между периодами последовательного спроса.

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

Общую структуру решения задачи прогнозирования различного спроса с использованием ML алгоритмов можно представить в виде блок-схемы на Рисунке 1.

Рисунок 1. Блок-схема алгоритма прогнозирования спроса

2.    Модели классификации и регрессии

Выбор классификатора во многом зависит от особенностей исходных данных. Так, например, если в данных доля нулевых продаж намного больше ненулевых (сильный дисбаланс классов), то лучше использовать Catboost [5]. В данном фреймворке можно регулировать веса классов, тем самым улучшая качество обучения модели.

В случае, когда важна скорость обучения лучше рассмотреть фреймворк LightGBM [6] и использовать различные техники балансировки классов (undersampling, oversampling, smote).

Для оценки размера спроса применяются как простые статистические алгоритмы прогнозирования (Simple Exponential Smoothing [4]), так и различные градиентные бустинги [3, 4]. Причем обучение регрессоров в данных статьях рекомендуют проводить на ненулевых продажах.

3.    Признаки

Для обучения ML моделей в качестве признаков можно использовать различные показатели продаж (временных рядов). Среди них: ADI; CV2; предыдущие события возникновения или отсутствия спроса (среднее, разброс, перцентили) [4]; предыдущие размеры спроса; параметры распределения интервала между двумя периодами спроса; параметры распределения ненулевых продаж (среднее, разброс, перцентили, энтропия, коэффициенты эксцесса и асимметрии); коэффициент линейной МНК регрессии для дисперсий спроса в периоды ненулевых продаж; отношение суммы квадратов продаж последнего периода ненулевого спроса ко всему ряду и процент последовательных нулевых значений в конце временного ряда [3]; коэффициенты сезонности; априорная информация о продажах (акции, удачные маркетинговые кампании); погодные данные и др.

Для генерации признаков можно использовать также готовые библиотеки, например, tsfresh [7].

4.    Обучение

Растущий объем исследований показывает, что ML модели, обученные на нескольких временных рядах, обеспечивают лучшие результаты, чем локальные модели, учитывающие временные ряды, соответствующие только одному товару [8, 9].

Заключение

Прогнозирование спроса – сложная и актуальная задача, для решения которой могут быть использованы различные методы. Мы рассмотрели основные техники прогнозирования прерывистого спроса с применением ML алгоритмов. Во многих исследованиях [3, 4] показано, что такие ML модели лучше прогнозируют продажи различного типа спроса при наличии достаточного количества данных. Однако при их обучении возникают трудности, решение которых требует экспертности и времени.

Список литературы

[1]       Классификации типов спроса и обзор моделей для прогнозирования прерывистого спроса (datanomics.ru)

[2]       Выбор метрики качества в задачах прогнозирования спроса (datanomics.ru)

[3]       Xiaotian Zhuang, Ying Yu, Aihui Chen A combined forecasting method for intermittent demand using the automotive aftermarket data // Data Science and Management, Volume 5, Issue 2, 2022, Pages 43-56, ISSN 2666-7649, https://doi.org/10.1016/j.dsm.2022.04.001

[4]       Rožanec, Jože & Mladenić, Dunja Reframing demand forecasting: a two-fold approach for lumpy and intermittent demand, 2021

[5]       https://catboost.ai/

[6]       https://lightgbm.readthedocs.io/en/latest/

[7]       https://tsfresh.com

[8]       Bandara, K., Bergmeir, C., Smyl, S. Forecasting across time series databases using recurrent neural networks on groups of similar series: A clustering approach. Expert Systems with Applications 140, 112896, 2020.

[9]       Salinas, D., Flunkert, V., Gasthaus, J., Januschowski, T. Deepar: Probabilistic forecasting with autoregressive recurrent networks. International Journal of Forecasting 36, 1181–1191, 2020.

Оставьте заявку и получите бюджет и план внедрения наших решений в ваш бизнес

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

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