Рисунок 30. Зависимость САПП
при прогнозировании на 1 шаг на обучающей выборке в зависимости от количества правилРисунок 31. Зависимость САПП
при прогнозировании на 1 шаг на проверочной выборке в зависимости от количества правилРисунок 32. Зависимость САПП
при прогнозировании на 3 шага на обучающей выборке в зависимости от количества правилРисунок 33. Зависимость САПП
при прогнозировании на 3 шага на проверочной выборке в зависимости от количества правил4.6 Анализ полученных результатов
Во время первого экспериментального исследования ННС TSK прогнозировались валютные курсы для восьми валютных пар. Были получены значения критериев эффективности СКО и САПП. Для сравнения потенциальной эффективности ННС TSKбыли выбраны МЭС и ИНС с кубическими сплайнами. В результате экспериментов было установлено, что ННС TSKпроизводит значительно более эффективное прогнозирование валютных курсов. СКО, полученное при прогнозировании рассматриваемой ИНС, было в 2-6 раз меньше, чем СКО, полученное при прогнозировании МЭС. Таким образом, ННС TSKлучше МЭС по критерию СКО. Критерий САПП, полученный при прогнозировании ННС TSK, был в 1,5-2 раза меньше, чем критерий САПП, полученный при прогнозировании МЭС. Таким образом ННС TSK по критериям СКО и САПП показала результаты лучше чем МЭС. ИНС с кубическими сплайнами и ННС TSK показали приблизительно равные показатели СКО и САПП, но в среднем ИНС с кубическими сплайнами дала прогноз на 3.5% лучше по критерию СКО и на 1% лучше по критерию САПП.
Во время второго экспериментального исследования рассматривалась чувствительность ННС TSK к изменению длины обучающей выборки. Были получены следующие результаты. При увеличении длины обучающей выборки СКО и критерий САПП на обучающей выборке убывали до установившегося значения. Это свидетельствует о том, что даже безграничное увеличение длины обучающей выборки не приведет к улучшению прогноза по критерию СКО и САПП. На проверочной выборке достигался максимум по критерию СКО и САПП, а далее был спад. Можно сделать вывод, что оптимальная длина обучающей выборки составляет 50 точек.
Раздел 5. Описание программного продукта
5.1 Описание пользовательского интерфейса
Пользовательский интерфейс был выполнен в визуальной среде программирования Delphi 7. Это позволило в сжатые сроки написать удобный пользовательский интерфейс.
Пользовательский интерфейс является очень удобным и позволяет загружать данные из файла, редактировать данные в удобном для пользователя окне, подобном MicrosoftExcel, и сохранять данные в файле. Так же предусмотрена возможность изменять длину обучающей выборки, память системы, количество правил, а также задавать другие параметры настройки ННС 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. В этой процедуре реализована настройка параметров, а также получение прогноза. Так же подсчитываются критерии СКО и САПП.
procedureTForm1.Button1Click(Sender: TObject); - загрузить данные из файла. Открывает диалоговое окно, в котором можно выбрать файл с исходными данными. При выборе файла происходит прочтение данных.
procedureTForm1.Button2Click(Sender: TObject); - загрузить настройки ННСTSK из файла. Загружает параметры ННСTSKиз файла.
procedureTForm1.Button7Click(Sender: TObject); - сохранить данные.
procedure TForm1.Button8Click(Sender: TObject); - сохранить нейросеть.
procedure TForm1.Button9Click(Sender: TObject); - получитьпрогноз. Если необходимо получить прогноз, в случае редактирования данных вручную.
procedureTForm1.Button3Click(Sender: TObject); открыть форму 2, в которой размещается меню настроек.
procedureTForm1.Button5Click(Sender: TObject); - открыть форму 3, в которой реализованы графики курсов валют – реальный и спрогнозированный на 1 шаг вперед.
procedureTForm1.Button6Click(Sender: TObject); открыть форму 4, в которой реализованы графики курсов валют – реальный и спрогнозированный на 3 шага вперед.
Unit 2. В данном программном модуле реализована возможность изменять настройки ННСTSK.
Unit 3, Unit 4. Данные два программных модуля являются однотипными. В этих программных модулях происходит вывод графиков. Основной функцией данных программных модулей является:
functionfi(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 точек.