任 碩,閆加寧,羅 嘉,韓 瑩,3
(1. 南京信息工程大學自動化學院,江蘇 南京 210044; 2. 湖北省公眾氣象服務中心,湖北 武漢 430074;3. 南京信息工程大學 江蘇省大氣環境與裝備技術協同創新中心,江蘇 南京 210044)
對于極端降水事件的處理、洪水災害風險等級分析、區域水資源管理以及建立完備的防洪減災預警系統而言,降水預測的研究具有重要意義[1]。目前,根據現有資料結合數理統計方法的統計模型是降水預測的一種主要途徑,黃鶴等人[2]將統計模型中的馬爾可夫模型運用于原州區的降水預測,根據已有數據驗證了預測結果的有效性。由于降水受地理位置,大氣環流和地形等因素的影響,降水序列呈現出高度的非線性和復雜的變化趨勢,統計模型對其進行處理時存在一定的困難性,模型的預測精度也無法得到進一步質的提升[3]。
隨著人工智能領域的飛速發展,更多研究人員將人工智能技術與機器學習的方法應用于對連續時間的降水預測,彌補統計模型難以處理非線性序列的不足之處[4]。基于機器學習的深度學習模型,采用多個不同類型的隱藏層作為訓練模型的構建[5]。長短期記憶網絡(Long Short-Term Memory Networks,LSTM)是降水預測中常用的一種深度學習模型,由于其可以有效的學習時間序列中的長期依賴關系,使得模型的預測效果得到顯著改善[6]。劉新等人[7]采用LSTM 模型對青藏高原地區的月降水量進行預測,結果顯示在不同預測步長下LSTM 模型的預測精度都優于傳統模型。然而僅依靠單一預測模型容易忽略訓練樣本中的隱藏規律,因此研究人員利用信號分解算法如變分模態分解(Variational Mode Decomposition, VMD)、極點對稱 模 態 分 解(Extreme-point Symmetric Mode Decomposition,ESMD)與神經網絡結合,采用分解-預測-重組的形式進行模型構建[8]。徐冬梅等人[2]在月降水預測的研究中,融入了具有處理非線性序列優勢的VMD算法,取得了良好的預測效果。李繼清等人[9]考慮到ESMD 算法可以自適應地提取時間序列的不同尺度信息,利用ESMD 算法將非平穩的徑流序列分解為幾個相對平穩的子序列后,對各個子序列分別建模預測,重構結果后顯示該模型提高了徑流預測的準確率,開辟了一種優于單一預測模型的新思路。由于“端點效應”會干擾序列的分解效果[10],影響信號分解算法提取時間序列的趨勢特性,熊濤證明了“端點效應”對基于分解算法的混合建模框架的預測性能有較大的負面影響[11]。為此,XU 等人[12]創新性的在序列分解時考慮了邊界修正(Boundary Correction, BC)的方法,以此減少端點效應問題對整體預測模型的不利因素。
基于上述內容,本文提出一種基于邊界修正模塊和二次分解模塊的LSTM 組合月降水預測模型。首先采用動態時間彎曲算法(Dynamic Time Warping, DTW)匹配相似子波后擴展原始月降水序列的左右邊界;之后選用ESMD 算法提取擴展序列的不同尺度信息,產生頻率依次降低的幾個模態分量以及一個趨勢分量;切割各個分量中對內部數據“污染”最嚴重的擴展部分;接著運用VMD 算法對高頻分量進行平穩化處理;最后基于分解的子序列分別建立LSTM 模型進行預測,將所有分量的預測結果重構后得到最終月降水預測結果;構建一個考慮邊界修正的ESMD-VMD-LSTM(BC)組合月降水預測模型。本文將此模型應用于湖北省巴東縣的月降水預測,采用4 種不同的誤差評價指標來評估模型的優劣。通過7 種模型對比分析,探究抑制“端點效應”對采用ESMD 算法的組合模型預測性能的影響,以及分解算法對模型預測精度的提升效果。
ESMD 算法采用極值點對稱法來替換經驗模態分解(Empirical Mode Decomposition ,EMD)所采用的外部包絡線擬合對稱法[13],有效緩解EMD 存在的模態混疊問題[14]。分解中的關鍵步驟是確定最佳篩選次數K0的值,詳細計算步驟見文獻[14]。
ESMD 分解序列時, 3 次樣條插值法為端點處插值擬合失去約束從而產生端點處漂移,并逐漸污染內部信號數據[15]。為了抑制“端點效應”,采用波形特征匹配延拓法對原始序列進行邊界擴展,該方法依靠搜尋與邊界處子波擁有最高相似度的內部子波完成擴展。選定DTW 算法計算兩段不同長度序列之間的相似度,如選取兩段長度分別為m和n的序列A={α1,α2,α3,…,αm}和B={β1,β2,β3,…,βn},構建一個m×n的空間距離矩陣Z。Z(i,j)中的元素d(αi,βi)=(αi-βi)2表示兩點的歐氏距離,之后動態規劃搜尋Z(1,1)到Z(m,n)的最短路徑,最短路徑越小,代表兩段序列的相似度越高。最短路徑S(m,n)的計算如式(1)示:
以右端邊界修正為例,步驟如下:
步驟1:PO 為原始序列,紫色子波N M O為選定的研究對象,包含極大值M和極小值N,見圖1。

圖1 邊界擴展示意圖Fig.1 Boundary extension diagram
步驟2:從PO 的左側開始,依次截取包含極大值和極小值的子波。通過DTW 算法將截取的子波分別與研究對象匹配計算相似度。選定出具有最高相似度的紫色子波N1M1O1。
步驟3:從O1點向右截取一定長度的序列(紅色實線),將截取序列延長至右邊界O點的右端(紅色虛線)。
步驟4:將邊界擴展后的序列進行ESMD 分解,根據PO 序列所占擴展序列的位置以及自身長度信息,將對應的子序列進行切割完成邊界修正。
VMD 算法實質是通過將約束變分問題轉化為非約束變分問題并求解,使原始信號分解為中心頻率不同的K個子模態[16]。約束變分問題如式(2)示:
式中:f為給定的原始信號;uk為第k個模態分量;K為序列分解數量;wk為uk的中心頻率;δ(t)為狄拉克分布;?t代表對時間變量t求偏導運算;?為卷積運算;j為虛數符號;為范數。
通過引入二次懲罰項和拉格朗日乘數轉化為非約束變分問題,如式(3)示:
式中:α為懲罰系數;λ為拉格朗日乘數;為兩向量的內積計算。
得到一個非約束模型,并采用交替方向乘子法搜尋迭代計算最優{wk}、{uk}和λ的結果。迭代計算如式(4)~(6)示:
LSTM內部結構主要包含4個部分:輸入門、遺忘門、記憶模塊和輸出門[17],見圖2。輸入門限(it)決定了當前細胞狀態的更新程度,并且控制選擇信息的存入;遺忘門限(ft)控制過去信息的丟棄或保留;候選細胞狀態存儲之前迭代訓練中所學到的信息,并且對當前輸出的細胞狀態(Ct)產生影響;輸出門限(ot)控制選擇Ct中的信息輸出[18]。LSTM 的數學計算如式(7)~(12)示:

圖2 LSTM 結構示意圖Fig.2 Diagram of the LSTM structure
式中:Wi、Wf、Wo、Wc分別為輸入單元、遺忘單元、輸出單元、候選細胞狀態對應的權重值矩陣;bi、bf、bo、bc分別為其對應的偏差向量;?代表向量元素逐位相乘;σ代表sigmoid 激活函數;tanh 代表雙曲正切函數;xt代表輸入向量;ht-1代表上一時刻的輸出。
本文提出一種基于邊界修正模塊和二次分解模塊的LSTM組合預測模型,整體模型由“修正、分解、預測和重構”4 個重要部分構建,見圖3。步驟如下。

圖3 ESMD-VMD-LSTM(BC)組合模型框架圖Fig.3 Framework diagram of ESMD-VMD-LSTM(BC) composite model
步驟1:邊界擴展。采用波形特征匹配延拓法擴展原始月降水序列的左右邊界。
步驟2:一次分解。ESMD算法對邊界擴展后的月降水序列進行分解。
步驟3:數據切割。根據原始月降水序列所占擴展序列的位置以及自身長度信息,將對應子序列的擴展數據切割后,得到有限個數模態分量(E1,E2,E3,…)及殘余分量(R)完成邊界修正。
步驟4:二次分解。VMD 算法對高頻分量E1進行分解,得到有限個數模態(V0,V1,…,Vk)。
步驟5:數據處理。將除E1外的各分量(E2,E3,…,R,V0,V1,…,Vk)進行歸一化處理后,分別劃分訓練數據集和測試數據集。
步驟6:訓練預測。基于各分量(E2,E3,…,R,V0,V1,…,Vk)分別建立LSTM 預測模型,采用滑動窗口作為模型的輸入方式,將各分量的預測結果反歸一化處理后輸出。
步驟7:重構結果。將各分量的輸出結果重構,得到原始月降水的預測結果。
為了對模型的預測效果進行全面評價,并與其余模型更好地進行量化比較。本文選取4 種不同的評價指標:均方根誤差(Root Mean Square Error,RMSE)、平均絕對誤差(Mean Absolute Error,MAE)、平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)和納什效率系數(Nash-Sutcliffe Efficiency coefficient,NSE)。計算如式(13)~(16)示:
式中:m為采樣點數量;S(t)為t時刻實測值;為t時刻預測值;為樣本平均值。
根據《水文情報預報規范》(GB/T 22482-2008)相關規定:當0.90 ≤NSE時,預測精度等級為甲級;0.70 ≤NSE<0.90 時,預測精度等級為乙級;0.50 ≤NSE<0.70時,預測精度等級為丙級;NSE<0.50時,預測結果不可信。
巴東縣位于中國湖北省的西南部,身處長江三峽的中段地區,東經110°04′~110°32′,北緯30°28′~31°28′之間,屬于亞熱帶季風氣候,濕熱多雨。從表1 可以看出,巴東縣近45 年的年平均降水量在1 020~1 130 mm 之間,因此精準的月降水預測對該地區的水資源管理以及經濟可持續發展具有重要意義。選取巴東縣1975 年1 月-2020 年10 月的逐月實測降水量作為實驗樣本點,共計550個,其逐月實測降水的連續變化曲線見圖4。

表1 巴東縣近45年的年代平均降水量 mmTab.1 Annual average precipitation in Badong County in the past 45 years

圖4 原始月降水序列Fig.4 Original monthly precipitation sequence
(1)邊界擴展。為了遏制“端點效應”對內部數據的“污染”,提升ESMD 算法的特征提取效果,采用波形特征匹配延拓法擴展原始月降水序列的左右邊界,擴展后的月降水序列S(t)見圖5,紅色曲線為擴展數據。

圖5 擴展后的月降水序列Fig.5 Extended monthly precipitation sequence
(2)ESMD 算法提取不同尺度信息。原始月降水序列的最大值和最小值相差463.3 mm,序列的變化幅度大。采用ESMD算法對擴展后的降水序列S(t)進行分解,確定最佳篩選次數K0為8,得到頻率依次減少的7 個模態分量E1~E7和一個殘余分量R,見圖6。
(3)數據切割。根據原始月降水序列所占擴展序列的位置以及自身長度信息,截去“污染”程度較高的擴展數據,見圖7。

圖7 數據切割結果Fig.7 Data cutting results
從圖7可知,R為最佳自適應全局均線,代表S(t)的整體變化趨勢:呈現“較快下降-緩慢下降-較快上升”的變化規律[19]。ESMD 算法充分挖掘序列的趨勢特性,較好地提取S(t)的不同尺度信息,每個模態分量都對應其獨自的主要波動特征,為下一步的降水預測奠定基礎。
(4)VMD 算法處理高頻分量。VMD 模塊對高頻分量E1進行平穩化處理,根據經驗值將分解數量K設置成2~6,在K取不同值的情況下確保每個模態的中心頻率相差不能過小,為此本文采用中心頻率對比法[20]確定最佳分解數目為5,分解結果V0~V4見圖8。
由圖8 可知,V0~V3分量的數值近似對稱分布在零值線的上下區域,較E1擁有更強的穩定性。即使V4分量依舊包含復雜的頻率信息,但是該分量的絕大部分數據的波動范圍較小,從而減少了此分量的預測結果對整體模型預測精度的影響[8]。VMD 分解模塊充分降低高頻分量的非平穩性,便于之后的LSTM神經網絡學習。
(5)模型設定。將分量E2~E7,R,V0~V4根據式(17)進行歸一化處理,分別按照9∶1 劃分訓練集和測試集。基于LSTM分別建立各分量的預測模型,其中LSTM 的優化函數使用Adma函數,損失函數的目標為均方誤差,激活函數使用tanh 函數,每個模型采用兩層LSTM,為了防止過擬合,將每層LSTM 后添加取值為0.2 的Dropout 層。根據多次實驗確定LSTM 的超參數,其中時間步長為6,批量大小為12,隱藏單元數為64,學習率為0.004,訓練次數為100。采用滑動窗口作為模型的輸入方式,本文選用固定大小窗口模式,當窗口輸入的數據進入LSTM 模型完成預測后,通過實測值的移入和窗口數據的移出完成滑動窗口的更新。多次實驗對比,最終設定滑動窗口的大小為6,模型第一次訓練 時將訓練集前6 個數據點xt-5,xt-4,xt-3,xt-2,xt-1,xt作為輸入,預測t+ 1時刻的數據點xt+1,通過滑動窗口的更新完成對模型的多次訓練。將預測結果反歸一化處理后重構輸出,得到最終的月降水預測結果。
式中:x?為歸一化處理后的數值;x為原始數值;xmin和xmax為序列中最小數值和最大數值。
選取單一SVM 和LSTM 模型、未進行邊界修正的ESMDLSTM、VMD-LSTM 和ESMD-VMD-LSTM 模型、以及采用邊界修正的ESMD-LSTM(BC)模型與本文提出的ESMD-VMDLSTM(BC)模型對比。各模型預測結果見表2。

表2 各模型預測結果Tab.2 Predicted results of each model
由表2 信息可知:在7 種模型中,本文提出的ESMD-VMDLSTM(BC)模型的預測結果與實測數據相差最少,預測精度最優,其中RMSE和MAE分別為15.515 6 和12.405 1,MAPE為23.987 5%,且NSE達到了0.960 0,可信度達到甲級;單一SVM和LSTM 模型的預測結果相近且較差,其中SVM 模型的RMSE和MAE分別為67.510 4 和56.253 6,MAPE為77.344 5%,NSE低至0.243 3,預測結果不可信,其原因是由于訓練集的數據量較少,僅依靠單一模型無法處理非線性的月降水序列;融入信號分解算法的ESMD-LSTM、VMD-LSTM 和ESMD-LSTM(BC)模型,將非平穩的降水序列趨于平穩化,減少復雜變化趨勢的月降水序列直接饋送至模型造成的誤差影響,預測精度較單一SVM 和LSTM 模型得到一定的提升;對比ESMD-LSTM 和VMDLSTM 模型的預測結果可知,VMD 算法較ESMD 算法在月降水序列分解中具有更優的分解性能;ESMD-LSTM(BC)和ESMDVMD-LSTM(BC)模型的預測精度均略微優于其各自未考慮邊界修正的模型,表明“端點效應”會影響月降水序列的預測結果;觀察發現ESMD-VMD-LSTM 和ESMD-VMD-LSTM(BC)模型的預測精度顯著優于ESMD-LSTM 和ESMD-LSTM(BC)模型,證明VMD 分解模塊對模型的構建具有重要性和有效性,進一步將ESMD-LSTM 和ESMD-LSTM(BC)模型的高頻分量E1的測試集擬合結果可視化,見圖9,可知一次分解模型存在含有復雜頻率分量預測結果較差的情況。

圖9 E1的測試集結果散點圖Fig.9 Scatter plot of test set results for E1
從指標變化的角度分析:由于二次分解算法VMD模塊的引入,較好的避免了高頻分量預測效果較差的情況,其中ESMDVMD-LSTM 較ESMD-LSTM 模型的RMSE和MAE降 低 了63.96% 和64.40%,MAPE的指標變化較小,但NSE提升了0.302 8;ESMD-VMD-LSTM(BC)較ESMD-LSTM(BC)模型的RMSE、MAE和MAPE分別降低了62.60%、62.06%和29.20%,NSE提升了0.245 8。針對序列分解的“端點效應”問題,從而將邊界修正的方法融入到模型中,使得模型的預測效果得到改善,其中ESMD-LSTM(BC)較ESMD-LSTM 模型的RMSE、MAE和MAPE分別降低了9.37%、10.62%和14.48%,NSE增加了0.062 2;ESMD-VMD-LSTM(BC)模型的RMSE、MAE和MAPE較ESMD-VMD-LSTM 分別降低了5.95%、4.75%和39.07%,NSE僅提升了0.005 2,然而對于小樣本數據的月降水預測研究同樣具有意義。
為了清晰的觀察7種模型的預測結果與實測數據的擬合效果,將其可視化處理,見圖10。

圖10 各模型預測結果擬合圖Fig.10 Model fit plots for predicted results of each model
由圖10 可知,SVM 和LSTM 模型無法精準預測實測逐月降水量,只能擬合基本的周期變化趨勢。ESMD-LSTM 與ESMDLSTM(BC)模型較SVM 和LSTM 模型預測結果更加逼近實測數據點,可以擬合基本周期變化趨勢的同時精準預測少數實測值;VMD-LSTM 模型的擬合效果提升顯著,在非數據極值點上達到了較好的擬合,然而對于部分數據極值點的擬合效果依舊不理想;見圖10 中的局部放大圖,本文提出的ESMD-VMDLSTM(BC)模型較其余6種模型擁有更強的極值擬合能力,進一步提升模型預測性能的同時增強了模型在實際應用中的適用性。
針對月降水數據的小樣本特點和特征變量之間的復雜性和高冗余性,以及分解算法存在的“端點效應”問題,本文結合ESMD 算法可以自適應提取時間序列不同尺度信息的優點,VMD 算法處理非線性序列的優勢,提出一個考慮邊界修正的ESMD-VMD-LSTM(BC)組合月降水預測模型。將該模型應用于湖北省巴東縣的月降水預測,通過7種模型對比分析,得出如下結論。
(1)本文模型的預測精度和擬合效果在7種模型中最佳,在巴東縣的月降水預測中取得良好表現。未來可將本文提出的預測方法應用于其他地區的月降水預測,嘗試性的應用于日降水的預測研究,探究模型是否具有較強的泛化能力。
(2)VMD-LSTM 模型的擬合效果良好,然而其對數據極值點的擬合效果較差,本文模型擁有更強的極值擬合能力,在實際應用中更具適用性。
(3)缺少VMD 模塊的一次分解模型,存在高頻分量預測精度較差的情況,從而影響整體模型預測的準確性。
(4)“端點效應”會對采用ESMD 算法的組合模型的預測性能產生一定的負面影響,降低模型的預測精度以及影響模型的擬合效果。
(5)由于高頻分量的預測效果是決定模型預測精度高低的關鍵因素,因此通過加入優化算法,對高頻分量建立更優的參數模型,使得ESMD-VMD-LSTM(BC)模型的預測精度仍然可以進一步提升,這也是后續需要進一步研究的工作之一。