Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭКОНОМЕТРИКА и математическая экономика / Тихонов Э.Е. Методы прогнозирования в условиях рынка

.pdf
Скачиваний:
170
Добавлен:
20.04.2015
Размер:
1.91 Mб
Скачать

Рисунок 4.7. Ошибки наблюдений

В конце сеанса обучения ошибки пересчитываются. Имеется также возможность следить за тем, как они меняются в процессе обучения - для этого служит функция Пересчитывать по ходу - Real-time update окна Ошибки наблюдений - Case Errors; ее нужно активизировать перед запуском алгоритма обратного распространения. Сделав это, вы сможете наблюдать, как алгоритм пытается искать компромисс между обучающими и мешающими наблюдениями.

4.2. Запуск нейронной сети

После того, как сеть обучена, ее можно запустить на исполнение. В пакете ST Neural Networks это можно сделать в нескольких вариантах:

-на текущем наборе данных - в целом или на отдельных наблюдениях;

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

-на одном конкретном наблюдении, для которого значения переменных введены пользователем, а не взяты из какого-то файла данных, из другого приложения с помощью интерфейса прикладного программирования SNN API.

131

4.2.1. Обработка наблюдений по одному

Для обработки отдельных наблюдений из набора данных служит окно Прогнать одно наблюдение - Run Single Case, доступ к которо-

му осуществляется Run → Single Casе … или кнопкой

на па-

нели инструментов (рисунок 4.8).

 

Рисунок 4.8. Прогнать одно наблюдение

Вполе Номер наблюдения - Case No задается номер наблюдения, подлежащего обработке. Чтобы обработать текущее наблюдение, нажмите кнопку Запуск – Run, а для обработки какого-либо другого наблюдения введите соответствующий номер в поле Номер наблюдения – Case No и нажмите клавишу ВВОД (рисунок 4.8).

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

Помимо фактического выходного значения, которое выдает сеть, выводится также целевое значение и ошибка.

Впакете ST Neural Networks предусмотрены различные форматы вывода (для этого служит выпадающий список Показывать при выводе - Outputs Shown). Сейчас мы использовали установленный по умолчанию вариант Переменные – Variables.

132

4.2.2. Прогон всего набора данных

Для тестирования сети на всем наборе данных служит окно Прогнать набор данных - Run Data Set, доступ к которому осуществляется через пункт Набор данных Data Set… меню Запуск - Run или

кнопкой Нажмите КНОПКУ Запуск – Run, чтобы протестировать сеть, и результаты будут выведены в таблицу в нижней части окна (рисунок 4.9).

Рисунок 4.9. Прогнать набор данных

В таблице окна Прогнать набор данных - Run Data Set содер-

жатся следующие значения (перечисленные слева направо): фактические выходы сети, целевые выходные, значения ошибки и суммарная ошибка по каждому наблюдению. Над таблицей выдается

ОКОНЧАТЕЛЬНАЯ СРЕДНЕКВАДРАТИЧЕСКАЯ ОШИБКА (СКО) – RMS ERROR сети на этом наборе данных.

133

4.2.3. Тестирование на отдельном наблюдении

Иногда необходимо протестировать сеть на отдельном наблюдении, не принадлежащем никакому набору данных. Причины для этого могут быть такие.

-Обученная сеть используется для построения прогнозов на новых данных с неизвестными выходными значениями.

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

Тестирование заданных пользователем наблюдений проводится из окна Прогнать отдельное наблюдение - Run One-off…, доступ к которому осуществляется через Run → One-off…(рисунок 4.10).

Рисунок 4.10 Прогнать отдельное наблюдение

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

4.3. Создание сети типа Многослойный персептрон

Для создания сети типа многослойный персептрон в первую очередь необходимо выполнить следующие действия.

Пуск→Программы → STATISTICA Neural NetworksSTATISTICA Neural Networks→ в появившемся окне Open Data Set вы-

бираете файл SERIES_G.

134

Возможны два варианта создания сети: с помощью мастера создания сети и самостоятельно.

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

4.3.1.Создание сети типа многослойный персептрон

спомощью мастера

После того как вы запустили программу, перед вами появятся следующие диалоговые окна.

Data Set Editor (Редактор набора данных) (рисунок 4.11), где будут представлены все имеющиеся значения нашей единственной переменной и диалоговое окно мастера - Intelligent Problem SolverBasic or Advanced (рисунок 4.12) - окно помощника решения задач.

Рисунок 4.11. Редактор набора данных

В появившемся окне Intelligent Problem Solver-Basic or Advanced

(рисунок 4.12) выбираем второй вариант Advanced (продвинутая версия, с помощью которой можно осуществить обычный процесс)→ нажимаем Next.

135

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

Рисунок 4.12. Окно помощника решения задач - Основная или продвинутая версия

После нажатия клавиши Next появится следующее диалоговое окно - Intelligent Problem Solver - Problem Type (рисунок 4.13), где снова выбираем второй вариант - Time Series (predict later values from earlier ones) → Next.

Опять нажимаем клавишу продолжения Next, и на экран выводится следующее диалоговое окно мастера - Intelligent Problem Solver-Time Series Period (рисунок 4.14), где устанавливаем период равный 1.

Установленный период означает, на сколько шагов вперед осуществляется предсказание (если он неизвестен, обычно вводится значение 1, иначе по умолчанию задается – 0). Предполагается, что мастер создания сети будет определять оптимальный размер шагов автоматически.

136

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

Рисунок 4.13. Окно помощника решения задач - Тип задачи

Многие временные ряды имеют натуральный период (лаг). Если вы четко знаете период, то укажите его. Если не знаете или периода нет, выберите значение равным 1.

Рисунок 4.14. Окно помощника решения задач. Период временного ряда

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

137

обратно в ряд, и с его помощью получается следующий прогноз – это называется проекцией временного ряда.

После нажатия клавиши Next появится следующее окно (рисунок 4.15), где будет указана автоматически, в нашем случае, выходная переменная SERIES_G, которая является также и входной переменной (так как в выбранном файле SERIES_G, имеется всего один ряд значений). Поэтому после нажатия клавиши Next в появившемся диалоговом окне, показанном на рисунке 4.16, будет также автоматически выбрана переменная SERIES_G.

Причем данная переменная является входной и выходной переменной.

Если Вы желаете создать сеть с множественными выводами, нажмите кнопку -Multiple, где Вы можете выбрать множественные переменные вывода. Далее нажмите Next.

Выберите выходные (зависимые) переменные. Если необходимо, выберите несколько, нажимая на кнопку Multiple.

Рисунок 4.15. Окно помощника решения задач. Выбор выходной переменной

138

Замечание. Данные, подаваемые на вход и снимаемые с выхода, должны быть правильно подготовлены. Один из способов – масштабирование

x = (x′− m) c

4.1

где x– исходный вектор; x – масштабированный;

c – масштабный коэффициент.

Масштабирование желательно, чтобы привести данные в допустимый диапазон. Если этого не сделать, то нейроны входного слоя окажутся в постоянном насыщении или будут все время заторможенными.

Простейшей из масштабируемых функций пакета STATISTICA Neural Networks является минимаксная функция: она находит минимальное и максимальное значение переменной по обучающему множеству и выполняет линейное преобразование (с применением коэффициента масштаба и смещения).

Рисунок 4.16. Окно помощника решения задач. Выбор входной переменной

В следующем окне - Intelligent Problem Solver - Division of cases

(рисунок 4.17), выбираем вариант автоматического распределения

139

значений для обучающей (72) значения, верификационной (36) значений и тестовой (36) значений выборки-Randomly reassign in numbers given below. А также ставим флажок в окне – Ignore cases with missing values) (игнорирование неизвестных величин).

Случаи, в наборе данных, будут разделены на три поднабора, один - чтобы обучить сеть, другой - для проверки обучения и третий

– для независимого испытания.

Вы можете определить выбор случаев для проверки.

Как Вы можете заметить, наибольшей является обучаемая выборка, и равными – выборка для проверки обучения и выборка для независимого испытания. Причем необходимо учитывать, что ошибка на выборке, используемой для проверки обучения, не должна превышать ошибку на независимой выборке.

Варианты в множестве данных будут поделены на три подмножества. Одно для обучения сети, другое для верификации, третье для независимого тестирования. Укажите, должен ли IPS случайным образом перемешивать данные в этих подмножествах или использовать без изменений.

Рисунок 4.17. Окно помощника решения задач. Распределение случаев (значений переменной)

140