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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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


Рисунок 1. Структура искусственного нейрона

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

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

Каждая нейронная сеть должна иметь в своём составе как минимум две составляющие: входные данные и выходной слой. Количество скрытых слоев и количество нейронов в них неограниченно и зависит от спецификации задачи. На рисунке 2 изображена типичная двухслойная нейронная сеть прямого распространения сигнала.

Рисунок 2. Схема двухслойной нейронной сети прямого распространения сигнала (входной слой не учитывается)11

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

Формула 1. Формула активации нейрона

где S - активация нейрона, X - входное значение нейрона, w - вес нейрона, n - число нейронов в предыдущем слое, тета - порог активации









Рисунок 3. Схема суммирования значений нейронов в скрытом слое

Полученная взвешенная сумма S нейрона скрытого слоя, полученная формулой выше, является аргументом нелинейной функции f(S), которая создаёт выходное значение скрытого слоя Y:

= f(S)

Формула 2. Выходное значение скрытого слоя

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

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

Рисунок 4. Возможные функции активации12

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

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

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

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

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

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

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

•        все биологические нейронные сети являются рекуррентными

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

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

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

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

1.4 ЦЕЛИ И ЗАДАЧИ ИССЛЕДОВАНИЯ

Объект исследования - фондовые рынки. В частности, фондовый рынок NASDAQ.

Предмет исследования-прогнозирование доходности акций на фондовых рынках с помощью моделей искусственных нейронных сетей.

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

Для эффективного выполнения поставленной цели, в данной работе

решаются следующие задачи:

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

•        сравнить несколько видов нейронных сетей и выбрать наиболее эффективную для решения поставленной цели

•        продемонстрировать возможность корректного прогнозирования показателей цены акций на фондовых рынках с помощью разработанных моделей нейронных сетей

•        создать нейронную сеть на практике, способную делать прогноз на основании входных данных

•        добиться показателя точности нейронной сети не менее 70%

•        произвести демо торговлю с помощью построенной нейронной сети Для практического тестирования построенных в работе моделей искусственных нейронных сетей были использованы реальные котировки фондового рынка. Источником статистических данных послужили официальные данные американской фондовой биржи - NASDAQ.

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

2.      РАЗРАБОТКА СОБСТВЕННОЙ МОДЕЛИ РЕШЕНИЯ


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

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

2.1    ОПРЕДЕЛЕНИЕ ТИПА НЕЙРОННОЙ СЕТИ


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

(t)= W*X(t)

Формула 3. Прямое распространение сигнала

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

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

(t)=W*X(t) + Y(t-1)

Формула 4. Рекуррентное распространение сигнала

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

2.2    ОПРЕДЕЛЕНИЕ ВХОДНЫХ ДАННЫХ И ИХ ОБРАБОТКА


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

Кроме этого, основываясь на работе C.M. Anish и Babita Majhi17, есть основания добавить в анализ значение объёмов торгов. Исследования, описанные в указанной работе, указывают на наличие корреляции между движением значений объема торгов и значения цены на акции. Данный параметр, как и параметр цены, формируется на базе последовательности значений объема за предыдущие периоды.

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

Прогноз значений переменной на будущие периоды, основываясь на значениях предыдущих оказывается более точным, если добавить дополнительные объясняющие зависимые переменные18. В качестве дополнительных переменных мною были взяты скользящие средние длиною в 20 окон, которые формировались отдельно для прогнозирования объёма торгов и цены акции.

2.3    АРХИТЕКТУРА НЕЙРОННОЙ СЕТИ


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

Источник: https://www.bibliofond.ru/view.aspx?id=896807