凌 銘,肖麗英*,趙 嘉,王萍根,王 寅,項 凱,蔡高堂
(1.南昌工程學院水利與生態(tài)工程學院,江西 南昌 330099;2.南昌工程學院信息工程學院,江西 南昌 330099)
降水的形成受多因素的影響,導致降水雖然存在一定的規(guī)律性,但同時也存在較強的復雜性和不確定性。因此,在國內乃至全球氣象領域,降水預測一直是難點。國內外有關降水時間序列的傳統(tǒng)預測研究主要有統(tǒng)計學、動力學等方式。近年來,隨著人工智能與大數據的發(fā)展,復雜神經網絡、機器學習等逐步應用為降水預測帶來了新的機遇[1-2]。吳有訓等[3]基于支持向量機(SVM),通過歷史數據構建月尺度降雨級別預測模型。結果表明SVM模型在降雨級別等分類應用上有較強的預測能力,可在氣候預測業(yè)務中推廣使用。甄億位等[4]利用隨機森林算法分別構建了年、月尺度降水預測模型,并采用歷史氣象數據驗證模型的適用性。結果表明:隨機森林模型與BP神經網絡等機器學習預測模型相比,具有精度高、穩(wěn)定性好、收斂快等優(yōu)點,但對年、月尺度極端降水數據的預測效果不太理想。
作為機器學習中一個新的研究方向,深度學習在降水預測領域有別于傳統(tǒng)預測方法,它在處理非線性問題上效果更佳。沈皓俊等[5]基于LSTM構建了降水預測模型,并預測了季尺度降水量。結果表明LSTM模型的降水預測能力優(yōu)于BP神經網絡等機器學習模型。隨著信號處理技術的發(fā)展,數據去噪逐步被應用到氣象預測領域中。例如Kala等[6]提出一種新型CEEMDAN-LSTM模型,將其應用于印度的月降水量預測,結果表明該組合模型預測能力遠高于LSTM預測模型。華亞婕[7]提出一種基于GWO-DE-SVM的改進模型應用于吉林省的降雨等級預測,結果表明該組合模型降雨等級預測能力遠高于SVM模型。
綜上,深度學習方法為氣象領域的降水預測提供了新的思路。但是,以前大部分的研究集中于年、季、月尺度的降水量預測[8-9],而對防旱抗?jié)掣哂醒芯恳饬x的日尺度降水量預測方面研究卻較少。無論是單一模型還是組合模型在日尺度降水預測上,往往存在降水極大值與無雨日預測精度低的問題[10-11]。為解決上述情況,先利用支持向量機將無雨日與有雨日分離出來,然后借助完全集合經驗模態(tài)分解(CEEMDAN)將降水序列的中高頻與低頻子序列分解出來以便針對性預測,再利用雙向長短期記憶神經網絡(BiLSTM)對降水序列進行有效預測。因此,形成了降水預測耦合模型(SVM-CEEMDAN-BiLSTM)。本研究采用鄱陽湖流域典型氣象站點的日降水序列與其他氣象要素序列作為模型輸入,通過優(yōu)化耦合模型以達到最優(yōu)降水預測效果。
為方便對比檢驗不同模型的降水預測精度,本研究選取鄱陽湖流域降水集中程度表現較為典型的景德鎮(zhèn)站、贛縣站[12-13]作為研究站點,采取其1957—2018年期間多項氣象數據展開對比研究。位于流域北部的景德鎮(zhèn)站由于地形等因素,年內降水最為集中;贛縣站則位于流域南部,其年內降水在流域內最為均勻,這與景德鎮(zhèn)站的日降水集中程度形成鮮明對比。2個站的氣象數據均來源于國家氣象科學數據中心(http://data.cma.cn)的中國地面氣候資料數據集。另外,本研究選取的氣象因子為降水量(Pre)、0 cm地溫(Gst)、蒸發(fā)量(Evp)、氣壓(Prs)、相對濕度(Rhu)、日照(Ssd)、氣溫(Tem)、風速(Win)。原始氣象數據中的缺失值和異常值利用K-最近鄰(KNN)插補方法進行插補[14],并對與試驗無關數據進行剔除等處理,整理之后的數據作為研究用的輸入數據。
1.2.1支持向量機
支持向量機(Support Vector Machine,SVM)是一類按監(jiān)督學習方式對數據進行二元分類的分類器[15],能夠支持線性和非線性核函數對復雜樣本進行分類,它在分類與預測上[16]應用較廣。因此,可利用SVM對降水數據進行晴雨分類??紤]氣象數據有較為復雜的相互關系,選用徑向基核函數K(x1,x2),見式(1):
(1)
式中x1、x2——2個不同樣本的特征向量;γ——徑向基核函數的超參數。
1.2.2集合經驗模態(tài)分解方法
自適應噪聲的完全集合經驗模態(tài)分解[17](Complete Ensemble Empirical Mode Decomposition Adaptive Noise,CEEMDAN)是在集合經驗模態(tài)分解[18](Ensemble Empirical Mode Decomposition,EEMD)的基礎上有所改進的一種分解方法,它解決了EEMD加入白噪聲后分解引起的誤差增大與完備性不足的問題。在本研究中,對降水序列分解可得到多個原序列中不同氣候振蕩信號的固有模態(tài)函數(Intrinsic Mode Function,IMF)。分析各個IMF分量可以獲取不同頻率降水變化的內在規(guī)律。CEEMDAN分解的步驟如下。
步驟一在原始信號h(t)中加入白噪聲ωi(t),更新信號為:
hi(t)=h(t)+ε0ωi(t)
(2)
其中ε0為噪聲系數。
步驟二使用EMD方法對更新后信號進行次分解并取均值,得到第一個固有模態(tài)函數(Intrinsic Mode Function,IMF):
(3)
步驟三計算殘余分量:
r1(t)=h(t)-IMF1(t)
(4)
步驟四計算第二個IMF。定義EMD方法分解后的第j個固有模態(tài)函數為Ej(·)。即對信號r1(t)+ε0Ej(ωi(t))再重復進行I次分解,得到第二個IMF分量:
(5)
步驟五計算k階殘余分量為:
rk(t)=rk-1(t)-IMFk(t)
(6)
第k+1個IMF為:
(7)
以此類推得到各階IMF分量,直到殘余分量為單調函數時停止分解。當得到K個模態(tài)函數時,原始信號則可表示成:
(8)
1.2.3BiLSTM神經網絡
雙向長短期記憶網絡[19](Bi-directional Long Short-Term Memory,BiLSTM)是長短期記憶神經網絡[20](Long Short-Term Memory,LSTM)的一個變種。LSTM模型只利用過去的數據信息進行預測,且常導致較早的歷史數據信息遺忘。BiLSTM神經網絡則可同時利用過去和未來的數據信息模擬預測,已成功應用于語言和圖像處理中[21-22]。本研究引入BiLSTM模型對日尺度降水序列進行模擬預測。
LSTM、BiLSTM神經網絡拓撲結構見圖1。BiLSTM模型的結構由前向和后向的2個LSTM模型組成。在t時刻,輸入信息傳遞到前向和后向的LSTM模型,輸出由2個方向的LSTM模型輸出共同確定。LSTM模型的基本架構由輸入層、輸出層和隱含層組成。其中,隱含層的基本單元被稱為存儲塊。存儲塊包含3個門(輸入門(i)、輸出門(o)和遺忘門(f))和 1 個單元狀態(tài)(c),用于控制信息的傳遞與更新,單元狀態(tài)儲存過去的信息。符號⊕和?分別代表 2 個向量的加法運算和點乘運算,σ代表 sigmoid 激活函數,tanh為雙曲正切激活函數,計算見式(9)、(10):
圖1 LSTM、BiLSTM神經網絡拓撲結構
(9)
(10)
隱含層具體計算過程見式(11)—(16):
ft=σ(Wf·[ht-1,xt]+bf)
(11)
i=σ(Wi·[ht-1,xt]+bi)
(12)
ot=σ(Wo·[ht-1,xt]+bo)
(13)
(14)
(15)
ht=ot·tanh(Ct)
(16)
式中 “·”——遺忘門、輸入門、輸出門和單元狀態(tài)的權重向量;Wf、Wi、Wo、Wc——遺忘門、輸入門、輸出門和單元狀態(tài)的偏置向量;bf、bi、bo、bc——遺忘門、輸入門、輸出門和單元狀態(tài)的偏置向量;xt、ht——t時刻輸入層的輸入、隱含層的輸出。
1.2.4評價指標
首先,本文選取準確率(Accuracy)用于評價SVM的分類預測效果。其次,選取泰勒圖來綜合評價不同降水預測模型的預測能力。該圖同時涵蓋了均方根誤差(Root Mean Square Error,RMSE)、標準差(Standard Deviation,σ)和皮爾遜相關系數(Pearson Correlation Coefficient,PCC)3 個指標,能從 3 個角度更加全面對比不同模型的預測性能[23-24]。其中,RMSE 反映預測精度,PCC 反映預測誤差實際情況,σ反映模型的穩(wěn)定性。
各個評價指標的計算見式(17)—(20):
(17)
(18)
(19)
(20)
由于日尺度降水時間序列具有多變性與非線性的特征,單一模型在降水量變化的捕捉上存在局限性[10-11]。本研究首先采用二分類算法SVM對降水序列完成晴雨預測(日降水量大于0.1 mm定義為降雨日,反之為晴),以提高無雨日預測精度與減小模型工作量[25-26]。其次,針對降水序列的多變性,采用模態(tài)分解法CEEMDAN將原序列分解成若干不同尺度的IMF分量和1個殘余分量,以提高對原降水序列變化規(guī)律的捕捉能力[27]。最后,引入BiLSTM網絡對每一個分量序列進行降水序列預測。
模型構建分為4步(圖2)。
圖2 SVM-CEEMDAN-BiLSTM模型結構與構建流程
步驟一晴雨預測。將降水量(Pre)、0 cm地溫(Gst)等氣象因子時間序列作為輸入,并以8∶2比例劃分訓練集與測試集。將SVM模型遍歷尋優(yōu)進行超參數組合優(yōu)化,利用訓練集擬合模型完成晴雨預測。在預測結果為降雨日時進行下一步驟,否則輸出降水量預測結果為0。
步驟二降水序列分解。利用CEEMDAN模態(tài)分解法將非平穩(wěn)的降水時間序列分解成多個本征模態(tài)分量IMF(1) 、…、IMF(k) 、…、IMF(n)和1個殘余分量。分解后的序列相對穩(wěn)定,且具有不同的局部特征信息[8]。
步驟三降水量預測。將分解后的降水子序列信息與氣象數據作為輸入,在歸一化處理后以8∶2比例劃分為訓練集與測試集。通過參數優(yōu)化,利用BiLSTM分別對分解后的子序列進行預測,獲得各個子序列預測結果F(1)、…、F(k)、…、F(n+1)。將各個子序列預測結果累加便可獲得最終降水預測結果。
步驟四結果輸出。
參數設定對BiLSTM模型預測結果的準確性影響較大。BiLSTM網絡使用tanh為激活函數、adam為優(yōu)化函數、RMSE為損失函數,采用Dropout方法防止過擬合。需要調整的超參數為輸入、輸出、隱含層節(jié)點數、訓練次數、Dropout大小等。本研究采用試湊試驗完成超參數確定。試湊試驗指通過固定其他超參數試湊剩余的一個,并進行多次遍歷,將不同組合的預測值與實測值進行對比,確定表1所示的超參數。
表1 BiLSTM網絡超參數
為探討SVM-CEEMDAN-BiLSTM模型與LSTM模型的預測效果優(yōu)劣,選用1957—2018年景德鎮(zhèn)站、贛縣站逐日氣象數據完成降水預測模型的訓練和測試,獲得模型測試集逐日降水預測結果。圖3為景德鎮(zhèn)站、贛縣站測試集預測與實測結果變化過程,其中左上角小圖展示測試集不同模型預測結果變化過程,大圖選取測試集中降水序列波動較大的時間段。由圖3可知:①預測結果上,本研究提出的SVM-CEEMDAN-BiLSTM模型在預測結果上更接近于實測值,在極大值預測上有較大的提升;②模型對比上,SVM-CEEMDAN-BiLSTM模型在不同站點降水預測結果更接近于觀測值。
為驗證SVM-CEEMDAN-BiLSTM耦合模型無雨日預測精度,統(tǒng)計了景德鎮(zhèn)站、贛縣站不同模型測試集無雨日預測結果與實測結果,見表2。在景德鎮(zhèn)站,耦合模型的無雨日預測誤差率由LSTM模型的73.96%下降至10.71%;在贛縣站,無雨日預測誤差率由LSTM模型的86.72%下降至10.97%??梢?耦合模型的無雨日預測精度皆高于LSTM等模型。
表2 景德鎮(zhèn)站、贛縣站不同模型測試集無雨日預測結果
為進一步驗證耦合模型的降水預測效果,選取表3所示的不同組合模型在相同數據集(測試集)下的降水預測結果進行了分析,并選用泰勒圖反映不同模型的預測情況。圖4為不同組合降水預測對比。圖中橫軸和縱軸表示不同耦合模型測試集標準差、圓弧軸表示相關系數、弧線表示均方根誤差。模型的降水預測效果越好,則在圖中可觀察到模型圖示與觀測值直線距離越短。
表3 不同方案降水預測結果的評價指標
a)景德鎮(zhèn)站
下面展開2個方面的分析:①組合模型對比,耦合模型與觀測點Observation直線距離在景德鎮(zhèn)站與贛縣站皆最短,表明耦合模型的降水預測效果優(yōu)于其他組合;②氣象站點對比,在贛縣站,大部分模型與觀測值直線距離小于景德鎮(zhèn)站,這表明在贛縣站的預測效果優(yōu)于景德鎮(zhèn)站。
由表3可知:①在景德鎮(zhèn)站,耦合模型的評價指標RMSE由15.10下降至6.93,降低54.1%,PCC由0.28上升至0.90,提升221.4%,在贛縣站,RMSE由10.24下降至3.85,降低62.4%,PCC由0.33上升至0.93,提升181.8%;②CEEMDAN-BiLSTM模型預測誤差均小于SVM-BiLSTM模型,這表明CEEMDAN在提升BiLSTM預測效果上強于SVM。
綜上,本研究提出的SVM-CEEMDAN-BiLSTM耦合模型在降水預測精度上高于傳統(tǒng)的單一模型LSTM、BiLSTM和多項組合方案。
為克服降水預測中極大值、無雨日預測精度低等問題,本研究將SVM、CEEMDAN、BiLSTM算法的優(yōu)勢結合起來,構建出SVM-CEEMDAN-BiLSTM耦合模型,并對不同氣象站點日尺度降水量進行了預測。主要結論如下:①本研究提出的SVM-CEEMDAN-BiLSTM耦合模型的降水預測結果與LSTM等傳統(tǒng)模型預測結果相比,在日尺度降水預測有一定的優(yōu)勢,降水預測結果與實測結果基本一致;②模擬效果上,SVM-CEEMDAN-BiLSTM耦合模型在日尺度降水序列極大值與無雨日方面的預測精度均較高;③從站點角度上看,在贛縣站,不同預測模型的降水預測、晴雨預測誤差均小于景德鎮(zhèn)站,這可能與贛縣站年內降水相比景德鎮(zhèn)站更為均勻有一定關系。
針對日尺度降水預測,本研究提出的SVM-CEEMDAN-BiLSTM模型有效地提升了預測的準確性。在后續(xù)的研究中,將針對耦合模型的輸入與輸出、氣象因子與模型相關性分析做進一步的試驗和研究。