Прогнозирование объемов продаж новых товаров (отчет)
Материал из MachineLearning.
Введение в проект
Описание проекта
Цель проекта
Цель проекта - прогнозирование еженедельных продаж новых товаров.
Обоснование проекта
Результаты проекта могут быть использованы для планирования объёмов продаж новых товаров.
Описание данных
Дано: товарный классификатор (иерархия товарных групп); региональный классификатор (иерархия магазинов и регионов); товародвижения (продажи, поставки, остатки и пр., праздники и промо-акции).
Критерии качества
Продажи прогнозируется по каждому товару раздельно. Прогнозирование объёмов продаж на неделю основывается на предыстории продаж за фиксированное число дней. Это число дней регулируется переменной stp (количество шагов - количество дней, на которых основывается прогноз) в базовом алгоритме(квантильная регрессия). Критерием качества служит сумма модулей отклонения прогноза от реальной величины покупок по дням.
Требования к проекту
Сумма модулей отклонения в базовом алгоритме проекта должна быль меньше, чем для скользящего среднего за 30 дней. Эвристические алгоритмы будут применяться в прогнозировании, если только ошибка на них будет меньше, чем ошибка на базовом алгоритме за 1 неделю.
Выполнимость проекта
Прогнозирование объёмов продаж новых товаров производится в будние дни (время праздников и промо-акций в проекте не рассматривается).
Используемые методы
Базовый алгоритм
Прогнозирование производится методом квантильной регрессии для различных квантилей Θ (0.25; 0.4; 0.5; 0.6; 0.75). При прогнозировании можно менять параметр stp.
Также используются эвристические алгоритмы прогнозирование продаж экспонентой, параболой и логарифмом.
Постановка задачи
На основе данных продаж за фиксированное число дней (параметр stp) прогнозируются продажи новых товаров на 7 дней вперёд с наибольшей вероятностью (Θ=0.5) и вероятностями 25%, 40%. Будем использовать функционал качества
где y, соответственно известное значение и прогноз.
- временной ряд для каждого из товаров,
- значение продаж для каждого такого ряда.
Описание алгоритмов
В проекте использовался метод квантильной регрессии и эвристические алгоритмы.
Обзор литературы
Для прогнозирования объёмов продаж новых товаров в литературе описываются различные методы. Метод квантильной регрессии впервые применён в [1], прогнозирование с помощью которого наиболее точно и позволяет прогнозировать c разными вероятностями [2]. Квантильная регрессия с параметром 0.5 является линейной, которая рассматриватся в [3].
Базовые предположения
Предполагается, что наилучший прогноз будет получен с помощью квантильной регрессии с параметром Θ=0.5. Прогноз требуется не более чем на 7 дней.
Математическое описание
Общая модель квантильной регрессии
Пусть , i=1,...,n - некоторые переменные, где
- K×1 вектор независимых переменных в уравнении регрессии. Допускается, что
≤τ |
)=
(τ-
b|
), i=1,...,n.
Это соотношение — в другой формулировке — может быть переписано как
,
(1)
Где Quant() обозначает условную квантиль
на векторе регрессора
. Нужно отметить, что здесь предполагается, что и
, и
наблюдаются без ошибки, и что уравнение (1) правильно определено. Такие проблемы, как ошибки измерения и пропущенные переменные здесь не рассматриваются.
Если (1) определено некорректно (то есть, не линейно), тогда модель можно
рассматривать как лучший линейный прогноз для условной квантили.
Если функция
(⋅) известна, то для оценки b могут использоваться различ-
ные подходы. Однако в данной модели распределение остаточного члена
остается неопределенным. Как показывает соотношение (1), единственным
предположением является лишь то, что
удовлетворяет ограничению на
квантиль:
Quant
Вообще, Q-ая простая квантиль (0 < Q < 1) переменной y, скажем μ , является решением следующей задачи:
В частности, медиана (Q=1/2) находится минимизацией суммы модулей:
Аналог линейной модели для Q-ого квантиля определяется таким же образом. То есть , оценка для b в соотношении (1) — называемом Q-ой квантильной регрессией — решает задачу
(1/n)
(1/n)
где r(λ)= (Q − I(λ < 0))λ — контрольная функция (check function),a I(.)-обычная индикаторная функция.
Эвристические алгоритмы
Будем полагать, что товар новый в течении 5 недель. По 1 неделе(7 точкам) будем прогнозировать продажи на последующее время, предполагая, что продажи новых товаров будут расти по экспоненте
параболе
или логарифму
После прогноза сравнивается его ошибка на последующей неделе у базового алгоритма и эвристического. Если ошибка получилось меньше на эвристическом, то для дальнейшего прогноза будет использоваться он, и базовый в противном случае.
Варианты или модификации
Варианты алгоритма зависят от параметров stp и Q. Значения параметров выбираются по результатам экспериментов. В качестве функций для прогнозирования объёмов продаж новых товаров могут использоваться любые растущие функции(в проекте рассматривались только экспонента, логарифм,квадратная парабола)
Описание системы
Отчет о полученных результатах
модельные данные(синяя линия) - случайные величины, распределенные по нормальному закону чёрная - teta = 0.75, красная teta = 0.25, зелёная - 0.5
Параметр stp подбирался в зависимости от параметра rr (сумма модулей отклонения прогноза от реальных данных за месяц)
Для наименьшего rr выбирается значение stp= 25, которое используется в дальнейшем для расчётов в качестве оптимального.
Проанализируем зависимость ошибок алгоритма для разного параметра квантильной регрессии teta. Прогнозирование ведётся по одному товару, в качестве примера рассмотрен товар с индексом 1 в таблице данных.
1) Параметр teta=0.5,
stp = 25
Значения ошибок rs =418.4907 rr =412.4245
где rs - сумма модулей отклонения средней за месяц величины от реальных данных
2) Параметр teta=0.25,
stp = 25
Значения ошибок rs =418.4907 rr =532.9533
3) Параметр teta=0.75,
stp = 25
Значения ошибок rs =418.4907 rr =391.8512
4) Параметр teta=0.6,
stp = 25
Значения ошибок rs =418.4907 rr =382.4836
5) Параметр teta=0.4,
stp = 25
Значения ошибок rs =418.4907 rr =457.0586
Прогноз, полученный с помощью экспоненты.
Красная линия - базовый алгоритм, зелёная - эвристический. ошибка базового алгоритма ~600, экспоненты ~400
ошибка базового алгоритма ~400, экспоненты ~200
Прогноз, полученный с помощью логарифма.
Красная линия - базовый алгоритм, зелёная - эвристический. ошибка базового алгоритма ~600, логарифмом ~1600
ошибка базового алгоритма ~400, логарифмом ~300
Прогноз, полученный с помощью параболы.
Красная линия - базовый алгоритм, зелёная - эвристический. ошибка базового алгоритма ~600, параболы ~800
ошибка базового алгоритма ~400, параболы ~700
Список литературы
1) Koenker and G. Bassett, Jr. "Regression Quantiles," Econometrica, Vol.46 No1 (January, 1978)
2)Постникова Е. (2000) Квантильная регрессия. НГУ.
3)К. В. Воронцов, Лекции по логическим алгоритмам классификации
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |