Таким чином, секрет якісної прогностичної моделі часто криється в хорошій підготовчій роботі, яка навіть важливіше, ніж метод, який використовується для навчання моделі. Це не означає, що від прогностичного методу нічого не залежить. Якщо використовується неправильний метод або обраний невідповідний набір вхідних параметрів, гарні дані не допоможуть. [6]
Опис розроблювального алгоритму, його укрупненная схема
Алгоритм складається з наступних пунктів:
· отримання тимчасового ряду з інтервалом в обрану тимчасову ітерацію;
· заповнення «прогалин» в історії;
· згладжування ряду методом ковзних середніх (або іншим);
· отримання низки відносної зміни прогнозованої величини;
· формування таблиці «вікон» з глибиною занурення тимчасових інтервалів;
· додавання до таблиці додаткових даних (наприклад, зміна величини за попередні роки);
· шкалювання;
· визначення навчальної та валідаційної вибірок;
· підбір параметрів нейромережі;
· навчання нейромережі;
· перевірка працездатності нейромережі в реальних умовах. [2]
Метод вікон (метод windowing) дозволяє виявити закономірності в тимчасовому ряді на основі зведення аналізу часового ряду до задачі розпізнавання образів і подальшого її вирішення на нейромережі. Основна ідея методу: вводиться два вікна, одне з яких вхідний (input), друге - вихідна (output). Ці вікна фіксованого розміру для спостереження даних. Вікна здатні переміщатися з деяким кроком S. В результаті отримуємо деяку послідовність спостережень, яка складає навчальна множина. Вхідному вікна відповідає вхід нейромережі, а вихідного вікна - бажаний образ. [5]
Візьмемо глибину занурення рівною 4, тобто прогнозування величини на наступну ітерацію буде здійснюватися за результатами чотирьох попередніх ітерацій. Далі слід перетворити величину до наступного вигляду:
Таблиця 1. Перший варіант «вікна» даних
Hist1Hist2Hist3Hist4Hist0D - 1D - 2D - 3D - 4DD - 2D - 3D - 4D - 5D - 1D - 3D - 4D - 5D - 6D - 2 ...............
Перші чотири колонки є входами нейромережі, остання - вихід, т. е. на основі попередніх значень зміни величини прогнозується таке значення ряду. Таким чином, ми отримуємо так зване «ковзне вікно», в якому представлені дані за п'ять тижнів. Вікно можна рухати по тимчасовій осі і змінювати його ширину. Щоб врахувати попередні роки і врахувати можливі сезонні залежності додамо ще один стовпець у вибірку, який показує зміну величини в минулий рік за той же період (див. Таблиця 2). [2]
Таблиця 2.Второй варіант «вікна» даних
LastYHist1Hist2Hist3Hist4Hist0LD - 1D - 2D - 3D - 4DL - 1D - 2D - 3D - 4D - 5D - 1L - 2D - 3D - 4D - 5D - 6D - 2 ..................
Таким чином готується навчальна вибірка і саме в такому вигляді надаються дані для подальшого аналізу. Можна не обмежуватися тільки минулим роком, а подавати дані за кілька попередніх років, але слід враховувати, що мережа в такому випадку розростається, що іноді призводить до поганих результатів. [2]
Рішення контрольного прикладу
В якості вихідних даних використовуємо файл «kurs_dollar_01.11.2013_15.11.2014», в якому зберігаються дані щодо курсів долар/рубль на обраний проміжок часу. Формат даних представлений в табл.1. Дані отримані з офіційного сайту ЦБ РФ (cbr lt;#laquo;justifyraquo;gt;ДатаКурс01.11.201332,075802.11.201332,180806.11.201332,350913.11.201446,337914.11.201446,123315.11.201447,392 1.
. Запустимо аналітичну платформу Deductor і за допомогою майстра імпорту завантажити набір даних (дані про курс долара до рубля за рік).
. Відкрити вікно «Майстер обробки» і в секції «Трансформація даних» вибрати пункт «Ковзаюче вікно».
4. На другий кроці майстра налаштуємо поля наступним чином: поле «Курс» призначимо використовуваним, глибину занурення задамо рівний 5 (тому одна сесія - це тиждень, тобто 5 робочих днів), а горизонт прогнозування - 1 (будемо прогнозувати на 17.11.2014).
5. Підтвердивши наступні кроки майстра, отримаємо таблицю «вікна» даних.
6. Для прогнозування потрібно побудувати модель. Запустимо «Майстер обробки» ще раз, і в секції «Data Mining» виберемо пункт «Нейросеть».
7. На другий кроці майстра налаштуємо поля вихідних даних. Для моделі необхідно вибрати в якості вхідних полів «Курс - 5» ... «Курс», а вихідним буде поле «Курс + 1». Поле «Дата» - інформаційне.