Курсовая работа (т): Разработка и построение прогностических моделей на основе нейронной сети в аналитической платформе Deductor

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

7.      Метод опорных векторов (SVM - Support Vector Machine)


SVM отображает векторы входных данных на более многомерное пространство, где строится «оптимальная гиперплоскость», разделяющая данные. С каждой стороны от этой гиперплоскости строятся две параллельных гиперплоскости. На Рис. 3 приведен пример, в котором оптимальная гиперплоскость разделяет две категории данных (треугольники и квадраты). Оптимально разделяющая гиперплоскость определяет максимальное расстояние между двумя параллельными гиперплоскостями. Чем больше расстояние между двумя гиперплоскостями, тем точнее модель. Точки данных, лежащие на одной из двух параллельных гиперплоскостей, которые определяют наибольшее расстояние, называются опорными векторами. [6]

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

SVM, а также NN и модели логистической регрессии представляют собой мощные универсальные методы, которые хотя и различаются математически, дают в какой-то мере сопоставимые результаты. [6]

8.      Метод деревьев решений


Метод деревьев решений (decision trees) является одним из наиболее популярных методов решения задач классификации и прогнозирования. [5]

Если зависимая переменная принимает непрерывные значения, то дерево решений устанавливает зависимость этой переменной от независимых переменных, т.е. решает задачу численного прогнозирования. [5]

Рис. 4. - Дерево решений "Играть ли в гольф?"

Чтобы решить задачу, представленную на Рис. 4, т.е. принять решение, играть ли в гольф, следует отнести текущую ситуацию к одному из известных классов (в данном случае - «играть» или «не играть»). Для данной задачи (как и для любой другой) может быть построено множество деревьев решений различного качества, с различной прогнозирующей точностью. [5]

9.      Кластеризация

модель прогнозирование кластеризация вектор

С другой стороны, в тех случаях, когда целевая переменная, или отклик, не имеет значения или отсутствует, очень популярна технология кластеризации. [6] Применение кластеризации, т.е. разбиение временного ряда на гомогенные отрезки, в задачах прогнозирования было предложено давно. Еще в 1974 году Russel Fogler опубликовал статью «A pattern recognition model for forecasting». В этой статье автор впервые предложил прогнозирование временных рядов разбить на два этапа:

·        кластеризация

·        прогнозирование внутри кластера. [7]

По сути дела такой подход является комбинацией двух различных моделей временных рядов - первая модель определяет кластер, вторая прогнозирует внутри кластера. [7]

На Рис. 5 показан пример, в котором входные данные разделены на две группы. Данные первой группы обозначены зелеными треугольниками, а данные второй группы ― красными квадратами. [6]

Рис. 5. - Двухмерное представление результата кластеризации набора входных данных на группы зеленых треугольников и красных квадратов

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

10.    Метод ассоциативных правил


Когда целевая переменная или степень сходства не имеет значения, но важны связи между входными элементами, для их поиска может использоваться так называемый метод ассоциативных правил. [6]

Впервые задача поиска ассоциативных правил (association rule mining) была предложена для нахождения типичных шаблонов покупок, совершаемых в супермаркетах, поэтому иногда ее еще называют анализом рыночной корзины (market basket analysis). [5]

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

Описание разрабатываемого алгоритма, его укрупненная схема


Алгоритм состоит из следующих пунктов:

·        получение временного ряда с интервалом в выбранную временную итерацию;

·        заполнение «пробелов» в истории;

·        сглаживание ряда методом скользящих средних (или другим);

·        получение ряда относительного изменения прогнозируемой величины;

·        формирование таблицы «окон» с глубиной погружения временных интервалов;

·        добавление к таблице дополнительных данных (например, изменение величины за предыдущие годы);

·        шкалирование;

·        определение обучающей и валидационной выборок;

·        подбор параметров нейросети;

·        обучение нейросети;

·        проверка работоспособности нейросети в реальных условиях. [2]

Метод окон (метод windowing) позволяет выявить закономерности во временном ряде на основе сведения анализа временного ряда к задаче распознавания образов и последующего ее решения на нейросети. Основная идея метода: вводится два окна, одно из которых входное (input), второе - выходное (output). Эти окна фиксированного размера для наблюдения данных. Окна способны перемещаться с некоторым шагом S. В результате получаем некоторую последовательность наблюдений, которая составляет обучающее множество. Входному окну соответствует вход нейросети, а выходному окну - желаемый образ. [5]

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

Таблица 1. Первый вариант «окна» данных

Hist1

Hist2

Hist3

Hist4

Hist0

D-1

D-2

D-3

D-4

D

D-2

D-3

D-4

D-5

D-1

D-3

D-4

D-5

D-6

D-2


Первые четыре колонки являются входами нейросети, последняя - выход, т. е. на основе предыдущих значений изменения величины прогнозируется следующее значение ряда. Таким образом, мы получаем так называемое «скользящее окно», в котором представлены данные за пять недель. Окно можно двигать по временной оси и изменять его ширину. Чтобы учесть предыдущие годы и учесть возможные сезонные зависимости добавим еще один столбец в выборку, который показывает изменение величины в прошлый год за тот же период (см. Таблица 2). [2]

Таблица 2.Второй вариант «окна» данных

LastY

Hist1

Hist2

Hist3

Hist4

Hist0

L

D-1

D-2

D-3

D-4

D

L-1

D-2

D-3

D-4

D-5

D-1

L-2

D-3

D-4

D-5

D-6

D-2


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

Решение контрольного примера


В качестве исходных данных используем файл «kurs_dollar_01.11.2013_15.11.2014», в котором хранятся данные по курсам доллар/рубль на выбранный промежуток времени. Формат данных представлен в табл.1. Данные получены с официального сайта ЦБ РФ (www.cbr.ru <#"784044.files/image007.jpg">

4.      На 2-ом шаге мастера настроим поля следующим образом: поле «Курс» назначим используемым, глубину погружения зададим равной 5 (т.к. одна сессия - это неделя, т.е. 5 рабочих дней), а горизонт прогнозирования - 1 (будем прогнозировать на 17.11.2014).


5.      Подтвердив следующие шаги мастера, получим таблицу «окна» данных.


6.      Для прогнозирования нужно построить модель. Запустим «Мастер обработки» еще раз, и в секции «Data Mining» выберем пункт «Нейросеть».


7.      На 2-ом шаге мастера настроим поля исходных данных. Для модели необходимо выбрать в качестве входных полей «Курс - 5» … «Курс», а выходным будет поле «Курс + 1». Поле «Дата» - информационное.


8.      Оставив настройки 3-его шага мастера неизменными (95% - обучающее множество, 5% - тестовое).

.        На 4-ом изменим структуру нейросети - зададим число скрытых слоев равным 3.


10.    Оставим настройки процесса обучения нейронной сети на 5-ом шаге мастера без изменений.


11.    На 6-ом шаге укажем параметры остановки обучения: ошибка должна быть меньше 0,005; в обучающем и тестовом множестве должно быть распознано 95%.


12.    Произведем обучение нейронной сети с указанными параметрами.

.       
Для анализа полученной модели на 8-ом шаге мастера выберем следующие способы отображения: в секции «Data Mining» укажем «Диаграмма рассеяния», «Табличные данные» - «Таблица», «Графики» - «Диаграмма».

Рисунок 6 - Диаграмма рассеяния построенной нейросети

Рисунок 7 - Таблица значений построенной нейросети

Рисунок 8 - График изменения значений построенной нейросети

Оценка точности решения


Для проверки прогностических качеств модели используют процедуру кросс-проверки. Модель строится по выборке с обрезанным «хвостом», а затем сравниваются «хвост» и прогноз.  [8] В нашем случае прогноз последней сессии, построенный нейросетью, оказался неинформативным - значения на 15.11.2014 не совпадают на 2,938 (-6,2%).

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

Заключение и выводы


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

Как видно из Рисунок 8 график значений нейросети (Курс+1_OUT) значительно отличается от графика известных значений на следующий день (Курс) в начальном (незначительные отличия) и конечном (значительные) периоде исследования. Значительно ближе к целевому значению график, полученный с помощью аппроксимации скользящим окном (Курс+1), что говорит о неспособности нейронной модели предсказывать краткосрочное будущее достаточно подробно, как это может потребоваться трейдеру валютного рынка.

Список литературы

1. Deductor 4 - прогнозирование. BIGroup Labs. [В Интернете] [Цитировано: 20 10 2014 r.] http://www.bi-grouplabs.ru/ResourceAnalitic/Forcast2/DedForcast.html.

. Прогнозирование с помощью нейронных сетей. [В Интернете] [Цитировано: 20 10 2014 r.] http://apsheronsk.bozo.ru/Neural/Lec9.htm.

. Паклин, Н. и Орешков, В. Бизнес-аналитика: от данных к знаниям. СПб. : Питер, 2013.

. Паклин, Н. Логистическая регрессия и ROC-анализ - математический аппарат. BaseGroup Labs. [В Интернете] [Цитировано: 03 11 2014 r.] http://www.basegroup.ru/library/analysis/regression/logistic/.

5. Чубукова, И. А. Data Mining. Интуит - национальный открытый университет. [В Интернете] [Цитировано: 03 11 2014 r.] http://lnfm1.sai.msu.ru/~rastor/Books/Chubukova-Data_Mining.pdf.

. Гуаццелли, Алекс. Прогнозирование будущего: Часть 2. Методы прогностического моделирования. developerWorks Россия. [В Интернете] IBM, 01 10 2012 r. [Цитировано: 03 11 2014 r.] http://www.ibm.com/developerworks/ru/library/ba-predictive-analytics2/.

. Пешнина, М. А. Материалы Международного молодежного научного форума «ЛОМОНОСОВ-2014». [1 электрон. опт. диск (DVD-ROM)] М. : МАКС Пресс, 2014 r.

. Пауков, Д. ПРОГНОЗИРОВАНИЕ С ПОМОЩЬЮ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ. ДНТУ. [В Интернете] [Цитировано: 20 10 2014 r.] http://masters.donntu.edu.ua/2006/kita/kiryan/library/art06.htm.

. Чубукова, И. А. Лекция 9: Методы классификации и прогнозирования. Деревья решений. Интуит - национальный открытый университет. [В Интернете] [Цитировано: 03 11 2014 r.] http://www.intuit.ru/studies/courses/6/6/lecture/174.

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