1

Matlab が提供する NARX ニューラル ネットワーク ソリューションを使用して、時系列の問題を解決しようとしています。実際の値を予測する方法を理解しようとしていますが、得られる結果はほぼ完璧です! エラーは非常に小さいため、実際に予測しているかどうかはわかりません。私は自分がすべてを正しく行っていることを確認したいだけです!

基本的に、GUI ソリューションを使用していくつかのサンプルでネットワークをトレーニングします。次に、次のスクリプトを使用して、新しいサンプルでニューラル ネットワークをテストします。

      X = num2cell(open2(1:end))'; % input
      T = num2cell(close2(1:end))'; % this is the output I should get

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

      Y = net(Xs,Xi,Ai);

      plotresponse(Ts,Y)
      view(net)

      Y = cell2mat(Y);
      T = cell2mat(T);

      sizey = length(Y);
      sizet = length(T);

      T = T(1:sizey);

      figure
      plot(1:sizey,T,1:sizey,Y)

私が得ているグラフは、元のターゲット時系列関数とほぼ同じです。エラーは非常に小さく、唯一の違いは、グラフ (Y) が 2 サンプル左にシフトしていることです。しかし、私は本当に予測していますか?

グラフの一部を次に示します。

ここに画像の説明を入力

前もって感謝します!

更新: 実際の予測グラフは、左ではなく右にシフトされています。preparets 関数 (青) によって提供されるターゲットは、前に発生します! したがって、実際に予測していることを示しているわけではありません。

4

1 に答える 1