Прогнозирование объемов продаж новых товаров (отчет)

Материал из MachineLearning.

Перейти к: навигация, поиск

Введение в проект

Описание проекта

Цель проекта

Цель проекта - прогнозирование еженедельных продаж новых товаров.

Обоснование проекта

Результаты проекта могут быть использованы для планирования объёмов продаж новых товаров.

Описание данных

Дано: товарный классификатор (иерархия товарных групп); региональный классификатор (иерархия магазинов и регионов); товародвижения (продажи, поставки, остатки и пр., праздники и промо-акции).

Критерии качества

Продажи прогнозируется по каждому товару раздельно. Прогнозирование объёмов продаж на неделю основывается на предыстории продаж за фиксированное число дней. Это число дней регулируется переменной stp (количество шагов - количество дней, на которых основывается прогноз). Критерием качества служит сумма модулей отклонения прогноза от реальной величины покупок по дням.

Требования к проекту

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

Выполнимость проекта

Прогнозирование объёмов продаж новых товаров производится в будние дни (время праздников и промо-акций в проекте не рассматривается).

Используемые методы

Прогнозирование производится методом квантильной регрессии для различных квантилей Θ (0.25; 0.4; 0.5; 0.6; 0.75). При прогнозировании можно менять параметр stp.

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

На основе данных продаж за фиксированное число дней (параметр stp) прогнозируются продажи новых товаров на 7 дней вперёд с наибольшей вероятностью (Θ=0.5) и вероятностями 25%, 40%. Будем использовать функционал качества

R(y, \hat{y}) = \sum_{i}|y_{i}-\hat{y}_{i}|.

где y, \hat{y} соответственно известное значение и прогноз.

x_{i}(t) - временной ряд для каждого из товаров, y_{i}(t) - значение продаж для каждого такого ряда.

Описание алгоритмов

В проекте использовался метод квантильной регрессии.

Обзор литературы

Для прогнозирования объёмов продаж новых товаров в литературе описываются различные методы. Метод квантильной регрессии впервые применён в [1], прогнозирование с помощью которого наиболее точно и позволяет прогнозировать c разными вероятностями [2]. Квантильная регрессия с параметром 0.5 является линейной, которая рассматриватся в [3].

Базовые предположения

Предполагается, что наилучший прогноз будет получен с помощью квантильной регрессии с параметром Θ=0.5. Прогноз требуется не более чем на 7 дней.

Математическое описание

Общая модель квантильной регрессии

Пусть (x_{i},y_{i}), i=1,...,n - некоторые переменные, где x_{i} - K×1 вектор независимых переменных в уравнении регрессии. Допускается, что


P(y_{i}τ | x_{i})=F_{u}(τ-x'_{i} b| x_{i}), i=1,...,n.

Это соотношение — в другой формулировке — может быть переписано как

y_{i}=x'_{i}b+u_{i},  Quant_{i}(y_{i}|x_{i})=x'_{i}b (1)

Где Quant(y_{i} | x_{i}) обозначает условную квантиль y_{i} на векторе регрессора x_{i}. Нужно отметить, что здесь предполагается, что и x_{i}, и y_{i} наблюдаются без ошибки, и что уравнение (1) правильно определено. Такие проблемы, как ошибки измерения и пропущенные переменные здесь не рассматриваются. Если (1) определено некорректно (то есть, не линейно), тогда модель можно рассматривать как лучший линейный прогноз для условной квантили. Если функция F_{u}(⋅) известна, то для оценки b могут использоваться различ- ные подходы. Однако в данной модели распределение остаточного члена u_{i} остается неопределенным. Как показывает соотношение (1), единственным предположением является лишь то, что u_{i} удовлетворяет ограничению на квантиль:


Quant(u | x_{i})=0

Вообще, Q-ая простая квантиль (0 < Q < 1) переменной y, скажем μ , является решением следующей задачи:

  \min_{b} (\sum_{i:y_{i}>=b}Q|y_{i}-b|+ \sum_{i:y_{i}<b}(1-Q)|y_{i}-b| )

В частности, медиана (Q=1/2) находится минимизацией суммы модулей:

 \sum_{b}|y_{i}-b|


Аналог линейной модели для Q-ого квантиля определяется таким же образом. То есть \hat b , оценка для b в соотношении (1) — называемом Q-ой квантильной регрессией — решает задачу


  \min_{b} (1/n)(\sum_{i:y_{i}>=x'_{i}b}Q|y_{i}-x'_{i}b|+ \sum_{i:y_{i}<x'_{i}b}(1-Q)|y_{i}-x'_{i}b| )=\min_{b} (1/n)\sum_{i=1}^{n}r(u_{i})          (2)

где r(λ)= (Q − I(λ < 0))λ — контрольная функция (check function),a I(.)-обычная индикаторная функция.

Варианты или модификации

Варианты алгоритма зависят от параметров stp и Q. Значения параметров выбираются по результатам экспериментов.

Описание системы

  • Ссылка на файл system.docs
  • Ссылка на файлы системы


Отчет о полученных результатах

Параметр stp подбирался в зависимости от параметра rr (сумма модулей отклонения прогноза от реальных данных за месяц)

Для наименьшего rr выбирается значение stp= 25, которое используется в дальнейшем для расчётов в качестве оптимального.

Проанализируем зависимость ошибок алгоритма для разного параметра квантильной регрессии teta

1) Параметр teta=0.5,

stp = 25

Значения ошибок

rs =418.1388 rr =412.4245

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

1) Koenker and G. Bassett, Jr. "Regression Quantiles," Econometrica, Vol.46 No1 (January, 1978)

2)Постникова Е. (2000) Квантильная регрессия. НГУ.

3)К. В. Воронцов, Лекции по логическим алгоритмам классификации


Данная статья является непроверенным учебным заданием.
Студент: Литвинов Игорь
Преподаватель: В.В. Стрижов
Срок: 15 декабря 2009

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.