Читайте также:
|
|
Загрузите файл данных Series_g.sta. Вы сразу же заметите, что данные содержат значения всего одной переменной. Для нейронной сети эта переменная будет служить одновременно входной и выходной (разумеется, в разные моменты времени).
Определим нашу переменную одновременно как входную и выходную. Для этого выделим ее (щелчком на заголовке столбца), затем нажмем правую кнопку мыши и выберем из контекстного меню пункт Входная/выходная - Input/Output. Имя переменной такого типа отображается зеленым цветом.
Теперь создадим новую сеть с помощью диалогового окна Создать сеть -Create Network (команда Сеть - Network... меню Файл-Создать- File-New). В задаче прогноза временного ряда сеть должна знать, сколько копий одной переменной она должна взять и как далеко вперед она должна прогнозировать значение выходной переменной. В этой задаче зададим параметр Временное окно - Steps равным 12 (данные представляют собой ежемесячные наблюдения с присутствующей в них сезонной составляющей, поэтому такой выбор разумен), а параметр Горизонт - Lookahead -равным 1. Выберем (если это еще не сделано) в качестве типа сети Многослойный персептрон - Multilayer Perceptron, и положим число слоев равным трем. После этого нужно нажать кнопки Совет - Advise и Создать -Create.
При создании сети программа ST Neural Networks автоматически присвоит первым 12 наблюдениям из файла исходных данных тип Неучитываемое -Ignore и не позволит вам в дальнейшем его изменить. При обучении и последующей работе сети в задаче анализа временного ряда каждый подаваемый ей на вход блок данных содержит данные, относящиеся к нескольким наблюдениям. Весь такой блок приписывается тому наблюдению, которое содержит значение выходной переменной. Поэтому в нашем примере первые двенадцать наблюдений на самом деле не игнорируются - просто они являются входами первого блока данных временного ряда, и этот блок соответствует наблюдению номер 13. На самом деле программа ST Neural Networks незаметно от пользователя строит преобразованный набор данных, в котором число наблюдений на 12 меньше, но данные в каждое наблюдение берутся из 13 последовательных строк исходного файла.
Задайте 66 обучающих (Training) и 66 контрольных (Verification) наблюдений и нажмите кнопку Перемешать - Shuffle. При анализе временного ряда порядок наблюдений существенен (они упорядочены во времени), поэтому при перемешивании нельзя пользоваться функцией Сгруппировать множества - Group Sets. Разумеется, в таких задачах по-прежнему используются обучающее и контрольное множества, и. как обычно, они должны быть перемешаны. Поскольку каждое наблюдение исходного набора данных участвует в тринадцати временных блоках, это приведет к тому, что одна и та же информация будет использоваться и в обучающем, и в контрольном множестве. Однако избежать такого пересечения весьма трудно. Для этого надо так разбить данные на обучающее и контрольное множества, чтобы наблюдения в каждом из них шли подряд, а друг от друга эти два множества были отделены промежутком из неучитываемых наблюдений, но тогда возникает опасность искажения результата, поскольку эти множества будут соответствовать разным временным периодам.
Обучите сеть методом сопряженных градиентов или Левенберга-Маркара. Полученная ошибка должна быть в интервале 0.025-0,035.
Дата добавления: 2015-11-30; просмотров: 28 | Нарушение авторских прав