Оглавление
Введение. 4
1 Понятие нейросети. Область применения. Преимущества нейросети. 6
1.1 Понятие нейросети. 6
1.2 Область применения нейросетей. 7
1.3 Преимущества и достоинства нейронных сетей. 8
2 Применение нейросетей и их классификация. 11
2.1 Задачи нейросети. 11
2.2 Известное применение нейросетей. 11
2.3 Классификация нейросетей. 13
3 Применение нейросети в задачах прогнозирования. 17
3.1 Нейросети и инвестиционная деятельность. 17
3.2 Применение нейронных сетей в задачах прогнозирования. 18
3.3 Входные данные. 19
3.4 Архитектура нейросети и параметры обучения. 20
4 Применение на практике нейросетевого моделирования для определения цены на золото в будущем периоде. 21
4.1 Регрессия и корреляция данных. 21
4.2 Построение нейросетевой модели прогнозирования цены на золото, с использованием исторических данных. 23
Заключение. 28
Список использованных источников. 29
Введение
Уже сегодня искусственные нейронные сети используются во многих областях, но прежде чем их можно будет применять там, где на карту поставлены человеческие жизни или значительные материальные ресурсы, должны быть решены важные вопросы, касающиеся надежности их работы. Поэтому уровень допустимых ошибок следует определять исходя из природы самой задачи. Некоторые проблемы с анализом вопросов надежности возникают из-за допущения полной безошибочности компьютеров, тогда как искусственные нейронные сети могут быть неточны даже при их правильном функционировании. На самом же деле компьютеры, как и люди, тоже могут ошибаться. Первые — в силу различных технических проблем или ошибок в программах, вторые — из-за невнимательности, усталости или непрофессионализма. Следовательно, для особо критических задач необходимо, чтобы эти системы дублировали и страховали друг друга. А это значит, при решении таких задач нейронные сети должны выступать не в качестве единственных средств, а в качестве дополнительных, предупреждающих особые ситуации или берущих на себя управление, когда проблема не решается стандартным образом и какие-либо задержки могут привести к катастрофе.
Другая трудность использования нейронных сетей состоит в том, что традиционные нейронные сети неспособны объяснить, каким образом они решают задачу. Внутреннее представление результатов обучения зачастую настолько сложно, что его невозможно проанализировать, за исключением некоторых простейших случаев, обычно не представляющих интереса.
В последнее время предпринимаются активные попытки объединения искусственных нейронных сетей и экспертных систем. В такой системе искусственная нейронная сеть может реагировать на большинство относительно простых случаев, а все остальные передаются для рассмотрения экспертной системе. В результате сложные случаи принимаются на более высоком уровне, при этом, возможно, со сбором дополнительных данных или даже с привлечением экспертов.
Нейросетевые прикладные пакеты, разрабатываемые рядом компаний, позволяют пользователям работать с разными видами нейронных сетей и с различными способами их обучения. Они могут быть как специализированными (например, для предсказания курса цен на драгоценные металлы), так и достаточно универсальными.
Области применения нейронных сетей весьма разнообразны — это распознавание текста и речи, семантический поиск, экспертные системы и системы поддержки принятия решений, предсказание курсов акций, валют, цен на драгоценные металлы, системы безопасности, анализ текстов. В данной курсовой работе рассматривается применение нейросети для прогнозирования изменения цены на золото.
При создании курсовой работы ставилась цель: изучение применения нейронных сетей для определения динамики цен на золото, рассмотрение непосредственных примеров.
Для достижения поставленной цели в работе решены следующие задачи:
1. Выполнение обзора применения нейронных сетей.
2. Изучение классификаций нейронных сетей.
3. Изучение применения нейросетей в задаче прогнозирования.
4. Построение нейронной сети для прогнозирования на основе реальных данных.
1 Понятие нейросети. Область применения. Преимущества нейросети
1.1 Понятие нейросети
Иску́сственные нейро́нные се́ти (ИНС) — математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети Маккалока и Питтса. Впоследствии, после разработки алгоритмов обучения, получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления и др.
ИНС представляют собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов). Такие процессоры обычно довольно просты, особенно в сравнении с процессорами, используемыми в персональных компьютерах (Рисунок 1). Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам. И, тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи.
Рисунок 1 – Нейронная сеть
Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения — одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Это значит, что в случае успешного обучения сеть сможет вернуть верный результат на основании данных, которые отсутствовали в обучающей выборке, а также неполных и/или «зашумленных», частично искаженных данных. [4]
1.2 Область применения нейросетей
В каждой предметной области при ближайшем рассмотрении можно найти постановки задач для нейронных сетей. Решение такого рода задач имеет практическое значение уже сейчас в следующих областях.
· Экономика и бизнес: прогнозирование временных рядов (курсов валют, цен на сырьё, объемов продаж и т.д.), автоматический трейдинг, оценка рисков невозврата кредитов, предсказание банкротств, оценка стоимости недвижимости, выявление переоцененных и недооцененных компаний, рейтингование, оптимизация товарных и денежных потоков, считывание и распознавание чеков и документов, безопасность транзакций по пластиковым картам.
· Медицина: постановка диагноза, обработка медицинских изображений, мониторинг состояния пациента, анализ эффективности лечения, очистка показаний приборов от шумов.
· Авионика: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета, беспилотные летательные аппараты.
· Связь: сжатие видеоинформации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.
· Интернет: ассоциативный поиск информации, электронные секретари и автономные агенты в интернете, фильтрация информации, блокировка спама, автоматическая рубрикация новостевых лент, адресные реклама и маркетинг для электронной торговли.
· Автоматизация производства: оптимизация режимов производственного процесса, контроль качества продукции, мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций, робототехника.
· Политологические и социологические технологии: предсказание результатов выборов, анализ опросов, предсказание динамики рейтингов, выявление значимых факторов, кластеризация электората, исследование и визуализация социальной динамики населения.
· Безопасность и охранные системы: распознавание лиц; идентификация личности по отпечаткам пальцев, голосу, подписи, лицу; распознавание автомобильных номеров, анализ аэрокосмических снимков, мониторинг информационных потоков в компьютерной сети и обнаружение вторжений, обнаружение подделок.
· Ввод и обработка информации: распознавание рукописных текстов, отсканированных почтовых, платежных, финансовых и бухгалтерских документов.
· Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений. [5]
1.3 Преимущества и достоинства нейронных сетей
Область применения нейронных сетей во многом совпадает с кругом задач, решаемых традиционными статистическими методами. Поэтому необходимо указать преимущества нейронных сетей перед несколькими классическими методами статистики.
По сравнению с линейными методами статистики (линейная регрессия, авторегрессия, линейный дискриминант) нейросети позволяют эффективно строить нелинейные зависимости, более точно описывающие наборы данных. Из нелинейных методов классической статистики распространен только байесовский классификатор, строящий квадратичную разделяющую поверхность − а искусственная нейронная сеть может построить поверхность более высокого порядка. Высокая нелинейность разделяющей поверхности байесовского классификатора требует значительного суммарного числа примеров для возможности оценивания вероятностей при каждом сочетании интервалов значений переменных − а нейронная сеть обучается на всей выборке данных, не фрагментируя её, что повышает адекватность настройки нейросети.
Для сжатия и визуализации данных в статистике разработан метод линейных главных компонент. Нейросети-автоассоциаторы позволяют эффективнее сжимать данные за счет построения нелинейных отображений и визуализировать данные в пространстве меньшего числа нелинейных главных компонент.
По сравнению с методами непараметрической статистики нейронная сеть с радиальными базисными функциями позволяет сокращать число ядер, оптимизировать координаты и размытость каждого ядра. Это позволяет при сохранении парадигмы локальной ядерной аппроксимации ускорять дальнейший процесс принятия решения.
При обучении нейронной сети вместо критерия качества в виде наименьших квадратов можно использовать робастные критерии, дополнительно вести оптимизацию и других свойств нейронной сети (например, добавляя критерии регуляризации решения или оптимизации структуры нейронной сети). Алгоритмы обучения нейронной сети при этом остаются неизменными.
Необходимость решения прямой и обратной задач обычно требует построения двух моделей. При использовании же нейронных сетей можно обойтись одной сетью, обученной решать прямую задачу.
Также нейронная сеть одновременно может решать нескольких задач (при наличии у нее нескольких выходов). [5]
Простота в использовании. Нейронные сети учатся на примерах. Пользователь нейронной сети подбирает представительные данные, а затем запускает алгоритм обучения, который автоматически воспринимает структуру данных. При этом от пользователя требуется какой-то набор эвристических знаний о том, как следует отбирать и подготавливать данные, выбирать нужную архитектуру сети и интерпретировать результаты, однако уровень знаний, необходимый для успешного применения нейронных сетей, гораздо скромнее, чем, например, при использовании традиционных методов статистики. [4]
2 Применение нейросетей и их классификация
2.1 Задачи нейросети
Любая работа с нейросетью начинается с определения задач, которые она должна решать, т.е. с определения функций выходов. В общем случае сеть может решать как задачи классификации (дискретные выходы), так и задачи предсказания (непрерывные выходы). Из всего множества решаемых нейросетями задач для трейдинга наиболее важными являются:
- классификационный прогноз направления;
- прогноз цены;
- выработка торговых сигналов;
- прогнозирование индикаторов;
- определение уровней стопов;
- определение «похожих» дней;
- определение кризисных и аномальных точек;
- предсказание наступления кризиса;
- прогноз развития кризисной ситуации.
Конечной целью любого вида анализа, в том числе и нейронных технологий, является выработка торговых сигналов. Настройка нейросети для генерации торговых сигналов - задача сложная и требующая углубленного понимания рынка и нейросетей. Поэтому, следует сначала научиться избегать ошибок на более простых, но не менее важных задачах - прогнозировании цен и индикаторов. [2]
2.2 Известное применение нейросетей
1 Распознавание образов и классификация
В качестве образов могут выступать различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять класс, к которому относится образец. В случае если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определённому классу.
Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит. Если на двух или более выходах есть признак принадлежности к классу, считается что сеть «не уверена» в своём ответе.
2 Принятие решений и управление
Эта задача близка к задаче классификации. Классификации подлежат ситуации, характеристики которых поступают на вход нейронной сети. На выходе сети при этом должен появиться признак решения, которое она приняла. При этом в качестве входных сигналов используются различные критерии описания состояния управляемой системы.
3 Кластеризация
Под кластеризацией понимается разбиение множества входных сигналов на классы, притом, что ни количество, ни признаки классов заранее не известны. После обучения такая сеть способна определять, к какому классу относится входной сигнал. Сеть также может сигнализировать о том, что входной сигнал не относится ни к одному из выделенных классов — это является признаком новых, отсутствующих в обучающей выборке, данных. Таким образом, подобная сеть может выявлять новые, неизвестные ранее классы сигналов. Соответствие между классами, выделенными сетью, и классами, существующими в предметной области, устанавливается человеком. Кластеризацию осуществляют, например, нейронные сети Кохонена.
4 Прогнозирование
Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и/или каких-то существующих в настоящий момент факторов. Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени предопределяют будущие.
5 Аппроксимация
Нейронные сети — могут аппроксимировать непрерывные функции. Доказана обобщённая аппроксимационная теорема:
с помощью линейных операций и каскадного соединения можно из произвольного нелинейного элемента получить устройство, вычисляющее любую непрерывную функцию с некоторой наперёд заданной точностью. Это означает, что нелинейная характеристика нейрона может быть произвольной. От выбора нелинейной функции может зависеть сложность конкретной сети, но с любой нелинейностью сеть остаётся универсальным аппроксиматором и при правильном выборе структуры может достаточно точно аппроксимировать функционирование любого непрерывного автомата.
6 Сжатие данных и ассоциативная память
Способность нейросетей к выявлению взаимосвязей между различными параметрами дает возможность выразить данные большой размерности более компактно, если данные тесно взаимосвязаны друг с другом. Обратный процесс — восстановление исходного набора данных из части информации — называется (авто)ассоциативной памятью. Ассоциативная память позволяет также восстанавливать исходный сигнал/образ из зашумленных/поврежденных входных данных. Решение задачи гетероассоциативной памяти позволяет реализовать память, адресуемую по содержимому. [2]
2.3 Классификация нейросетей
· по типу входной информации:
- Аналоговые нейронные сети (используют информацию в форме действительных чисел);
- Двоичные нейронные сети (оперируют с информацией, представленной в двоичном виде).
· по характеру обучения
- Обучение с учителем — выходное пространство решений нейронной сети известно;
- Обучение без учителя — нейронная сеть формирует выходное пространство решений только на основе входных воздействий. Такие сети называют самоорганизующимися;
- Обучение с подкреплением — система назначения штрафов и поощрений от среды.
· по характеру настройки синапсов
- Сети с фиксированными связями (весовые коэффициенты нейронной сети выбираются сразу, исходя из условий задачи, при этом:
,где W — весовые коэффициенты сети);
сети с динамическими связями (для них в процессе обучения происходит настройка синаптических связей, то есть
, где W — весовые коэффициенты сети).
· по времени передачи сигнала
В ряде нейронных сетей активирующая функция может зависеть не только от весовых коэффициентов связей wij, но и от времени передачи импульса (сигнала) по каналам связи τij. Поэтому в общем виде активирующая (передающая) функция связи cij от элемента ui к элементу uj имеет вид:
Тогда синхронной сетью называют такую сеть, у которой время передачи τij каждой связи равно либо нулю, либо фиксированной постоянной τ. Асинхронной н
· по характеру связей
- Сети прямого распространения (Feedforward)
Все связи направлены строго от входных нейронов к выходным. Примерами таких сетей являются перцептрон Розенблатта, многослойный перцептрон, сети Ворда.
- Рекуррентные нейронные сети
Сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя (обратная связь). Рекуррентная сеть Хопфилда «фильтрует» входные данные, возвращаясь к устойчивому состоянию и, таким образом, позволяет решать задачи компрессии данных и построения ассоциативной памяти. Частным случаем рекуррентных сетей является двунаправленные сети. В таких сетях между слоями существуют связи как в направлении от входного слоя к выходному, так и в обратном. Классическим примером является Нейронная сеть Коско.
- Радиально-базисные функции
Искусственные нейронные сети, использующие в качестве активационных функций радиально-базисные (такие сети сокращённо называются RBF-сетями). Общий вид радиально-базисной функции:
например,
где x — вектор входных сигналов нейрона,
σ — ширина окна функции,
φ(y) — убывающая функция (чаще всего, равная нулю вне некоторого отрезка).
Радиально-базисная сеть характеризуется тремя особенностями:
1. Единственный скрытый слой
2. Только нейроны скрытого слоя имеют нелинейную активационную функцию
3. Синаптические веса связей входного и скрытого слоев равны единице.
· Самоорганизующиеся карты
Такие сети представляют собой соревновательную нейронную сеть с обучением без учителя, выполняющую задачу визуализации и кластеризации. Является методом проецирования многомерного пространства в пространство с более низкой размерностью (чаще всего, двумерное), применяется также для решения задач моделирования, прогнозирования и др. Является одной из версий нейронных сетей Кохонена. Самоорганизующиеся карты Кохонена служат, в первую очередь, для визуализации и первоначального («разведывательного») анализа данных.
· Известные типы сетей
- Персептрон Розенблатта;
- Многослойный перцептрон;
- Сеть Джордана;
- Сеть Элмана;
- Сеть Хэмминга;
- Сеть Ворда;
- Сеть Хопфилда;
- Сеть Кохонена;
- Нейронный газ;
- Когнитрон;
- Неокогнитрон;
- Хаотическая нейронная сеть;
- Осцилляторная нейронная сеть;
- Сеть встречного распространения;
- Сеть радиальных базисных функций (RBF-сеть);
- Сеть обобщенной регрессии;
- Вероятностная сеть;
- Сиамская нейронная сеть;
- Сети адаптивного резонанса.
- Свёрточная нейронная сеть (convolutional neural network). [4]
3 Применение нейросети в задачах прогнозирования
3.1 Нейросети и инвестиционная деятельность
Нейронные сети привлекательны с интуитивной точки зрения, ибо они основаны на примитивной биологической модели нервных систем. В будущем развитие таких нейробиологических моделей может привести к созданию действительно мыслящих компьютеров.
Предсказание финансовых временных рядов - необходимый элемент любой инвестиционной деятельности. Сама идея инвестиций - вложения денег сейчас с целью получения дохода в будущем - основывается на идее прогнозирования будущего. Соответственно, предсказание финансовых временных рядов лежит в основе деятельности всей индустрии инвестиций - всех бирж и небиржевых систем торговли ценными бумагами.
Известно, что 99% всех сделок - спекулятивные, т.е. направлены не на обслуживание реального товарооборота, а заключены с целью извлечения прибыли. Все они основаны на предсказаниях изменения курса участниками сделки. Причем предсказания участников каждой сделки противоположны друг другу. Так что объем спекулятивных операций характеризует степень различий в предсказаниях участников рынка, т.е. степень непредсказуемости финансовых временных рядов.
Нейросетевое моделирование в чистом виде базируется лишь на данных, не привлекая никаких априорных соображений. В этом заключается его преимущество и одновременно – его недостаток. Имеющихся данных может не хватить для обучения, размерность потенциальных входов может оказаться слишком велика.
Поэтому для хорошего прогноза нужно пользоваться, во-первых, очень качественно подготовленными данными, а во-вторых, нейропакетами с большой функциональностью.[1]
3.2 Применение нейронных сетей в задачах прогнозирования
Задачи прогнозирования особенно важны для практики, в частности, для финансовых приложений, поэтому следует рассмотреть способы применения нейронных сетей в этой области более подробно.
Рассмотрим практическую задачу, ответ в которой неочевиден - задачу прогнозирования курса драгоценных металлов на 1 день вперед.
Пусть имеется база данных, содержащая значения курса за последние 628 дней. Необходимо построить прогноз завтрашней цены на основе курсов за последние несколько дней. Прогнозирующая нейронная сеть должна иметь всего один выход и столько входов, сколько предыдущих значений будет использоваться для прогноза.
Возникает вопрос, прогнозировать абсолютные или относительные значения? В качестве входов и выходов нейросети не следует выбирать сами значения котировок. Действительно значимыми для предсказаний являются изменения котировок. Поскольку эти изменения, как правило, гораздо меньше по амплитуде, чем сами котировки, между последовательными значениями курсов имеется большая корреляция – наиболее вероятное значение курса в следующий момент равно его предыдущему значению. Между тем, для повышения качества обучения следует стремиться к статистической независимости входов, т.е. к отсутствию подобных корреляций.
Поэтому в качестве входных переменных следует выбирать наиболее статистически независимые величины, например, изменения котировок или логарифм относительного приращения. Последний выбор хорош для длительных временных рядов, когда уже заметно влияние инфляции. В этом случае простые разности в разных частях будут иметь различную амплитуду, т.к. фактически измеряются в различных единицах. Напротив, отношения последовательных котировок не зависят от единиц измерения и будут одного масштаба несмотря на инфляционное изменение единиц измерения. В итоге, большая стационарность ряда позволит использовать большую историю и обеспечит лучшее обучение. [1]
3.3 Входные данные
Вторым и наиболее важным этапом является определение состава входов. Распространенной ошибкой является то, что на вход подается большое количество разнообразной и часто ненужной информации и считается, что нейросеть сама выберет важные показатели.
Действительно, нейросеть умеет отсеивать незначимые входы, но каждый «лишний» вход утяжеляет сеть, затрудняет обучение, а главное - снижает качество прогноза. При большом числе «лишних» входов нейросеть чаще всего делает прогноз по предшествующим показателям. Поэтому необходимо очень аккуратно подходить к добавлению новых входов. На входы нейросетей можно подавать самую разнообразную информацию, как дискретную (различные события) так и непрерывную (цены, индексы, индикаторы). Наиболе значимыми входами являются индикаторы технического анализа и различные фондовые индексы.
Большой проблемой при определении состава входов является определение глубины «погружения» - размера временного окна, данные из которого подаются на вход нейросети. Возникает вопрос, сколько баров истории подавать на вход, чтобы качественно обучить нейросеть? Эта величина определяется только из собственного опыта и должна быть адекватной прогнозируемому периоду. Например, при дневных прогнозах разумная глубина погружения находится в пределах 5-20 дней.
Необходимо отметить, что многие популярные нейропакеты имеют функцию определения чувствительности по входам, которая рекомендуется разработчиками пакетов как универсальный способ отсеивания «лишних» входов. Хотя эта функция и является полезной при определении состава входов, ее автоматическое использование может принести больше вреда, чем пользы. Это обусловлено тем, что проблема определения чувствительности по входам для многослойных нейронных сетей пока математически не решена, и решается различными эмпирическими способами и алгоритмами. Поэтому рекомендуется пользоваться этой функцией с осторожностью и результаты проверять другими косвенными методами, например, статистическими. [1]
3.4 Архитектура нейросети и параметры обучения
Выбор оптимальной архитектуры сети в настоящее время не имеет математического решения и производится на основе опыта и знаний. Здесь можно сказать только, что сеть должна иметь разумные размеры, а именно:
- максимальное число нейронов 30-40;
- максимальное число скрытых слоев 3-4;
- объем входных данных должен превышать в несколько раз количество нейронов.
Обычно считают, что большее число нейронов обеспечивает более качественное прогнозирование, и это является типичной ошибкой. Большой размер нейросети приводит к затруднению обучения и попаданию сети в локальные, а не в глобальные минимумы функции ошибки. Также уменьшаются обобщающие свойства сети, сеть начинает просто запоминать обучающую выборку. Такая сеть будет отлично «прогнозировать» на обучающей выборке, но на новых данных прогноз будет плохим. Чтобы избежать эффекта запоминания, объем данных должен быть достаточно большим. Например, для прогнозирования российских акций на день вперед минимальный рекомендуемый размер выборки - около 200-250 дней. [5]
4 Применение на практике нейросетевого моделирования для определения цены на золото в будущем периоде
Для рассмотрения на практике нейросетевого моделирования были взяты данные с сайта Центрального банка РФ [2] о котировках валют и стоимостях драгоценных металлов за период со 2 июля 2008 года по 16 декабря 2010 года.
В качестве входных переменных нейросети предполагаются:
1. Число, на которое хотим знать изменение стоимости грамма золота;
2. Месяц, который поможет учесть сезонность изменений цен на золото;
3. Изменения стоимости драгоценных металлов (серебро, платина, палладий, золото) за период, предшествующий тому, на который хотим узнать изменение стоимости золота;
4. Изменения курсов доллара и евро за период, предшествующий тому, на который хотим узнать изменение стоимости золота.
В качестве выходной переменной хотим получить изменение цены на золото на следующий момент времени.
4.1 Регрессия и корреляция данных
Для начала нам следует убедиться, что цена на золото и указанные выше параметры действительно взаимосвязаны. Для этого нам придется построить матрицу парных корреляций, чтобы понять, нет ли лишних данных среди тех, которые мы собираемся использовать.
С помощью программы Statistica 6.1 построим матрицу парных корреляций:
Рисунок 2 –Матрица парных корреляций
Как видно из рисунка 2 – практически все выбранные нами параметры статистически значимы при построении данной модели. Также можно заметить и то, что из входных данных наиболее сильно между собой связаны изменения курсов платины и палладия, но, в свою очередь, эти два показателя имеют достаточно сильную связь с результатирующим признаком.
Чтобы избавиться от сильной корреляции между признаками, сделаем преобразования: сложим изменения цен на платину и палладий, и также найдем их относительное изменение. Также видно, что переменные «число», «месяц» и «серебро» имеют слабую связь с изменением цены на золото, исключим эти переменные. Для проверки необходимо построить еще одну матрицу парных корреляций. Она приведена на рисунке 3.
Рисунок 3 – Матрица парных корреляций
Таким образом, для нашей модели входными данными будут служить переменные:
1. Относительное изменение курса доллара;
2. Относительное изменение курса евро;
3. Изменение курсов платины и палладия, объединенные в одну переменную путем сложения.
4.2 Построение нейросетевой модели прогнозирования
цены на золото, с использованием исторических данных
Для построения нейросетевой модели используем программное обеспечение Deductor Studio Academiс. При выборе любой архитектуры, необходимо помнить, что при разбиении исходного множества на подмножества, для определения тестового и обучающего множества, должны выбирать как способ разбиения «по порядку». При построении нейросетевой модели с использованием погружения, использовалась архитектура: 2 скрытых слоя, в первом слое- 3 нейрона, во втором – 2.
Для начала попробуем использовать минимальную рекомендуемую глубину погружения – 5 дней, затем максимальную – 20. После этого используя метод половинного деления определим оптимальную глубину погружения. Для этого на вход, помимо данных за предшествующий день, будем подавать данные об изменениях на курс золота за, соответственно, 5, 20 и т.д. предыдущих дней. На рисунке 4 представлена нейросеть с глубиной погружения 5 дней.
Рисунок 4- Нейросеть с глубиной погружения 5 дней.
Диаграмма рассеяния представлена на рисунке 5.
Рисунок 5- Диаграмма рассеяния с глубиной погружения 5 дней.
При подстановке в «Что-если» данных за последующие числа, получим, что с такой нейросетью относительная ошибка составит примерно 0,004358, что, конечно же, является неплохим результатом, т.к. стоимость золота будет составлять примерно 1300 рублей за грамм, т.е. погрешность составит около 5,66 рублей.
Также на рисунке 4 видно, что у данной модели веса, направленные на оба нейрона – разные, что также хорошо.
Построим нейросеть, используя максимальную глубину погружения - 20 дней. Она представлена на рисунке 6.
Рисунок 6 – Нейросеть с глубиной погружения 20 дней.
Диаграмма рассеяния для этой нейросети представлена на рисунке 7.
Рисунок 7– Диаграмма рассеяния с глубиной погружения 20 дней.
При подстановке в «Что-если» данных за последующие числа, получим, что с такой нейросетью относительная ошибка составит примерно 0,005948, что, конечно же, является неплохим результатом, т.к. стоимость золота будет составлять примерно 1300 рублей за грамм, т.е. погрешность составит около 7,73 рублей.
Также на рисунке 6 видно, что у данной модели веса, направленные на оба нейрона – разные, что также хорошо.
Построим нейросеть, используя максимальную глубину погружения - 25 дней. Она представлена на рисунке 8.
Рисунок 8 - Нейросеть с глубиной погружения 25 дней.
Диаграмма рассеяния для этой нейросети представлена на рисунке 9.
Рисунок 9– Диаграмма рассеяния с глубиной погружения 25 дней.
При подстановке в «Что-если» данных за последующие числа, получим, что с такой нейросетью относительная ошибка составит примерно 0,005863, что, конечно же, является неплохим результатом, т.к. стоимость золота будет составлять примерно 1300 рублей за грамм, т.е. погрешность составит около 7,62 рублей.
Также на рисунке 8 видно, что у данной модели веса, направленные на оба нейрона – разные, что также хорошо.
Исходя из полученных результатов, можно сделать вывод, что наилучшие результаты получаются при использовании глубины погружения равной 5 дням. В этом случае мы можем наблюдать наименьшую относительную ошибку, равную 0,004358, что будет соответствовать, в данном случае, примерно 5,66 рублей.
Но с другой стороны, наилучшие результаты по диаграмме рассеивания получаются при использовании глубины погружения равной 25 дням, т.к. всего лишь одно значение выходит за интервал доверия и сеть хорошо реагирует на изменение цены.
Заключение
В данной курсовой работе было представлено, каким образом нейронные сети способны помочь людям в генерации знаний, которые основывались бы на всех первоначальных данных. Исследования в области нейронных сетей в основном достаточно наглядны. По сравнению с другими вычислительными методами в статистике и науке они имеют значительные преимущества. Так, у моделей на основе нейронных сетей очень гибкие теоретические требования; кроме того, им необходимы совсем небольшие объемы предварительных знаний относительно формирования задачи.
Как мощный механизм обучения нейронные сети могут широко применяться в различных областях. Существует, однако, возможность недоразумений в оценке методик машинного обучения. Они никогда не смогут полностью заменить людей в процессе решения задачи. Нейронные сети должны использоваться для обобщения данных, а не для определения, атрибуты и критерии которого весьма важны при сборе данных. Нейронные сети адаптивны по своей природе, они могут подражать решению проблемы человеком, но они не сообщат нам, какой из критериев решения задачи должен быть принят во внимание перед сбором данных. Кроме того, обучающиеся машины часто используются при формализации знаний из данных реального мира, но сами обучающиеся машины не могут генерировать принципы формализации.
В практической части работы были представлены модели прогнозирования цены на золото на последующий период. В результате применения и построения таких моделей, можно сказать, что достаточно несложная, с двумя скрытыми слоями и пятью «внутренними» нейронами, нейронная сеть может предсказывать изменение цены на золото за день вперед с погрешностью в цене примерно в 0,004358, что составит 5,66 рублей, что будет являться хорошим результатом, с учетом того, что дневные изменения цен на золото варьируются в пределах от 5 копеек до 66,16 рублей.
Список использованных источников
1 Нейрокомпьютинг и его применение в науке и бизнесе. А. Ежов, С. Шумский. /электронное издание/
2 Нечеткая логика и искусственные нейронные сети. В.В. Круглов, М.И. Дли, Р.Ю. Голунов /электронное издание/
3 Нейросети и их практическое применение. А. Решетов /электронное издание/
4 www.wikipedia.org – Википедия – свободная энциклопедия
5 www.neuropro.ru – Нейронные сети и анализ данных
6 www.cbr.ru – Центральный банк Российской Федерации