ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

narxnet

外部入力を伴う非線形自己回帰ニューラル ネットワーク

構文

narxnet(inputDelays,feedbackDelays,hiddenSizes,trainFcn)

説明

NARX (外部入力を伴う非線形自己回帰) ネットワークには、同じ時系列の過去の値、フィードバック入力、および別の時系列 (外部時系列または外生時系列と呼ばれる) を指定して、1 つの時系列を予測するように学習させることができます。

narxnet(inputDelays,feedbackDelays,hiddenSizes,trainFcn) は、次の引数を取ります。

inputDelays

増加する 0 または正の遅延から成る行ベクトル (既定値 = 1:2)

feedbackDelays

増加する 0 または正の遅延から成る行ベクトル (既定値 = 1:2)

hiddenSizes

1 つ以上の隠れ層のサイズの行ベクトル (既定値 = 10)

trainFcn

学習関数 (既定値 = 'trainlm')

これは、NARX ニューラル ネットワークを返します。

すべて折りたたむ

学習データを分割します。後で閉ループ モードで予測を行うために、Xnew を使用します。

[X,T] = simpleseries_dataset;
Xnew = X(81:100);
X = X(1:80);
T = T(1:80);

ネットワークに学習させて、最初の 80 個の観測値でシミュレーションを行います。

net = narxnet(1:2,1:2,10);
[Xs,Xi,Ai,Ts] = preparets(net,X,{},T);
net = train(net,Xs,Ts,Xi,Ai);
view(net)

ネットワーク性能を計算します。

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

    0.0153

閉ループ モードで 20 タイム ステップ先の予測を実行します。

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

y2 = netc(Xnew,Xic,Aic)
y2 =

  1x20 cell array

  Columns 1 through 5

    {[-0.0156]}    {[0.1133]}    {[-0.1472]}    {[-0.0706]}    {[0.0355]}

  Columns 6 through 10

    {[-0.2829]}    {[0.2047]}    {[-0.3809]}    {[-0.2836]}    {[0.1886]}

  Columns 11 through 15

    {[-0.1813]}    {[0.1373]}    {[0.2189]}    {[0.3122]}    {[0.2346]}

  Columns 16 through 20

    {[-0.0156]}    {[0.0724]}    {[0.3395]}    {[0.1940]}    {[0.0757]}

R2010b で導入