Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИИ / ИИ / СШІ / Лабораторна робота 3 СШІ.docx
Скачиваний:
50
Добавлен:
11.02.2015
Размер:
156.74 Кб
Скачать

Лабораторна робота № 3

Тема. Прогнозування часових рядів за допомогою нейронних мереж типу «багатошаровий персептрон» (MLP) й інструментальних засобів пакету Statistica Neural Networks.

Мета роботи. Закріпити теоретичний лекційний матеріал, засвоїти методику побудови, навчання, оцінки і застосування нейронної мережі типу MLP з використанням різних навчальних алгоритмів при моделюванні і рішенні задач прогнозування часових рядів за допомогою інструментальних засобів пакету Statistica Neural Networks.

Завдання роботи.

  1. Підготувати початкові дані для навчання нейронної мережі.

  2. Створити і навчити нейронну мережу для вирішення задач прогнозування.

  3. Збудувати проекцію тимчасового ряду за допомогою засобів програми Statistica Neural Networks і проаналізувати якість мережі.

  4. Створити і навчити нейронні мережі що використовують декілька вхідних змінних для вирішення задачи аналізу тимчасових рядів з використанням помічника Intelligent Problem Solver програми Statistica Neural Networks.

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

Загальні положення

У пакеті ST Neural Networks для вирішення задач прогнозування часових рядів можна застосовувати мережі всіх типів (тип мережі має підходити для вирішення задачі регресії). Мережа конфігурується для прогнозу часового ряду установкою параметрів Часове вікно (Steps) і Горизонт (Lookahead). Параметр Часове вікно задає число попередніх значень, які слід подавати на вхід, а параметр Горизонт указує, як далеко потрібно будувати прогноз. Кількість вхідних і вихідних змінних може бути довільною. Однак, найчастіше вхідною і одночасно (з урахуванням горизонту) вихідною виступає єдина змінна. При конфігурації мережі для аналізу часових рядів змінюється спеціальний метод попередньої обробки даних (витягуються не окремі спостереження, а їх блоки, що складаються з послідовних спостережень в кількості, рівній значенню параметра Часове вікно), але навчання і робота мережі походять точно так, як і в задачах інших типів.

У задачах аналізу часових рядів навчальна множина даних, як правило, представлена значеннями однієї змінної, яка є вхідною/вихідною (тобто служить для мережі і входом, і виходом). Проте можуть використовуватися дещо змінних як вхідні. В цьому випадку вся відповідальність за формування набору даних лежить на вас. Ви повинні мати часовий ряд не тільки для цільової ознаки, але й для решти ознак, від яких залежить дана ознака, причому ряди мають бути узгодженими. Для з'ясування цього застосовується кореляційний аналіз часових рядів, який дозволяє встановити, чи пов'язані вхідні змінні з прогнозованою змінною. Для цього можна скористатися пакетом статистичної обробки даних. Зазначимо, що метод кореляційного аналізу дає коректні результати при дотриманні наступних умов:

однорідність вихідних даних;

незалежність окремих значень параметра один від одного;

нормальність розподілу ознак, що вивчаються.

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

Категорія, до якої буде віднесений набір, визначається категорією вихідного спостереження. Наприклад, якщо в вихідних даних перші два спостереження не враховуються, а третє оголошене тестовим, і значення параметрів Часове вікно і Горизонт рівні відповідно 2 і 1, то перший використовуваний набір буде тестовим, його входи братимуться з перших двох спостережень, а вихід – з третього. Таким чином, перші два спостереження, хоч і позначені як такі, що не враховуються, використовуються в тестовій множині. Більше того, дані одного спостереження можуть використовуватися відразу в трьох наборах, кожний з яких може бути навчальним, контрольним або тестовим. Можна сказати, що дані "розтікаються" по навчальній, контрольній і тестовій множинах. Щоб повністю розділити ці множини, довелося б сформувати окремі блоки навчальних, контрольних і тестових спостережень, відокремлені один від одного достатнім числом спостережень, що не враховуються.

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

Процес прогнозування за допомогою нейронної мережі можна представити у вигляді 6 етапів:

1) постановка задачі – необхідно чітко визначити, що нам треба передбачати і які дані використовувати;

2) збір і підготовка вихідних даних – отримання інформації з доступних джерел, визначення формату представлення інформації, створення бази зразків для навчання і тестування нейронної мережі;

3) створення нейронної мережі – визначення її топології, входів, виходів, кількості прихованих шарів і кількості нейронів в кожному з них;

4) навчання мережі (якщо мережа не може навчитися, потрібно повторити етапи 2 і 3);

5) тестування мережі – перевірка точності мережі на тестових зразках (якщо результати тестування незадовільні, повторюються етапи 2,3 і 4);

6) отримання прогнозних значень.

Соседние файлы в папке СШІ