Прогнозирование временных рядов с помощью искусственных нейронных сетей (Лабораторная работа № 6), страница 2

·  Train  (Обучить)  -  При  каждом   нажатии  кнопки   алгоритм  прогоняется  через  заданное  число  эпох.

·  Reinitialize  (Переустановить)  -  перед  новым  запуском  обучения  следует  нажать  кнопку  переустановки,  т.к.  при  этом  заново  случайным  образом  устанавливаются  веса  сети.

·  JogWeights  (Встряхивание  весов)  -  при  возможном  застревании  алгоритма  в  локальном минимуме  данная  опция добавляет  к  каждому  весу  небольшую  величину.

8. Построить  проекцию  временного  ряда,  для  чего  через  RunTimesSeriesProjection  (Запуск – Проекция  временного  ряда)  открыть  соответствующее  окно  (рис.6).

Рис.6. Окно  проекции  временного  ряда

     Описание  диалогового  окна 

·  Start  (Начало)  -  указывает,  должна  ли  проекция  временного  ряда  начинаться  с  некоторого  номера  наблюдений  (CaseNo)  в  файле  данных  или  с  отдельного  наблюдения.

·  CaseNo  (Номер  наблюдения)  - при  проекции  временного  ряда  из  файла  данных  указывается  номер  наблюдения  с  выходным  значением,  с которого  надо  начинать.

·  Length  (Длина)   -  число  шагов,  на  которое  будет  проектироваться  прогноз.

·  Variable  (Переменная)  -  указывается  переменная, которая  будет  проектироваться.

9. С помощью  обученной сети  можно   выполнить  проекцию  временного  ряда.  Вначале  сеть  отработает  на  первых  12  входных  значениях,  в результате  чего  будет  получен  прогноз  следующего  значения. Затем  спрогнозированное  значение  вместе  с  предыдущими  11  входными  величинами  вновь  подается  на  вход   сети,  и  последняя  выдает  прогноз  очередного  значения.

Единственный  управляющий  параметр,  который  нужно  выбрать  -  это  длина  проекции.  В  данном  примере  всего  144  наблюдения,  12  из  которых  будут  удалены  при предварительной  обработке,  поэтому  сравнивать  результаты  можно  будет  самое большее  на  132  шагах.  Однако  можно проектировать  ряд  и  за  границы имеющихся  данных,  только  при  этом  не с чем  будет  сравнивать  результат.

  Просмотреть поведение прогнозируемых  значений  при  различных длинах,  с  использованием  кнопки  Run   (Запуск)   можно  наблюдать  изменение  целевых  и  выходных  значений  ряда.

На  приведенном  рис.6  видно,  что  прогнозируемая  кривая  (синего  цвета  на  экране  монитора) не  очень  хорошо  обучилась,  так  как  имеются  значительные  отклонения  между  исходным и  прогнозируемым    рядами,  начиная примерно  с  70  наблюдения.синего  цвета  на  экране  монитора) не  очень  хорошо  ивсех  трех слоях  сети  (рис.2).

о  решателя,  которые  на  данной ста

10.  Провести  прогнозирование  ряда  с  использованием   интеллектуального   решателя  (третья  кнопка  слева  в  верхнем  ряду).  В  этом  случае  необходимо  ответить  на  ряд  вопросов  в  режиме  диалога:

·  Выбрать  основную  версию  (рис.7)  и  нажать  Next.

Рис.7. Выбор  основной версии

·  Определить  тип  задачи  (стандартная  или временной  ряд).  Здесь  нужно  отметить  временной  ряд  (рис.8).

Рис.8. Выбор  типа  задачи

·  Установить  период наблюдений,  равный  12  месяцам  (рис.9).

Рис.9. Установка  периода  наблюдений

·  Выбрать  зависимую  и  независимую  переменные,  в  качестве  которых  служит  одна и  та  же  переменная  Series.

·  Определить  время  расчетной  процедуры,  равное  2  мин  (рис.10).

Рис.10.  Установка  времени  расчетной  процедуры

·  Указать  количество  сохраняемых  сетей  и  действия  при  их  сохранении  (рис.11).

Рис.11. Действия  по  выбору  сетей

·  Выбрать  формы  представления  результатов  (рис.12)  и  нажать  Finish.

Рис.12.  Выбор  формы  представления  результатов 

         В  результате  использования  интеллектуального  решателя прогноз  получается  гораздо  точнее,  так  как  обучаемая  сеть  намного  ближе  к  исходному  ряду  (рис.13).

Рис.13.  Прогноз  с  помощью  интеллектуального  решателя

Задание

Построить  смоделированный  временной  ряд   из  пакета  Statistica   следующим  образом:

·  Создать  новый  файл,  состоящий  из  20  строк  и  2  столбцов.

·  Через  меню  DataVariableSpecs   (Данные – описание  переменной) ввести  в  окно  формул  выражение  =vnormal(rnd(1);1;3).

·   Смоделировать  20  значений  случайной  нормально  распределенной  величины    с  математическим  ожиданием,  равным  1,  и  среднеквадратичным  отклонением,  равным  3.  Эти  20  значений  определяют переменную  Var1. Перевести  их  к  целому  типу  данных,  установив  в  окне описания  переменной  в  качестве  Type   значение  Integer.

·  Перейти  к  переменной  Var2  следующим  образом:  первое  значение  Var2  равно  первому  значению  переменной  Var1;  второе  значение  Var2  равно  сумме  первых   двух  значений  переменной  Var1;  третье   значение  переменной  Var2  равно  сумме  первых  трех  значений  переменной  Var1  и  т.д.

·  Скопировать  переменную  Var2    и  перейти  в  пакет  SNN,  разместив  скопированные  данные  в  новом  созданном  файле.

·  Провести  прогнозирование  полученного  ряда  с  помощью  нейронной  сети.