韓 立,李 芳
(1.大連東軟信息學院軟件與大數(shù)據(jù)技術(shù)系,遼寧 大連 116023;2.大連交通大學檔案館)
氣溫作為氣象預報中最常見的要素,與人們的生活息息相關(guān),準確的氣溫預報對于人們的生活、生產(chǎn)、交通和運輸?shù)扔兄匾默F(xiàn)實意義。很多研究者使用決策樹[1]、支持向量機[2]和反向傳播神經(jīng)網(wǎng)絡(luò)[3]等方法分別建立了氣溫預測模型。這些傳統(tǒng)的機器學習方法在氣溫預測上雖然取得了良好的效果,但這些方法存在的主要問題是無法表達氣象數(shù)據(jù)的時間相關(guān)性,這導致對氣象要素預報的準確性很難得到提升。
為了將氣象數(shù)據(jù)的時間相關(guān)性考慮在內(nèi),有很多學者將循環(huán)神經(jīng)網(wǎng)絡(luò)引入到氣象預報中[4-5]。長短期記憶模型(Long Short-Term Memory Model,LSTM)能夠較為有效地編碼數(shù)據(jù)的時間特性[6],對于處理具有時間相關(guān)的氣象要素來說,具有很高的應用價值。
但是對于氣象要素(包括氣溫等)來說,對其產(chǎn)生影響的因素很多,海溫、近地面風速、風力,高空風速、風力,露點溫度、濕度、氣壓、相對濕度、云量、降水等要素都會對氣溫的變化造成影響。如此眾多的特征要素,在使用神經(jīng)網(wǎng)絡(luò)算法時容易造成維數(shù)災難,進而降低學習算法的性能。所以從原始特征中獲取少量與氣溫高度相關(guān)的特征,對于提高算法的學習效率和預測準確度就具有重要的意義。陶曄等研究者[7]將傳統(tǒng)的基于決策樹和隨機森林的特征選擇算法引入到氣象預報領(lǐng)域特征選擇中,對于降低模型的復雜度起到了一定的作用,但是決策樹和隨機森林算法模型在特征選擇過程中無法評估變量之間的相關(guān)關(guān)系。
基于動態(tài)相關(guān)性的特征選擇(Dynamic Relevance based Feature Selection,DRFS)算法[8],是以基于信息熵的互信息理論為基礎(chǔ),可以有效地評估變量之間的相關(guān)關(guān)系,在特征選擇的過程中衡量了候選特征和已選特征類別的交互相關(guān)性,可以有效提高特征選擇的準確率。
本文提出一種結(jié)合了DRFS 和LSTM 算法的預測模型,并選取了2018-2020 年大連地區(qū)的氣象數(shù)據(jù)作為實驗數(shù)據(jù)對大連地區(qū)的氣溫進行預測。首先利用DRFS 算法從多個氣象要素中選擇出與氣溫高度相關(guān)的要素,然后以這些要素的數(shù)據(jù)作為輸入變量利用LSTM 網(wǎng)絡(luò)進行時間相關(guān)要素的建模,最終得到DRFS-LSTM 算法模型。對實驗結(jié)果的分析表明,與傳統(tǒng)氣溫預報方法相比,其能夠通過減少低相關(guān)性要素降低模型的復雜度,提高學習的效率。且能夠處理較大規(guī)模、多變量的時間序列數(shù)據(jù),進一步提高了對氣溫預測的準確率。
特征選擇可以從高維數(shù)據(jù)中抽取相關(guān)特征,剔除無關(guān)和冗余特征,減小數(shù)據(jù)維度,縮短數(shù)據(jù)處理和模型訓練的時間。決策樹和隨機森林算法通過持續(xù)尋找最優(yōu)特征,使用最優(yōu)特征將數(shù)據(jù)集進行劃分,當數(shù)據(jù)集不可再分或無法選擇最優(yōu)特征時,算法結(jié)束并完成特征選擇。此類方法避免每次添加新特征時對模型進行訓練,但較難構(gòu)建優(yōu)化模型,而且在特征的選擇過程中,對氣象要素之間的相關(guān)性考慮不足。而基于動態(tài)相關(guān)性的特征選擇(Dynamic Relevance based Feature Selection,DRFS)算法以互信息為基礎(chǔ),互信息的理論基礎(chǔ)是信息熵,可以有效地評估變量之間的關(guān)系,在特征選擇過程中衡量了候選特征-已選特征-類別的交互相關(guān)性,可以提高特征選擇的準確率。
基于動態(tài)相關(guān)性的特征選擇(DRFS)算法[8],其評價函數(shù)如下:
其中,F(xiàn)m表示候選特征,F(xiàn)j表示已選特征;C表示類別;S表示最終選定的特征集合。
長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory Network,LSTM)[9]是目前最為成功的循環(huán)神經(jīng)網(wǎng)絡(luò)模型。整個LSTM的公式可以描述為:
其中,σ(·)為Logistic 函數(shù),其輸出區(qū)間為(0,1),xt為當前時刻的輸入,ht-1為上一時刻的外部狀態(tài)。
圖1 給出了LSTM 網(wǎng)絡(luò)的循環(huán)單元結(jié)構(gòu),其計算過程為:
圖1 LSTM網(wǎng)絡(luò)的循環(huán)單元結(jié)構(gòu)
首先,利用上一時刻的外部狀態(tài)ht-1和當前時刻的輸入xt,計算出三個門,以及候選狀態(tài);
其次,結(jié)合遺忘門ft和輸入門it來更新記憶單元ct;
最后,結(jié)合輸出門ot,將內(nèi)部狀態(tài)的信息傳遞給外部狀態(tài)ht。
LSTM模型可以建模時間序列數(shù)據(jù)之間的相關(guān)性,能十分有效地避免了梯度消失問題。
本文提出將DRFS和LSTM相結(jié)合的模型:
首先,利用DRFS 算法從原始的氣象要素特征集合(包括:溫度,濕度,露點,近地面風速、風向,920Hpa高空風速、風向,氣壓)中篩選出與氣溫高度相關(guān)的四種的特征。
然后,將這四種特征數(shù)據(jù)按時序進行劃分,并進行歸一化處理之后輸入到LSTM 模型進行運算,以此進行數(shù)據(jù)整合同時提高預測精度。
本文采用兩層LSTM 進行預測建模,如圖2 所示。在兩層LSTM 網(wǎng)絡(luò)中使用隨時間反向傳播(BP Through Time,BPTT)算法進行訓練,為了防止模型帶來的過擬合,我們在每一層LSTM 層之后加入Dropout正則化。
圖2 DRFS-LSTM模型示意圖
我們利用Pytorch2.0 完成模型構(gòu)建和數(shù)據(jù)注入,實現(xiàn)了時間序列和氣象特征數(shù)據(jù)的關(guān)聯(lián),我們利用過去1 小時的氣象數(shù)據(jù)來建立未來1 小時的短臨氣溫預報。
⑴DRFS特征選擇
氣象預報屬于典型的大數(shù)據(jù)行業(yè),是目前數(shù)據(jù)積累最多,最完整的行業(yè)之一。氣象要素預報是一個典型的多因素、互影響的復雜業(yè)務,某一氣象要素的預報通常會受到非常多因素的影響;而且這些因素也會相互影響。對預報要素來說,眾多的影響因素中有相關(guān)性高的重要因子,也有相關(guān)性很低的噪音。傳統(tǒng)的預報方法都是根據(jù)預報人員的經(jīng)驗來確定影響因素,這樣費時費力,而且普適性很低,某一地區(qū)的經(jīng)驗,通常不符合另一地區(qū)的預報要求。一些研究者利用決策樹和隨機森林對樣本數(shù)據(jù)進行特征選擇[7],但是由于隨機森林只能夠計算單個特征變量的重要性,無法描述變量之間的交互性和相互影響,本文使用DRFS算法來對影響氣溫的特征要素進行選擇,陳永波等人的研究工作[8]給出了DRFS算法的詳細步驟:
①對需要篩選的特征變量進行初始化;
②對每個候選特征與類別的互信息進行計算,選出具有最大互信息值的特征,并添加到已選特征集合中;
③計算原始集合和已選特征集合中所有特征的條件和交互相關(guān)性,將具有最大信息量的特征添加到已選特征集合中,同時將這個特征從原始集合中刪除。
重復步驟②-③,直到滿足選擇特征數(shù)為止。
⑵LSTM模型訓練
LSTM 采用隨時間反向傳播算法,主要有三個步驟:
首先,LSTM 訓練過程前向計算每個神經(jīng)元的輸出值;
其次,反向計算每個神經(jīng)元的誤差項δ,在t時刻LSTM 的輸出為ht,則t時刻的誤差為δt=,L 為損失函數(shù),目的是要計算出t-1時刻的誤差。根據(jù)公式⑵-公式⑷和全導數(shù)公式,可以將誤差項向前傳遞到任意k時刻:
最后,假設(shè)LSTM 的當前層是第l層,則將誤差傳遞到上一層的公式為:
為了驗證本文提出的基于DRFS-LSTM 模型對大連地區(qū)氣溫預測的效果,將2018-2019 年的氣象數(shù)據(jù)作為訓練和測試數(shù)據(jù)集,其中80%為訓練集,20%為測試集。
數(shù)據(jù)采用2018~2019 年大連地區(qū)兩年觀測數(shù)據(jù)(要素包括:近地面的濕度、露點、氣壓、風速、風向;920hPa 的相對濕度、氣溫和露點),將2020 年3-4 月的數(shù)據(jù)作為檢驗樣本,用來檢驗模型的預報效果。
數(shù)據(jù)質(zhì)量的高低,直接決定模型訓練結(jié)果的準確度。由于氣象數(shù)據(jù)觀測和整理過程中容易出現(xiàn)數(shù)據(jù)缺失和錯誤值,為保證數(shù)據(jù)集的質(zhì)量,本研究所收集的海面探測數(shù)據(jù)、地面觀測數(shù)據(jù)和高空探測數(shù)據(jù),都經(jīng)過了時間一致性檢驗,內(nèi)部一致性檢驗和界限值檢查[10-12]。從數(shù)據(jù)時間連續(xù)性、準確性和一致性三個方面對所收集到的數(shù)據(jù)集進行進一步治理。具體方法見表1。
表1 氣溫數(shù)據(jù)治理策略描述
我們利用DRFS 算法獲得與氣溫高度相關(guān)的因子之后,為了減少不同量綱對預測模型帶來的不穩(wěn)定影響,且為了加快梯度下降求最優(yōu)解的速度,我們利用歸一化算法來對計算樣本數(shù)據(jù)進行歸一化。
本文使用標準差來對樣本數(shù)據(jù)進行歸一化,使得經(jīng)過處理的數(shù)據(jù)符合標準正態(tài)分布,即均值為0,標準差為1,其轉(zhuǎn)化函數(shù)為:
其中,μ為所有樣本數(shù)據(jù)的均值,σ 為所有樣本數(shù)據(jù)的標準差。
利用DRFS 算法對因子進行訓練,設(shè)k=4,得到的因子為風速、露點、濕度和925hPa 溫度。然后我們將風速、露點、濕度、925hpa 氣溫和歷史氣溫這五個因子進行歸一化處理之后輸入到LSTM 模型中。利用過去一小時的數(shù)據(jù)來預測未來一小時的短臨氣溫要素。
從圖3 中可以看出,訓練集與測試集的損失函數(shù)值很接近,且很快趨于穩(wěn)定收斂。
圖3 訓練與測試
為了進一步評價DRFS-LSTM 模型的效果,本文用2020 年3 月和4 月的數(shù)據(jù)對三個模型BP、LSTM 和DRFS-LSTM 的預測效果進行評價。其中BP 模型的輸入要素與DRFS-LSTM 模型經(jīng)過DRFS 篩選后的要素相同,是歷史氣溫、露點、相對濕度、近地面風速和920hPa 氣溫。LSTM 模型的結(jié)構(gòu)和參數(shù)與DRFSLSTM 中的LSTM 模型層相同,輸入的要素為未經(jīng)過DRFS 篩選的要素(近地面的溫度、濕度、露點、氣壓、風速、風向;920hPa 相對濕度、氣溫和露點),具體的結(jié)果見表2。
表2 2020年3~4月氣溫預報結(jié)果評分
從表2 可以看出,DRFS-LSTM 模型在三個評價指標:均方根誤差(RMSE),平均絕對誤差(MAE)和決定系數(shù)(R2)上都要優(yōu)于LSTM 和BP 模型,表明了DRFS-LSTM 模型預測的精度更高,預測出的氣溫值與實際氣溫值之間的誤差更小,模型對氣溫預測的擬合度更好。
動態(tài)相關(guān)性的特征選擇算法在對氣溫高相關(guān)性特征進行選擇的同時,考慮了多要素之間的相關(guān)性。與傳統(tǒng)方法相比,帶有長短期記憶單元的循環(huán)神經(jīng)網(wǎng)絡(luò)能很好地描述氣象要素之間的時間相關(guān)性。我們利用動態(tài)相關(guān)性的特征選擇算法對多要素氣象時間序列數(shù)據(jù)進行特征選擇,為LSTM 網(wǎng)絡(luò)模型的構(gòu)建提供了更準確的特征數(shù)據(jù),進一步降低了網(wǎng)絡(luò)的復雜度。本文構(gòu)建了基于DRFS-LSTM 的網(wǎng)絡(luò)模型,利用大連地區(qū)2018年~2019年的氣象數(shù)據(jù)作為訓練集進行訓練,并利用該模型對大連區(qū)2020 年3 月~4 月的氣溫進行預測。實驗結(jié)果顯示預報結(jié)果具有較好的效果,對氣溫短臨預報具有較好的指導意義。與BP、LSTM模型相比,DRFS-LSTM 模型在有效降低數(shù)據(jù)維度和網(wǎng)絡(luò)復雜度的前提下,具有更高的預測準確率,由于氣象要素的特征選擇不再基于氣象預報人員的經(jīng)驗,所以模型具有更高的普適性。本文是利用歷史數(shù)據(jù)來預測未來一小時的短臨預報,未來需要對中長期預報方法做進一步研究。