【MATLAB第2期】源碼分享#基于LSTM時(shí)間序列單步預(yù)測,含驗(yàn)證和預(yù)測未來
1.運(yùn)行環(huán)境
matlab2020a + cpu
2.數(shù)據(jù)說明
單列數(shù)據(jù),2018/10~2018/12 共三個(gè)月,92個(gè)數(shù)據(jù)。

編輯
3.數(shù)據(jù)處理
樣本標(biāo)準(zhǔn)化處理,其中,前85個(gè)數(shù)據(jù)作為訓(xùn)練樣本,來驗(yàn)證后7個(gè)數(shù)據(jù)效果。最后預(yù)測未來7個(gè)數(shù)據(jù)。
numTimeStepsTrain = floor(85);%85數(shù)據(jù)訓(xùn)練 ,7個(gè)用來驗(yàn)證dataTrain = data(1:numTimeStepsTrain+1,:);% 訓(xùn)練樣本dataTest = data(numTimeStepsTrain:end,:); %驗(yàn)證樣本
4.LSTM參數(shù)設(shè)置
numHiddenUnits = 500;%隱含層神經(jīng)元節(jié)點(diǎn)數(shù) dropoutLayer(0.2)%丟棄層概率
5.運(yùn)行過程

編輯切換為居中
根據(jù)訓(xùn)練效果RMSE誤差圖以及損失圖,可在運(yùn)行時(shí)降低訓(xùn)練次數(shù),如設(shè)置為300,加快收斂。
6.運(yùn)行結(jié)果
訓(xùn)練結(jié)果:

編輯
驗(yàn)證結(jié)果:

編輯
評價(jià)指標(biāo):
訓(xùn)練集數(shù)據(jù)的MAE為:2524.5837
驗(yàn)證集數(shù)據(jù)的MAE為:3277.468
訓(xùn)練集數(shù)據(jù)的MAPE為:0.3253
驗(yàn)證集數(shù)據(jù)的MAPE為:0.31752
訓(xùn)練集數(shù)據(jù)的RMSE為:3380.5039
驗(yàn)證集數(shù)據(jù)的RMSE為:3862.0957
原數(shù)據(jù)量級比較大,加上參數(shù)還需要打磨,所以誤差顯得比較大 。可以套用自己數(shù)據(jù)試試。
7.預(yù)測未來

編輯
展示代碼:
調(diào)用函數(shù)以及案例數(shù)據(jù)放下面鏈接了,免費(fèi)下載即可。
獲取鏈接:
https://mianbaoduo.com/o/bread/mbd-Y5iZlptw
內(nèi)容整理不易,求個(gè)關(guān)注,后續(xù)會持續(xù)分享機(jī)器學(xué)習(xí)相關(guān)的源代碼。
獲取鏈接
內(nèi)容整理不易,求個(gè)關(guān)注,后續(xù)會持續(xù)分享機(jī)器學(xué)習(xí)相關(guān)的源代碼。