Прогнозування цін за допомогою нейронних мереж
Штучні нейронні мережі: структура, архітектура, класифікація. Використання інформаційних систем алгоритмічної торгівлі. Керування портфелями фінансових інструментів. Прогнозування цін за допомогою нейронних мереж, вибір програмного забезпечення.
Рубрика | Экономико-математическое моделирование |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 01.11.2016 |
Размер файла | 377,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http: //www. allbest. ru/
Прогнозування цін за допомогою нейронних мереж
ЗМІСТ
ВСТУП
РОЗДІЛ І. ШТУЧНІ НЕЙРОННІ МЕРЕЖІ: СТУКТУРА, АРХІТЕКТУРА, КЛАСИФІКАЦІЯ
1.1 Історія нейронних мереж
1.2 Характеристика штучних нейронних мереж
1.3 Архітектура з'єднань штучних нейронів
1.4 Навчання штучної нейронної мережі
1.5 Класифікація нейромереж
РОЗДІЛ ІІ. ПРОГНОЗУВАННЯ ЦІН ЗА ДОПОМОГОЮ НЕЙРОННИХ МЕРЕЖ
2.1 Підготовка даних
2.2 Вибір програмного забезпечення
2.3 Практична робота
ВИСНОВКИ
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
ВСТУП
Актуальність дослідження. Початок ХХІ століття ознаменував нову еру використання інформаційних технологій, одною з яких є нейронні мережі. Інтерес до них зумовлений успішним застосуванням в різних галузях науки і промисловості. Бізнес, медицина, техніка, геологія, фізика тощо - ось далеко не весь перелік галузей, де нейронні мережі увійшли вже в практику, тому в сучасних умовах потрібно вирішувати завдання не тільки прогнозування, але й класифікації та управління.
В умовах ринку використання нейронних мереж у прогнозуванні цін має низку незаперечних переваг,що проявляються на кожному етапі даної методики, адже потрібно зробити попередній аналіз фінансового ряду, побудувати нейронномережеву модель, навчити нейронну мережу за комбінованим алгоритмом, яка і виведе потрібне нам прогнозування ціни.
Завдання прогнозування поведінки складних динамічних систем, до яких відноситься і прогнозування ціни в будь-якій галузі економіки є складною.
Прогноз таких систем повинен спиратися майже виключно на виявленні прихованих закономірностей в накопичених даних. Передбачення фінансових часових рядів - типовий приклад такого роду завдань. Механізм формування ціни, визначається колективної психологією учасників ринку, і він невідомий, але є історія відповідного часового ряду [ 9 ]
У науковій літературі [9.6.] наводиться велика кількість математичних моделей і методик для аналізу фінансових ринків.
Використання інформаційних систем алгоритмічної торгівлі має тенденцію к розвитку і призначене для автоматичного керування портфелями фінансових інструментів в біржових умовах. Близько 70% операцій на біржі виконується системами алгоритмічної торгівлі. Це стало можливо з розвитком комп'ютерних технологій, де в основу покладений штучний інтелект. [3]
Отже, тема курсової роботи : " Прогнозування цін за допомогою нейронних мереж". Мета даної роботи - розглянути задачу прогнозування цін на основ апарата нейронних мереж.
Предметом даного дослідження є аналіз можливостей нейронних мереж, а об'єктом дослідження слугує алгоритм прогнозування ціни за допомогою нейронної мережі.
Відповідно до теми курсової сформульовані і її завдання:
- вивчити наукову літературу з питань історії виникнення нейронних мереж, нейронний програмний прогнозування цін
- проаналізувати основні характеристики нейронних мереж та їх застосування у фінансових системах;
- практично показати алгоритм роботи з нейронною мережею при прогнозуванні цін на фінансовому ринку;
- виявити недоліки і переваги роботи з інформацією методом нейронних мереж.
Методологічною базою курсової роботи стали дослідницький, науково-аналітичний та експериментальні методи.
Дані дослідження можуть бути використані як студентами, так і фахівцями-практиками.
РОЗДІЛ І. ШТУЧНІ НЕЙРОННІ МЕРЕЖІ: СТУКТУРА І КЛАСИФІКАЦІЯ
1.1 Історія нейронних мереж
Як тільки з'явилась наука електроніка, вчені почали спроби відтворення процесу мислення за допомогою апаратів. І вже у 1950-му році перші моделі штучних нейромереж побачили світ. Дослідна лабораторія ІВМ та Дартмуський дослідний проект з штучного інтелекту забезпечили розвиток нейромереж у двох напрямках: промисловому (експертні системи) та моделювання мозку
Пізніше Джон фон Нейман (John fon Neumann) ввів імітацію простих функцій нейронів з використанням вакуумних трубок або телеграфної передачі, а Бернард Відров (Bernard Widrow) та Марсіан Хофф (Marcian Hoff) розробили моделі ADALINE та MADALINE (Множинні Адаптивні Лінійні Елементи (Multiple ADAptive LINear Elements)). MADALINE діяла, як адаптивний фільтр, що міг усувати відлуння на телефонних лініях. До речі, ця нейромережа і досі використовується. Нейробіологом Френко Розенблаттом (Frank Rosenblatt) була почата робота над одношаровим перцептроном, що став класичною нейромережею.
У 1982 р. одночасно з японськими вченими Джон Хопфілд (John Hopfield) у статті до НАН США показав змінені докорінно нові підходи до можелювання. Тому вже з 1985 р. Американський Інститут Фізики відкрив щорічні зустрічі "Нейронні мережі для обчислювання"
Наприкінці 90-х років було названо 16 основних та 13 додаткових тем, де доцільне, а й іноді, є необхідним використання нейронних мереж. На даний час перспектива використання нейронних мереж безмежна. Дослідження вчених направлені на програмні та апаратні реалізації нейромереж.
Розвиток їх ведеться в трьох напрямках створення нейрочипів: аналогових, оптичних, цифрових.[19]
1.2 Характеристика штучних нейронних мереж
Штучною нейромережею прийнято називати моделі нейронної стуктури мозку, що здатні сприймати, обробляти, зберігати та продукувати інофрмацію, при цьому їм властиво навчання та самонавчання. Так звані адаптивні системи, що створені на основі штучних нейронних мереж з успіхом здатні вирішувати такі проблеми, як розпізнавання образів, виконання прогнозів, оптимізація, керування та асоціативна пам'ять.
Штучний нейрон моделює основні функції природного нейрона і є базовим модулем нейронних мереж (рис. 1).
Нейрон, виконуючи певні функції, водночас отримує багато вхідних сигналів, кожен з яких має власну синаптичну вагу, яка надає входу вплив, що необхідний для функції суматора елементу обробки і є мірою сили вхідних зв'язків, моделюючи різноманітні синаптичні сили біологічних нейронів. Інтенсивність вхідного сигналу регулюється вагою входу: при суттєвім - ваги підсилюються, і навпаки, при несуттєвім - примусово зменшується. Тому ваги відповідно до навчальних прикладів, типу мережі та правил можна змінювати.
Сигнали вхідні xn зважені ваговими коефіцієнтами з'єднання wn додаються, проходять через передатну функцію, генерують результат і виводяться.
Рис. 1 Базовий штучний нейрон [19]
При реалізації програм штучні нейрони називають "елементами обробки" або "процесорами" і відповідно вкладають в них більші можливості.
На рис. 2 зображена детальна схема штучного нейрону.
Рис. 2 Модель "елементу обробки" [19]
Функція суматора складніша: цу і вибір максимума або мінімума, добутку, середнього арифметичного, обчислення за будь-яким алгоритмом, в тому числі на мові вищого рівня (C, С++, TurboPascal).
Вхідні та вагові сигнали можуть комбінуватись різними способами перед входженням до передатної функції. Алгоритм комбінування визначається відповідно до мережної архітектури та парадигми.
Іноді суматор виконує функцію активації, що зміщує вихід функції суматора в часі. Її результат перетворюється у вихідний сигнал через передатну функцію, в якій для визначення виходу нейрона загальна сума приближена або порівняється до певного порогу ( як правило, це діапазон [0,1] або [-1,1], можливі й інші. Сьогодні застосовують здебільшого нелінійну передатну функцію (сигмоїду, гіперболічний тангенс, синус і т.д.).
Рис. 3 Типові передатні функції
Для простої передатної функції нейромережа може видавати 0 чи 1, 1 чи -1 або інші числові комбінації. Передатна функція в таких випадках є пороговою або «жорстким обмежувачем» (рис. 4а).
Рис. 4
Передатна функція лінійна з насиченням віддзеркалює вхід всередині заданого діапазону і діє як жорсткий обмежувач поза межами цього діапазону. Це лінійна функція, яка відсікається до мінімальних та максимальних значень, роблячи її нелінійною (рис. 4).
Рис. 5
Сигмоїда або S-подібна крива наближує мінімальне та максимальне значення у асимптотах. Вона називається сигмоїдою, коли її діапазон [0, 1], або гіперболічним тангенсом, при діапазоні [-1, 1]. Важливою рисою сигмоїд є неперервність функцій та їх похідних. Застосування сигмоїдних функцій надає добрі результати і має широке застосування.
Кожна нейромережа потребує різну передатну функцію. Коли сигнал оброблено, нейрон має результат передатної функції, що передається до зовнішнього з'єднання відповідно до структури нейромережі або на входи інших нейронів.[19]
1.3 Архітектура з'єднань штучних нейронів
Спосіб зв'язків нейронів у мережі прийнято вважати структурою цієї нейромережі, а під архітектурою - розуміють типи нейронів в даній структурі. Способом навчання та використання нейромережі називають парадигмою нейромережі. Слід сказати, що ці поняття і терміни не є сталими і в різних джерелах трактуються по-різному.
Штучні нейрона, об'єднуючись у мережі, здатні утворювати систему обробки інформації для ефективної адаптації моделі. При функціонуванні мережа перетворює вхідний вектор сигналів у вихідний. Вид такого перетворення зумовлений як архітектурою самої нейромережі, так і особливостями нейронних елементів, засобами керування та синхронізації інформаційних потоків між ними.
Правильне визначення кількості нейронів та типів зв'язків між ними впливає на ефективність мережі.
Як на базі однієї архітектури можуть бути реалізовані різні парадигми нейромережі, так і навпаки.
Розрізняють слабозв'язані та повнов'язні нейромережі в архітектурних рішеннях. Для групи слабозв'язаних нейронних мереж характерно, що кожний нейрон пов'язаний лише із сусіднім, а в повнов'язних групах - входи кожного нейрона мають вихід на всі інші.
Доцільним і поширеним варіантом архітектури є мережа багатошарова, коли нейрони об'єднуються у прошарки з одним вектором вхідного сигналу. Вхідний зовнішній вектор йде на вхідний прошарок , так званий, рецептор. Виходами нейромережі в такому випадку виступають ефектори (вихідні сигнали останнього прошарку). Крім того, нейромережа має декілька прихованих прошарків нейронів, що не вступили в контакт із зовнішнім середовищем. (рис. 4.)
Рис. 6 Багатошаровий тип з'єднання нейронів [19]
Розрізняють проективні та бічні (латеральні) зв'язки між нейронами.
Проективний зв'язок це зв'язок між нейронами різних прошарків, а латеральний - між нейронами одного прошарку. Зрозуміло, що більшість нейромереж вимагають три і більше прошарків: вхідний, прихований та вихідний. Для отримання даних з файлу або з електронних давачів потрібен прошарок вхідних нейронів, для передачі інформації до вторинного комп'ютерного процесу або інших пристроїв , тобто до зовнішнього середовища, потрібен вихідний прошарок. Прихований прошарок або декілька прошарків мають нейрони, що сполучаються з усіма іншими нейронами.
Для нейромережі грає роль напрямок зв'язку між нейронами. Так, напрямок від вхідних прошарків до вихідних називається аферентним, а в зворотному напрямку - еферентним. В багатьох мережах кожен нейрон прихованого прошарку отримує сигнали від нейронів вхідного або попереднього прошарку і вже після обробки сигналів передає свій вихід до нейронів всіх інших прошарків, тим самим забезпечує передачу вперед (feedforward) на вихід. При зворотному зв'язку вихід нейронів здійснюється до нейронів попереднього прошарку. В програмних нейромережах користувач керує з'єднаннями: додає, вилучає і тим самим або посилює величину сигналу, або послаблює.
Відповідно до архітектури зв'язків нейромережі поділяють на два класи: мережі прямого поширення та рекурентні мережі.
Мережі прямого поширення з односкерованими послідовними зв'язками статичні, бо на входи нейронів вхідні сигнали надходять незалежно від стану мережі. До таких мереж відносять: Перцептрони, мережу Back Propagation, мережі зустрічного поширення та карту Кохонена.
Мережі зворотнього поширення з рекурентними зв'язками динамічні, так як зворотні петлі (зв'язки) входів нейронів модифікуються в часі, що змінює стан мережі. [19]
1.4 Навчання штучної нейронної мережі
До основних характеристик нейронних мереж відноситься і її здатність до навчання, що трактується як налаштування архітектури та вагових коефіцієнтів синаптичних зв'язків відповідно до даної навчальної множини, щоб поставлена задача була вирішена найкраще і найефективніше.
Розрізняють таки види навчання нейромереж:
- контрольоване (навчання з вчителем),
- неконтрольоване (навчання без вчителя).
При методі контрольованого навчання відбувається мінімізація похибок всіх елементів обробки, завдяки неперервній зміні синаптичних ваг до досягнення прийнятної точності. Вагові коефіцієнти випадкові (ініціалізація мережі) та при кожній наступній ітерації корегується до відповідності між бажаними та біжучими виходами.
Потрібно знати, що до свого функціонування мережа повинна бути навченою, а вагові коефіцієнти зафіксовані для подальшого застосування.
Для виявлення достатніх особливостей і зв'язків навчальна множина повинна бути великою для вмісту всієї потрібної інформації.
При цьому потрібно пам'ятати, що навчена мережа для одного прикладу має встановленні точні вагові коефіцієнти, які при іншому прикладі радикально змінюються. Тобто система має навчатися всьому разом, відшукуючи найкращі вагові коефіцієнти для загальної множини прикладів.
Головною умовою успішної роботи нейромережі є кодування й представлення як вхідних так і вихідних даних. При цьому необроблені дані, що надходять із зовні повинні перетворюватись. Нормалізація даних, коли всі значення приводяться до єдиного діапазону, виконується через ділення кожної компоненти вхідного вектора на його довжину, перетворюючи цей вектор в одиничний. Така попередня обробка зовнішніх даних, які отримані за допомогою сенсорів, у машинний формат є стандартною для комп'ютерів.
Важливим є те, що після навчання нейромережа здатна ефективно опрацьовувати дані, які не використовувались при навчанні. Якщо результати незадовільні, що виявляється при тестуванні, то навчання треба продовжити.
Метод неконтрольованого навчання має великі перспективи, адже комп'ютери можуть самонавчатися, не використовуючи зовнішніх впливів для корегування своїх ваг і внутрішньо контролювати свою ефективність. Сьогодні неконтрольоване навчання використовується в самоорганізованих картах (self organizing maps).
Алгоритм такого навчання побудовано на знаходженні близькості між групами разом працюючих нейронів. таким чином, зовнішній сигнал, активуючи будь-який вузол в одній групі неройнів, збільшує дію всієї групи в цілому, а якщо сигнал із-зовні зменшується, то гальмується вся група.
Конкуренція між нейронами є основою такого навчання, адже конкуруючі нейрони підсилюють відгуки певних груп на певні сигнали, що в свою чергу зв'язує групи між собою та відгуком, а це в результаті змінює вагу тільки нейрона-переможця.
Таким чином та ефективність тої чи іншої форми навчання залежить від таких керованих факторів, як: ємність (кількість зразків, що може запам'ятати мережа), складність зразків (кількість навчальних прикладів для узагальнення мережею) і обчислювальна складність (потужність комп'ютера).
Отже, застосування нейронних мереж можливо при вирішенні певних задач, а саме:
- класифікація образів, як то розпізнавання мови, букв, класифікація сигналів електрокардіограм тощо;
- кластеризація або категоризація, що застосовується при видобутку знань, стиснення даних і їх дослідження;
- апроксимація функцій необхідна при вирішенні численних інженерних і наукових задач моделювання;
- передбачення або прогнозування впливає на прийняття рішень у бізнесі (прогнозування цін на фондовій біржі), техніці та науці (прогноз погоди);
- оптимізація, тобто знаходження такого рішення, що задовольняє систему обмежень, мінімізує або максимізує цільову функцію;
- пам'ять адресна або асоціативна, коли вміст пам'яті викликано за частковим або спотвореним фрагментом, що стає в нагоді при створенні мільтимедійних баз даних.
- керування, коли система діє за бажаною траекторією, що задана еталоном-моделлю, як при керування двигуном.[19]
1.5 Класифікація нейромереж
Всі нейронні мережі мають спільні ознаки, адже засновані на концепції нейронів, з'єднувальної та передатної функції. Зміни диктуються різними правилами навчання. Існує декілька відомих неромереж.
Першою моделлю штучної нейромережі прямого поширення став перцептрон Розенбалата.(рис.5) Одношаровий перцептрон розпізнає найпростіші образи, а окремий нейрон здатен обчислювати тільки зважену суму сигналів вхідних елементів, він віднімає значення зсуву, а резултат пропускає через жорстку порогову функцію з виходом +1 чи -1. На основі значення вихідного сигналу видається рішення:
+1 - вхідний сигнал відноситься до класу А, або
-1 - сигнал належить до класу В.
Рис. 7 Схема нейрона, графік передатної функції і поділяюча поверхня[19]
Нейромережа зворотного поширення похибки (Back Propagation) є ефективною та легкою, а тому і популярною моделлю навчання для складних багатошарових мереж.
Для мережі ВackРropagation характерно наявність вхідного-вихідного прошарків і не менше одного прихованого. Організовані в пошарову структуру нейрони мають сигнал прямої передачі (вперед). Так кожний нейрон має зважену суму своїх входів, пропускає їх через передатну функцію і видає вихідне значення. Така мережа моделює будь-які складні функції в залежності від числа прошарків і числа нейронів в них.
Мережа Кохонена використовує некероване навчання, при якому навчальна множина складається тільки зі значень вхідних змінних. Вона здатна розпізнавати і розподіляти кластери в навчальних даних. Коли мережа зустрічається з невідомим набором даних, вона відносить їх до нового кластеру і при наявності певних міток класів спроможна д класифікації. Ця мережа має тільки вхідний та вихідний прошарки, а елементи карти розташовані, як правило, в двовимірному просторі. Навчання мереж Кохонена відбувається за методом послідовних наближень, при якому мережа підлаштовується під закономірності у вхідних даних. При послідовній подачі на вхід навчальних прикладів вибирається оптимальний нейрон ( скалярний добуток ваг і поданого на вхід вектора мінімальний). Це і є нейрон-переможець під якого підлаштовується вага в сусідніх нейронах.
Отже, мережа створює топологічну структуру, де схожі приклади утворюють групи прикладів, що близько знаходяться на топологічній карті.
Мережа Хопфілда заснована на аналогії фізики динамічних систем, в якій початкові застосування включають асоціативну пам'ять і вирішують задачі оптимізації.
В даній мережі застосовано вхідний та вихідний прошарки плюс прошарок Хопфілда. Всі вони мають однакову кількість нейронів, а зв'язки мають фіксовані вагові коефіцієнти. Виходи нейронів вхідного прошарку надходять до входів нейронів прошарку Хопфілда, а ті в свою чергу під'єднуються до всіх входів прошарку Хопфілда за винятком самого себе і відповідних елементів у вихідному прошарку.
При навчанні мережа скеровує дані з вхідного прошарку до Холпфілдового, а той коливається до завершення певної кількості циклів. Біжучий стан сигналів передається на вихідний прошарок і відповідає образу, що запам'ятає мережа.
Розширеною версією мережі Хопфілда є нейромережа Хемінга, яка реалізує класифікатор, який заснований на найменшій похибці для векторів двійкових входів, а похибка визначається числом бітів, що відрізняються між двома вхідними фіксованої довжини векторами, так звана відстань Хемінга.
При цьому один вхідний вектор є незашумленим прикладом образу, а інший - спотвореним. Вектор виходів навчальної множини виступає вектором класів, до яких належить образ. При навчанні вхідні вектори розподіляються категоріально за мінімальною відстанню між зразковим вхідним вектором та біжучим вхідним.
Мережа Хемінга складається с трьох прошарків: вхідного, де кількість вузлів співвідноситься з окремими двійковими ознаками, прошарку Хопфілда або прошарку категорій, де кількість вузлів дорівнює кількості категорій (класів), та вихідного прошарку, в якому число вузлів відповідає прошарку категорій.
Дана мережа є архітектурою прямого поширення з вхідним рівнем, що приєднана до прошарку категорій. [19]
РОЗДІЛ ІІ. ПРОГНОЗУВАННЯ ЦІН ЗА ДОПОМОГОЮ НЕЙРОННИХ МЕРЕЖ
2.1 Підготовка даних
Для початку роботи потрібно підготувати дані, від правильності цієї роботи залежить 80% успіху.
Фахівці стверджують, що в якості входів і виходів нейромережі не слід вибирати самі значення котирувань Ct. Дійсно значущими для прогнозування є зміни котировок. Оскільки ці зміни, як правило, набагато менше за амплітудою, ніж самі котирування, між послідовними значеннями курсів є велика кореляція - найбільш ймовірне значення курсу в наступний момент дорівнює його попередньому значенню. [18]
C(t+1)=C(t)+delta(C)=C(t)
Тим часом, для підвищення якості навчання слід прагнути до статистичної незалежності входів, тобто до відсутності подібних кореляцій. Тому в якості вхідних змінних логічно вибирати найбільш статистично незалежні величини, наприклад, зміни котирувань delta (С) або логарифм відносного збільшення
log (C (t) / C (t + 1)) [18]
Останній вибір підходить для тривалих часових рядів, коли вже помітно вплив інфляції. У цьому випадку прості різниці в різних частинах ряду будуть мати різну амплітуду, тому фактично вимірюються в різних одиницях. Навпаки, відносини послідовних котирувань не залежить від одиниць виміру, і будуть одного масштабу незважаючи на інфляційні зміни одиниць виміру. У підсумку, велика стаціонарність ряду дозволить використовувати для навчання велику історію і забезпечить краще навчання.
Негативною рисою занурення в лаговий простір є обмежений "кругозір" мережі. Технічний аналіз ж, навпаки, не фіксує вікно в минулому, і користується часом вельми далекими значеннями ряду. Наприклад, стверджується, що максимальні і мінімальні значення ряду навіть у відносно далекому минулому надають досить сильний вплив на психологію гравців, і, отже, повинні бути значущими для прогнозу. Недостатньо широке вікно занурення в лаговий простір не здатне надати таку інформацію, що, природно, знижує ефективність прогнозування. З іншого боку, розширення вікна до таких значень, коли захоплюються далекі екстремальні значення ряду, підвищує розмірність мережі, що у свою чергу призводить до зниження точності нейромережевого прогнозування - вже через розростання розміру мережі. [18]
Виходом з цієї ситуації є альтернативні способи кодування минулої поведінки ряду. Інтуїтивно зрозуміло, що чим далі в минуле відходить історія ряду, тим менше деталей його поведінки впливає на результат передбачень. Це обґрунтовано психологією суб'єктивного сприйняття минулого учасниками торгів, які, власне, і формують майбутнє. Отже, треба знайти таке подання динаміки ряду, яке мало б виборчу точність: чим далі в минуле - тим менше деталей, при збереженні загального вигляду кривої. [20]
Перспективним інструментом тут може виявитися вейвлетного розкладання (wavelet decomposition). Воно еквівалентно по інформативності лаговому зануренню, але легше допускає таке стиснення інформації, яке описує минуле з виборчої точністю. [18]
2.2 Вибір програмного забезпечення
Для роботи з нейромережами є безліч спеціалізованих програм, як універсальних, так і вузькоспеціалізованих. Проведемо короткий огляд деяких програм:
1. Matlab - настільна лабораторія для математичних обчислень, проектування електричних схем і моделювання складних систем. Має вбудовану мову програмування і багатий інструментарій для нейронних мереж - Anfis Editor (навчання, створення, тренування і графічний інтерфейс), командний інтерфейс для програмного завдання мереж, nnTool - для більш тонкої конфігурації мережі.
2. Statistica - найпотужніше забезпечення для аналізу даних і пошуку статистичних закономірностей. У даному пакеті робота з нейромережею представлена в модулі STATISTICA Neural Networks (скорочено, ST Neural Networks, нейронно-мережевий пакет фірми StatSoft), що представляє собою реалізацію всього набору нейромережевих методів аналізу даних.
3. BrainMaker - призначений для вирішення завдань, для яких поки не знайдені формальні методи і алгоритми, а вхідні дані неповні, зашумлені і суперечливі. До таких завдань відносяться біржові та фінансові передбачення, моделювання кризових ситуацій, розпізнавання образів і багато інших.
4. NeuroShell Day Trader - нейромережева система, яка враховує специфічні потреби трейдерів і досить легка у використанні. Програма є вузькоспеціалізованою і якраз підходить для торгівлі, але по своїй суті дуже близька до чорного ящика.
5. Інші програми є менш поширеними. Для первинної роботи цілком підійде Matlab, в ньому і будемо намагатися визначити ступінь придатності нейромереж для прогнозування. [18]
2.3 Практична робота
Дані дуже зручно можна отримати стандартними засобами MetaTrader:
Сервіс -> Архів котирувань -> Експорт
В результаті отримуємо файл у форматі *.csv, який є первинною сировиною для підготовки даних. Для перетворення отриманого файлу в зручний для роботи файл *.xls потрібно зробити імпорт даних з файлу *.csv. Для цього в excel потрібно провести наступні дії:
Дані -> Імпорт зовнішніх даних -> Імпортувати дані і вказати підготовлений первинний файл
У майстрі імпорту всі необхідні дії виконуються в 3 кроки:
Рис. 8
На 3 етапі необхідно поміняти роздільник цілої і дробової частини на точку, робиться це при натисканні кнопки Детальніше...
Для того щоб дані були сприйняті як цифри, а не як рядки, потрібно поміняти роздільник цілої і дробової частини на точку:
Сервіс -> Параметри -> Міжнародні -> Роздільник цілої і дробової частини
На скріншотах показаний приклад збереження цін відкриття і закриття, інші дані поки не потрібні. [18]
Тепер дані треба перетворити у відповідності з тим, що і як ми хочемо прогнозувати. Складемо прогноз ціни закриття майбутнього дня по чотирьох попереднім (дані йдуть в п'яти стовпчиках, ціни в хронологічному порядку). [18]
1.2605 |
1.263 |
1.2641 |
1.2574 |
1.2584 |
1.2666 |
|
1.263 |
1.2641 |
1.2574 |
1.2584 |
1.2666 |
1.2569 |
|
1.2641 |
1.2574 |
1.2584 |
1.2666 |
1.2569 |
1.2506 |
|
1.2574 |
1.2584 |
1.2666 |
1.2569 |
1.2506 |
1.2586 |
|
1.2584 |
1.2666 |
1.2569 |
1.2506 |
1.2586 |
1.2574 |
Завдяки нехитрим маніпуляціям в excel дані підготовляються за пару хвилин. Приклад підготовленого файла з даними можна взяти в прикріпленому файлі. [18]
Для того, щоб Matlab розпізнав файли, необхідно, щоб підготовлені дані були збережені у файлах з розширенням *.txt або *.dat. Збережемо їх в файлах *.txt. Далі кожен файл розбиваємо на два безлічі - для навчання мережі (вибірка) і для її тестування (поза вибірки). Підготовлені таким чином euro.zip дані придатні для подальшої роботи. [18]
З командного рядка по команді anfisedit запускаємо пакет ANFIS. Редактор складається з чотирьох панельок - для даних (Load data), для генерації мережі (Generate FIS), для тренування (Train FIS) і для її тестування (Test FIS). Верхня панель призначена для перегляду структури отриманої нейромережі (ANFIS Info). Для початку роботи завантажуємо дані, підготовлені на попередніх етапах. Для цього натискаємо кнопку Load Data і вказуємо файл з даними вибірки. Після цього створюємо нейросеть натисканням кнопки Generate FIS. [18]
Рис. 9
Для кожної з вхідних змінних задамо по 3 лінгвістичні змінні з трикутною функцією приналежності. В якості функції належності вихідної функції задамо лінійну функцію. [18]
Рис. 10
Для навчання нейромереж в пакеті AnfisEdit передбачено 2 алгоритми навчання - зворотного поширення і гібридний. При гібридному способі навчання мережа навчається буквально за пару-трійку проходів. На тренувальній вибірці (60 значень) після навчання прогноз мережі відрізняється від реального на кілька пунктів. [18]
Рис. 11
В якості даних поза вибіркою були взяті такі 9 днів після даних усередині вибірки. На даних поза вибірки середньоквадратична помилка склала 32 пункту, що звичайно неприйнятно для реальної торгівлі, але говорить про те, що в напрямку нейромереж можна працювати далі. [18]
Рис. 12
Результатом нашої роботи є багатошарова гібридна нейронна мережа, яка здатна прогнозувати абсолютні значення цін на невеликий майбутнє. Нам вдалося отримати приблизний прогноз по самим котируванням. Отриманоу нейромережуможна побачити при натисканні кнопки Structure. Навчену нейромережу можна взяти в прикріпленому файлі neuro.zip. [18]
Рис. 13
Великим плюсом пакету MatLab є його інтегрованість з іншими програмами, причому існує безліч варіантів його інтреграціі DDE, com-об'єкти, dll. Таким чином, можна не створювати інструмент з нуля, а скористатися готовим програмним рішенням для роботи з нейронними мережами та генетичними алгоритмами. Потім, після отримання стабільних результатів прогнозування, можна буде інтегрувати отриману нейромережу в програму MetaTrader через dll. [18]
ВИСНОВКИ
При використанні нейронних мереж легко досліджувати залежність прогнозованої величини від незалежних змінних. [20]
Використовуючи найпростішу нейромережеву архітектуру (перцептрон з одним схованим шаром) і базу даних (із продажами й усіма параметрами) легко одержати працюючу систему прогнозування. Причому враховувати, чи не враховувати зовнішні параметри системою буде визначатися включенням, або виключенням відповідного входу в нейронну мережу. [20]
Експерт може скористатися яким-небудь алгоритмом визначення важливості і відразу визначити значимість вхідних змінних, щоб потім виключити з розгляду параметри, що мають незначний вплив.
Ще одна серйозна перевага нейронних мереж полягає в тому, що експерт не є заручником вибору математичної моделі поведінки часового ряду. Побудова нейромережевої моделі відбувається адаптивно під час навчання, без участі експерта. При цьому нейронній мережі пред'являються приклади з бази даних і вона сама підлаштовується під ці дані. [20]
Недоліком нейронних мереж є їхня недетермінованість. Мається на увазі те, що після навчання є "чорний ящик", який якимось чином працює, але логіка прийняття розв'язків нейромережею зовсім схована від експерта. У принципі, існують алгоритми "витягу знань із нейронної мережі", які формалізують навчену нейронну мережу до списку логічних правил, тим самим створюючи на основі мережі експертну систему. На жаль, ці алгоритми не вбудовуються в нейромережеві пакети, до того ж набори правил, які генеруються такими алгоритмами досить об'ємні. [20]
Найпростіший варіант застосування штучних нейронних мереж у завданнях бізнес-прогнозування - використання звичайного перцептрона з одним, двома, або трьома прихованими шарами. При цьому на входи нейронної мережі звичайно подається набір параметрів, на основі якого ( на думку експерта) можна успішно прогнозувати. Виходом звичайно є прогноз мережі на майбутній момент часу. [20]
При використанні багатошарових нейронних мереж у бізнес-прогнозуванні в загальному і прогнозуванні продажів зокрема корисно також пам'ятати про те, що потрібно акуратно робити нормування й що для вихідного нейрона краще використовувати лінійну передатну функцію. Узагальнюючі властивості від цього небагато погіршуються, але мережа буде набагато краще працювати з даними, що містять тренд. [20]
В цілому точність прогнозу в даному експерименті недостатньо висока для прийняття серйозних рішень в реальній торгівлі, проте отриманий результат може бути поліпшений за рахунок більш глибокого аналізу вихідного фінансового часового ряду і ретельної підготовки вхідних даних, використання так званих «комітетів» мереж і більш змістовних економічних індикаторів.
Застосування нейронних мереж в задачах прогнозування має великий потенціал, який ще тільки належить розкрити.
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
1. Крисилов В.А. Чумичкин К.В. Кондратюк А.В. Представление исходных данных в задачах нейросетевого прогнозирования // Конференция "Нейроинформатика 2003". - М.:НАУЧНАЯ СЕССИЯ МИФИ, 2003.с184-191
2. Гитис В.Б. Сопряжение информационных потоков нейросетевой системы нормирования времени механообработки деталей // «Искусственный интеллект». - 2005 №3. с.285
3. Європейський вектор економічного розвитку. 2014. № 1 (16) Ю.К.Тараненко, Н.О.Різун, Р.М.Мілов. Прогнозування коливань цін на фондовому ринку з використанням систем штучного інтелекту. 2074-5362.
4. Шитиков В.К., Розенберг Г.С., Зинченко Т.Д. Нейросетевое моделирование: многослойный персептрон [WWW document].www.ievbran.ru/kiril/Library/Book1/content394/content394.htm
5. Методы обучения нейросистем [WWW document]. http://zdo.vstu.edu.ru/umk/html/manual/L5_6.html
6. Панфилов П.Н. Введение в нейронные сети // Современный трейдинг. - 2001. - № 2. - С. 12-17
7. Солдатова О.П., Семенов В.В. Применение нейронных сетей для решения задач прогнозирования// Электронный научный журнал «исследовано в России» http://zhurnal.gpi.ru/articles/2006/136.pdf
8. Иванов М.Н. Анализ роста курса акций с применением нейронных сетей. //Труды VIII Всероссийской конференции «Нейрокомпьютеры и их применение». - 2002. c.756-772.
9. Шарп У.Ф., Александер Г., Бейлі Дж.В. Інвестиції. - М.:Інфра_М, 1998. - 1028 с.
10. http://www.aiportal.ru/ Статті та файли зі штучного інтелекту.
11. http://www.emi-trust.ru/analitika Аналітика фінансових ринків.
12. http://www.neuropro.ru/neu.shtml Можливості нейронних мереж.
13. www.neuroproject.ru/what.php Підручник «Нейромережі».
14. http://www.osp.ru/os/1997/04/179189/ Аніл К. Джейн, Жіанчанг Мао, Моіуддін До М. Введення в штучні нейронні мережі.
15. www.lbai.ru/files/publications/sims.doc Навчальний симулятор нейронних мереж.
16. http://forest.akadem.ru/library/matlab/fuzzylogic/book1/7_6.html
17. http://matlab.exponenta.ru/fuzzylogic/book1/1_7_5_7.php
18. http://www.allbest.ru/ Прогнозування цін за допомогою нейронних мереж.
19. http://www.victoria.lviv.ua/html/neural_nets/Lecture2.htm. Штучні нейронні мережі. Кус лекцій.
Размещено на Аllbest.ru
...Подобные документы
Методи економічного прогнозування, їх відмінні особливості, оцінка переваг та недоліків. Моделі прогнозування соціально-економічних об’єктів. Принципи вибору моделей та комбінування прогнозів. Прогнозування показників розвитку банківської системи.
курсовая работа [813,1 K], добавлен 18.02.2011Структурна схема ВАТ "Вагоно-ремонтний завод". Аналіз фінансового та економічного стану підприємства. Методики побудови апроксимаційних нелінійних залежностей за допомогою методу Ньютона нелінійного оптимального пошуку. Розробка методики прогнозування.
дипломная работа [986,3 K], добавлен 08.03.2010Сутність прогнозу та прогнозування. Теоретичні основи наукового передбачення. Класифікація прогнозів і прогнозування за періодичністю проведення та ступенем вірогідності, за формами конкретизації управління. Аналіз процесів і тенденцій у сучасному світі.
реферат [34,5 K], добавлен 09.12.2013Історія виникнення міжнародного валютного ринку, його структура. Здійснення торгових операцій на ринку Forex. Фундаментальний і технічний аналіз прогнозування стану валютного ринку. Опис і розробка нового математичого методу прогнозування крос-курсів.
дипломная работа [4,8 M], добавлен 16.10.2009Стратегічна діагностика ефективності системи управління збутовою діяльністю. Прогнозування обсягів реалізації продукції ТОВ "Бучацький сирзавод" з використанням методів економіко-математичного моделювання на базі прикладного програмного забезпечення ЕОМ.
дипломная работа [2,8 M], добавлен 16.09.2014Часові ряди і їх попередній аналіз. Трендові моделі на основі кривих росту, оцінка їх адекватності й точності. Вибір та знаходження параметрів моделей прогнозування, побудова прогнозу. Автоматизація процесу прогнозування видобутку залізної руди.
дипломная работа [2,6 M], добавлен 06.09.2013Вихідні поняття прогнозування, його сутність, принципи, предмет і об'єкт. Суть адаптивних методів. Прогнозування економічної динаміки на основі трендових моделей. Побудова адаптивної моделі прогнозування прибутку на прикладі стоматологічної поліклініки.
дипломная работа [1,2 M], добавлен 18.06.2015Поняття та процес економічного прогнозування, процес формування прогнозу про розвиток об'єкта на основі вивчення тенденцій його розвитку. Сутність та побудова економетричних моделей. Зарубіжний досвід побудови та використання економетричної моделі.
реферат [43,5 K], добавлен 15.04.2013- Конкурентоспроможність національної економіки і валютний курс: оцінка впливу, прогнозування динаміки
Створення економіко-математичної моделі на основі рівняння множинної регресії та прогнозування конкурентоспроможності національної економіки за допомогою системи показників її розвитку. Оцінка впливу валютного курсу, практика його державного регулювання.
автореферат [50,3 K], добавлен 06.07.2009 Інфляція як економічна категорія, прогнозування її рівня в Україні. Інфляція попиту та пропозиції як головні причини систематичного зростання цін. Особливості методології прогнозування інфляційного процесу. Методи регресійного та факторного аналізу.
презентация [195,7 K], добавлен 11.02.2010Теоретичні основи економічного прогнозування: сутність, види і призначення, принципи і методи. Особливості вибору моделей та створення систем державних прогнозів і соціально-економічних програм України. Порядок моделювання динаміки господарської системи.
курсовая работа [869,6 K], добавлен 16.02.2011Стратегічний розвиток підприємства в умовах ринкової економіки. Загальна фінансово-економічна характеристика ДП "ХЕМЗ". Моделі прогнозування фінансових і виробничих процесів на підприємстві. Оцінка організації методом кластерного аналізу. Охорона праці.
дипломная работа [673,6 K], добавлен 09.11.2013Сутність лізингу, його об’єкти та суб’єкти, види, форми та функції. Основні етапи створення математичних моделей. Сутність та характеристика відповідних платежів. Вибір програмного забезпечення та розробка розрахунку лізингових платежів з його допомогою.
курсовая работа [589,4 K], добавлен 02.12.2015Основні поняття і попередній аналіз рядів динаміки. Систематичні та випадкові компоненти часового ряду. Перевірка гіпотези про існування тренда. Методи соціально-економічного прогнозування. Прогнозування тенденцій часового ряду за механічними методами.
презентация [1,3 M], добавлен 10.10.2013Прогнозування подій на валютному ринку. Побудова макроекономічної моделі прогнозування валютного курсу в Україні на основі теорії нечіткої логіки з застосуванням елементів теорії рефлективності. Економічний процес формування валютного курсу в Україні.
автореферат [42,5 K], добавлен 06.07.2009Теоретичні основи методів аналізу фінансових даних. Формалізований опис емпіричних закономірностей фінансових часових рядів. Розробка алгоритмів оцінювання параметрів волатильності і комплексу стохастичних моделей прогнозування фінансових індексів.
курсовая работа [1,4 M], добавлен 05.05.2015Витрати: сутність та способи обліку, класифікація, методи і моделі дослідження. Аналіз фінансового стану ВАТ "Сніжнянський машинобудівний завод" в 2009-2010 рр. Моделі прогнозування витрат. Управління охороною праці на підприємстві, електробезпека.
дипломная работа [855,1 K], добавлен 18.11.2013Економіко-математичне моделювання як спосіб вивчення господарської діяльності. Аналіз коефіцієнтів оборотності капіталу. Оцінка факторів, що впливають на ділову активність. Застосування моделей прогнозування для підприємств гірничообробної промисловості.
курсовая работа [274,5 K], добавлен 06.09.2013Особливості операцій на валютному ринку, зміст кон’юнктури, валютні котирування, чинники коливань. Розподіл котирувань, вплив чинників на динаміку валютного курсу, валютний контроль держави. Методи дослідження і прогнозування кон’юнктури валютного ринку.
контрольная работа [68,1 K], добавлен 03.06.2010Введення в міжнародний валютний ринок FOREX, проблема прогнозованості, аналіз математичних методів. Формалізація задачі прогнозування валютних курсів на основі теорії нечітких множин, оцінка адекватності результатів на основі запропонованого методу.
дипломная работа [985,4 K], добавлен 12.06.2013