Использование нечеткой искусственной нейронной сети TSK (Takagi, Sugeno, Kang’a) в задаче прогнозирования валютных курсов

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

Реализована возможность сохранить настрой

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

Реализована возможность просмотра графиков курсов валют.

5.2 Инструкция по работе с программой

При запуске программы перед пользователем появляется интерфейс, показанный на рисунке 34.

Функции и процедуры, вызываемые кнопками интерфейса:

«Загрузить данные» – открывает диалоговое окно, позволяющее выбрать файл с данными.

«Загрузить нейросеть» – открывает диалоговое окно, позволяющее выбрать файл с параметрами ННС TSK.

«Сохранить данные» – открывает диалоговое окно, позволяющее выбрать файл для сохранения данных.

«Сохранить нейросеть» – открывает диалоговое окно, позволяющее выбрать файл для сохранения настроек ННС TSK.

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

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

«Графики курса валюты» – открывает окно с графиками курсов валют реального и спрогнозированного на 1 шаг вперед. Пример окон проиллюстрирован на рисунках 2-9.

«Графики курса валюты (3)» – открывает окно с графиками курсов валют реального и спрогнозированного на 3 шага вперед. Пример окон проиллюстрирован на рисунках 10-17.

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

«Закрыть» – закрывает программу.

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

Рисунок 34. Интерфейс при запуске программы

Рисунок 35. Окно интерфейса «настройки»

Рисунок 36. Интерфейс после нажатия клавиши «обучить нейросеть»

4.5. Описание программы

Unit 1 является основным модулем программной реализации ИНС. В Unit 1 реализованы интерфейс пользователя, рисунок 34, возможность вводить данные вручную и с файла, обучение ИНС, получение прогноза. В Unit 1 реализована главная форма из которой вызываются формы 2, 3, 4, которые программно реализованы в Unit 2, Unit 3, Unit 4. Для возможности работы с матрицами подключается модуль matrices.

Основными структурами данных являются следующие массивы:

а – массив реального курса валют;

ap – массив спрогнозированного курса валюты на 1 шаг.

ap3 – массив спрогнозированного курса валюты на 3 шага.

Основными процедурами и функциями Unit 1 являются:

procedure TForm1.Button4Click(Sender: TObject); - обучение ННС TSK. В этой процедуре реализована настройка параметров, а также получение прогноза. Так же подсчитываются критерии СКО и САПП.

procedure TForm1.Button1Click(Sender: TObject); - загрузить данные из файла. Открывает диалоговое окно, в котором можно выбрать файл с исходными данными. При выборе файла происходит прочтение данных.

procedure TForm1.Button2Click(Sender: TObject); - загрузить настройки ННС TSK из файла. Загружает параметры ННС TSK из файла.

procedure TForm1.Button7Click(Sender: TObject); - сохранить данные.

procedure TForm1.Button8Click(Sender: TObject); - сохранить нейросеть.

procedure TForm1.Button9Click(Sender: TObject); - получить прогноз. Если необходимо получить прогноз, в случае редактирования данных вручную.

procedure TForm1.Button3Click(Sender: TObject); открыть форму 2, в которой размещается меню настроек.

procedure TForm1.Button5Click(Sender: TObject); - открыть форму 3, в которой реализованы графики курсов валют – реальный и спрогнозированный на 1 шаг вперед.

procedure TForm1.Button6Click(Sender: TObject); открыть форму 4, в которой реализованы графики курсов валют – реальный и спрогнозированный на 3 шага вперед.

Unit 2. В данном программном модуле реализована возможность изменять настройки ННС TSK.

Unit 3, Unit 4. Данные два программных модуля являются однотипными. В этих программных модулях происходит вывод графиков. Основной функцией данных программных модулей является:

function fi(g:real):integer; - при построении графика курса валюты сопоставляет реальное значение курса валюты к координате на экране.

В приложении 2 представлен текст программного модуля.

Выводы

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

Для экспериментальных исследований были выбраны курсы валют доллара США и российского рубля, а критериями правильности служили среднеквадратическое отклонение и средняя абсолютная процентная погрешность. Выборка была взята за 2007-2009 года, всего 500 точек.

Для сравнения потенциальной эффективности ННС TSK были выбраны ИНС с кубическими сплайнами и МЭС. В результате экспериментов было установлено, что ННС TSK производит значительно более эффективное прогнозирование валютных курсов чем МЭС, но немного уступает ИНС с кубическими сплайнами. СКО, полученное при прогнозировании ННС TSK, было в 2-6 раз меньше, чем СКО, полученное при прогнозировании МЭС. Таким образом, ННС TSK лучше МЭС по критерию СКО. Критерий САПП, полученный при прогнозировании рассматриваемой ИНС, был в 1,5-2 раза меньше, чем критерий САПП, полученный при прогнозировании МЭС. ННС TSK в сравнении с ИНС с кубическими сплайнами показала приблизительно одинаковые результаты, но в среднем на 3.75% хуже по критерию СКО и на 1% хуже по критерию САПП.

Рассматривалась чувствительность ННС TSK к изменению длины обучающей выборке. При увеличении длины обучающей выборки СКО и критерий САПП уменьшались и стремились к установившемуся значению, на обучающей выборке. На проверочной выборке при увеличении обучающей выборки увеличиваются значения СКО и САПП и достигают своего максимального значения при длине обучающей выборки в 400 точек. Далее графики начинают убывать. Можно сделать вывод, что оптимальным значеное значение обучающей выборки составляет 50 точек.

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16  17  18  19  20  21  22  23  24  25  26  27 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы