АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Моделювання процесу прогнозування та вирішення задачі в середовищі MATLAB

Читайте также:
  1. C-3. Розрахунок процесу розпилювання блоків на плити-заготовки (Алмазне дискове розпилювання).
  2. I. МЕТА І ЗАДАЧІ ВИВЧЕННЯ НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
  3. V. Цивільно-процесуальне законодавство
  4. VII. Кримінально-процесуальне законодавство
  5. Актори політичного процесу
  6. Аналіз існуючих теоретико-практичних розробок створення інформаційних систем для вирішення обраної проблеми.
  7. Аналіз математичних методів прогнозування валютних курсів
  8. Аналіз, діагностика та прогнозування розвитку регіональної економіки
  9. Бюджет, та учасники бюджетного процесу України.
  10. Вибір задачі для моделювання
  11. Використання розширеного фільтру в середовищі EXEL,типи критеріїв.
  12. Виникнення та сутність синергетичного методу дослідження політичного процесу.

Однією з найбільш необхідних завдань при проведенні аналізу фінансового ринку є отримання прогнозних значень деяких найбільш значимих фінансових коефіцієнтів таких як, наприклад курси валют. У даному проекті ми будемо займатися прогнозуванням курсу японської ієни до рубля. Як і планування, прогнозування - це рід передбачення, оскільки має справу з отриманням інформації про майбутнє. У нашій роботі ми будемо використовувати технології нейронних мереж для побудови систем нечіткого виводу.

Нейромережеві технології - це комп'ютерний алгоритм, роботу якого можна умовно розділити на два основних етапи: навчання та побудова прогнозу. На першому етапі на вхід мережі подаються дані, необхідні для формування навчальної вибірки. Мережа аналізує і знаходить взаємозв'язок між рядами даних навчальної вибірки за період часу N, де N - кількість спостережень навчальної вибірки. Навчальна вибірка містить два типи параметрів - визначальні (вхідні) і прогнозовані (вихідні).

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

На етапі навчання виникають дві головні проблеми: яким чином слід встановити параметри навчання і коли слід зупинити процес навчання. На сьогоднішній день не існує ніяких алгоритмів, за допомогою яких можна було б налаштувати параметри навчання під конкретне завдання.[23]

Особливістю нейронних мереж є те, яким чином відбувається обробка даних. При використанні стандартного алгоритму зворотного поширення помилки мережа «бачить» і аналізує дані вихідної матриці рядами. Щоб нейронна мережа змогла «побачити» тренди, потрібно представити дані таким чином, щоб у кожному рядку навчальної матриці відбивалася «історія» часового ряду тобто містилася інформація як про поточний спостереженні, так і про минулі.

При вирішенні нашого завдання ми будемо враховувати п'ятиденну історію, тобто всі зміни, які відбувалися протягом попереднього тижня. Тут потрібно зауважити, що спроби розглядати більш довгу «історію» призводять до скорочення числа спостережень у навчальній вибірці і до одночасного невиправданого її зростанню «вшир», що може негативно вплинути на здатність мережі до навчання.

Тепер необхідно перетворити наявну інформацію в вигляд зрозумілий і змістовний для мережі.

Неможливо отримати скільки задовільний результат за допомогою нейронних мереж, подавши на вхід необроблені дані. Для роботи з нейронними мережами важливо не тільки ретельно відібрати показники: необхідно також подати їх у певній, зрозумілою для мережі формі. Можна виділити два основних правила, згідно з якими формується навчальна вибірка.У якості вихідних даних можна скористатися інформацією про динаміку продажу курсу по валюті "Долар США" (USD) за певний часовий інтервал, яка доступна в Інтернеті за адресою: http://finance.ua/. Для конкретності візьмемо значення курсової вартості USD за 1 одиницю в період з 1 січня 2013 р. по 30 квітня 2013 Дану інформацію для зручності подальшої роботи представимо в табличній формі (Табл. 2.1).

Як було сказано вище, у даній роботі ми розглянемо два варіанти введення вхідних даних: введення абсолютних значень, та введення їхніх приростів. Таблиця значень приростів валютних курсів приведена нижче (Табл. 2.2). Спочатку розглядатимемо метод з введенням абсолютних значень.

 

Таблиця 2.1

Динаміка продажу курсу іноземної валюти (USD) в період з 1.01.13 по 30.04.13

Дата Курс USD Дата Курс USD Дата Курс USD Дата Курс USD
03.01.2013 8,08 01.02.2013 8,15 01.03.2013 8,144 01.04.2013 8,135
04.01.2013 8,08 04.02.2013 8,16 04.03.2013 8,148 02.04.2013 8,15
08.01.2013 8,07 05.02.2013 8,16 05.03.2013 8,149 03.04.2013 8,154
09.01.2013 8,06 06.02.2013 8,16 06.03.2013 8,146 04.04.2013 8,155
10.01.2013 8,07 07.02.2013 8,145 07.03.2013 8,14 05.04.2013 8,145
11.01.2013 8,08 08.02.2013 8,15 11.03.2013 8,14 08.04.2013 8,14
14.01.2013 8,17 11.02.2013 8,129 12.03.2013 8,13 09.04.2013 8,139
15.01.2013 8,17 12.02.2013 8,14 13.03.2013 8,125 10.04.2013 8,138
16.01.2013 8,17 13.02.2013 8,13 14.03.2013 8,135 11.04.2013 8,138
17.01.2013 8,15 14.02.2013 8,12 15.03.2013 8,129 12.04.2013 8,135
18.01.2013 8,155 15.02.2013 8,13 18.03.2013 8,13 15.04.2013 8,135
21.01.2013 8,155 18.02.2013 8,125 19.03.2013 8,135 16.04.2013 8,139
22.01.2013 8,16 19.02.2013 8,13 20.03.2013 8,139 17.04.2013 8,14
23.01.2013 8,16 20.02.2013 8,14 21.03.2013 8,145 18.04.2013 8,14
24.01.2013 8,16 21.02.2013 8,14 22.03.2013 8,135 19.04.2013 8,145
25.01.2013 8,16 22.02.2013 8,138 25.03.2013 8,15 22.04.2013 8,139
28.01.2013 8,16 25.02.2013 8,138 26.03.2013 8,145 23.04.2013 8,14
29.01.2013 8,15 26.02.2013 8,139 27.03.2013 8,14 24.04.2013 8,14
30.01.2013 8,15 27.02.2013 8,15 28.03.2013 8,145 25.04.2013 8,14
31.01.2013 8,15 28.02.2013 8,15 29.03.2013 8,145 26.04.2013 8,14
            27.04.2013 8,139
            29.04.2013 8,14
            30.04.2013 8,138

 


Таблиця. 2.2

Таблиця значень приростів валютних курсів

Перша вхідна змінна Друга вхідна змінна Третя вхідна змінна Четверта вхідна змінна П’ята вхідна змінна Вихідна змінна
0.001239 0.001241 -0.00124 -0.00124   0.011139
0.011139 0.001239 0.001241 -0.00124 -0.00124  
  0.011139 0.001239 0.001241 -0.00124  
    0.011139 0.001239 0.001241 -0.00245
-0.00245     0.011139 0.001239 0.000613
0.000613 -0.00245     0.011139  
  0.000613 -0.00245     0.000613
0.000613   0.000613 -0.00245    
  0.000613   0.000613 -0.00245  
    0.000613   0.000613  
      0.000613    
        0.000613 -0.00123
-0.00123          
  -0.00123        
    -0.00123      
      -0.00123    
Продовження таблиці 2.2
        -0.00123 0.001227
0.001227          
  0.001227        
    0.001227     -0.00184
-0.00184     0.001227   0.000614
0.000614 -0.00184     0.001227 -0.00258
-0.00258 0.000614 -0.00184     0.001353
0.001353 -0.00258 0.000614 -0.00184   -0.00123
-0.00123 0.001353 -0.00258 0.000614 -0.00184 -0.00123
-0.00123 -0.00123 0.001353 -0.00258 0.000614 0.001232
0.001232 -0.00123 -0.00123 0.001353 -0.00258 -0.00062
-0.00062 0.001232 -0.00123 -0.00123 0.001353 0.000615
0.000615 -0.00062 0.001232 -0.00123 -0.00123 0.00123
0.00123 0.000615 -0.00062 0.001232 -0.00123  
  0.00123 0.000615 -0.00062 0.001232 -0.00025
-0.00025   0.00123 0.000615 -0.00062  
  -0.00025   0.00123 0.000615 0.000123
0.000123   -0.00025   0.00123 0.001352
0.001352 0.000123   -0.00025    
Продовження таблиці 2.2
  0.001352 0.000123   -0.00025 -0.00074
-0.00074   0.001352 0.000123   0.000491
0.000491 -0.00074   0.001352 0.000123 0.000123
0.000123 0.000491 -0.00074   0.001352 -0.00037
-0.00037 0.000123 0.000491 -0.00074   -0.00074
-0.00074 -0.00037 0.000123 0.000491 -0.00074  
  -0.00074 -0.00037 0.000123 0.000491 -0.00123
-0.00123   -0.00074 -0.00037 0.000123 -0.00062
-0.00062 -0.00123   -0.00074 -0.00037 0.001231
0.001231 -0.00062 -0.00123   -0.00074 -0.00074
-0.00074 0.001231 -0.00062 -0.00123   0.000123
0.000123 -0.00074 0.001231 -0.00062 -0.00123 0.000615
0.000615 0.000123 -0.00074 0.001231 -0.00062 0.000492
0.000492 0.000615 0.000123 -0.00074 0.001231 0.000737
0.000737 0.000492 0.000615 0.000123 -0.00074 -0.00123
-0.00123 0.000737 0.000492 0.000615 0.000123 0.001844
0.001844 -0.00123 0.000737 0.000492 0.000615 -0.00061
-0.00061 0.001844 -0.00123 0.000737 0.000492 -0.00061
-0.00061 -0.00061 0.001844 -0.00123 0.000737 0.000614
Продовження таблиці 2.2
0.000614 -0.00061 -0.00061 0.001844 -0.00123  
  0.000614 -0.00061 -0.00061 0.001844 -0.00123
-0.00123   0.000614 -0.00061 -0.00061 0.001844
0.001844 -0.00123   0.000614 -0.00061 0.000491
0.000491 0.001844 -0.00123   0.000614 0.000123
0.000123 0.000491 0.001844 -0.00123   -0.00123
-0.00123 0.000123 0.000491 0.001844 -0.00123 -0.00061
-0.00061 -0.00123 0.000123 0.000491 0.001844 -0.00012
-0.00012 -0.00061 -0.00123 0.000123 0.000491 -0.00012
-0.00012 -0.00012 -0.00061 -0.00123 0.000123  
  -0.00012 -0.00012 -0.00061 -0.00123 -0.00037
-0.00037   -0.00012 -0.00012 -0.00061  
  -0.00037   -0.00012 -0.00012 0.000492
0.000492   -0.00037   -0.00012 0.000123
0.000123 0.000492   -0.00037    
  0.000123 0.000492   -0.00037 0.000614
0.000614   0.000123 0.000492   -0.00074
-0.00074 0.000614   0.000123 0.000492 0.000123
0.000123 -0.00074 0.000614   0.000123  
Продовження таблиці 2.2
  0.000123 -0.00074 0.000614    
    0.000123 -0.00074 0.000614  
      0.000123 -0.00074 -0.00012
-0.00012       0.000123 0.000123
0.000123 -0.00012       -0.00025

Припустимо, що нечітка модель гібридної мережі буде містити 4 вхідних змінних. При цьому перша вхідна змінна буде відповідати курсу USD на поточний банківський день, друга - курсом USD на попередній банківський день, тобто на день де через позначений поточний банківський день. Тоді третя вхідна змінна буде відповідати курсу USD на банківський день, а четверта - курсу USD на банківський день.

Відповідні навчальні дані можуть бути зведені в окрему таблицю. Обсяг отриманої таким чином навчальної вибірки дорівнює 80 (табл. 2.3), що відповідає динаміці курсу USD в період з 1січня 2013 р. по 30 квітня 2013 р. При цьому дані за травень 2013 р. не увійшли до складу навчальної вибірки і можуть бути використані для перевірки адекватності побудованої нечіткої моделі.

Таблиця. 2.3

Навчальна вибірка, яку ми будемо використовувати в ANFIS

Перша вхідна змінна Друга вхідна змінна Третя вхідна змінна Четверта вхідна змінна Вихідна змінна
8.06 8.07 8.08 8.08 8.07
8.07 8.06 8.07 8.08 8.08
8.08 8.07 8.06 8.07 8.17
8.17 8.08 8.07 8.06 8.17
8.17 8.17 8.08 8.07 8.17
8.17 8.17 8.17 8.08 8.15
8.15 8.17 8.17 8.17 8.155
8.155 8.15 8.17 8.17 8.155
8.155 8.155 8.15 8.17 8.16
8.16 8.155 8.155 8.15 8.16
8.16 8.16 8.155 8.155 8.16
8.16 8.16 8.16 8.155 8.16
8.16 8.16 8.16 8.16 8.16
8.16 8.16 8.16 8.16 8.15
8.15 8.16 8.16 8.16 8.15
Продовження таблиці 2.3
8.15 8.15 8.16 8.16 8.15
8.15 8.15 8.15 8.16 8.15
8.15 8.15 8.15 8.15 8.15
8.15 8.15 8.15 8.15 8.16
8.16 8.15 8.15 8.15 8.16
8.16 8.16 8.15 8.15 8.16
8.16 8.16 8.16 8.15 8.145
8.145 8.16 8.16 8.16 8.15
8.15 8.145 8.16 8.16 8.129
8.129 8.15 8.145 8.16 8.14
8.14 8.129 8.15 8.145 8.13
8.13 8.14 8.129 8.15 8.12
8.12 8.13 8.14 8.129 8.13
8.13 8.12 8.13 8.14 8.125
8.125 8.13 8.12 8.13 8.13
8.13 8.125 8.13 8.12 8.14
8.14 8.13 8.125 8.13 8.14
8.14 8.14 8.13 8.125 8.138
8.138 8.14 8.14 8.13 8.138
8.138 8.138 8.14 8.14 8.139
8.139 8.138 8.138 8.14 8.15
8.15 8.139 8.138 8.139 8.15
8.15 8.15 8.139 8.138 8.144
8.144 8.15 8.15 8.139 8.148
8.148 8.144 8.15 8.15 8.149
8.149 8.148 8.144 8.15 8.146
8.146 8.149 8.148 8.144 8.14
8.14 8.146 8.149 8.148 8.14
Продовження таблиці 2.3
8.14 8.14 8.146 8.149 8.13
8.13 8.14 8.14 8.146 8.125
8.125 8.13 8.14 8.14 8.135
8.135 8.125 8.13 8.14 8.129
8.129 8.135 8.125 8.13 8.13
8.13 8.129 8.135 8.125 8.135
8.135 8.13 8.129 8.135 8.139
8.139 8.135 8.13 8.129 8.145
8.145 8.139 8.135 8.13 8.135
8.135 8.145 8.139 8.135 8.15
8.15 8.135 8.145 8.139 8.145
8.145 8.15 8.135 8.145 8.14
8.14 8.145 8.15 8.135 8.145
8.145 8.14 8.145 8.15 8.145
8.145 8.145 8.14 8.145 8.135
8.135 8.145 8.145 8.14 8.15
8.15 8.135 8.145 8.145 8.154
8.154 8.15 8.135 8.145 8.155
8.155 8.154 8.15 8.135 8.145
8.145 8.155 8.154 8.15 8.14
8.14 8.145 8.155 8.154 8.139
8.139 8.14 8.145 8.155 8.138
8.138 8.139 8.14 8.145 8.138
8.138 8.138 8.14 8.145 8.135
8.135 8.138 8.138 8.139 8.135
8.135 8.135 8.138 8.138 8.139
8.139 8.135 8.135 8.138 8.14
8.14 8.139 8.135 8.135 8.14
Продовження таблиці 2.3
8.14 8.14 8.139 8.135 8.145
8.145 8.14 8.14 8.139 8.139
8.139 8.145 8.14 8.14 8.14
8.14 8.139 8.145 8.14 8.14
8.14 8.14 8.139 8.145 8.14
8.14 8.14 8.14 8.139 8.14
8.14 8.14 8.14 8.14 8.139
8.139 8.14 8.14 8.14 8.14
8.14 8.139 8.14 8.14 8.138

Малюнок робочого вікна редактора ANFIS із завантаженою навчальною вибіркою представлено на малюнку нижче (Рис. 2.2)

Рис. 2.2 Графічний інтерфейс редактора ANFIS після завантаження навчальних даних

Перед генерацією структури системи нечіткого висновку типу Сугено задамо для кожної з вхідних змінних по 3 лінгвістичних терма, а в якості типу їх функцій належності виберемо трикутні функції. В якості типу функції належності вихідної змінної задамо лінійну функцію (Рис. 2.3)

Рис. 2.3 Діалогове вікно для завдання кількості і типу функцій приналежності

Для навчання гібридної мережі скористаємося гібридним методом навчання з рівнем помилки 0, а кількість циклів навчання задамо рівним 40. Після закінчення навчання даної гібридної мережі може бути виконаний аналіз графіка помилки навчання (Рис. 2.4), який показує, що навчання практично закінчилося після 7-го циклу. Алгоритм навчання було описано у попередньому пункті.

Рис. 2.4 Графік залежності помилки навчання від кількості циклів навчання

Після навчання гібридної мережі можна візуально оцінити структуру побудованої нечіткої моделі (Рис. 2.5). Графічна наочність даної моделі залишає бажати кращого, оскільки загальна кількість правил в розробленій адаптивної системі нейро-нечіткого виводу дорівнює 81, що ускладнює їх візуальний контроль і оцінку.

Рис. 2.5 Структура згенерованої системи нечіткого виводу

За допомогою графічних засобів системи МАТLАВ можна виконати контроль і налаштування параметрів функцій належності вхідних змінних і правил нечітких продукцій. Для виконання відповідних операцій можна скористатися редактором функцій належності. Проте до перевірки адекватності побудованої нечіткої моделі залишимо всі параметри функцій належності без змін.

Протестуємо систему нечіткого виводу спочатку на навчальній вибірці, а потім на останніх відомих значеннях курсу долара. Знову складаємо таблицю входять даних, до якої увійшли дані за травень (Табл. 2.4), яку будемо використовувати для перевірки точності роботи. Тестуюча вибірка відображена в таблиці (Табл. 2.5).

Результати тестування, приведені на малюнку нижче (Рис. 2.7). Як ми можемо бачити, середня помилка при тестуванні складає 0.012247.

Таблиця 2.4

Динаміка продажу курсу іноземної валюти (USD) в період з 1.05.13 по 31.05.13

Курс USD Дата
8,12  
8,12  
8,119  
8,139  
8,155  
8,159  
8,165  
8,156  
8,16  
8,16  
8,165  
8,165  
8,17  
8,169  
8,169  
8,169  
8,159  
8,16  

Таблиця 2.5

Вибірка вхідних даних для тестування системи нечіткого виводу

Перша вхідна змінна Друга вхідна змінна Третя вхідна змінна Четверта вхідна змінна Вихідна змінна
8.139 8.119 8.12 8.12 8.155
8.155 8.139 8.119 8.12 8.159
Продовження таблиці 2.5
8.159 8.155 8.139 8.119 8.165
8.165 8.159 8.155 8.139 8.156
8.156 8.165 8.159 8.155 8.16
8.16 8.156 8.165 8.159 8.16
8.16 8.16 8.156 8.165 8.165
8.165 8.16 8.16 8.156 8.165
8.165 8.165 8.16 8.16 8.17
8.17 8.165 8.165 8.16 8.169
8.169 8.17 8.165 8.165 8.169
8.169 8.169 8.17 8.165 8.169
8.169 8.169 8.169 8.17 8.159
8.159 8.169 8.169 8.169 8.16

 

Рис. 2.7 Графічний інтерфейс редактора ANFIS після завантаження тестувальних даних

Результати перевірки адекватності наведені у наступному розділі.

Перейдемо до другого методу вводу даних, який було запропоновано вище. Дані, які будуть введені, представлені у таблиці 2.2. Існує твердження, що нейронні мережі краще реагують не на абсолютні значення, а на ряди збільшень. Цей факт можна пояснити тим, що в нейронній мережі задається діапазон значень, який визначається найбільшим і найменшим значеннями з навчальної вибірки. Якщо цей діапазон великий, а самі значення при переході від спостереження до спостереження змінюється на незначну в порівнянні з діапазоном величину, то нейронна мережа просто не надасть належного значення цим змінам. Крім того, використання при роботі з мережею збільшень дозволяє отримувати прогноз у разі, коли абсолютні значення змінних, на основі яких будується прогноз, виходять за межі діапазону встановленого при навчанні.

Таким чином, щоб оптимізувати навчання і роботу мережі, всі абсолютні значення даних були перетворені до приростів за формулою (2.1)

Після завантаження навчальної вибірки, редактор ANFIS зображена на малюнку (Рис. 2.8)

Рис. 2.8 Графічний інтерфейс редактора ANFIS після завантаження навчальних даних

Згенеруємо систему нечіткого виводу типу Сугено натисканням кнопки Generate FIS.... У вікні задамо для кожної вхідної змінної по 3 функції приналежності типу gaussmf. Вибір функції приналежності тут обумовлений тим, що ми предполгаем нормальний розподіл для випадкової величини (Курс USD), яке якраз визначається гауссовською функцією по Теорії Ймовірності. Для вихідної змінної задамо функцію приналежності const. Для навчання гібридної мережі виберемо метод hybrid (зворотного поширення помилки) з рівнем помилки 0 і кількістю циклів 100. За результатами навчання середня помилка складає всього лише приблизно 0.000518219. Дані для тестування наведені у таблиці (Табл. 2.6)

Середня помилка при тестуванні складає 0.0034449.

Таблиця 2.6

Вибірка вхідних даних для тестування системи нечіткого виводу

Перша вхідна змінна Друга вхідна змінна Третя вхідна змінна Четверта вхідна змінна П’ята вхідна змінна Вихідна змінна
0.0004905 0.0019658 0.0024634 -0.0001232   0.0007354
0.0007354 0.0004905 0.0019658 0.0024634 -0.0001232 -0.0011023
-0.0011023 0.0007354 0.0004905 0.0019658 0.0024634 0.0004904
0.0004904 -0.0011023 0.0007354 0.0004905 0.0019658  
  0.0004904 -0.0011023 0.0007354 0.0004905 0.0006127
0.0006127   0.0004904 -0.0011023 0.0007354  
  0.0006127   0.0004904 -0.0011023 0.0006124
0.0006124   0.0006127   0.0004904 -0.0001224
-0.0001224 0.0006124   0.0006127    
  -0.0001224 0.0006124   0.0006127  
    -0.0001224 0.0006124   -0.0012241
-0.0012241     -0.0001224 0.0006124 0.0001226
0.0004905 0.0019658 0.0024634 -0.0001232   0.0007354

Перевірка на адекватність даної моделі наведена у наступному пункті.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.013 сек.)