1. 【神經網路時間序列】請教NAR網路預測問題,謝謝
NAR網路是只有y(t),NARX網路是有x(t)和y(t).
對於NAR網路來說,其只能夠輸出相對於延遲向量的下一個值。故需要用循環不斷更新集合,把時間步往前推進。
T=tonndata(force,false,false); %輸入和輸出矩陣須為cell類型的矩陣,且不能用num2cell來轉換,如果使用二維cell矩陣,將會被認為是兩個輸入從而不能訓練.假設force數據集只有50個(一行)。
force_raw=T(1:30); %創造一個1*30的Xi,與延遲向量1:30對應起來。為已知矩陣。
for j=1:50 %y1的前20個是對照著force裡面第31個到50個,加上可以預測後面30個數據。
y1(j)=net(T(10),force_raw); %這里還需要大神指教,T(10)裡面是當前矩陣,數字可以任意取,結果都一樣。只是為了輸出一維矩陣
force_raw=[force_raw(2:end),y1(j)]; %更新得到新的已知矩陣,為2,3~,30,31,下一步第一行應該是得到第43個。 不斷更新即可得到預測值。