49045

Прогнозирование курса доллара

Курсовая

Информатика, кибернетика и программирование

Практическое применение нейронных сетей для прогнозирования курса доллара. Целью данной курсовой работы является прогнозирование курса доллара с использованием нейросетевых технологий. Основными задачами на пути достижения поставленной цели являются: Составление модели для прогнозирования курса доллара; Создание оптимально работающей нейросети для прогнозирования курсов доллара.

Русский

2013-12-20

198.5 KB

9 чел.

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Пермский государственный педагогический университет

Факультет информатики и экономики

Кафедра прикладной информатики

Курсовой проект

по интеллектуальным информационным системам

на тему:

«Прогнозирование курса доллара»

                                                                               Работу выполнил студент гр. 1233

                                                                                  Волков А.А.

                                                                                Научные руководители

                                                                                  Проф. Ясницкий Л.Н., Черепанов Ф.М.

                                                                                  Подпись _______________

                                                                                                   «    »                                 2008г.

Пермь 2008

Содержание

[1] Введение

[2] Глава 1. Искусственный интеллект

[3] 1.1 Основные модели и стратегии

[4] 1.2 Перспективы метода компьютерного моделирования

[5] Глава 2. Практическое применение нейронных сетей для прогнозирования курса доллара.

[6] 2.1 Постановка задачи.

[7] 2.2 Ввод дополнительного параметра

[8] 2.3 Поиск оптимальной ширины временного интервала входного множества

[9] Заключение

[10] Список использованной литературы:

Введение

Начиная с 80-х годов, для решения экономических задач широкое распространение получили нейронные сети. Использование нейросетей обусловлено их способностью работать с противоречивыми и зашумленными данными. Нейросеть представляет собой вычислительный алгоритм, функционирующий наподобие мозга, который состоит из простейших числительных элементов — искусственных нейронов. В общем случае нейронные сети могут решать как задачи классификации (разделения входных примеров на заданное число классов), так и задачи аппроксимации. На сегодняшний день практически в любой предметной области можно применить нейросетевые технологии. Самое главное – это  правильно составить обучающую выборку, выбрать приемлемое число входов и можно приступать к обучению нейросимулятора. Нейронные сети дают дополнительные возможности в моделировании нелинейных явлений и распознавании их хаотического поведения. Благодаря своей гибкости они могут «ухватить» самые разные структуры. Способность обобщения и определения скрытых закономерностей является уникальным свойством нейросетей и позволяет их использовать в трудноформализуемых финансовых задачах. Поэтому представляется актуальной задача прогнозирования курсов валют с использованием нейронных сетей.

Целью данной курсовой работы является прогнозирование курса доллара с использованием нейросетевых технологий.

Основными задачами на пути достижения поставленной цели являются:

  •  Составление модели для прогнозирования курса доллара;
  •  Создание оптимально работающей нейросети для прогнозирования курсов доллара.

 

Глава 1. Искусственный интеллект

1.1 Основные модели и стратегии

    Искусственный интеллект – это научная отрасль, занимающаяся исследованием и моделированием естественного интеллекта человека. Естественный интеллект человека является очень сложным объектом исследований и его моделирование осуществляется на разных уровнях абстрагирования. Можно выделить три таких уровня, которым соответствуют три основные стратегии искусственного интеллекта:

  •  технология экспертных систем;  
  •  нейросетевые и нейрокомпьютерные технологии;
  •  технологии эволюционного (проявляющегося) моделирования.

    Самому высокому уровню абстрагирования соответствует технология экспертных систем – систем, основанных на явных знаниях о предметной области. Согласно этой стратегии знания о предметной области извлекаются из специалистов-экспертов, или других информационных источников. Именно человек-эксперт, обладающий знаниями о предметной области, способен действовать на самом высоком уровне. Его знания формализуются и закачиваются в программный комплекс – экспертную систему, которая на основе этих знаний делает логически обоснованные полезные выводы, тем самым, моделируя интеллект человека-эксперта. Именно эту стратегию впервые применил в XIII в. испанский ученый Раймунд Луллий.  Именно с нее берет начало область науки, называемая искусственным интеллектом.      

    На самом нижнем уровне абстрагирования лежат нейрокомпьютерные и нейросетевые технологии. Согласно этой стратегии строится модель, учитывающая структуру мозга, состоящего из множества нейронов, соединенных нервными волокнами. Знания поступают в такую модель в ходе ее обучения на специально подобранных примерах, характеризующих предметную область. Так же как и в мозге, знания хранятся в неявной форме – кодируются в виде множества сил синаптических связей, имитирующих электропроводность межнейронных соединений. Основоположниками этой стратегии, появившейся в середине XX в., являются американские ученые В.Мак-Каллок, В.Питтс и Ф.Розенблатт.

    Исторически первой была модель искусственного интеллекта, основанного на явных знаниях, которая безраздельно господствовала, начиная с XIII в. и до середины XX в. Появление персептрона  в 1940-х гг. и первые его успехи, были встречены с надеждами и энтузиазмом, который, однако, продержался недолго, и к середине 1980-х гг. подавляющее большинство систем искусственного интеллекта представляли собой экспертные системы, ориентированные на конкретные предметные области. Однако победа высокоуровневой стратегии оказалась временной. Конец XX в. и начало XXI в. ознаменовались широкомасштабным наступлением нейросетевых и нейрокомпьютерных технологий. Причем, имело место как применение этих технологий в новых предметных областях, так и вытеснение экспертных систем из тех областей, где они традиционно применялись ранее.

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

    Третья стратегия, появившаяся на свет в середине 1970-х гг. благодаря работам профессора Мичиганского университета Дж. Холланда, навеяна Дарвиновской теорией возникновения и эволюции жизни на Земле. Эволюционные модели начинают свою работу с создания целой популяции особей – кандидатов на решение проблемы. Отдельные особи популяции оцениваются по определенному критерию, позволяющему отобрать лучшие, которые затем видоизменяются, наследуя положительные свойства родителей и образуя новые поколения. Этот подход предполагает поиск источника интеллекта в самом процессе эволюции и взаимодействия особей. Знания в эволюционных моделях приобретаются в ходе конкурентной борьбы между особями.

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

1.2 Перспективы метода компьютерного моделирования

Развитие современной цивилизации свидетельствует о постоянном повышении роли компьютерного математического моделирования как в научных исследования для получения новых знаний, так и во многих областях практической деятельности человека. Традиционно компьютерные математические модели строятся на основе фундаментальных законов природы, зависимостей и закономерностей, которые представляются в виде алгебраических формул, алгебраических или дифференциальных уравнений, обычно решаемых с помощью компьютера численными методами. Именно таким способом ведутся многие исследования в физике, астрономии, экологии, науках о человеке, природе и обществе, выполняются долгосрочные прогнозы погоды, предсказываются землетрясения, цунами, стихийные бедствия, а также рассчитываются и проектируются самолеты, автомобили, ракеты, подводные лодки, здания и сооружения, промышленные и военные объекты.

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

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

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

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

В отличие от обычного компьютера, нейрокомпьютер не программируется, а подобно человеку обучается. При этом происходит корректировка сил синаптических связей. Обучение проводится на обучающих примерах, содержащих информацию о моделируемой предметной области. Например, чтобы нейрокомпьютер «открыл» теорему Пифагора, надо нарисовать несколько (порядка сотни) различных прямоугольных треугольников, измерить длины их гипотенуз и катетов и передать эту информацию нейрокомпьютеру. Если измерения выполнены правильно, то можно не сомневаться, что нейрокомпьютер повторит подвиг знаменитого геометра древности.

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

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

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

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

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

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

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

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

Глава 2. Практическое применение нейронных сетей для прогнозирования курса доллара.

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

Я поставил перед собой задачу прогнозирования курса американского доллара по отношению к российскому рублю на 3 дня вперед с помощью нейросетевых технологий. Используя метод скользящих окон, я составил выборку обучающих примеров. Согласно данному методу выбирается временной интервал – я выбрал интервал 31 день, в качестве х1- х31 задаются значения курса доллара в первые 31 день выбранного периода, в качестве желаемого выхода сети d1-d3 принимается курс доллара в последующие три дня. Таким образом будет сформирован первый обучающий пример X1 – D1 для персептрона, имеющего 31 нейрон входного слоя и 3 нейрона выходного слоя.

Для формирования второго обучающего примера окно сдвигается на 1 позицию (1 день) вправо и выполняются аналогичные операции. Перемещая окно Q раз, мы получим выборку из Q обучающих примеров.

Рис.1. Номограмма изменения курса американского доллара к российскому рублю за

март– июнь 2003 г.

Я составил выборку из 198 обучающих и 5 тестирующих примеров.

Далее было необходимо оптимизировать нейросеть – определиться с количеством нейронов на внутреннем слое, выполнить обучение сети.

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

Колмогорова – Хехт-Нильсена:

;

.

Где Ny– размерность выходного сигнала;Q – число элементов обучающей выборки;Nw –  необходимое число синаптических весов;Nx – размерность входного сигнала. Согласно данной формуле количество нейронов в скрытом слое должно лежать в отрезке от 2 до 7.

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

Рис. 2. Подбор оптимального количества нейронов скрытого слоя.

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

Нижеприведенные графики показывают соотношение реальных значений курса доллара и значений, полученных с помощью персептрона, состоящего из 31 входных нейронов, 7 нейронов скрытого слоя, с сигмоидной активационной функцией,  и 3 выходных нейронов. Обучение проходило в течение 5000 итераций с шагом обучения h=0,6. значение ошибки обучения составило ε=0,13, ошибка обобщения составила εt=0,17.

Рис. 3. Соотношение практических и модальных значений курса доллара, выход Y1.

Рис. 4. Соотношение практических и модальных значений курса доллара, выход Y2.

Рис. 5. Соотношение практических и модальных значений курса доллара, выход Y3.

2.2 Ввод дополнительного параметра

Далее я сделал предположение, что на значение курса доллара влияет день недели, на который он устанавливается, и ввел новый входной параметр – Х32, который принимает значения от 1 до 7. Необходимо было заново оптимизировать нейронную сеть и обучить её. Также видно, что нейронная сеть с 7 нейронами на внутреннем слое является наиболее оптимальной.

Рис. 6. Подбор оптимального количества нейронов скрытого слоя для сети, учитывающей

день недели.

Персептрон обучался в течение 5000 итераций с шагом обучения h=0,5. значение ошибки обучения составило ε=0,11, ошибка обобщения составила εt=0,18. Полученные результаты не дают однозначно сказать, являлся ли введенный мной параметр дня недели значащим. Ниже приведены графики, показывающие соотношение реальных значений курса доллара и значений, полученных с помощью персептрона, учитывающего день недели.

Рис. 7. Соотношение практических и модальных значений курса доллара с учетом дня

недели, выход Y1.

Рис. 8. Соотношение практических и модальных значений курса доллара с учетом дня

недели, выход Y2.

Рис. 9. Соотношение практических и модальных значений курса доллара с учетом дня

недели, выход Y3.

2.3 Поиск оптимальной ширины временного интервала входного множества

В поисках персептрона, наиболее точно прогнозирующего курс доллара, я варьировал ширину окна своей модели. Изначально ширина окна составляла 31 день. Затем я рассмотрел модель, состоящую из 45 входных и 5 выходных параметров, таким образом, ширина окна составила 45 дней, а прогноз велся на 5 дней вперед. Ниже представлен график зависимости ошибок обучения и обобщения от количества нейронов скрытого слоя для данного персептрона.

Рис. 10. Подбор оптимального количества нейронов скрытого слоя для сети с шириной окна 45 дней.

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

график:

Рис. 11. Соотношение практических и модальных значений курса доллара для сети с шириной окна 45 дней, выход Y1.

Так как увеличение ширины окна не дало ожидаемого результата, следующим мои шагом было проектирование персептрона с 15 входными и 3 выходными параметрами. В таком случае ширина окна составляла 15 дней, а прогноз велся на 3 дня вперед. Также необходимо было заново оптимизировать нейронную сеть. В результате подбора оптимального количества нейронов было замечено, что данный персептрон легче находит закономерность в обучающей выборке, но обобщающие свойства у него хуже чем у обоих персептронов: изначального и персептрона с 45 входами. Ниже приведен график зависимости ошибок обучения и обобщения от количества нейронов скрытого слоя для данного персептрона.

 

Рис. 12. Подбор оптимального количества нейронов скрытого слоя для сети с шириной окна 15 дней.

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

Заключение

В данной работе я охарактеризовал модели и стратегии искусственного интеллекта, а также перспективы метода компьютерного моделирования с применением нейросетевых технологий. Во второй части я привел описание метода, с помощью которого можно составить обучающую выборку, спроектировал и оптимизировал нейронную сеть, достаточно эффективно прогнозирующую курс доллара. Далее я ввел дополнительный параметр, заново оптимизировал нейронную сеть, сравнил результаты прогнозирования персептрона до и после включения дополнительного параметра, пришел к выводу, что сложно сказать, является ли он значимым, так как значения ошибок нейронной сети практически не изменились. В ходе выполнения данной работы я научился: находить необходимые данные (значения курса доллара) и составлять из них обучающую и тестирующие выборки, оптимизировать нейронную сеть.

Для меня была интересной данная тема работы, и я хотел бы продолжить заниматься этой проблемой и найти ей практическое применение.

Список использованной литературы:

Литература

 

  1.  Ясницкий Л.Н.Введение в искусственный интеллект: Учеб. пособие для студ. высш. учеб. заведений/Леонид Нахимович Ясницкий.-М.:Издательский центр «Академия», 2005. – 176c.

Ссылки на ресурсы интернет

  1.  http://www.permonline.ru/permonline/new/index.cfm?page=203 – Динамика курса доллара


 

А также другие работы, которые могут Вас заинтересовать

42130. Експертна система в області кооперації 43.5 KB
  Володіє гнучкістю 5 Рівень продажів для різних типів покупців та продавців можна оцінити за таблицею: ПР 1 и ПК 1 Результат продажів середній; висока взаємоповага та суперництво ПР 1 и ПК 2 Результат продажів нижче середнього; продавець з презирством ставиться до покупця и той відмовляється від покупки ПР 1 и ПК 3 Результат продажів вище середнього продавець домінує над покупцем покупець приймає пропозиції продавця ПР 1 и ПК 4 Результат продажів середній; продавець ставиться до покупця з повагою але той йому не довіряє ПР 2 и ПК 1...
42131. Типы паралеллилизма 80.5 KB
  Особенности построения вычислительных систем Конвейерные вычислительные системы Основной принцип построения заключается в том что ускорение вычислений в них достигается за счет разделения всей работы на последовательность более мелких узкоспециализированных операций. Необходимо наличие достаточно сложной операционной системы. Мультипроцессорные вычислительные системы В отличии от матричной системы в мультипроцессорной системы каждый из процессоров имеет свое устройство управления. Память может быть как общей так и не общей...
42132. Программа ввода-вывода для КР 580 ВВ 55 макет М1 71 KB
  Формирование управляющего слова Оно формируется в виде восьмиразрядного управляющего слова. Управляющее слово 92 Разряды порта С индицируются Программа 1 0800 3Е92 MVI92 запись в регистр А цифра 92 управляющее слово 0802 D383 OUT 83 Запись управляющего слова в регистр управляющего слова параллельного адаптера К580 ВВ55 0804 DB80 IN 80 Принять в А байт из порта А 0806 32000B ST0B00 Записать из А в ячейку памяти 0B00 0809 3E55 MVI55 Записать в А число 55 080B D382 OUT 82 Вывести число 55 в порт С 080D C30000 JMP0000 Возврат в монитор В...
42136. Особливості написання власних назв 55.5 KB
  З великої букви пишуться ремарки які вказуюсь на ставлення слухачів до якоїсь особи інші ремарки стоять після закінченого речення: Мова категорія Загальнонародна вона характеризує відмінності народів а не суспільних класів Сучасна українська літературна мова. З великої букви також пишеться перше слово рубрики тексту якщо кожна рубрика закінчується крапкою; перше слово прямої мови після двокрапок; початкове слово постанови резолюції протоколу; після двокрапки за словами Слухали Ухвалили в протоколі. З великої букви...
42138. Лаборатоные работы в пакете EViews 463.5 KB
  Появится окно группы в котором можно создавать и работать с рядами рис. Создание просмотр и редактирование ряда данных Ряды данных можно создавать двумя способами. Создание пустого ряда в группе. В этом случае для создания ряда необходимо в открытой группе щелчком мыши активировать в самой верхней строке obs первую пустую ячейку и ввести название ряда затем нажать Enter и OK рис.