時序預測 | MATLAB實現基于GRU門控循環單元的時間序列預測-遞歸預測未來(多指標評價)
目錄
- 時序預測 | MATLAB實現基于GRU門控循環單元的時間序列預測-遞歸預測未來(多指標評價)
- 預測結果
- 基本介紹
- 程序設計
- 參考資料
預測結果
基本介紹
1.Matlab實現GRU門控循環單元時間序列預測未來;
2.運行環境Matlab2020及以上,data為數據集,單變量時間序列預測;
3.遞歸預測未來數據,可以控制預測未來大小的數目,適合循環性、周期性數據預測;
4.命令窗口輸出R2、MAE、MAPE、MBE、MSE等評價指標。
運行環境Matlab2020及以上。
程序設計
- 完整程序和數據獲取方式1:私信博主回復MATLAB實現基于GRU門控循環單元的時間序列預測-遞歸預測未來(多指標評價),同等價值程序兌換;
- 完整程序和數據下載方式2(資源處直接下載):MATLAB實現基于GRU門控循環單元的時間序列預測-遞歸預測未來(多指標評價);
- 完整程序和數據下載方式3(訂閱《GRU門控循環單元》專欄,同時可閱讀《GRU門控循環單元》專欄內容,數據訂閱后私信我獲取):MATLAB實現基于GRU門控循環單元的時間序列預測-遞歸預測未來(多指標評價),專欄外只能獲取該程序。
%% 創建混合網絡架構
% 輸入特征維度
numFeatures = f_;
% 輸出特征維度
numResponses = 1;
FiltZise = 10;
% 創建"LSTM"模型layers = [...% 輸入特征sequenceInputLayer([numFeatures 1 1],'Name','input')sequenceFoldingLayer('Name','fold')% 特征學習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