時序預測 | MATLAB實現基于BiLSTM雙向長短期記憶神經網絡的時間序列預測-遞歸預測未來(多指標評價)
目錄
- 時序預測 | MATLAB實現基于BiLSTM雙向長短期記憶神經網絡的時間序列預測-遞歸預測未來(多指標評價)
- 預測結果
- 基本介紹
- 程序設計
- 參考資料
預測結果
基本介紹
Matlab實現BiLSTM雙向長短期記憶神經網絡時間序列預測未來(完整源碼和數據)
Matlab實現BiLSTM雙向長短期記憶神經網絡時間序列預測未來(完整源碼和數據)
1.Matlab實現BiLSTM雙向長短期記憶神經網絡時間序列預測未來;
2.運行環境Matlab2018及以上,data為數據集,單變量時間序列預測;
3.遞歸預測未來數據,可以控制預測未來大小的數目,適合循環性、周期性數據預測;
4.命令窗口輸出R2、MAE、MAPE、MBE、MSE等評價指標;
程序設計
- 完整程序和數據獲取方式1:私信博主回復MATLAB實現基于BiLSTM雙向長短期記憶神經網絡的時間序列預測-遞歸預測未來(多指標評價),同等價值程序兌換;
- 完整程序和數據下載方式2(資源處直接下載):MATLAB實現基于BiLSTM雙向長短期記憶神經網絡的時間序列預測-遞歸預測未來(多指標評價));
- 完整程序和數據下載方式3(訂閱《LSTM長短期記憶神經網絡》專欄,同時可閱讀《LSTM長短期記憶神經網絡》專欄內容,數據訂閱后私信我獲取):MATLAB實現基于BiLSTM雙向長短期記憶神經網絡的時間序列預測-遞歸預測未來(多指標評價)),專欄外只能獲取該程序。
%% 創建混合網絡架構
% 輸入特征維度
numFeatures = f_;
% 輸出特征維度
numResponses = 1;
FiltZise = 10;
% 創建模型layers = [...% 輸入特征sequenceInputLayer([numFeatures 1 1],'Name','input')sequenceFoldingLayer('Name','fold')% 特征學習(50,'Name','lstm1','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')(optVars.NumOfUnits,'OutputMode',"last",'Name','bil4','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')dropoutLayer(0.25,'Name','drop3')% 全連接層fullyConnectedLayer(numResponses,'Name','fc')regressionLayer('Name','output') ];layers = layerGraph(layers);layers = connectLayers(layers,'fold/miniBatchSize','unfold/miniBatchSize');%% 訓練選項
% 批處理樣本
MiniBatchSize =128;
% 最大迭代次數
MaxEpochs = 500;options = trainingOptions( 'adam', ...'MaxEpochs',500, ...'GradientThreshold',1, ...'InitialLearnRate',optVars.InitialLearnRate, ...'LearnRateSchedule','piecewise', ...'LearnRateDropPeriod',400, ...'LearnRateDropFactor',0.2, ...'L2Regularization',optVars.L2Regularization,...'Verbose',false, ...'Plots','none');%% 訓練混合網絡
net = trainNetwork(XrTrain,YrTrain,layers,options);
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm=1001.2014.3001.5502
[2] https://blog.csdn.net/kjm13182345320/article/details/128690229