Инфоурок Другое СтатьиСтатья на тему: "ПРОГНОЗИРОВАНИЕ ПРОДАЖ В СРЕДЕ MATLAB"

Статья на тему: "ПРОГНОЗИРОВАНИЕ ПРОДАЖ В СРЕДЕ MATLAB"

Скачать материал

ПРОГНОЗИРОВАНИЕ ПРОДАЖ В СРЕДЕ MATLAB

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

Компания ИП «Черныш» занимается продажей сим-карт и устройств-модемов YOTA и существует на рынке более двух лет. Компания стремительно расширяется, открываются новые точки продаж, на текущий момент их стало двадцать. Для сохранения темпов развития требуется поддержание стабильного роста товарооборота. Как правило, эффективность торговой точки зависит от множества факторов, в том числе и скрытых. Поэтому возникает проблема учета всех возможных факторов, влияющих на результат деятельности каждой торговой точки, а также иметь краткосрочный прогноз продаж. Это позволит уловить возможные отрицательные тенденции и подготовить комплекс мер по их предотвращению. Решить эту проблему можно путем применения интеллектуального анализа данных. Это одно из современных направлений анализа данных, которое включает решение различных задач таких, как классификация, кластеризация, прогнозирование, ассоциация, визуализация.

В данной работе решается задача прогнозирования показателей продаж ИП «Черныш» методом нейронных сетей в среде моделирования MATLAB.

1.  Обоснование и выбор метода прогнозирования и среды разработки

Задача прогнозирования является одной из наиболее важных задач, применяемых в различных сферах человеческой деятельности. Среди распространенных методов, используемых для решения этой задачи, можно выделить статистические методы и методы Data Mining. К статистическим методам относятся авторегрессия, метод регрессионного анализа, метод максимального правдоподобия, экстраполяция врменных рядов. Среди методов Data Mining можно выделить нейронные сети, деревья решений, генетический алгоритм, метод опорных векторов и другие.

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

В таблице 1 представлен сравнительный анализ методы прогнозирования по таким характеристикам как точность, трудоемкость, быстродействие и популярность, которые предложены в [1; 3].

Таблица 1.

Сравнительный анализ методов прогнозирования

Методы прогнозирования

Точность

Трудоемкость

Быстродействие

Популярность

Нейронные сети

высокая

очень высокая

очень низкое

средняя

Генетический алгоритм

средняя

высокая

низкое

средняя

Метод опорных векторов

средняя

высокая

среднее

средняя

CART

средняя

высокая

среднее

средняя

Деревья решений

низкая

высокая

высокое/

среднее

высокая/

средняя

Экстраполяция временных рядов

высокая

высокая

среднее

низкая

Регрессионный анализ

средняя

низкая

высокое

средняя

Авторегрессия

средняя

низкая

среднее

средняя

Метод максимального правдоподобия

низкая

низкая/средняя

высокое

низкая

 

 

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

Поскольку метод нейронных сетей является трудоемким в реализации, то для его применения следует выбрать готовые программные решения, которых в настоящее время существует достаточно много. К ним можно отнести, например, Microsoft Analysis Services, SAS Business Intelligence, Microsoft BI Solution builder, Oracle Data Mining Suite, Intersystems Cache DeepSee, Oracle Crystal Ball, SPSS, MATLAB [2; 5–10]. Выбор программного решения для использования метода нейронных сетей был выполнен по следующим критериям: обработка онлайн данных, простота использования, скорость работы, хорошая документированность. В таблице 2 представлен сравнительный анализ программных решений по этим критериям. Знаком «+» отмечены программные средства, обладающие соответствующим критерием, в противном случае – знаком «–».

Таблица 2.

Сравнительный анализ программных средств

Программные решения

Обработка онлайн данных

Простота использования

Скорость работы

Документиро-

ванность

SAS Business Intelligence

-

-

+

+

Microsoft BI Solution builder

-

+

+

-

Oracle Data Mining Suite

-

-

+

+

SPSS

-

+

+

-

Microsoft SQL Server Analysis Services

+

+

-

+

Oracle Crystal Ball

-

+

-

+

Cache DeepSee

+

-

+

-

MATLAB

-

+

+

+

 

 

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

2.  Математическая модель нейронной сети

Модель искусственного нейрона

Нейронные сети основаны на концепции искусственного нейрона, модель которого представлена на рисунке 1.

 

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image001.png

Рисунок 1. Модель искусственного нейрона

 

Модель искусственного нейрона состоит из трех основных элементов: синапсов, сумматора, функции активации [4].

Синапс осуществляет связь между нейронами и характеризуется своим весом или силой. Входной сигнал https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image002.png , умноженный на весовой коэффициент синапса https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image003.png, характеризующий силу синаптической связи, представлет входной сигнал нейрона. Аксон представляетс собой выход нейрона, другими словами выходную связь данного нейрона, с которой сигнал поступает на синапсы следующих нейрона.

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

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

Здесь x1…xn – множество входных сигналов поступает на вход искусственного нейрона. Эти входные сигналы соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес w1, …, wn и поступает на суммирующий блок å. Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход Y, то есть

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image004.png.                                       (1)

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

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image005.png).

В качестве функции активации используется различные функции, чаще всего используется логистическая функция или сигмоид вида:

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image006.png                                       (2)

Модель нейронной сети MATLAB

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

 

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image007.png

Рисунок 2. Схема трехслойного персептрона

 

Здесь b – это множество входов, w – множество весов, знак «+» – сумматор. Сеть состоит из двух входов, двух выходов и трех слоев, в каждом слое функция активации и количество нейронов различны. В первом и третьем слое количество нейронов равно количеству входов. Во втором слое (скрытом) находится десять нейронов. Нейроны первого слоя настроены на гиперболическую функцию активации вида:

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image008.png                            (3)

Для нейронов второго слоя выбрана логарифмическая функция активации:

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image009.png                                     (4)

Нейроны третьего слоя настроены на линейную функцию активации, которая не изменяет выходной сигнал и имеет вид:

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image010.png                                              (5)

Таким образом, на вход нейронной сети поступает сигнал x. Сумматор «+» умножает каждый вход bi на вес wi и суммирует взвешенные входы. Затем значение пропускается через функцию активации соответствующего слоя и рассчитывается выход. Далее происходит корректировка весов с помощью метода обратного распространения ошибки и после чего итерация повторяется до тех пор, пока не будет достигнута заданная точность либо не будет исчерпано количество итераций [6].

Метод обучения нейронной сети

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

На каждой итерации изменение веса производится методом градиентного спуска по формуле 7:

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image011.png                (6)

Для ограничения пространства поиска при обучении ставится задача минимизации целевой функции ошибки НС, которая находится по методу наименьших квадратов по формуле 6:

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image013.png                                (7)

где: yj – значение j-го выхода нейронной сети;

dj – целевое значение j-го выхода;

p – число нейронов в выходном слое.

Комбинация метода наименьших квадратов с методом градиентного спуска называется алгоритмом Левенберга-Марквардта, который и используется в среде MATLAB [7].

Полный алгоритм обучения нейронной сети (НС) состоит из пяти шагов.

1.     Подать на вход НС один из входных сигналов и определить значения выходов нейронов нейронной сети.

2.     Рассчитать для выходного слоя нейронной сети и рассчитать изменения весов выходного слоя n (6).

3.     Рассчитать соответственно и https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image014.png для остальных слоев НС, n = N-1..1 (6).

4.     Скорректировать все веса нейронной сети по формуле 6.

5.     Если ошибка по формуле 7 существенна, то перейти на шаг 1.

Настройка нейронной сети

Настройки нейронной сети в среде MATLAB осуществлялась вводом следующих команд:

  • создание сети, выбор количества слоев и количества нейронов в слое [2 10 2], определение функции активации для каждого слоя

Net=newff(minmax (P), [2 10 2],{ 'tansig', 'logsig', 'purelin' });

  • ограничение итераций обучения, определяемое количеством эпох

Net.trainParam.epochs = 1000;

  • запуск этапа тренировки, где Net – тип сети обучения, P – входные сигналы, T – обучающая выборка

Net = train(Net,P,T);

  • выбор метода корректировки весов (нахождения ошибки) – квадратичное отклонение

Net.performFcn='sse';

  • расчет значений с 1–115 дни (обучающая выборка) для проверки точности модели

Y = sim(Net,P);

  • прогнозирование для входных сигналов P1{116-120;116-120} – матрица 2х5

Y1 = sim(Net,P1);

  • построение графика для рассчитанной выборки Y и подрисовка спрогнозированных значений. По оси Y – значения показателей, по оси X – дни

plot(P,Y,'*',P1,Y1,'o').

На рисунке 3 представлены параметры модели нейронной сети в MATLAB. Параметры gradientmu показывают изменения значений градиента функции и математического ожидания соответственно при каждой итерации. А параметр val fail показывает количество итераций, при которых ошибка была меньше заданной.

3.  Результаты экспериментов

В задаче прогнозирования использовались статистические данные за четыре месяца в точке продаж «Роял Парк» ИП «Черныш». Это экономические показатели «количество проданных голосовых/планшетных сим-карт» и «количество проданных модемов», всего 115 показателей. Необходимо спрогнозировать продажи на пять дней с 116 по 120 день. В процессе решения задачи прогнозирования в среде моделирования MATLAB были получены следующие результаты (рис. 4). На рисунке представлены графики продаж сим-карт и модемов и их прогноз.

 

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image015.jpg

Рисунок 3. Параметры модели нейронной сети

 

Фактические данные обозначены символом «звездочка», а прогнозные – символом «кружок». Анализ графика показывает, что после сильного падения показателя «количество проданных сим-карт», в ближайшей перспективе, результативность продаж начнет расти. Однако показатель «количество проданных модемов», сохранит отрицательную динамику. Это свидетельствует о необходимости проведения маркетинговых мероприятий по повышению продаж. Наличие разрывов обусловлено резким изменением количества продаж, которое, возможно, связанно с нарушением времени работы точки, либо ремонтными работами. Также видно, что на 86 день продаж при минимальном количестве проданных сим-карт наблюдается рост количества продаж модемов. Это может быть обусловлено проведением промо-акции.

На рисунке 5 указана зависимость величины ошибки от количества итераций.

 

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image016.jpg

Рисунок 4. Результаты прогнозирования

 

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image017.jpg

Рисунок 5. График зависимости ошибки обучения от количества эпох

 

Из графика видно, что с каждой следующей итерацией значение ошибки уменьшается. Для 1000 эпохи значение ошибки составляет 2.04*10-5.

На графике, представленном на рисунке 6, показано распределение величин относительно прямых регрессии (fit – линия регрессии на основе эмпирических данных, Y=T – на основе рассчитанных после обучения сети), а также зависимость эмпирических (т. е. целевых) данных Target от выходных данных Output. Целевые данные, представленные в модели массивом T, используются для обучения. Выходные данные сети Output, представленные массивом Y, рассчитываются по обученной сети и служат для проверки точности модели.

 

https://sibac.info/files/2016_12_12_naturmath/Bilgaeva.files/image018.jpg

Рисунок 6. Зависимость прямых регрессии, полученных на основе эмпирических и рассчитанных данных

 

Коэффициент корреляции R равен 0,9162, что говорит о сильной связи между переменными, что свидетельствует о высокой точности построенной нейронной сети. Таким образом, прогноз, выполненный с помощью данной сети, является достоверным. В дальнейшем ее можно использовать для решения задачи прогнозирования.

Заключение. Выполнен прогноз продаж на пять дней и проведен анализ фактических и прогнозных данных на 116–120 дни. Результативность точки продаж «Роял Парк» по показателю «количество проданных модемов»

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

 

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

1.     Горелова Г.В., Захарова Е.Н., Гинис Л.А. Когнитивный анализ и моделирование устойчивого развития социально-экономических систем. – Ростов н/Д: Изд-во Рост. ун-та, 2005. – 288 с.

2.     Макленнен Дж. Microsoft SQL Server 2008: Data mining – интеллектуальный анализ данных. – СПб.: изд-во БХВ-Петербург, 2009. – 700 с.

3.     Прогнозирование и планирование в условиях рынка: Учеб. Пособие для вузов. / Под ред. Т.Г. Морозовой, А.В. Пикулькина. – М.: ЮНИТИ–ДАНА, 2001. – 318 с.

4.     Хайкин С. Нейронные сети. – М.: Изд-во «Вильямс», 2006. – 1104 с.

5.     Intersystems Cache DeepSee. / – [Электронный ресурс]. – Режим доступа: URL: http://www.intersystems.com/our-products/embedded-technologies/deepsee/ (Дата обращения: 01.05.2016).

6.     MATLAB – book1. / – [Электронный ресурс]. – Режим доступа:URL: http://matlab.exponenta.ru/neuralnetwork/book1/index.php. (Дата обращения: 01.04.2016).

7.     MATLAB – book2. / – [Электронный ресурс]. – Режим доступа: URL: http://matlab.exponenta.ru/neuralnetwork/book2/18/trainlm.php. (Дата обращения: 01.04.2016).

8.     Oracle Cryslat Ball. / – [Электронный ресурс]. – Режим доступа: URL: http://www.hyperion.ru/products/appl/r_pr/. (Дата обращения: 01.05.2016).

9.     SAS Business Intelligence. / – [Электронный ресурс]. – Режим доступа: URL: http://www.sas.com/ru_ru/home.html. (Дата обращения: 01.05.2016).

10. SPSS. / – [Электронный ресурс]. – Режим доступа: URL: http://www-01.ibm.com/software/ru/analytics/spss/. (Дата обращения: 01.05.2016).

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Статья на тему: "ПРОГНОЗИРОВАНИЕ ПРОДАЖ В СРЕДЕ MATLAB""

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Директор музея

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 663 247 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 14.12.2021 332
    • DOCX 218.2 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Николаева Тамара Ивановна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Николаева Тамара Ивановна
    Николаева Тамара Ивановна
    • На сайте: 6 лет и 6 месяцев
    • Подписчики: 0
    • Всего просмотров: 323036
    • Всего материалов: 859

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Фитнес-тренер

Фитнес-тренер

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Специалист в области охраны труда

72/180 ч.

от 1750 руб. от 1050 руб.
Подать заявку О курсе
  • Сейчас обучается 35 человек из 22 регионов
  • Этот курс уже прошли 153 человека

Курс профессиональной переподготовки

Библиотечно-библиографические и информационные знания в педагогическом процессе

Педагог-библиотекарь

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 487 человек из 71 региона
  • Этот курс уже прошли 2 326 человек

Курс профессиональной переподготовки

Руководство электронной службой архивов, библиотек и информационно-библиотечных центров

Начальник отдела (заведующий отделом) архива

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Этот курс уже прошли 25 человек

Мини-курс

Коррекционно-развивающая работа и оценивание в образовании для детей с ОВЗ

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 57 человек из 30 регионов
  • Этот курс уже прошли 39 человек

Мини-курс

Личностное развитие и отношения

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Нейропсихология в школе: путь к успеху и благополучию детей

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 78 человек из 32 регионов
  • Этот курс уже прошли 56 человек