exponenta event banner

narnet

Нелинейная авторегрессивная нейронная сеть

Синтаксис

narnet(feedbackDelays,hiddenSizes,trainFcn)

Описание

NAR (нелинейный авторегрессивный) нейронные сети может быть обучен предсказать временные ряды от того ряда прошлые значения.

narnet(feedbackDelays,hiddenSizes,trainFcn) берет эти аргументы,

feedbackDelays

Вектор - строка из увеличения 0 или положительных задержек (значение по умолчанию = 1:2)

hiddenSizes

Вектор - строка из одного или нескольких размеров скрытого слоя (значение по умолчанию = 10)

trainFcn

Учебная функция (значение по умолчанию = 'trainlm')

и возвращает нейронную сеть NAR.

Примеры

свернуть все

Загрузите простые данные о прогнозе timeseries и создайте сеть NAR.

T = simplenar_dataset;
net = narnet(1:2,10);

Подготовьте данные временных рядов с помощью preparets и обучите сеть.

[Xs,Xi,Ai,Ts] = preparets(net,{},{},T);
net = train(net,Xs,Ts,Xi,Ai);
view(net)

Вычислите производительность сети.

[Y,Xf,Af] = net(Xs,Xi,Ai);
perf = perform(net,Ts,Y)
perf =

   1.0100e-09

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

[netc,Xic,Aic] = closeloop(net,Xf,Af);
view(netc)

Сеть только имеет вход того. В режиме замкнутого цикла этот вход соединен с выводом.

Чтобы моделировать сеть 20 временных шагов вперед, введите массив пустой ячейки длины 20. Сеть требует только начальных условий, данных в Xic и Aic.

y2 = netc(cell(0,20),Xic,Aic)
y2 =

  1x20 cell array

  Columns 1 through 5

    {[0.8346]}    {[0.3329]}    {[0.9084]}    {[1.0000]}    {[0.3190]}

  Columns 6 through 10

    {[0.7329]}    {[0.9801]}    {[0.6409]}    {[0.5146]}    {[0.9746]}

  Columns 11 through 15

    {[0.9077]}    {[0.2807]}    {[0.8651]}    {[0.9897]}    {[0.4093]}

  Columns 16 through 20

    {[0.6838]}    {[0.9976]}    {[0.7007]}    {[0.4311]}    {[0.9660]}

Смотрите также

| | | |

Представленный в R2010b