楊 樂,馬 馳,胡 輝,黃 冬
(1.遼寧科技大學(xué) 計算機與軟件工程學(xué)院,遼寧 鞍山114044;2.惠州學(xué)院 計算機科學(xué)與工程學(xué)院,廣東 惠州 516007;3.深圳億達盛投資管理有限公司,廣東 深圳 518000)
國內(nèi)外學(xué)者對氣溫預(yù)測進行了大量的研究,其中包括:使用決策樹方法對氣溫的預(yù)測[4]、通過統(tǒng)計方法進行氣溫預(yù)測[5]、基于支持向量回歸預(yù)測氣溫[6]、通過構(gòu)建神經(jīng)網(wǎng)絡(luò)方法[7-8]對氣溫預(yù)測的研究.在這幾類方法中的前三種模型都是將當前的輸入通過普通的數(shù)學(xué)映射函數(shù)或者算法將最終的預(yù)測輸出.這其中就忽視了很重要的概念——時序依賴性.氣象數(shù)據(jù)對時序的依賴性很強,所以導(dǎo)致很多方法無法對中長期的氣溫進行精準的預(yù)測.而基于神經(jīng)網(wǎng)絡(luò)的預(yù)測方法雖然可以對中長期氣溫進行預(yù)測,但針對于長期的氣溫預(yù)測,這些模型的預(yù)測精度還不能令人滿意.
通過對現(xiàn)有的中長期氣溫預(yù)測方法對比后發(fā)現(xiàn),由于中長期時間天氣變化的復(fù)雜性,導(dǎo)致中長期氣溫對時序依賴性和其他氣象要素之間的關(guān)系也錯綜復(fù)雜,這就給中長期的氣溫預(yù)測帶來一定的難度.在現(xiàn)有的預(yù)測方法中基于深度學(xué)習(xí)的LSTM模型預(yù)測方法的預(yù)測精確度相對較高.
中長期氣溫預(yù)測的難度遠大于短期氣溫預(yù)測,結(jié)合殘差網(wǎng)絡(luò)優(yōu)勢的神經(jīng)網(wǎng)絡(luò)——深度LSTMs網(wǎng)絡(luò)模型,該論文提出一種基于BiLSTM(Bi-directional Long Short-Term Memory)和LSTM(Long Short-Term Memory).該模型能很好地對中長期氣溫進行預(yù)測,其預(yù)測的準確率也較其他模型更高.
深度學(xué)習(xí)(Deep Leaning)是一種機器學(xué)習(xí)方法,它作為人工神經(jīng)網(wǎng)絡(luò)可以根據(jù)學(xué)習(xí)過程中的示例數(shù)據(jù)來獨立地構(gòu)建出基本規(guī)則.深度學(xué)習(xí)模型通過組合低層特征形成更抽象的高層數(shù)據(jù)的特征表示[9].深度學(xué)習(xí)的方法對圖像識別、醫(yī)學(xué)指標預(yù)測和股票預(yù)測等領(lǐng)域起到了很大的推動作用.
總體而言,溫度變化預(yù)測的過程是:首先,利用傳統(tǒng)的統(tǒng)計方法對氣象數(shù)據(jù)進行處理,得到溫度的主要影響因素;然后,利用傳統(tǒng)的預(yù)測模型對溫度進行預(yù)測,但這種預(yù)測方法的缺點是不能使用大量的數(shù)據(jù),因此很難挖掘更多的溫度預(yù)測信息.這里采用主成分分析法,歸納出影響氣溫的主要因素:2 min平均風(fēng)速、10 min平均風(fēng)速、相對濕度、氣壓、露點溫度、水汽壓、蒸發(fā)、地溫、最低溫度、最高溫度.將這些因素與溫度按一定的時間順序排列,然后利用基于時間序列的預(yù)測模型對區(qū)域中長期溫度進行預(yù)測.
為解決長時間的序列預(yù)測問題,在“深度學(xué)習(xí)”方面大部分算法都是在長短期記憶網(wǎng)絡(luò)LSTM算法的基礎(chǔ)上進行改進的.該模型的提出就是為了解決在數(shù)據(jù)預(yù)測方面對時間序列依賴性較長和循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)模型梯度消失的問題.LSTM的模型結(jié)構(gòu)如圖1所示,圖中的A、B分別表示當前t時刻的前一時刻、下一時刻的氣溫預(yù)測過程,這種預(yù)測過程與當前t時刻預(yù)測過程相同.
圖1 LSTM模型結(jié)構(gòu)圖
對整個LSTM工作流程的數(shù)學(xué)抽象如下式:
在運用習(xí)題變式的教學(xué)過程中,教師要引導(dǎo)學(xué)生主動的參與到變式當中來,而不是僅僅讓教師變學(xué)生做.教師應(yīng)該鼓勵學(xué)生充分的拓展思維,將自己能想到的知識點加入到原題中,讓學(xué)生自己也參與變式.這樣學(xué)生才能從“改變”中發(fā)現(xiàn)“不變”的本質(zhì);相反,也可以從動態(tài)的變化中抓住不變的規(guī)律.
其中,下標t、t-1與t+ 1分別表示當前時刻、前一時刻和下一時刻(例如:ft表示當前時刻的遺忘門,ft-1表示前一時刻的遺忘門,ft+1表示下一時刻的遺忘門).LSTM模型中時刻輸入預(yù)測氣溫的特征向量xt,然后xt通過遺忘門計算后決定上一時刻的單元狀態(tài)Ct-1有多少信息保留到當前時刻Ct中.同時,網(wǎng)絡(luò)模型的輸入門根據(jù)當前輸入的氣溫預(yù)測的特征向量與當前輸入的狀態(tài)共同進行計算來決定當前時刻網(wǎng)絡(luò)的輸入xt有多少信息要保存到單元狀態(tài)Ct中.最后網(wǎng)絡(luò)模型通過輸出門計算來決定控制單元Ct中有多少信息輸出到LSTM的當前輸出值ht中.因為控制單元C中保留了長時間的氣溫預(yù)測相關(guān)的歷史信息,從而使LSTM模型能夠使用歷史氣溫的特征向量信息對未來的氣溫進行預(yù)測.
氣溫數(shù)據(jù)的變化不僅與過去氣象要素的變化有關(guān),而且也與未來某一段時間內(nèi)氣象要素的變化有關(guān),因此,使用RNNs預(yù)測氣溫的準確性會有誤差.BiLSTM網(wǎng)絡(luò)模型可以從過去和將來一段時間的數(shù)據(jù)中獲取有用的信息,從而使預(yù)測數(shù)據(jù)更為精確[10].為了盡可能減少氣溫真實值與預(yù)測值之間的誤差,該論文在建立網(wǎng)絡(luò)模型時結(jié)合了雙向長短期記憶網(wǎng)絡(luò)BiLSTM.
圖2是BiLSTM網(wǎng)絡(luò)模型結(jié)構(gòu)圖,圖中t- 1、t、t+1的分別表示當前時刻的前一時刻、當前時刻、當前時刻的下一時刻;其中ft表示模型前向計算層在傳播過程中的記憶單元狀態(tài)的變化;bt表示后向計算層在傳播過程中的記憶單元的狀態(tài)變化信息;yt表示模型計算的最終輸出結(jié)果.
圖2 BiLSTM網(wǎng)絡(luò)模型結(jié)構(gòu)圖
BiLSTM模型的數(shù)學(xué)解釋公式如下:
其中,bf、bb、bo分別表示前向計算層、后向計算層和輸出層的偏置值.
雙向LSTM通過正向迭代從1到T計算舊數(shù)據(jù)序列中的信息,同時反向迭代從T到1對未來數(shù)據(jù)中隱含的信息進行挖掘,最后對前向傳播與后向傳播的數(shù)據(jù)進行綜合計算得到預(yù)測序列的值.
對于區(qū)域中長期氣溫預(yù)測問題的解決,提出了一種深度DeepLSTMs模型預(yù)測方法.該模型是在LSTM和BiLSTM模型的基礎(chǔ)上,結(jié)合殘差網(wǎng)絡(luò)步長連接的優(yōu)點建立的.DeepLSTMs神經(jīng)網(wǎng)絡(luò)模型設(shè)計的詳細結(jié)構(gòu)圖如圖3所示.
圖3 DeepLSTMs網(wǎng)絡(luò)模型結(jié)構(gòu)圖
圖3中,每一個小方框代表LSTM記憶單元.虛線框中是模型的輸入層和第一隱藏層采用的是BiLSTM結(jié)構(gòu),剩余的網(wǎng)絡(luò)部分采用帶有殘差[11-13]的LSTM神經(jīng)網(wǎng)絡(luò)模型與LSTM層相結(jié)合的結(jié)構(gòu).DeepLSTMs網(wǎng)絡(luò)模型結(jié)構(gòu)設(shè)計原理:網(wǎng)絡(luò)模型的前兩層采用BiLSTM結(jié)構(gòu)設(shè)計,能夠充分提取溫度預(yù)測數(shù)據(jù)中歷史數(shù)據(jù)和未來數(shù)據(jù)中的有用信息.其他層采用帶殘差的LSTM網(wǎng)絡(luò)結(jié)構(gòu),可以有效解決網(wǎng)絡(luò)模型反向傳播過程中梯度消失的問題.
圖3中的實線框是帶有殘差的LSTM結(jié)構(gòu),其結(jié)構(gòu)的詳細計算流程如圖4所示,其主要計算公式如下:
圖4 帶有殘差的LSTM網(wǎng)絡(luò)模型結(jié)構(gòu)圖
在DeepLSTMs網(wǎng)絡(luò)模型中,采用帶有殘差的多層LSTM結(jié)構(gòu),可以在一定程度上記憶之前的氣象數(shù)據(jù)狀態(tài).下面詳細分析推導(dǎo)了帶殘差的LSTM結(jié)構(gòu)的反向傳播計算,對式(10)遞歸更新,可得:對帶有殘差的LSTM結(jié)構(gòu)的反向傳播計算的詳細分析推導(dǎo)公式是公式(12),對于該網(wǎng)絡(luò)整體模型結(jié)構(gòu)的深層還是淺層結(jié)構(gòu),DeepLSTMs網(wǎng)絡(luò)模型的反向傳播計算公式是公式(13).
其中J為DeepLSTMs模型的整體損失函數(shù).從式(13)中可以看出反向傳播計算最后分為2部分:第一部分偏導(dǎo)數(shù)可以反向傳播到網(wǎng)絡(luò)的任何一個層;第二部分在一個很小批次的輸入數(shù)據(jù)的情況下,其值不總是等于-1.因此,在誤差反向傳播的過程中,即使是中間層的權(quán)值很小也不會出現(xiàn)梯度消失問題.這樣就保證了整個網(wǎng)絡(luò)模型結(jié)構(gòu)能夠具有很強的數(shù)據(jù)表達能力.
DeepLSTMs模型會在氣溫預(yù)測數(shù)據(jù)集上進行實驗分析、驗證和評估.對于3種模型的評估方法,選擇最常用的具有代表性的均方根誤差(Root Mean Square Error)評估方法.該方法的數(shù)學(xué)定義如下:
在實驗?zāi)P椭惺褂脦в袣埐畹?層LSTM結(jié)構(gòu)的原因是:當實驗?zāi)P蛢H使用LSTM或BiLSTM時,雖然模型的訓(xùn)練時間較短,但模型的RMSE結(jié)果不是很理想.采用DeepLSTMs模型且模型中采用不同的帶有殘差的LSTM結(jié)構(gòu)的層數(shù)進行訓(xùn)練的RMSE的結(jié)果(表1)可知:隨著殘差LSTM結(jié)構(gòu)層數(shù)的增加,模型的RMSE值逐漸減?。黾訉訑?shù)為4時,模型過擬合的現(xiàn)象出現(xiàn)在訓(xùn)練的過程中,當再次層數(shù)增加時,整個網(wǎng)絡(luò)模型的表達能力沒有提高,與此同時,模型的訓(xùn)練時間越來越耗時.因此,帶有殘差的3層LSTM結(jié)構(gòu)是最優(yōu)結(jié)果.
表1 模型訓(xùn)練階段的RMSE
實驗中采用的數(shù)據(jù)集來源于哈爾濱市氣象局2007—2018年的氣象基礎(chǔ)數(shù)據(jù).使用主成分分析方法PCA(Principal Component Analysis)[14-16]對氣象基礎(chǔ)數(shù)據(jù)進行處理,實驗中所需測試的元素有:2 min平均風(fēng)速、10 min平均風(fēng)速、相對濕度、氣壓、露點溫度、水汽壓、蒸發(fā)、地溫、最低溫度、最高溫度.實驗過程:首先,為構(gòu)建上述的數(shù)據(jù)值的樣本矩陣,將其矩陣標準化變換處理;然后,對標準化矩陣計算出相關(guān)系數(shù)矩陣,并將其指標變量轉(zhuǎn)換為主成分;最后,計算各主成分的貢獻率和其累積貢獻率,以確定主成分.通過使用PCA方法對氣象數(shù)據(jù)集的分析結(jié)果如表2所示:
表2 PCA方法對特征數(shù)據(jù)集的分析
在測試DeepLSTMs模型在訓(xùn)練階段與測試階段的損失值的變化后,因為DeepLSTMs模型在迭代過程開始時的訓(xùn)練損失大于測試損失,說明測試數(shù)據(jù)集的批處理數(shù)據(jù)和訓(xùn)練數(shù)據(jù)集的批處理數(shù)據(jù)在訓(xùn)練開始時高度相似.到一萬次迭代訓(xùn)練時,模型的測試損耗和訓(xùn)練損耗恢復(fù)到正常狀態(tài).從中說明了DeepLSTMs模型對氣溫預(yù)測的有效性.
在用PCA方法對氣象數(shù)據(jù)集的分析結(jié)果上,分別采用LSTM、BiLSTM、DeepLSTMs模型對2017-09-25日到2017-11-14日的氣溫預(yù)測.由結(jié)果(圖5)可知:(1)在50天內(nèi)的前25天屬于短期氣溫預(yù)測,所以3種模型氣溫的預(yù)測結(jié)果近似;在50天內(nèi)的后25天屬于中長期氣溫預(yù)測,這時體現(xiàn)出3種模型的差別,也說明了DeepLSTMs模型的優(yōu)勢.(2)僅使用LSTM模型或BiLSTM模型預(yù)測區(qū)域中長期溫度時,模型的表達能力會隨著時間的增加而降低.特別是在利用LSTM模型對中長期氣溫進行預(yù)測時,在后期的預(yù)測中,模型的預(yù)測能力不足.而將前2種模型作為中長期溫度預(yù)測的基礎(chǔ),可以看到DeepLSTMs模型的表達能力要強于前2種模型.
圖5 3種模型對中長期氣溫預(yù)測結(jié)果
由2017-10-20日至2017-11-14日共25天的3種區(qū)域中長期氣溫預(yù)測模型的RMSE值(表3)可知:DeepLSTMs模型的RMSE值小于其他2種模型.這進一步驗證了DeepLSTMs模型在區(qū)域中長期溫度預(yù)測中的性能,也說明了該模型在區(qū)域中長期溫度預(yù)測中的有效性.
表3 3種模型預(yù)測的RMSE結(jié)果
在深度學(xué)習(xí)網(wǎng)絡(luò)模型LSTM和BiLSTM的基礎(chǔ)上,提出了一種新的改進的深度學(xué)習(xí)網(wǎng)絡(luò)模型方法——DeepLSTMs.同時將殘差網(wǎng)絡(luò)整合到DeepLSTMs神經(jīng)網(wǎng)絡(luò)模型中,解決了網(wǎng)絡(luò)模型訓(xùn)練過程中出現(xiàn)梯度消失的問題.
本文首先測試DeepLSTMs模型在訓(xùn)練階段與測試階段的損失值的變化,然后結(jié)合DeepLSTMs網(wǎng)絡(luò)模型,對哈爾濱市中長期氣溫進行了大量的預(yù)測實驗.通過3種模型對中長期氣溫預(yù)測實驗,結(jié)果表明:利用DeepLSTMs網(wǎng)絡(luò)模型對該地區(qū)中長期氣溫的預(yù)測精度高于現(xiàn)有的LSTM及BiLSTM網(wǎng)絡(luò)模型的預(yù)測精度.由此總結(jié),通過對比實驗,DeepLSTMs模型的RMSE值小于其他2種模型,該模型能夠很好的對中長期氣溫進行預(yù)測,其預(yù)測的準確率也較其他2種模型更高.