Обнаружение жизненного цикла товаров (отчет)
Материал из MachineLearning.
(→Визуальный анализ работы алгоритма) |
(→Описание системы) |
||
(16 промежуточных версий не показаны.) | |||
Строка 20: | Строка 20: | ||
=== Выполнимость проекта === | === Выполнимость проекта === | ||
- | Прогнозирование покупок | + | Прогнозирование покупок товаров в праздничные дни и во время промо-акций является отдельной задачей и в данном проекте не рассматривается. |
=== Используемые методы === | === Используемые методы === | ||
Строка 48: | Строка 48: | ||
== Описание алгоритмов == | == Описание алгоритмов == | ||
- | + | ||
=== Базовые предположения === | === Базовые предположения === | ||
Строка 88: | Строка 88: | ||
== Описание системы == | == Описание системы == | ||
- | * | + | * Описание системы: [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Group674/Yanovich2009LifeCycle/Docs/Systemdocs.doc]. |
- | * | + | * Файлы системы находятся в папке [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Group674/Yanovich2009LifeCycle]. |
== Отчет о вычислительных экспериментах == | == Отчет о вычислительных экспериментах == | ||
Строка 128: | Строка 128: | ||
|} | |} | ||
- | + | ||
=== Анализ зависимости работы алгоритма от параметров === | === Анализ зависимости работы алгоритма от параметров === | ||
+ | ==== Зависимость от параметра <tex>sw</tex> ==== | ||
+ | Проведен анализ работы алгоритма учета жизненного цикла при различных значениях параметра <tex>sw</tex> (параметры <tex> h =14, \ gr=30, \ \varepsilon = 1, \ \delta = 2 \ </tex> и фиксированы). Результаты представлены на графике ниже: | ||
+ | |||
+ | [[Изображение:swAnalisis_LC.png|400px]] | ||
+ | |||
+ | На графике по осям отложены значения <tex>sw</tex> и значения функционала <tex>Q_{m}</tex>, отнесенные к его значению при <tex>sw =5.</tex> | ||
+ | |||
+ | Значение данного параметра существенно влияет на качество прогноза. По полученному локально оптимальному значению параметра можно предположить, что решение задачи прогнозирования продаж новых товаров целесообразно выполнить отдельно. | ||
+ | |||
+ | ==== Зависимость от параметра <tex>grow</tex> ==== | ||
+ | Проведен анализ работы алгоритма учета жизненного цикла при различных значениях параметра <tex>grow</tex> (параметры <tex> h =14, \ sw=5, \ \varepsilon = 1, \ \delta = 2 \ </tex> и фиксированы). Результаты представлены на графике ниже: | ||
+ | |||
+ | [[Изображение:growAnalisis_LC.png|400px]] | ||
+ | |||
+ | На графике по осям отложены значения <tex>grow</tex> и значения функционала <tex>Q_{m}</tex>, отнесенные к его значению при <tex>grow =30.</tex> | ||
+ | |||
+ | ==== Зависимость от параметра <tex>h</tex> ==== | ||
+ | Проведен анализ работы алгоритма учета жизненного цикла при различных значениях параметра <tex>h</tex> (параметры <tex> grow =30, \ sw=5, \ \varepsilon = 1, \ \delta = 2 \ </tex> и фиксированы). Результаты представлены на графике ниже: | ||
+ | |||
+ | [[Изображение:hAnalisis_LC.png|400px]] | ||
+ | |||
+ | На графике по осям отложены значения <tex>h</tex> и значения функционала <tex>Q_{m}</tex>, отнесенные к его значению при <tex>h =14.</tex> | ||
+ | |||
+ | ==== Зависимость от параметров <tex>\varepsilon \ </tex> и <tex>\delta</tex>==== | ||
+ | Проведен анализ работы алгоритма учета жизненного цикла при различных значениях параметра <tex>\varepsilon</tex> (параметры <tex> grow =30, \ sw=5, \ h = 14, \ \delta = 2 \ </tex> и фиксированы) и при различных значениях параметра <tex>\delta</tex> (параметры <tex> grow =30, \ sw=5, \ h = 14, \ \varepsilon = 1 \ </tex> и фиксированы). | ||
+ | |||
+ | Алгоритм с параметрами <tex>\varepsilon \in [0, 1] \ </tex> и <tex>\delta \in [2,\infty] </tex> показывает результаты, отличающиеся на менее чем на <tex> 0,1% </tex>. В то время как значения <tex>\varepsilon \in [1, \infty] \ </tex> и </tex> и <tex>\delta \in [0,1]</tex> значительно ухудшают качество работы алгоритма. При <tex>\varepsilon = \infty \ </tex> и <tex>\delta =0</tex> алггоритм совпадает с базовым. | ||
- | == | + | == Смотри также == |
+ | * [[Регрессионный анализ]] | ||
+ | * [[Скользящий контроль]] | ||
+ | * [[Отчет о выполнении исследовательского проекта (практика, В.В. Стрижов)]] | ||
== Список литературы == | == Список литературы == | ||
+ | * Н.Д. Эриашвили, К. Ховард, Ю.А. Цыпкин - Маркетинг: Учебник для вузов. | ||
+ | * Bishop C. - Pattern Recognition and Machine Learning (Springer, 2006) | ||
+ | * Воронцов К.В. - Лекции по линейным алгоритмам классификации | ||
- | {{ | + | {{ЗаданиеВыполнено|Юрий Янович|В.В. Стрижов|15 декабря 2009}} |
+ | [[Категория:Практика и вычислительные эксперименты]] | ||
__NOTOC__ | __NOTOC__ |
Текущая версия
Введение в проект
Описание проекта
Цель проекта
Цель проекта - прогнозирование еженедельных покупок товаров. Горизонт прогнозирования - одна неделя.
Обоснование проекта
Полученные результаты могут быть использованы для планирования закупок товаров магазинами.
Описание данных
Дан региональный классификатор магазинов, товарный классификатор, stock keeping unit, список праздничных дней и, отдельно по каждому товару, список дней, в которые проводились промо-акции.
Критерии качества
Прогноз производится отдельно по каждому из товаров. Мы составляем еженедельный прогноз с горизонтом неделя, основанный на предыдущей истории покупок. Критерием качества служит средний модуль отклонения прогноза от реальной величины покупок.
Требования к проекту
Средний модуль отклонения для нашего алгоритма должен быль меньше, чем для скользящего среднего за предыдущий месяц.
Выполнимость проекта
Прогнозирование покупок товаров в праздничные дни и во время промо-акций является отдельной задачей и в данном проекте не рассматривается.
Используемые методы
Предполагается, что жизнь товара на рынке можно разбить на характерные этапы, на каждом из которых величина покупок имеет свой вид функциональной зависимости от предыдущей истории покупок.
Постановка задачи
Заданы временные ряды продаж товаров — продажи -ого товара в -ом магазине за неделю (, — множество товаров; , — множество магазинов; — натуральное число), причем значения продаж известны при . Задан - горизонт прогнозирования. Требуется для всех товаров и всех магазинов спрогнозировать продажи за неделю, следующую после , то есть значение величины
Для оценки качества прогнозов будем использовать скользящий контроль, помещая в обучающую выборку значения при , . Как функционал качества будем использовать
Описание алгоритмов
Базовые предположения
Будем предполагать, что жизненный цикл товара в магазине можно разбить на 3 характерных этапа: вхождение товара на рынок, рост популярности, спад объема продаж. Схематично предполагаемая зависимость может быть изображена в виде (по оси абсцис отложено время прибывания товара на рынке, по оси ординат - еженедельные продажи.
Математическое описание
Базовый алгоритм
В качестве базового алгоритма выбрано скользящее среднее по каждой паре товар-магазин за 8 предыдущих недель:
где — ширина окна,
Алгоритм учета жизненного цикла
1. Задается два параметра и .
2. Временной ряд продаж товара разбивается на три отрезка. Первый от момента вхождения до Второй - Заключительный - от до окончания продаж товара.
3. Первый отрезок соответствует этапу вхождения товара на рынок. На нем предполагается использование базового алгоритма для прогнозирования.
4. Втором и третий отрезоки соответствуют росту популярности товара на рынке и спада объема продаж. На них прогноз строится при помощи линейной регрессии: Задается параметр - число точек для построения прямой.
где
При этом на втором этапе прогнозу запрещается более чем в ε раз меньше скользящего среднего, на третьем прогнозу запрещается быть более чем в σ раз больше скользящего среднего.
Варианты или модификации
Параметрами алгоритма являются наилучшие значения которых требуется выбрать в результате эксперимента.
Описание системы
Отчет о вычислительных экспериментах
Сравнение алгоритма с базовым
Временные ряды товаров были разбиты на обучение ( рядов) и контроль ( рядов).
В качестве параметров для алгоритма учета жизненного цикла выбран набор, доставляющий локальный минимум функционалу построенному на обучении.
Сравнивались прогнозы базового алгоритма, линейной регрессии ( ) и алгоритма учета жизненного цикла с параметрами
Результаты изображены на графиках, приведенных ниже:
На графике по осям отложены номера недель и величины Красным цветом изображен график для базового алгоритма, синим - линейной регрессии, зеленым - алгоритма учета жизненного цикла.
На графике по осям отложены номера пар товар-магазин и величины Красным цветом изображен график для базового алгоритма, синим - линейной регрессии, зеленым - алгоритма учета жизненного цикла.
Таким образом, алгоритм учета жизненного цикла показал лучший результат. Ниже приведены численные результаты работы алгоритмов:
Название алгоритма | Значение |
---|---|
Базовый алгоритм | 1.17 |
Линейная регрессия | 1.00 |
Алгоритм учета жизненного цикла | 0.85 |
Анализ зависимости работы алгоритма от параметров
Зависимость от параметра
Проведен анализ работы алгоритма учета жизненного цикла при различных значениях параметра (параметры и фиксированы). Результаты представлены на графике ниже:
На графике по осям отложены значения и значения функционала , отнесенные к его значению при
Значение данного параметра существенно влияет на качество прогноза. По полученному локально оптимальному значению параметра можно предположить, что решение задачи прогнозирования продаж новых товаров целесообразно выполнить отдельно.
Зависимость от параметра
Проведен анализ работы алгоритма учета жизненного цикла при различных значениях параметра (параметры и фиксированы). Результаты представлены на графике ниже:
На графике по осям отложены значения и значения функционала , отнесенные к его значению при
Зависимость от параметра
Проведен анализ работы алгоритма учета жизненного цикла при различных значениях параметра (параметры и фиксированы). Результаты представлены на графике ниже:
На графике по осям отложены значения и значения функционала , отнесенные к его значению при
Зависимость от параметров и
Проведен анализ работы алгоритма учета жизненного цикла при различных значениях параметра (параметры и фиксированы) и при различных значениях параметра (параметры и фиксированы).
Алгоритм с параметрами и показывает результаты, отличающиеся на менее чем на . В то время как значения и </tex> и значительно ухудшают качество работы алгоритма. При и алггоритм совпадает с базовым.
Смотри также
- Регрессионный анализ
- Скользящий контроль
- Отчет о выполнении исследовательского проекта (практика, В.В. Стрижов)
Список литературы
- Н.Д. Эриашвили, К. Ховард, Ю.А. Цыпкин - Маркетинг: Учебник для вузов.
- Bishop C. - Pattern Recognition and Machine Learning (Springer, 2006)
- Воронцов К.В. - Лекции по линейным алгоритмам классификации
Данная статья была создана в рамках учебного задания.
См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |