Автоматизированная система прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей
Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 22.09.2011 |
Размер файла | 4,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
112
Тема: Автоматизированная система прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей
Содержание
- Введение
- 1. Исследовательский раздел
- 1.1 Анализ процесса продаж мобильных телефонов
- 1.2 Нейронные сети как средство анализа процесса
- 1.3 Автоматизированные решения на основе нейросетевых технологий
- 1.4 Особенности проектируемой системы в сравнении с аналогичными
- 1.5 Цели и задачи разработки автоматизированной системы прогнозирования
- 2. Специальный раздел
- 2.1 Особенности проектирования системы в общем виде
- 2.2 Классификация нейронных сетей. Выбор нейронной сети для решения задачи
- 2.2.1 Однослойные нейронные сети
- 2.2.2 Многослойные нейронные сети
- 2.2.3 Обучение искусственных нейронных сетей
- 2.2.4 Нейросети обратного распространения
- 2.2.5 Обучение нейросетей обратного распространения
- 2.3 Применения нейросетей обратного распространения. Сведение прогнозирования к задаче распознавания образов
- 2.3.1 Задача распознавания образов
- 2.3.2 Метод окон
- 2.4 Разработка программной системы прогнозирования временных рядов
- 2.4.1 Обзор объектно-ориентированного программирования в Delphi
- 2.4.2 Объектно-ориентированный анализ задачи прогнозирования на искусственных нейронных сетях
- 3. Технологический раздел
- 3.1 Информационное обеспечение задачи. Данные о продажах мобильных телефонов
- 3.2 Возможности разработанной программы
- 3.3 Нейросетевое прогнозирование оптово-розничных продаж мобильных телефонов
- 3.4 Выводы по проектированию
- 4. Безопасность жизнедеятельности
- 4.1 Анализ условий труда и возможных чрезвычайных ситуаций, возникающих при эксплуатации вычислительной техники
- 4.2 Разработка безопасных и безвредных условий труда. Организация рабочего места
- 4.2.1 Расчёт естественного и искусственного освещения. Их характеристика
- 4.2.2 Расчёт вентиляции
- 4.2.3 Нормы шума и вибрации
- 4.3 Анализ методов сбора, переработки и утилизации отходов вычислительной техники
- 5. Организационно-экономический отдел
- 5.1 Оценка конкурентоспособности в сравнении с аналогом
- 5.2 Планирование комплекса работ по разработке темы и оценка трудоемкости
- 5.3 Расчет затрат на разработку проекта
- 5.4 Расчет эксплуатационных затрат
- 5.5 Расчет показателя экономического эффекта
- Заключение
- Список использованных источников
- Приложение А. Скриншоты работы программы
- Приложение Б. Листинг программного кода
Введение
В области информационных технологий всегда существовали два взаимодополняющих друг друга направления развития [1]:
системы, ориентированные на операционную обработку данных - системы обработки данных (далее СОД);
системы, ориентированные на анализ данных - системы поддержки принятия решений (далее СППР).
Еще недавно развивались почти исключительно системы, ориентированные только на операционную обработку данных. И такое опережающее развитие одного из направлений вполне объяснимо.
На первых этапах автоматизации требовалось и требуется навести порядок именно в процессах повседневной, рутинной обработки данных, на что и ориентированы традиционные СОД. Прежде чем заниматься анализом данных, необходимо эти данные произвести, а именно это и является одной из функций СОД.
Однако за последние несколько лет ситуация существенно изменилась. И это непосредственно связано с тем, что практически в любой организации сложилась хорошо всем знакомая парадоксальная ситуация - "информация вроде бы, где-то и есть, её даже слишком много, но она неструктурированна, несогласованна, разрознена, не всегда достоверна, её практически невозможно найти и получить" [2].
Именно на разрешение этого противоречия - отсутствие информации при ее наличии и даже избытке - и нацелены концепции в рамках СППР: хранилищ данных, витрин данных, On-Line Analitical Processing (далее OLAP), Data-mining [3].
Принять любое управленческое решение невозможно, не обладая необходимой для этого информацией. Для этого необходимо создание хранилищ данных, то есть процесс сбора, отсеивания и предварительной обработки данных с целью предоставления результирующей информации пользователям для дальнейшего анализа и создания отчетов [4].
Использование технологии OLAP позволяет аналитику посмотреть в удобном виде данные в виде "кубов", разворачивать и сворачивать их. OLAP предоставляет удобные быстродействующие средства доступа, просмотра и анализа деловой информации. Пользователь получает естественную, интуитивно понятную модель данных, организуя их в виде многомерных кубов. Нужный разрез или свод данных аналитик может проанализировать с помощью средств анализа данных [5].
Необходимость использования автоматизированного анализа данных стала очевидной в первую очередь из-за огромных массивов исторической и вновь собираемой информации. Другой причиной роста популярности анализа данных является объективность получаемых результатов. Человеку-аналитику, в отличие от машины, всегда присущ субъективизм, он в той или иной степени является заложником уже сложившихся представлений. Иногда это полезно, но чаще всего нет. Технология Data-mining не исключает полностью человеческую роль, но значительно упрощает процесс поиска знаний.
В качестве средств Data-mining всё большее распространение получают технологии на основе нейронных сетей. Нейросетевая методология находит все новые успешные применения в практике управления и принятия решений, в том числе - в финансовой и торговой сферах. Лежащая в ее основе теория нелинейных адаптивных систем доказала свою полезность в целом ряде отраслей экономики и финансов.
В настоящем дипломном проекте будет разработана автоматизированная программа прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
1. Исследовательский раздел
1.1 Анализ процесса продаж мобильных телефонов
Россия на мировом рынке мобильных телефонов представлена тремя процентами. Может показаться, что это немного по сравнению с Европой и той же Азией, однако нам представляется, что такие сравнения, мелькающие в электронных и печатных изданиях, не совсем корректны.
Очевидно, объём российского рынка меньше совокупного рынка стран ЕС или азиатского региона. В то же время Россия смотрится довольно неплохо и, что немаловажно, продолжает увеличивать доход. В период первичного насыщения рынок демонстрировал головокружительный рост, на котором положительно сказалось резкое уменьшение "серого" сегмента. Произошло это благодаря ряду факторов, сделавших работу с "серыми" трубками менее выгодными. Неожиданно заработала таможня, поднялись закупочные цены, да и наши соотечественники стали предъявлять повышенные требования к качеству товара и на дешёвые трубки подозрительного происхождения клюют меньше.
Многие эксперты предполагали, что за периодом насыщения последует логичный спад, но не тут то было. Да, количество процессов продаж серьёзно сократилось и продолжает постепенно уменьшаться. Например, в 2006 году снижение составило 14 процентов. Но вместе с тем в том же году доход вырос на 3 процента. Причин этому несколько, самая главная появление рынка "замены". Примерно треть абонентов ежегодно покупает новые телефоны на замену старых. Как правило, их выбор падает на более дорогие модели. Вместе с тем люди, впервые покупающие мобильный, тоже всё чаще выбирают дорогие. В 2006 году средняя цена сотового телефона, проданного на территории России, составила 193 доллара, что на 18 процентов больше, чем в 2005. Эта тенденция сохраняется до сих пор. Немаловажный фактор - рост благосостояния наших граждан и как следствие увеличение продаж трубок премиум-класса. Растёт и их техническая подкованность. Покупатели не только понимают преимущества таких новинок как EDGE, GPS и пр., но и готовы за них платить. На данный момент сегмент аппаратов дороже 300 долларов по количеству продаж опережает сегменты до 69 долларов и от 70 до 99 долларов на 6 и 4 процента соответственно. На стоимости продаваемых телефонов сказалось развитие кредитной системы. Средняя цена покупаемых по кредиту трубок почти в два раза выше приобретаемых за наличные. Правда, здесь кроется и серьёзная проблема, а именно не возврат кредитов, в некоторых регионах достигающий 70-ти процентов.
Лидерами продаж по-прежнему остаются модели от Samsung и Nokia, которых в последнее время успешно поджимает Sony Ericsson, потеснивший с третьего места Motorola. В целом российский рынок мобильных телефонов стабилизировался, и ожидать появления каких-нибудь новых игроков на нём не приходиться. Хоть новички периодически появляются но, как правило, не в силах играть большую роль в агрессивном конкурентном поле. Последним успехом среди брендов "второго эшелона" можно признать продвижение Fly. Успех компании обусловлен активным маркетингом, удачным ценообразованием и широким модельным рядом. Благодаря этому в прошлом 2007 году Fly с 8,2 процентами уверено заняла на рынке пятое место. Основным фактором, сдерживающим дальнейший рост, остаётся отсутствие разветвленной сети сервисного обслуживания.
Между тем российский рынок довольно специфичен. Добиться на нём хороших результатов не просто и для топовых брендов. Тот же самый Panasonic вообще был вынужден покинуть российский рынок мобильных телефонов. Мотивируя уход тем, что якобы наш рынок ещё не дорос до их продукции. Весьма спорное утверждение. Обещание вернуться в 2008 году так и осталось обещанием. Впрочем, покупатели не особо и расстраиваются, так как большинство этот уход даже не заметило.
Ещё плачевнее сложилась история телефонов Siemens. В компании телекоммуникационный сектор всегда был перспективным, но и проблематичным, принося только убытки. Имея неплохие стартовые условия, Siemens не только не удалось стать лидером рынка, но и пришлось покинуть его. Дитмар Тайс, директор отдела исследований, видит причину произошедшего в том, что мобильные телефоны "представляют собой потребительский бизнес, а Siemens ориентирован, прежде всего, на системы. Для чего необходим другой подход в маркетинговой стратегии" [6]. В провале виноват не только неудачный маркетинг, но и слабость модельного ряда по сравнению с основными конкурентами. Siemens удалось "спихнуть" убыточный бизнес тайваньской BenQ, которая с помощью его пыталась выйти на европейский рынок. Удовольствие получилось слишком дорогим. За 2005-2006 год BenQ Mobile вложила 1,2 миллиарда долларов, получив в результате убыток в 900 миллионов. Как следствие уже в октябре 2006 компанию признали банкротом (сделку заключили в 2005 году). По её условиям BenQ получала до 2010 года права на бренд BenQ - Siemens. После чего предполагалось полностью перейти на BenQ Mobile. Как показали события на рынке, в том числе в российском секторе, это был не очень разумный ход. Проблемы, которые были у Siemens, стали ассоциироваться и с новым брендом, а все положительные наработки так к нему и не "прилипли". В результате большинство российских покупателей просто предпочли "не связываться". И, как показали дальнейшие события, оправдано. Вряд ли кто-нибудь теперь возьмёт на себя обслуживание аппаратов, проданных обанкротившейся компанией.
На российском рынке розничной продажи мобильных телефонов безраздельно властвуют пять титанов: Евросеть, Связной, Цифроград, Диксис и Беталинк. За последние три года им удалось сделать впечатляющий рывок, захватив до 80% рынка. Для сравнения, на начало 2006 года их доля составляла всего 56%. За ними не только гарантия качества и сервисное обслуживание. Не последнюю роль сыграл рост популярности у наших покупателей услуги потребительского кредитования, которая вкупе с той же Евросетью выглядит гораздо выигрышней мелких и средних конкурентов. После лихих 90-х российские покупатели по прежнему не особо доверчивы, тем более к небольшим торговцам (не безосновательно, кстати). А выросшее благосостояние позволяет выбирать не только по цене, а ещё и по качеству товара и сервиса.
Короче говоря, для крупных игроков на рынке всё "радужно и розово". Правда, между крупнейшими ритейлерами на рынке продаж сотовых телефонов и операторами возникло некоторое поле напряжения из-за несоответствия количества проданных SIM-карт реальному количеству абонентов. Ещё в 2005 году этот разрыв стал двукратным. Причём он увеличивается ускоренными темпами. Например, в позапрошлом году количество абонентов увеличилось на 8,4 млн. человек, а количество SIM-карт на 27 млн.
Любопытным моментом для российского рынка мобильных телефонов стала тенденция межсегментного замещения. Оказалось, современный сотовый телефон способен не только создать конкуренцию, но и серьёзно потеснить, например МП3-плееры. Трубки, имеющие подобную функцию, по ряду причин, выглядят выигрышней. Плееры пока спасает меньшая цена и размеры, но вытеснение уже идёт.
В целом можно признать, что российский рынок мобильных телефонов, идя стопами европейского собрата, успешно преодолел все ступени развития. На данный момент он имеет твёрдую устойчивую структуру, как следствие баланса рыночных и государственных законов, что служит неплохим залогом дальнейшего развития.
Однако основной его проблемой остается получение прогноза на будущее, а так как прогноз это результат процесса прогнозирования, выраженный в словесной, математической, графической или другой форме суждения о возможном состоянии объекта (в частности рынка продаж мобильных телефонов) и его среды в будущий период времени. То для этого в сложившемся положение для улучшения получения прогноза о спросе создаются программы на основе нейронных сетей.
1.2 Нейронные сети как средство анализа процесса
С математической точки зрения нейронная сеть представляет собой многослойную сетевую структуру, состоящую из однотипных (и сравнительно простых) процессорных элементов - нейронов. Нейроны, связанные между собой сложной топологией межсоединений, группируются в слои (как правило, два-три), среди которых выделяются входной и выходной слои. В нейронных сетях, применяемых для прогнозирования, нейроны входного слоя воспринимают информацию о параметрах ситуации, а выходной слой сигнализирует о возможной реакции на эту ситуацию. Перед постановкой на "боевое дежурство" нейронная сеть проходит специальный этап настройки - обучения.
Как правило, сети предъявляется большое количество (сотни и тысячи) заранее подготовленных примеров, для каждого из которых известна требуемая реакция сети. Если сеть реагирует на очередной пример неадекватно, т.е. состояние выходного слоя отличается от заданного, внутренняя структура сети подвергается некоторой модификации для минимизации ошибки (в большинстве случаев корректируются веса соединений).
После определенного периода обучения сеть достигает состояния, соответствующего минимальной суммарной ошибке. Для некоторых задач суммарная ошибка составляет 2-3%, для других может доходить до 10-15%, ряд задач вообще не поддается решению на нейронных сетях. К счастью, прикладные аспекты теории нейронных сетей сегодня настолько изучены, что практически для каждой пользовательской задачи можно найти описание наиболее подходящей для ее решения структуры нейронной сети, а также ожидаемое качество результатов.
Вкратце перечислим основные преимущества нейронных сетей:
1. Наиболее ценное свойство нейронных сетей - способность обучаться на множестве примеров в тех случаях когда неизвестны закономерности развития ситуации и какие бы то ни было зависимости между входными и выходными данными. В таких случаях (а к ним можно отнести до 80% задач финансового анализа) пасуют как традиционные математические методы, так и экспертные системы.
2. Нейронные сети способны успешно решать задачи, опираясь на неполную, искаженную, зашумленную и внутренне противоречивую входную информацию.
3. Для использования методов корреляционного анализа вам понадобится профессионал-математик. Эксплуатация обученной нейронной сети по силам и старшекласснику.
4. Нейросетевые пакеты позволяют исключительно легко подключаться к базам данных, электронной почте и т.д. и автоматизировать процесс ввода и первичной обработки данных.
5. Внутренний параллелизм, присущий нейронным сетям, позволяет практически безгранично (насколько хватит кошелька) наращивать мощность нейросистемы. Вы можете начать с простого и дешевого пакета, потом перейти на профессиональную версию, потом добавить одну-две-три платы-ускорителя, потом перейти на специализированный нейрокомпьютер - с гарантией полной преемственности всего ранее созданного программного обеспечения.
В маркетинге нейронные сети можно применять для прогнозирования изменения спроса на товары или услуги в зависимости от их стоимости, функций и т.п. Для обучения сети достаточно представить реальные данные по рынку за различные периоды. Нейросеть хороша тем, что для маркетолога неважно, какая зависимость существует между входными данными, главное - что нейросеть может предсказать будущее значение спроса, зная сегодняшнее его значение, средний уровень цен, общий объем рынка.
Рынок мобильных телефонов как система с множеством параметров прекрасно прогнозируется с помощью нейронных сетей.
1.3 Автоматизированные решения на основе нейросетевых технологий
Существует целый ряд разработок, в том числе и российских, позволяющих осуществлять прогнозирование рынка. Приведем некоторые из существующих программ и кратко опишем их.
Для автоматизации деятельности торговых компаний фирма "BIGroup Labs" предлагает современный программный комплекс RS-Balance 3 [7]. В нем реализована высокоуровневая поддержка стандартных бизнес-процессов торгового предприятия, включая:
управление взаимоотношениями с клиентами, учет договорной деятельности, взаиморасчеты;
процесс закупки и определением рентабельности товара на этапе его закупки;
процесс оптовой, розничной и комиссионной продажи с настраиваемыми схемами ценообразования;
оперативное управление складскими запасами;
учет товарно-материальных ценностей и основных фондов внутри предприятия и внутри холдинговой структуры;
финансовый менеджмент, работу с денежными средствами;
ведение учета затрат, расчет себестоимости;
систему учета на множестве настраиваемых Планах счетов.
RS-Balance 3 разработан на основе объектно-ориентированного подхода. Набор встроенных в систему инструментальных средств дает конечному пользователю возможность модифицировать логику обработки первичных данных и настраивать клиентский интерфейс в соответствии со своими задачами и предпочтениями. Все это значительно увеличивает эффективность и удобство работы нейронных сетей торгового предприятия.
Инструментальное средство Cognos 4Thought входит в состав семейства современных программных средств обработки, анализа и прогнозирования данных, разработанного компанией Cognos [8].
В основу программного продукта Cognos 4Thought положена технология нейронных сетей. Использование нейронных сетей позволяет строить достаточно точные сложные нелинейные модели на основе неполной статистической выборки данных.
Cognos 4Thought предназначен для моделирования и прогнозирования.4Thought может анализировать исторические данные во времени, затем продолжить эту временную линию в будущее, предсказывая тенденции.
Системы Impromptu, PowerPlay, Scenario и 4Thought представляют собой взаимосвязанные и дополняющие друг друга инструментальные средства, поддерживающие наиболее эффективные технологии обработки данных и обеспечивающие решение широкого круга задач в бизнес-приложениях, от доступа к информации в распределенных базах данных до вычислительной обработки и интеллектуального анализа.
Cognos PowerPlay - это инструментальное средство для оперативного анализа данных и формирования отчетов по OLAP-технологии. Оно позволяет аналитикам исследовать данные под любым углом зрения, обеспечивая реальное многоуровневое видение текущего состояния организации. Главная особенность инструмента заключается в исключительной автоматизации процесса создания аналитического приложения, что позволяет за очень короткий срок создавать полномасштабные аналитические приложения, в основу которых положена технология OLAP.
Кроме того, инструмент отличается удобством применения: от пользователя требуются лишь навыки работы в среде Windows.
PowerPlay обеспечивает эффективный доступ ко всей имеющейся в организации информации, хранящейся в форме реляционных или не реляционных данных, таких как базы данных (Databases), склады данных (Data Warehouses), витрины данных (Data Marts) и электронные таблицы (Spreadsheets).
Созданный с помощью PowerPlay гиперкуб можно открыть в 4Thought. Гиперкуб представляет собой файл многомерных данных с расширением. mdc. Данные в таком файле организованы специальным образом для обеспечения быстрого доступа и детализации.
OLAP-кубы Cognos можно использовать как источники данных для модулей Data Mining (4Thought и Scenario), таким образом в продукции Cognos реализована интеграция технологий OLAP и Data Mining.
Cognos Impromptu - это инструмент фирмы Cognos для построения запросов любой сложности и отчетов произвольного формата пользователями, от которых не требуется навыков программирования. Отличительная черта этого средства - простота в использовании, которая достигается благодаря продуманному и интуитивно понятному интерфейсу.
Impromptu обеспечивает пользователей оперативной и детальной информацией, необходимой для принятия решений. Одним из основных достоинств Impromptu является возможность быстрого построения широкого спектра различных отчетов в зависимости от того, какие данные необходимы для принятия решения. Это означает, что пользователи могут формировать отчеты любой нужной структуры гораздо оперативнее и проще, чем при использовании других построителей отчетов.
Отчеты Impromptu также могут быть использованы в качестве входных данных для построения модели в Cognos 4Thought.
Cognos Scenario - это интеллектуальное инструментальное средство поиска (разведки) данных (Data Mining), которое позволяет руководителям (даже не знакомым с методиками статистического анализа) выявлять скрытые тенденции и модели бизнеса и "извлекать на поверхность" его ранее неизвестные закономерности и корреляционные связи.
Система Scenario спроектирована для построения моделей, описывающих особенности бизнеса по данным, которые при использовании традиционных методов анализа могли бы быть незамеченными. Удобный интерфейс этого приложения позволяет пользователям легко визуализировать имеющиеся сведения о бизнесе. Он автоматизирует обнаружение и ранжирование наиболее важных факторов, влияющих на бизнес, и выявление скрытых связей между этими факторами. Обладая подобным интерфейсом, Scenario делает процесс анализа данных, традиционно трудоемкий и дорогостоящий, простым и оперативным.
Результаты работы Scenario (ключевые показатели и факторы) могут быть переданы в 4Thought для выполнения прогнозирования.
Cognos 4Thought использует технологии математического моделирования, которые позволяют изучить взаимную связь факторов, влияющих на выбранную сферу деятельности. Это программное средство дает возможность плановикам создавать точную модель бизнеса, используемую для сравнения, прогнозирования, интерпретации результатов измерений.
4Thought поддерживает анализ на всех этапах:
Сбор данных. Данные вводятся непосредственно или получаются из внешних источников, например, MS Excel. Данные могут быть взяты у других программных средств семейства Cognos (Impromptu, ReportNet, PowerPlay и Scenario) или прямо из хранилища. Введенные данные отображаются в 4Thought в виде электронных таблиц, что позволяет достаточно просто их просматривать и анализировать;
Преобразование данных. Прежде чем попасть в модуль 4Thought, данные обычно очищаются в модуле Impromptu, который делает запросы к источникам данных (реляционным базам данных), позволяет накладывать фильтры на выборки данных (например, исключать строки, в которых значение показателя - целевой функции равно нулю, либо превращать одинаковые строки в одну строку, либо отсеивать строки если значение показателя является аномальным - выходит за пределы двух среднеквадратичных отклонений вверх и трех вниз, и т.п., правила очистки данных можно произвольно настраивать). Отчеты Impromptu могут быть использованы в качестве входных данных для построения модели в 4Thought.
В модуле 4Thought также есть возможность просматривать данные и исключать аномалии (задавая допустимые интервалы, в которых может изменяться значение показателя), а также заменить пустые значения показателей на конкретные значения. При этом создаются новые поля: коэффициенты, пропорции, процентные соотношения, дающие более полную картину проблемы.
Исследование данных. Данные визуализируются для просмотра в виде электронных таблиц, графиков и диаграмм различного вида. Фактически, этот этап представляет собой предварительный просмотр данных перед построением модели в 4Thought (выявление аномалий, работа с дубликатами и пропусками).
Создание модели.4Thought создает модель автоматически, но позволяет детальную интерактивную настройку параметров модели; пользователь контролирует ряд параметров, включая выбор факторов (например исключение несущественных факторов), отсеивание аномальных значений и т.д.
Интерпретация. После загрузки данных в модель 4Thought создает ряд отчетов и дает возможность работы с разнообразными графиками. Таким образом модель просматривается, проверяется достоверность полученных результатов, выявляются взаимозависимости факторов.
Применение. Реализованная модель используется для прогнозирования и определения наиболее существенных факторов, задающих изменения ключевых показателей.
4Thought позволяет выполнить обучение модели на репрезентативной выборке значений входных и выходных параметров нейронной сети. Для обучения может быть использована вся выборка либо ее часть - в таком случае оставшаяся часть выборки применяется для контроля точности (качества) обучения: отклонения значений выходов обученной нейронной сети от реальных значений. Обучение сети на одном наборе данных выполняется несколько раз (перед каждым обучением начальные значения весовых коэффициентов устанавливаются автоматически случайным образом), чтобы выбрать наилучшую точность обученной сети.
Cognos 4Thought позволяет, варьируя параметры сценарных условий, автоматически получать различные прогнозы на заданный период, отвечая на вопрос: "А что будет, если?" Результаты прогнозирования по всем отраслям региональной экономики можно получать в виде текстов, графиков, диаграмм, а также отчетных документов установленного образца, которые можно хранить в электронном виде или передавать потребителям по электронной почте. Такие возможности освобождают аналитиков от рутинной вычислительной и оформительской работы и позволяют сосредоточиться на вопросах стратегии и тактики регионального развития.
Cognos 4Thought отображает степень влияния факторов (входных переменных) на целевую переменную, что позволяет использовать его в качестве инструмента факторного анализа. То есть после настройки сети можно оценить, какие факторы вносят какой вклад в конечный результат.
4Thought может оперировать с временными рядами. Это позволяет обнаруживать и анализировать тренды в динамике экономических величин, а также строить прогноз значений показателей на несколько лет вперед.4Thought поддерживает несколько способов нормирования входных и выходных параметров, что дает возможность оперировать с экономическими величинами, влияние которых нелинейно.
При комплексном использовании продуктов семейства Cognos в единой информационно-аналитической системе возникают дополнительные преимущества (синергетический эффект). Задачи по сбору и обработке информации в системе решаются на этапе формирования витрин данных с помощью инструмента PowerPlay Transformation Server.
Вопросы безопасности в системе (защиты от несанкционированного доступа) решаются с помощью инструмента Access Manager, входящего в состав пакета PowerPlay Transformation Server.
Инструменты PowerPlay и Impromptu используются для решения задач, связанных с мониторингом показателей, многомерным анализом информации, формированием отчетов, а инструменты 4Thought и Scenario - для прогнозирования показателей социально-экономического развития, а также для факторного анализа данных. Организация передачи данных между инструментами полностью автоматизирована. Простота интерфейса продуктов Cognos и ориентированность на пользователей-непрограммистов позволяет эффективно выполнять сложные задачи анализа. Публикация информации в интранет/экстранет-среде может осуществляться с помощью инструмента Upfront, входящего в состав пакета Cognos PowerPlay Enterprise Server.
Пакет STATISTICA фирмы StatSoft [9] является интегрированной системой комплексного статистического анализа и обработки данных в среде Windows и занимает устойчивое лидирующее положение на рынке статистического программного обеспечения. Она полностью согласована со всеми стандартами Windows. Отдельные модули, из которых построена система, являются полноценными Windows-приложениями.
Прогнозирование моделей авторегрессии и проинтегрированного скользящего среднего имеет методику, реализуемую в следующей последовательности:
1. идентификация, или определение модели, которая описывает наблюдаемый временной ряд;
2. оценка параметров модели;
3. исследование адекватности модели;
4. прогноз.
Каждый из этапов методики легко доступен в пакете STATISTICA. Исследователь не испытывает перегрузок, связанных с подготовкой данных, проверкой результатов, построением графиков, рассмотрением альтернативных вариантов - все необходимые инструменты у него под рукой. Например, исследование и прогнозирование временных рядов в рамках ARIMA - Авторегрессия и проинтегрированное скользящее среднее, - реализованные в системе STATISTICA, соответствуют методическим основам Бокса и Дженкинса [9]. Образно можно сказать, что реализованный в системе диалог ARIMA является перенесением методологии Бокса и Дженкинса из мира математических идей и моделей в мир современных компьютерных технологий.
Большим достоинством системы является наличие встроенного языка STATISTICA BASIC, позволяющего моделировать временные ряды, оценивать качество прогноза, риск при использовании определенной стратегии игры.
Данный пример дает представление о ином подходе к прогнозированию, нежели нейронные сети. Несмотря на существование теории стохастического прогнозирования, программных средств реализующих эту теорию, большой интерес представляют иные подходы к решению проблемы прогнозирования - нейронные сети способны распараллеливать процесс и поэтому работать эффективнее, а кроме этого они могут таить в себе еще неоткрытые возможности.
1.4 Особенности проектируемой системы в сравнении с аналогичными
Следует отметить, что программные продукты, описанные в предыдущем разделе, претендуют на универсальное использование, поэтому их отличает большая избыточность. Она определяет высокую стоимость продукта, не всегда оправданную. Ведь основной потребитель предполагаемой разработки - магазин мобильных телефонов средней руки, пытающийся грамотным анализом рынка завоевать прочную нишу на нем, а следовательно, тратить колоссальные деньги на ПО он не может себе позволить. В этом случае оправданным будет разработать программу целевого назначения, оптимизированную под особенности именно этого сектора рынка.
Таким образом, нам предстоит исследовать особенности оптово-розничных продаж мобильных телефонов, задать схему нейронной сети и разработать программу на ее основе, отметить основную структуру типичной обучающей конструкции, собрать данные и обучить программу. После этого ею можно будет пользоваться на практике.
Выводы по разделу: нейронные сети - эффективное средство анализа рынка. Они широко используются в универсальных программных продуктах. Их избыточность и высокая стоимость дает нам право на самостоятельную разработку прикладной программы, ориентированной на задачи дипломного проектирования.
1.5 Цели и задачи разработки автоматизированной системы прогнозирования
Целью разработки автоматизированной системы прогнозирования является разработка универсальной системы, которая будет прогнозировать оптово-розничные продажи мобильных телефонов на основе нейронных сетей.
Для достижения данной цели требуется решить следующие задачи:
1) Проанализировать особенности проектирования систем;
2) Произвести анализ программной системы временных рядов;
3) Разработать программу нейросетевого прогнозирования оптово-розничных продаж мобильных телефонов;
4) Изучить меры безопасности при эксплуатации электронно-вычислительной техники;
5) Дать экономическое обоснование разработанной программе.
Именно этой актуальной теме посвящен данный дипломный проект.
2. Специальный раздел
2.1 Особенности проектирования системы в общем виде
В различных областях человеческой деятельности часто возникают ситуации, когда по имеющейся информации (данным), обозначим ее X, требуется предсказать (спрогнозировать, оценить) некоторую величину Y, стохастически связанную с X (то есть X и Y имеют некоторое распределение L (X,Y)), но которую непосредственно измерить невозможно (например, Y может относиться к будущему, а X - к настоящему). Так, например, может представлять интерес прогноз успеваемости первокурсников очередного набора по оценкам, полученным ими на вступительных экзаменах. Здесь X - средний балл студентов на вступительных экзаменах, а Y - средний балл по итогам, скажем, первой сессии; при этом совместное распределение X и Y можно в принципе определить (оценить) по аналогичным данным за прошлые годы.
В общем случае X означает некоторую совокупность {X1, X2,…} наблюдаемых случайных величин, которые в рассматриваемом контексте называются предсказывающими (или прогнозными) переменными, и задача состоит в построении такой функции Ф (Х), которую можно было бы использовать в качестве оценки для прогнозируемой величины Y: Ф (Х) =Y (т.е. чтобы она была в каком-то смысле "близка" к Y); такие функции Ф (Х) называют предикторами величины Y по X. Разработка методов построения оптимальных (в том или ином смысле) предикторов и составляет главную задачу прогнозирования.
Если совокупность величин {X1, X2, …, Xn} представляет собой значения какого-либо параметра, изменяющегося во времени, то такую совокупность называют временным рядом, при этом каждое значение соответствует значению параметра в конкретное время t1, t2, …,tn. Задача прогнозирования в этом случае заключается в определении значения измеряемой величины X в момент времени tn+1, tn+2, tn+3,…, то есть для выполнения прогнозирования необходимо выявить закономерность этого временного ряда.
Различают многошаговый и одношаговый прогноз.
Многошаговым прогнозом называют долгосрочный прогноз, цель которого состоит в определении основного тренда, для некоторого фиксированного промежутка времени в будущем. При этом прогнозирующая система (в нашем случае - нейронная сеть) использует полученные прогнозные значения временного ряда для выполнения дальнейшего прогноза, то есть использует их как входные данные.
Одношаговым прогнозированием называют краткосрочный прогноз (на один шаг), при этом для получения прогнозированной величины используют только фактические данные. Ясно, что одношаговое прогнозирование более точно, но оно не позволяет выполнять долгосрочные прогнозы.
Уточним теперь, что целью данной работы есть разработка системы, которая могла бы выполнять одношаговое и многошаговое прогнозирование и использовала технологии искусственных нейронных сетей; при этом будет показано, каким образом задача прогнозирования сводится к задаче распознавания образов. И только после отработки данного математически-программного аппарата мы применим его к рынку продаж мобильных телефонов.
Теория стохастического прогнозирования [9] изучает методы построения предикторов. Для построения этой теории, прежде всего, требуется уточнить смысл приближенного равенства Ф (Х) ?Y. Если Ф (Х) используется для предсказания величины Y, то одной из разумных мер расхождения между ними является (Ф (Х) - Y) 2, или квадратичная ошибка, но так как величина Y неизвестна, то для измерения точности предиктора Ф используется среднеквадратичная ошибка ?Ф=М (Ф (Х) - Y) 2, где М - знак математического ожидания. Среднеквадратическая ошибка - мера, традиционно используемая в теории стохастического прогнозирования, хотя в принципе можно было бы использовать и другие меры точности, например среднюю абсолютную ошибку. Предиктор, минимизирующий среднеквадратичную ошибку в заданном классе предикторов, называют оптимальным предиктором или прогнозом.
2.2 Классификация нейронных сетей. Выбор нейронной сети для решения задачи
Нервная система человека, построенная из элементов, называемых нейронами, имеет ошеломляющую сложность. Около 1011 нейронов участвуют в примерно 1015 передающих связях, имеющих длину метр и более. Каждый нейрон обладает многими качествами, общими с другими элементами тела, но его уникальной способностью является прием, обработка и передача электрохимических сигналов по нервным путям, которые образуют коммуникационную систему мозга.
Рисунок 2.1 - Биологический нейрон
На рисунке 2.1 показана структура пары типичных биологических нейронов. Дендриты идут от тела нервной клетки к другим нейронам, где они принимают сигналы в точках соединения, называемых синапсами. Принятые синапсом входные сигналы подводятся к телу нейрона. Здесь они суммируются, причем одни входы стремятся возбудить нейрон, другие - воспрепятствовать его возбуждению. Когда суммарное возбуждение в теле нейрона превышает некоторый порог, нейрон возбуждается, посылая по аксону сигнал другим нейронам.
Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На рисунке 2.2 представлена модель, реализующая эту идею. Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом: NET = XW.
Рисунок 2.2 - Искусственный нейрон
Рисунок 2.3 - Искусственный нейрон с активационной функцией
На рисунке 2.3 блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT.
Если блок F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежат некоторому конечному интервалу, то F называется "сжимающей" функцией.
прогнозирование продажа нейронная сеть
Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала.
. (1)
Другой широко используемой активационной функцией является гиперболический тангенс.
OUT = th (x). (2)
Рисунок 2.4 - Функция гиперболического тангенса
2.2.1 Однослойные нейронные сети
Простейшая сеть состоит из группы нейронов, образующих слой, как показано в правой части рисунка 2.5 Отметим, что вершины-круги слева служат лишь для распределения входных сигналов. Они не выполняют каких-либо вычислений, и поэтому не будут считаться слоем.
Рисунок 2.5 - Однослойная нейронная сеть
Удобно считать веса элементами матрицы W. Матрица имеет т строк и п столбцов, где m - число входов, а n - число нейронов. Например, w2,3 - это вес, связывающий третий вход со вторым нейроном. Таким образом, вычисление выходного вектора N, компонентами которого являются выходы OUT нейронов, сводится к матричному умножению N=XW, где N и Х - векторы-строки.
2.2.2 Многослойные нейронные сети
Рисунок 2.6 - Двухслойная нейронная сеть
Многослойные сети могут образовываться каскадами слоев. Выход одного слоя является входом для последующего слоя. Подобная сеть показана на рисунке 2.6, она изображена со всеми соединениями.
Многослойные сети могут привести к увеличению вычислительной мощности по сравнению с однослойной сетью лишь в том случае, если активационная функция между слоями будет нелинейной.
2.2.3 Обучение искусственных нейронных сетей
Нейросеть обучается, чтобы для некоторого множества входов давать желаемое (или, по крайней мере, сообразное с ним) множество выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной подстройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал выходной вектор.
Различают стратегии обучения: "обучение с учителем" и "обучение без учителя".
"Обучение с учителем" предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе они называются обучающей парой. Векторы обучающего множества предъявляются последовательно, вычисляются ошибки и веса подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня.
Обучение без учителя является намного более правдоподобной моделью обучения в биологической системе. Развитая Кохоненом [12] и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса нейросети так, чтобы получались согласованные выходные векторы, т.е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы.
2.2.4 Нейросети обратного распространения
Обратное распространение - это систематический метод для обучения многослойных искусственных нейронных сетей. Он имеет солидное математическое обоснование. В [14] было дано ясное и полное описание процедуры. Вскоре выяснилось, что еще раньше метод был описан в [15]. Авторы работы [14] сэкономили бы свои усилия, знай они о работе [15]. Хотя подобное дублирование является обычным явлением для каждой научной области, в искусственных нейронных сетях положение с этим намного серьезнее из-за пограничного характера самого предмета исследования. Исследования по нейронным сетям публикуются в столь различных книгах и журналах, что даже самому квалифицированному исследователю требуются значительные усилия, чтобы быть осведомленным о всех важных работах в этой области.
На рисунке 2.7 показан нейрон, используемый в качестве основного строительного блока в сетях обратного распространения. Подается множество входов, идущих либо извне, либо от предшествующего слоя. Каждый из них умножается на вес, и произведения суммируются. Эта сумма, обозначаемая NET, должна быть вычислена для каждого нейрона сети. После того, как величина NET вычислена, она модифицируется с помощью активационной функции и получается сигнал OUT.
Рисунок 2.7 - Искусственный нейрон с активационной функцией
Рисунок 2.8 - Сигмоидальная активационная функция.
На рисунке 2.8 показана активационная функция, обычно используемая для обратного распространения. Эта функция, называемая сигмоидом, весьма удобна, так как имеет простую производную, что используется при реализации алгоритма
На рисунке 2.9 изображена многослойная сеть, которая может обучаться с помощью процедуры обратного распространения. (Для ясности рисунок упрощен.) Первый слой нейронов (соединенный с входами) служит лишь в качестве распределительных точек, суммирования входов здесь не производится. Входной сигнал просто проходит через них к весам на их выходах. А каждый нейрон последующих слоев выдает сигналы NET и OUT, как описано выше.
Рисунок 2.9 - Двухслойная сеть обратного распространения.
2.2.5 Обучение нейросетей обратного распространения
Целью обучения сети является такая подстройка ее весов, чтобы подача на нейросеть некоторого множества входов приводила к требуемому множеству выходов. Для краткости эти множества входов и выходов будем называть векторами. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход. Вместе они называются обучающей парой. Как правило, нейросеть обучается на многих парах.
Обучение сети обратного распространения требует выполнения следующих операций:
1. Выбрать очередную обучающую пару из обучающего множества; подать входной вектор на вход сети.
2. Вычислить выход сети.
3. Вычислить разность между выходом сети и требуемым выходом (целевым вектором обучающей пары).
4. Подкорректировать веса сети так, чтобы минимизировать ошибку.
5. Повторять шаги с 1 по 4 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.
На рисунке 2.10 показан процесс обучения для одного веса от нейрона р в скрытом слое j к нейрону q в выходном слое k. Выход нейрона слоя k, вычитаясь из целевого значения (Target), дает сигнал ошибки. Он умножается на производную сжимающей функции OUT (1-OUT), вычисленную для этого нейрона слоя k, давая, таким образом, величину д.
Рисунок 2.10 - Алгоритм настройки веса в выходном слое
д = OUT (1 - OUT) (Target - OUT) (4)
Затем д умножается на величину OUT нейрона j, из которого выходит рассматриваемый вес.
Это произведение в свою очередь умножается на коэффициент скорости обучения з (обычно от 0.01 до 1.0), и результат прибавляется к весу.
Такая же процедура выполняется для каждого веса от нейрона скрытого слоя к нейрону в выходном слое.
Следующие уравнения иллюстрируют это вычисление:
Дwpq,k = з дq,k OUT (5)
wpq,k (n+1) = wpq,k (n) + Дwpq,k (6)
где wpq,k (n) - величина веса от нейрона p в скрытом слое к нейрону q в выходном слое на шаге n (до коррекции); так что индекс k относится к слою, в котором заканчивается данный вес, т.е. с которым он объединен;
wpq,k (n+1) - величина веса на шаге n+1 (после коррекции);
дq,k - величина д для нейрона q, в выходном слое k;
OUTp,j - величина OUT для нейрона р в скрытом слое j.
Для каждого нейрона в данном скрытом слое должно быть вычислено д и подстроены все веса, ассоциированные с этим слоем. Этот процесс повторяется слой за слоем по направлению к входу, пока все веса не будут подкорректированы (рис.2.11).
Рисунок 2.11 - Настройка веса в скрытом слое
2.3 Применения нейросетей обратного распространения. Сведение прогнозирования к задаче распознавания образов
Обратное распространение было использовано в широкой сфере прикладных исследований. Фирма NEC в Японии объявила, что обратное распространение было ею использовано для визуального распознавания букв, причем точность превысила 99%. Это улучшение было достигнуто с помощью комбинации обычных алгоритмов с сетью обратного распространения, обеспечивающей дополнительную проверку.
В работе [22] достигнут впечатляющий успех с Net-Talk, системой, которая превращает печатный английский текст в высококачественную речь. Магнитофонная запись процесса обучения сильно напоминает звуки ребенка на разных этапах обучения речи.
В [23] обратное распространение использовалось в машинном распознавании рукописных английских слов. Буквы, нормализованные по размеру, наносились на сетку, и брались проекции линий, пересекающих квадраты сетки. Эти проекции служили затем входами для сети обратного распространения. Сообщалось о точности 99,7% при использовании словарного фильтра.
В [24] сообщалось об успешном применении обратного распространения к сжатию изображений, когда образы представлялись одним битом на пиксель, что было восьмикратным улучшением по сравнению с входными данными.
2.3.1 Задача распознавания образов
Распознавание образов - это одна из трудноформализованных задач, решение которой можно выполнить, используя нейросеть.
Пусть существует конечное множество графических образов, которые нужно распознать, и соответствующие им двоичные коды желаемых выходов (идентификаторов). В совокупности мы получили обучающее множество, в котором каждому графическому образу соответствует двоичный идентификатор. Спроецируем каждый образ на панель (рисунок 2.12) и сопоставим ему двоичный код - это код графического образа.
Рисунок 2.12 - Распознавание изображения
Возьмем какую-нибудь многослойную нейросеть обратного распространения и проведем обучение этой нейросети по вышеописанным правилам: подадим на вход нейросети считанный с панели двоичный код графического образа, а на выход желаемый идентификатор; будем повторять этот процесс до тех пор, пока нейросеть не обучится распознавать все обучающее множество.
После этого нейросеть можно считать способной распознавать образы из обучающего множества без искажений, а также образы, похожие, на те, которые предъявлялись нейросети при обучении.
Решение этой задачи, действительно интересно, так как ранее такие действия мог выполнять только человек.
2.3.2 Метод окон
Задача прогнозирования, рассмотренная ранее, может быть сведена к задаче распознавания образов, описанной выше, для этого применяется метод окон (метод windowing - рисунок 2.13).
Рисунок 2.13 - Метод окон
Метод windowing позволяет выявить закономерности во временном ряде на основе сведения анализа временного ряда к задаче распознавания образов и последующего ее решения на нейросети, описанным выше способом.
Основная идея метода: вводится два окна, одно из которых входное (input), второе - выходное (output). Эти окна фиксированного размера для наблюдения данных. Окна способны перемещаться с некоторым шагом S. В результате получаем некоторую последовательность наблюдений, которая составляет обучающее множество. Входному окну соответствует вход нейросети, а выходному окну - желаемый образ (идентификатор в терминологии распознавания образов).
2.4 Разработка программной системы прогнозирования временных рядов
2.4.1 Обзор объектно-ориентированного программирования в Delphi
Большинство современных языков программирования поддерживают концепцию объектно-ориентированного программирования (ООП). Эта концепция базируется на основных понятиях: классы, объекты, сообщения, наследование и полиморфизм (или позднее связывание). Среда программирование Delphi [25] использует объектно-ориентированный язык Object Pascal.
Подобные документы
Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.
дипломная работа [3,8 M], добавлен 27.06.2011Задача анализа деловой активности, факторы, влияющие на принятие решений. Современные информационные технологии и нейронные сети: принципы их работы. Исследование применения нейронных сетей в задачах прогнозирования финансовых ситуаций и принятия решений.
дипломная работа [955,3 K], добавлен 06.11.2011Описание функционирования магазина мобильных телефонов. Особенности создания базы данных учета товарооборота магазина мобильных телефонов в СУБД Microsoft Access. Концептуальное проектирование системы, инфологическое моделирование предметной области.
курсовая работа [9,5 M], добавлен 11.08.2012Организация межтабличных связей в MS Excel для автоматического запроса цены и количества проданных телефонов, с использование функции ВПР или ПРОСМОТР. Расчет суммы, полученной от продаж. Составление документа "Ведомость продаж мобильных телефонов".
контрольная работа [1,4 M], добавлен 10.10.2014Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Отличительные черты смартфонов и коммуникаторов от обычных мобильных телефонов, их дополнительные возможности. Назначение и конфигурация платформы J2ME, ее функции. Порядок проектирования приложения для мобильного телефона на основе платформы J2ME.
дипломная работа [3,6 M], добавлен 05.09.2009Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Исследование задачи и перспектив использования нейронных сетей на радиально-базисных функциях для прогнозирования основных экономических показателей: валовый внутренний продукт, национальный доход Украины и индекс потребительских цен. Оценка результатов.
курсовая работа [4,9 M], добавлен 14.12.2014