Прогнозирование на основе аппарата нейронных сетей
Прогнозирование на основе аппарата нейронных сетей
Аннотация
В данной дипломной работе разработан оригинальнй подход к проблеме прогнозирования, на основе нейронных сетей. При помощи нейронной сети основанной на алгоритме обратного функционирования, были спрогнозированы изменения курса доллара США по отношению к украинскому карбованцу. Эксперимент дал хорошие результаты по достоверности. Разработанна модель прогнозирования может быть применена и при прогнозировании других экономических показателей.
ANNOTATION In this diploma work the original approach to forecasting problem is developed. This approach based of neural nets modeling. By the book propogation neural net, relative change rate for USD/UKB was predicted. The elaboration was successful and profitable. The model developed for problem discussed may be successfuly used of a number of management solution forecasting.
СПИСОК СОКРАЩЕНИЙ ВТ - вычислительная техника; ИИ - искусственный интеллект; ЦУ - цифровое устройство; ЭС - экспертная система; НС - нейронная сеть; ИК - изменение курса; ОИК - относительное изменение курса; ОИК в % - относительное изменение курса в процентах; DM - немецкая марка; SUR - российский рубль; USD - американский доллар; UKB - украинский карбованец.
Перечень графических материалов
1. Модель нейрона и виды переходной функции.
2. Модели нейронных сетей.
3. Схема обучения НС с обратным функционированием.
4. Относительное изменение курса за 1995г.
5. Курс доллара и его прогноз за 1995г.
6. График взаимосвязи спроса и предложения доллара.
Содержание
Введение
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.3 Задачи, решаемые на основе нейронных сетей
2.4 Способы реализации нейронных сетей
Выводы
3. Прогнозирование на основе нейронных сетей
3.1 Общий подход к прогнозированию с помощью нейронных сетей
3.2 Применение нейронных сетей в финансовой сфере
Выводы
4. Нейронные сети, основанные на методе обратного функционирования
4.1 Обучение нейронных сетей
4.2 Алгоритм обратного распространения
4.2.1 Идея создания алгоритма обратного распространения
4.2.2 Описание НС и алгоритма обратного распространения
4.2.3 Современная оценка алгоритма обратного распространения
Выводы
5. Прогнозирование курса ukb/usd
5.1 Общий подход к прогнозированию курса UKB/USD
5.2 Описание экспериментов
Выводы
Литература
Приложение 1. Еженедельные продажи режущего инструмента
Приложение 2.1 Результаты экспериментов 14-18
Приложение 2.2 Результаты экспериментов 19-21,34,35
Приложение
2.3 Результаты экспериментов 36-38
Введение
Целью данной работы является разработка методов прогнозирования основанных на нейронных сетях (НС) , которые может быть использованы в прогнозирующих системах. На основе этих методов возможно предсказание значения переменных, важных в процессе принятия решений. Эти методы анализируют исторические данные о переменной с целью оценить ее будущее изменение.
Для достижения указанной цели необходимо решить следующие задачи: провести анализ проблемы прогнозирования; провести сравнительный анализ известных моделей НС; выбрать модель, обеспечивающую эффективное решение задачи прогнозирования; провести исследование предложенной модели; реализовать тестовый пример для выбранной модели.
Основное содержание работы: Во введении сформулирована цель и основные задачи исследования, изложены основные положения разделов работы.
В первой главе мы обсуждаем некоторые общие аспекты разработки прогнозирующих систем: понятие прогноза и цели его использования, основные понятия и определения в области прогнозирования, методы прогнозирования, модели временных последовательностей, критерии производительности прогнозирующих систем и другие общие вопросы, касающиеся разработки прогнозирующих систем.
Во второй главе мы обсуждаем известные модели НС: модель Маккалоха и Питтса; модель Розенблата; модели Хопфилда и Больцмана; модель на основе обратного распространения. Рассмотрена структура и особенности каждой из моделей. Перечислены основные задачи решаемые на основе НС, описаны способы реализации НС. Проведен анализ известных моделей НС с точки зрения решения задачи прогнозирования.
В третьей главе описан способ прогнозирования с помощью НС, основанный на методе окон. Также приведен обзор применения НС в финансовой сфере.
В четвертой главе мы приводим детальное описание метода обратного распространения - способа обучения многослойных НС. Подробно описана НС для распознавания рукописных цифр и процесс ее обучения. В главе также проведена современная оценка метода обратного распространения.
В пятой главе описаны эксперименты по прогнозированию курса американского доллара по отношению к украинскому карбованцу (UKB/USD) . Сначала описаны задачи исследования и общая структура экспериментов. Далее описаны проделанные эксперименты, при этом подробно перечислены особенности каждого из них. Для экспериментов, которые показали удовлетворительные результаты обучения (сеть распознала не менее 80% образов, на которых обучалась) в приложениях приведены таблицы с подробным описанием результатов по каждому образу, который распознавался.
Завершается работа заключением, в котором сделаны основные теоретические и практические выводы, указана перспектива дальнейших исследований, а также приведены список использованной литературы и приложения.
- ЗАКЛЮЧЕНИЕ В данной работе разработан ряд методов прогнозирования основанных на нейронных сетях (НС) , которые могут быть использованы в прогнозирующих системах. На основе этих методов возможно предсказание значения переменных, важных в процессе принятия решений.
В работе обсуждены аспекты разработки прогнозирующих систем: понятие прогноза и цели его использования, основные понятия и определения в области прогнозирования, методы прогнозирования, модели временных последовательностей, критерии производительности прогнозирующих систем и другие общие вопросы касающиеся разработки прогнозирующих систем, На основании анализа известных моделей НС: модели Маккалоха и Питтса; модели Розенблата; модели Хопфилда и Больцмана; модели на основе обратного распространения, для реализации прогнозирующей системы было предложено применение модели на основе обратного распространения. Предложен способ прогнозирования с помощью НС, основанный на методе окон. Также приведен обзор применения НС в финансовой сфере, показывающий эффективность применения НС для прогнозирования.
Разработан тестовый пример для предложенного метода на основании прогнозирования курса USD/UKB. Проведенные в данной предметной области эксперименты показали высокую точность прогнозирования. На основании проделанных экспериментов возможно построение программного продукта для прогнозирования курсов валют даже в условиях нестабильного состояния современной украинской экономики.
В
целом мы считаем результаты работы тем
базисом, на основании которого возможно
построение универсального прогнозирующего
комплекса, являющегося составной частью
общей системы управления.
1. Прогнозирующие системы. Состояние проблемы
В
данной главе мы обсуждаем некоторые общие
аспекты разработки прогнозирующих систем:
понятие прогноза и цели его использования,
основные понятия и определения в области
прогнозирования, методы прогнозирования,
модели временных последовательностей,
критерии производительности прогнозирующих
систем и другие общие вопросы, касающиеся
разработки прогнозирующих систем.
1.1
Прогноз и цели его использования
Прогнозирование - это ключевой момент при принятии решений в управлении. Конечная эффективность любого решения зависит от последовательности событий, возникающих уже после принятия решения. Возможность предсказать неуправляемые аспекты этих событий перед принятием решения позволяет сделать наилучший выбор, который, в противном случае, мог бы быть не таким удачным. Поэтому системы планирования и управления, обычно, реализуют функцию прогноза. Далее перечислены примеры ситуаций [44], в которых полезно прогнозирование.
Управление материально-производственными запасами. В управлении запасами запасных частей на предприятии по ремонту самолетов совершенно необходимо оценить степень используемости каждой детали. На основе этой информации определяется необходимое количество запасных частей. Кроме того, необходимо оценить ошибку прогнозирования. Эта ошибка может быть оценена, например, на основе данных о времени, которое понадобилось для доставки деталей, которых не было на складе.
Планирование производства. Для того, чтобы планировать производство семейства продуктов, возможно, необходимо спрогнозировать продажу для каждого наименования продукта, с учетом времени доставки, на несколько месяцев вперед. Эти прогнозы для конечных продуктов могут быть потом преобразованы в требования к полуфабрикатам, компонентам, материалам, рабочим и т.д. Таким образом на основании прогноза может быть построен график работы целой группы предприятий.
Финансовое планирование. Финансового менеджера интересует, как будет изменяться денежный оборот компании с течением времени. Менеджер, может пожелать узнать, в какой период времени в будущем оборот компании начнет падать, с тем, чтобы принять соответствующее решение уже сейчас.
Разработка расписания персонала. Менеджер почтовой компании должен знать прогноз количества обрабатываемых писем, с тем чтобы обработка производилась в соответствии с расписанием персонала и производительностью оборудования.
Планирование нового продукта. Решение о разработке нового продукта обычно требует долговременного прогноза того, каким спросом он будет пользоваться. Этот прогноз не менее важен, чем определение инвестиций необходимых для его производства.
Управление технологическим процессом. Прогнозирование также может быть важной частью систем управления технологическими процессами. Наблюдая ключевые переменные процесса и используя их для предсказания будущего поведения процесса, можно определить оптимальное время и длительность управляющего воздействия. Например, некоторое воздействие в течение часа может повышать эффективность химического процесса, а потом оно может снижать эффективность процесса. Прогнозирование производительности процесса может быть полезно при планировании времени окончания процесса и общего расписания производства.
На основании вышеизложенного можно сказать, что прогнозирование - это предсказание будущих событий. Целью прогнозирования является уменьшение риска при принятии решений. Прогноз обычно получается ошибочным, но ошибка зависит от используемой прогнозирующей системы. Предоставляя прогнозу больше ресурсов, мы можем увеличить точность прогноза и уменьшить убытки, связанные с неопределенностью при принятии решений.
Заметим, что концептуальная модель основана на асимптотическом снижении убытков при использовании результатов прогнозирования. Таким образом, каждый дополнительный доллар, потраченный на прогнозирование дает меньшее снижение риска убытков, чем предыдущий. За некоторой точкой, дополнительные затраты на прогнозирование могут вовсе не приводить к снижению потерь. Это связано с тем, что невозможно снизить среднюю ошибку прогнозирования ниже определенного уровня, вне зависимости от того насколько сложен примененный метод прогнозирования.
Поскольку прогнозирование никогда не сможет полностью уничтожить риск при принятии решений, необходимо явно определять неточность прогноза. Обычно, принимаемое решение определяется результатами прогноза (при этом предполагается, что прогноз правильный) с учетом возможной ошибки прогнозирования.
Сказанное выше предполагает, что прогнозирующая система должна обеспечивать определение ошибки прогнозирования, также как и само прогнозирование. Такой подход значительно снижает риск объективно связанный с процессом принятия решений.
Необходимо
отметить, что прогнозирование это не
конечная цель. Прогнозирующая система
это часть большой системы менеджмента
и как подсистема, она взаимодействует
с другими компонентами системы, играя
немалую роль в получаемом результате.
1.2
Основные понятия и определения проблемы
прогнозирования
Необходимо отметить, что мы рассматриваем прогнозирование в целях планирования производства или управления запасами. Таким образом, наш интерес лежит в определении будущих продаж продукта, или использовании материалов. Обычно мы будем ссылаться на интересующую нас переменную, как на "требование". Конечно, только такое применение предложенных методов не обязательно и прогнозирование быть проведено для каких-либо других целей и включать другие типы переменных. Однако, предполагая именно такую направленность, мы сформулируем специальные комментарии, описывающие общие принципы решения проблемы прогнозирования. Сформулированные принципы могут быть применены при прогнозировании в других целях.
Для того чтобы определить проблему прогнозирования, рассмотрим ее подробнее. Результаты прогнозирования используются для поддержки принятия решений. Следовательно, природа принимаемых решений определяет большинство желаемых характеристик прогнозирующей системы. Изучение решаемой проблемы должно помочь ответить на вопросы о том, что нужно прогнозировать, какую форму должен принять прогноз, какие временные элементы включаются и какова желательная точность прогноза.
При определении того, что нужно прогнозировать, мы указываем переменные, которые анализируются и предсказываются. Здесь очень важен требуемый уровень детализации. Система проектирования производства может требовать прогноз требуемого количества продукции в единицах по каждому виду конечного продукта производимого предприятием и прогноз по запасным частям для оборудования предприятия. С другой стороны, менеджер по продаже может потребовать только прогноз общей суммы продажи продукта в долларах, для определения вклада в бюджет. В первом случае прогнозирование построено на единичном базисе, во втором случае прогнозирование построено на обобщенном базисе. Пока от нас требуется результирующая информация первого или второго типа нельзя однозначно выбрать анализируемые переменные. При планировании производства мы можем прогнозировать на некотором обобщенном уровне, например, на уровне семейства продуктов и потом разбить обобщенный прогноз до единичного уровня, используя дополнительные расчеты. При прогнозировании общей суммы продаж в долларах, мы можем прогнозировать продажу по каждому из продуктов, скажем того же семейства продуктов, результат преобразовать в доллары, используя предсказанные цены и потом оценить общий уровень продаж в долларах.
На используемый уровень детализации влияет множество факторов: доступность и точность данных, стоимость анализа и предпочтения менеджера. В ситуациях, когда наилучший набор переменных неясен, можно попробовать разные альтернативы и выбрать один из вариантов, дающий наилучшие результаты. Обычно так осуществляется выбор при разработке прогнозирующих систем, основанных на анализе исторических данных.
Второй важный этап при построении прогнозирующей системы - это определение следующих трех параметров: периода прогнозирования, горизонта прогнозирования и интервала прогнозирования. Период прогнозирования - это основная единица времени, на которую делается прогноз. Мы можем пожелать знать требование на продукт через неделю. В этом случае период - неделя. Горизонт прогнозирования - это число периодов в будущем, которые покрывает прогноз. То есть, нам может понадобиться прогноз на 10 недель вперед, с данными по каждой неделе. В этом случае период неделя, а горизонт - 10 недель. Наконец, интервал прогнозирования - частота, с которой делается новый прогноз. Часто интервал прогнозирования совпадает с периодом прогнозирования. В этом случае прогноз пересматривается каждый период, используя требование за последний период и другую текущую информацию в качестве базиса для пересматриваемого прогноза. Если горизонт всегда имеет одну и ту же длину (Т-периодов) и прогноз пересматривается каждый период, говорят что мы работаем на основе движущего горизонта. В этом случае, мы репрогнозируем требование для Т-1 периода и делаем оригинальный прогноз для периода Т.
Выбор периода и горизонта прогнозирования обычно диктуется условиями принятия решений в области, для которой производится прогноз. Для того, чтобы прогнозирование имело смысл, горизонт прогнозирования должен быть не меньше, чем время, необходимое для реализации решения принятого на основе прогноза. Таким образом, прогнозирование очень сильно зависит от природы принимаемого решения. В некоторых случаях, время, требуемое на реализацию решения не определено, например, как в случае поставки запасных частей для пополнения запасов ремонтных предприятий. Существует методы работы в условиях подобной неопределенности, но они повышают вариацию ошибки прогнозирования. Поскольку с увеличением горизонта прогнозирования точность прогноза, обычно, снижается, часто мы можем улучшить процесс принятия решения, уменьшив время, необходимое на реализацию решения и, следовательно, уменьшив горизонт и ошибку прогнозирования.
Интервал прогнозирования часто определяется операционным режимом системы обработки данных, которая обеспечивает информацию о прогнозируемой переменной. В том случае, если уровень продаж сообщается ежемесячно, возможно для еженедельного прогноза продаж этих данных недостаточно и интервал прогнозирования месяц является более обоснованным.
Хотя различие не велико, мы хотели бы обратить внимание на различие между данными за период и точечными данными. Данные за период характеризуют некоторый период времени. Например, общий уровень продаж за месяц, и средняя температура за день, характеризуют период времени. Точечные данные представляют значение переменной в конкретный момент времени, например, количество запасных частей на конец месяца и температура в полдень. Различие между этими двумя типами данных важно в основном для выбора используемой системы сбора данных, процесса измерений и определения ошибки прогнозирования.
Третьим аспектом прогнозирования является требуемая форма прогноза. Обычно при прогнозировании проводится оценка ожидаемого значения переменной, плюс оценка вариации ошибки прогнозирования или промежутка, на котором сохраняется вероятность содержания реальных будущих значений переменной. Этот промежуток называется предсказуемым интервалом.
В некоторых случаях нам не так важно предсказание конкретных значений прогнозируемой переменной, как предсказание значительных изменений в ее поведении. Такая задача возникает, например, при управлении технологическими процессами, когда нам необходимо предсказывать момент, когда процесс перейдет в неуправляемое состояние.
Точность прогноза, требуемая для конкретной проблемы, оказывает огромное влияние на прогнозирующую систему. Важнейшей характеристикой системы управления является ее способность добиваться оптимальности при работе с неопределенностью.
До сих пор, мы обсуждали набор проблем связанных с процессом принятия решения. Существует ряд других факторов, которые также необходимо принимать во внимание при рассмотрении проблемы прогнозирования. Один из них связан с процессом, генерирующим переменную. Если известно, что процесс стабилен, или существуют постоянные условия, или изменения во времени происходит медленно - прогнозирующая система для такого процесса может достаточно сильно отличаться от системы, которая должна производить прогнозирование неустойчивого процесса с частыми фундаментальными изменениями. В первом случае, необходимо активное использование исторических данных для предсказания будущего, в то время как во втором лучше сосредоточиться на субъективной оценке и прогнозировании для определения изменений в процессе.
Другой фактор это доступность данных. Исторические данные необходимы для построения прогнозирующих процедур; будущие наблюдения служат для проверки прогноза. Количество, точность и достоверность этой информации важны при прогнозировании. Кроме этого необходимо исследовать представительность этих данных. Классическим примером, является прогнозирование требования клиентов на производимый продукт, когда компания хранит записи о заказах по времени их доставки.
Такой учет не отражает фактического требования, так как в нем не учитываются заказы, поставленные раньше срока, и заказы отмененные из-за неудовлетворительного срока поставки. Компания должна установить специальную процедуру сбора данных, если ее интересует информация о том, сколько же ее клиенты на самом деле желают приобрести продукции. Проблемы подобного типа возникают также, когда не учитываются потери продаж из-за ограниченных возможностей производства.
Источником ошибок при прогнозировании продаж является различие между прогнозом "того, что может быть продано" и "тем, что будет продано". Первая задача оценивает реальную возможность для компании продать свой продукт, без учета ограничений по объему. Такой прогноз необходим при определении доли продукта в общем производстве. Вторая задача отражает ограничения объема производства, решение менеджеров, а также план или цель. Такой прогноз, скорее, следует назвать бюджетом. Здесь мы предполагаем, что прогноз продажи, в большинстве случаев, будет коррелировать с бюджетом продажи - ведь цель менеджера бороться за то, чтобы повысить уровень продаж.
Необходимо отметить вычислительные ограничения прогнозирующих систем. Если изредка прогнозируется несколько переменных, то в системе возможно применение более глубоких процедур анализа, чем если необходимо часто прогнозировать большое число переменных. В последней ситуации, необходимо большое внимание уделить разработке эффективного управления данными.
И,
наконец, два важных фактора проблемы
прогнозирования - возможности и интерес
людей, которые делают и используют прогноз.
В идеале, историческая информация анализируется
автоматически, и прогноз представляется
менеджеру для возможной модификации.
Введение эксперта в процесс прогнозирования
является очень важным, но требует сотрудничества
опытных менеджеров. Далее прогноз передается
менеджерам, которые используют его при
принятии решений. И даже если они говорят,
что прогноз это всего лишь болтовня, они
могут получить реальную пользу от его
использования.
1.3
Методы прогнозирования
Методы прогнозирования можно разделить на два класса квалитативные и квантитативные, в зависимости от того, какие математические методы используются.
Квалитативные процедуры производят субъективную оценку, основанную на мнении экспертов. Обычно, это формальная процедура для получения обобщенного предсказывания, на основе ранжирования и обобщения мнения экспертов (например на основе методов Делфи) . Эти процедуры основываются на опросах, тестах, оценке эффективности продаж и исторических данных, но процесс с помощью которого получается прогноз остается субъективным.
С другой стороны, квантиативные процедуры прогнозирования явно объявляют - каким образом получен прогноз. Четко видна логика и понятны математические операции. Эти методы производят исследование исторических данных для того, чтобы определить глубинный процесс, генерирующий переменную и предположив, что процесс стабилен, использовать знания о нем для того, чтобы экстраполировать процесс в будущее. К квантитативным процедурам прогнозирования относятся методы, основанные на статистическом анализе, анализе временных последовательностей, байесовском прогнозировании, наборе фрактальных методов, нейронных сетях.
Сейчас используется два основных типа моделей: модели временных последовательностей и причинные модели.
Временная последовательность - это упорядоченная во времени последовательность наблюдений (реализаций) переменной. Анализ временных последовательностей использует для прогнозирования переменной только исторические данные об ее изменении. Таким образом, если исследование данных о ежемесячных продажах автомобильных шин, показывает, что они линейно возрастают - для представления данного процесса может быть выбрана линейная модель тренда. Наклон и смещение этой прямой могут быть оценены на основе исторических данных. Прогнозирование может быть осуществлено путем экстраполяции подходящей модели.