韓 立,李 芳
(1.大連東軟信息學院軟件與大數據技術系,遼寧 大連 116023;2.大連交通大學檔案館)
氣溫作為氣象預報中最常見的要素,與人們的生活息息相關,準確的氣溫預報對于人們的生活、生產、交通和運輸等有重要的現實意義。很多研究者使用決策樹[1]、支持向量機[2]和反向傳播神經網絡[3]等方法分別建立了氣溫預測模型。這些傳統的機器學習方法在氣溫預測上雖然取得了良好的效果,但這些方法存在的主要問題是無法表達氣象數據的時間相關性,這導致對氣象要素預報的準確性很難得到提升。
為了將氣象數據的時間相關性考慮在內,有很多學者將循環神經網絡引入到氣象預報中[4-5]。長短期記憶模型(Long Short-Term Memory Model,LSTM)能夠較為有效地編碼數據的時間特性[6],對于處理具有時間相關的氣象要素來說,具有很高的應用價值。
但是對于氣象要素(包括氣溫等)來說,對其產生影響的因素很多,海溫、近地面風速、風力,高空風速、風力,露點溫度、濕度、氣壓、相對濕度、云量、降水等要素都會對氣溫的變化造成影響。如此眾多的特征要素,在使用神經網絡算法時容易造成維數災難,進而降低學習算法的性能。所以從原始特征中獲取少量與氣溫高度相關的特征,對于提高算法的學習效率和預測準確度就具有重要的意義。陶曄等研究者[7]將傳統的基于決策樹和隨機森林的特征選擇算法引入到氣象預報領域特征選擇中,對于降低模型的復雜度起到了一定的作用,但是決策樹和隨機森林算法模型在特征選擇過程中無法評估變量之間的相關關系。
基于動態相關性的特征選擇(Dynamic Relevance based Feature Selection,DRFS)算法[8],是以基于信息熵的互信息理論為基礎,可以有效地評估變量之間的相關關系,在特征選擇的過程中衡量了候選特征和已選特征類別的交互相關性,可以有效提高特征選擇的準確率。
本文提出一種結合了DRFS 和LSTM 算法的預測模型,并選取了2018-2020 年大連地區的氣象數據作為實驗數據對大連地區的氣溫進行預測。首先利用DRFS 算法從多個氣象要素中選擇出與氣溫高度相關的要素,然后以這些要素的數據作為輸入變量利用LSTM 網絡進行時間相關要素的建模,最終得到DRFS-LSTM 算法模型。對實驗結果的分析表明,與傳統氣溫預報方法相比,其能夠通過減少低相關性要素降低模型的復雜度,提高學習的效率。且能夠處理較大規模、多變量的時間序列數據,進一步提高了對氣溫預測的準確率。
特征選擇可以從高維數據中抽取相關特征,剔除無關和冗余特征,減小數據維度,縮短數據處理和模型訓練的時間。決策樹和隨機森林算法通過持續尋找最優特征,使用最優特征將數據集進行劃分,當數據集不可再分或無法選擇最優特征時,算法結束并完成特征選擇。此類方法避免每次添加新特征時對模型進行訓練,但較難構建優化模型,而且在特征的選擇過程中,對氣象要素之間的相關性考慮不足。而基于動態相關性的特征選擇(Dynamic Relevance based Feature Selection,DRFS)算法以互信息為基礎,互信息的理論基礎是信息熵,可以有效地評估變量之間的關系,在特征選擇過程中衡量了候選特征-已選特征-類別的交互相關性,可以提高特征選擇的準確率。
基于動態相關性的特征選擇(DRFS)算法[8],其評價函數如下:
其中,Fm表示候選特征,Fj表示已選特征;C表示類別;S表示最終選定的特征集合。
長短期記憶網絡(Long Short-Term Memory Network,LSTM)[9]是目前最為成功的循環神經網絡模型。整個LSTM的公式可以描述為:
其中,σ(·)為Logistic 函數,其輸出區間為(0,1),xt為當前時刻的輸入,ht-1為上一時刻的外部狀態。
圖1 給出了LSTM 網絡的循環單元結構,其計算過程為:

圖1 LSTM網絡的循環單元結構
首先,利用上一時刻的外部狀態ht-1和當前時刻的輸入xt,計算出三個門,以及候選狀態;
其次,結合遺忘門ft和輸入門it來更新記憶單元ct;
最后,結合輸出門ot,將內部狀態的信息傳遞給外部狀態ht。
LSTM模型可以建模時間序列數據之間的相關性,能十分有效地避免了梯度消失問題。
本文提出將DRFS和LSTM相結合的模型:
首先,利用DRFS 算法從原始的氣象要素特征集合(包括:溫度,濕度,露點,近地面風速、風向,920Hpa高空風速、風向,氣壓)中篩選出與氣溫高度相關的四種的特征。
然后,將這四種特征數據按時序進行劃分,并進行歸一化處理之后輸入到LSTM 模型進行運算,以此進行數據整合同時提高預測精度。
本文采用兩層LSTM 進行預測建模,如圖2 所示。在兩層LSTM 網絡中使用隨時間反向傳播(BP Through Time,BPTT)算法進行訓練,為了防止模型帶來的過擬合,我們在每一層LSTM 層之后加入Dropout正則化。

圖2 DRFS-LSTM模型示意圖
我們利用Pytorch2.0 完成模型構建和數據注入,實現了時間序列和氣象特征數據的關聯,我們利用過去1 小時的氣象數據來建立未來1 小時的短臨氣溫預報。
⑴DRFS特征選擇
氣象預報屬于典型的大數據行業,是目前數據積累最多,最完整的行業之一。氣象要素預報是一個典型的多因素、互影響的復雜業務,某一氣象要素的預報通常會受到非常多因素的影響;而且這些因素也會相互影響。對預報要素來說,眾多的影響因素中有相關性高的重要因子,也有相關性很低的噪音。傳統的預報方法都是根據預報人員的經驗來確定影響因素,這樣費時費力,而且普適性很低,某一地區的經驗,通常不符合另一地區的預報要求。一些研究者利用決策樹和隨機森林對樣本數據進行特征選擇[7],但是由于隨機森林只能夠計算單個特征變量的重要性,無法描述變量之間的交互性和相互影響,本文使用DRFS算法來對影響氣溫的特征要素進行選擇,陳永波等人的研究工作[8]給出了DRFS算法的詳細步驟:
①對需要篩選的特征變量進行初始化;
②對每個候選特征與類別的互信息進行計算,選出具有最大互信息值的特征,并添加到已選特征集合中;
③計算原始集合和已選特征集合中所有特征的條件和交互相關性,將具有最大信息量的特征添加到已選特征集合中,同時將這個特征從原始集合中刪除。
重復步驟②-③,直到滿足選擇特征數為止。
⑵LSTM模型訓練
LSTM 采用隨時間反向傳播算法,主要有三個步驟:
首先,LSTM 訓練過程前向計算每個神經元的輸出值;
其次,反向計算每個神經元的誤差項δ,在t時刻LSTM 的輸出為ht,則t時刻的誤差為δt=,L 為損失函數,目的是要計算出t-1時刻的誤差。根據公式⑵-公式⑷和全導數公式,可以將誤差項向前傳遞到任意k時刻:
最后,假設LSTM 的當前層是第l層,則將誤差傳遞到上一層的公式為:
為了驗證本文提出的基于DRFS-LSTM 模型對大連地區氣溫預測的效果,將2018-2019 年的氣象數據作為訓練和測試數據集,其中80%為訓練集,20%為測試集。
數據采用2018~2019 年大連地區兩年觀測數據(要素包括:近地面的濕度、露點、氣壓、風速、風向;920hPa 的相對濕度、氣溫和露點),將2020 年3-4 月的數據作為檢驗樣本,用來檢驗模型的預報效果。
數據質量的高低,直接決定模型訓練結果的準確度。由于氣象數據觀測和整理過程中容易出現數據缺失和錯誤值,為保證數據集的質量,本研究所收集的海面探測數據、地面觀測數據和高空探測數據,都經過了時間一致性檢驗,內部一致性檢驗和界限值檢查[10-12]。從數據時間連續性、準確性和一致性三個方面對所收集到的數據集進行進一步治理。具體方法見表1。

表1 氣溫數據治理策略描述
我們利用DRFS 算法獲得與氣溫高度相關的因子之后,為了減少不同量綱對預測模型帶來的不穩定影響,且為了加快梯度下降求最優解的速度,我們利用歸一化算法來對計算樣本數據進行歸一化。
本文使用標準差來對樣本數據進行歸一化,使得經過處理的數據符合標準正態分布,即均值為0,標準差為1,其轉化函數為:
其中,μ為所有樣本數據的均值,σ 為所有樣本數據的標準差。
利用DRFS 算法對因子進行訓練,設k=4,得到的因子為風速、露點、濕度和925hPa 溫度。然后我們將風速、露點、濕度、925hpa 氣溫和歷史氣溫這五個因子進行歸一化處理之后輸入到LSTM 模型中。利用過去一小時的數據來預測未來一小時的短臨氣溫要素。
從圖3 中可以看出,訓練集與測試集的損失函數值很接近,且很快趨于穩定收斂。

圖3 訓練與測試
為了進一步評價DRFS-LSTM 模型的效果,本文用2020 年3 月和4 月的數據對三個模型BP、LSTM 和DRFS-LSTM 的預測效果進行評價。其中BP 模型的輸入要素與DRFS-LSTM 模型經過DRFS 篩選后的要素相同,是歷史氣溫、露點、相對濕度、近地面風速和920hPa 氣溫。LSTM 模型的結構和參數與DRFSLSTM 中的LSTM 模型層相同,輸入的要素為未經過DRFS 篩選的要素(近地面的溫度、濕度、露點、氣壓、風速、風向;920hPa 相對濕度、氣溫和露點),具體的結果見表2。

表2 2020年3~4月氣溫預報結果評分
從表2 可以看出,DRFS-LSTM 模型在三個評價指標:均方根誤差(RMSE),平均絕對誤差(MAE)和決定系數(R2)上都要優于LSTM 和BP 模型,表明了DRFS-LSTM 模型預測的精度更高,預測出的氣溫值與實際氣溫值之間的誤差更小,模型對氣溫預測的擬合度更好。
動態相關性的特征選擇算法在對氣溫高相關性特征進行選擇的同時,考慮了多要素之間的相關性。與傳統方法相比,帶有長短期記憶單元的循環神經網絡能很好地描述氣象要素之間的時間相關性。我們利用動態相關性的特征選擇算法對多要素氣象時間序列數據進行特征選擇,為LSTM 網絡模型的構建提供了更準確的特征數據,進一步降低了網絡的復雜度。本文構建了基于DRFS-LSTM 的網絡模型,利用大連地區2018年~2019年的氣象數據作為訓練集進行訓練,并利用該模型對大連區2020 年3 月~4 月的氣溫進行預測。實驗結果顯示預報結果具有較好的效果,對氣溫短臨預報具有較好的指導意義。與BP、LSTM模型相比,DRFS-LSTM 模型在有效降低數據維度和網絡復雜度的前提下,具有更高的預測準確率,由于氣象要素的特征選擇不再基于氣象預報人員的經驗,所以模型具有更高的普適性。本文是利用歷史數據來預測未來一小時的短臨預報,未來需要對中長期預報方法做進一步研究。