劉 揚,杜帥兵
(1.華北水利水電大學 黃河流域水資源高效利用省部共建協同創新中心,河南 鄭州 450046;2.華北水利水電大學 信息工程學院,河南 鄭州 450046)
水是生命之源,也是社會經濟發展的基礎。準確有效地預測區域用水量,對分析區域水資源平衡、制定合理有效的水資源調配方案及促進社會經濟協調發展具有重要意義[1]。受環境變化和人類活動的耦合影響,區域用水量信號呈不確定性、非平穩狀態[2]。目前對于用水量預測的研究十分廣泛,但如何使模型更加高效、預測更加精準是需要解決的問題之一。
目前,用水量預測的方法主要分為傳統預測法(回歸分析法、用水定額法、灰色模型法、系統動力學模型法等[3-5])與新型預測法(神經網絡法、機器學習法、混合算法等[6-7])。用水定額法對于定額數具有強依賴性,并且受限于當時的社會、經濟等因素;回歸分析法選用不同的影響因子時,其結果偏差較大[8];灰色模型法受信號的突變點影響較大[9];神經網絡法收斂速度慢和易陷入局部最優解的情況有待進一步改進。
單一模型所表現出的非線性特征往往有限,存在精度低、穩定性差等問題,而混合模型的預測精確度和穩定性相較于單一模型而言表現更優[10]。例如:劉志壯等[11]使用基于小波分解隨機森林和自回歸模型(ARMA)的小波-隨機森林-ARMA 組合模型預測短期的用水量,結果表明,結合小波分解的組合模型預測精度明顯提高,能夠應用于供水調度。李彥彬等[12]采用HP 濾波對鄭州市用水量進行分解,結合GMLSSVR 模型對用水量進行預測,HP-GM-LSSVR 預測模型大大提高了預測精度。然而小波分解的結果依賴于事先選取的小波基函數和分解層次,在解決實際問題時小波基和分解層次往往難以確定[13];而HP 濾波器依賴于調節參數,在具體應用中存在一定局限性[14]。
不同于小波分解,經驗模態分解的方法僅依賴于信號的自有特性,不需要提前選定基函數,這與小波分解有本質性的區別。通過經驗模態分解后得到的各個分量較為平穩且有規律性,可以反映原始信號的內在特征,因此廣泛應用于信號處理中。閆國輝等[15]將經驗模態分解(Empirical Mode Decomposition,EMD)與小波降噪(WDD)進行結合構建了EMD-WDD 模式分解方法并用于徑流預測,結果表明基于EMD-WDD 的模式分解預測精度比只用EMD 分解的預測精度高。趙國羊等[16]基于模態分解構建人工神經網絡(ANN)和支持向量回歸機(EMD-SVR)耦合干旱模型,提高了預測的精度,結果表明基于EMD-ANN 和EMDSVR 模型的預測精度明顯提高。
通常,對位于序列端點處的值難以確定其是否為序列的極值點,若直接將端點處的值視為極值點,則在對極值序列上下包絡和求均值時會產生一定的誤差,且誤差會傳入序列內部,導致EMD 的端點效應影響到整個分解過程。基于此,本文構建出一種基于改進EMD 結合麻雀搜索算法(Sparrow Search Algorithm,SSA)優化核極限學習機(Kernel Based Extreme Learning Machine,KELM)的EMD-SSA-KELM 混合用水量預測模型。首先通過LSTM 對原始用水量信號兩端的極值進行延拓,找出序列兩端的極值點與原始序列合并再進行經驗模態分解,得到一組用水量本征模態函數(Intrinsic Mode Function,IMF)分量和一個殘差序列;然后分別輸入至SSAKELM 用水量預測模型中;最后將預測的分量與殘差序列合并得到最終的用水量預測結果。
經驗模態分解[17]對信號處理后,得到的分量狀態較為平穩、規律性較強,能反映序列的內在特征,是一種非常靈活的信號處理方法,其基本實現步驟如下。
(1)記原始用水量信號為x(t),分別求出極大值和極小值。
(2)采用3 次樣條插值法,對用水量序列的極大值和極小值兩組序列分別進行擬合。記極值點序列擬合的上、下包絡線分別為fmax(t)、fmin(t),將其均值記為m1(t),x(t)與m1(t)的差記為h1(t),均值m1(t)的計算公式為
本征模態函數需滿足以下兩個約束條件:①記某個本征模態函數為hk(t),則hk(t)的極值點和零點個數最多相差1 個;②極大值、極小值序列對應擬合的上、下包絡線的均值為0。在分解中判斷h1(t)是否滿足上述兩條約束條件,若滿足則執行步驟(3),若不滿足則將h1(t)作為新的x(t)執行步驟(1)和(2)。
(3)記第一個滿足本征模態函數要求的分量hk(t)為IMF0,將原始序列x(t)與IMF0 相減的序列記為r1(t),將其作為新的原始序列,重復步驟(1)和(2),當余量函數rn(t)單調時即可停止分解,將其作為殘差序列。其表達式如下:
根據分解算法,原始信號x(t)與n個IMF 分量和殘差分量之和相等,其表達式為
式中:rn(t)為殘差分量;hj(t)為第j個IMF 分量[18-21]。
極限學習機是一種改進的單層反向傳播神經網絡,由Huang[22]等于2004 年提出,它通過求解隱含層輸出矩陣加號廣義逆的方式代替反向傳播神經網絡中迭代更新權重的算法,得到隱含層和輸出層權重的速度大大提高。為了使極限學習機的泛化能力更強,避免在隱含層隨機分配權重,引入核參數來代替隨機產生的隱含層參數,構成核極限學習機。任意給定n個輸入樣本{(xj,tj)}(j=1,2,…,n),則含有m個隱含層神經元的網絡輸出tj表達式為
式中:β為隱含層和輸出層之間的連接權重;g(x)為激活函數;xj為第j個輸入向量;wi、bi分別為輸入層和隱含層之間第i個神經元的權重、偏置。
將式(4)描述為矩陣方程表示如下:
式中:H為隱含層的輸出矩陣;T為期望輸出矩陣。
由廣義逆理論可得:
式中:H+為矩陣H的加號廣義逆。
然而,隨著訓練樣本量的持續增長,樣本可能會出現復共線性的問題,即在計算H+=HT(HHT)-1的過程中,HHT矩陣可能會出現奇異,導致無法求解的問題。根據嶺回歸理論,在HHT的主對角線上加上正則化參數C,可避免HHT矩陣奇異、特征根為0 的問題,此時輸出權值的求解表達式為
式中:I為單位對角矩陣;C為正則化參數。
使用核函數ΩELM=HHT,即用ΩELM=h(xi)·h(xj)=K(xi,xj)來代替矩陣HHT的計算,其中h(xi)=H為隱藏層的輸出,K(xi,xj)為核函數,xi、xj為不同的輸入向量,則輸出函數的表達示為
式中:ΩELM為核函數。
核函數的種類有很多,如線性核函數、多項式核函數等,本文選用參數較少、通用性強的高斯核函數:
式中:γ為高斯核函數的參數。
麻雀搜索算法是一種新型的能夠快速收斂、具備強大尋優能力的智能優化算法,由Xue 等[23]于2020 年提出。該算法將麻雀種群分為探索者、跟隨者、預警者3類,探索者和跟隨者可根據適應度的變化相互轉化,但各自在種群中的占比不變。通過尋找食物和反捕預警行為持續更新種群的最佳位置,有n只麻雀的種群為
式中:xnm為麻雀種群X中第n個麻雀在第m個維度的位置信息;n為麻雀數;m為變量維度。
麻雀種群的適應度值可表示為
探索者是麻雀種群中擁有較高適應度的成員,負責搜尋食物,其位置更新公式為
式中:t為當前迭代次數;為在第t次迭代中第i只麻雀的第j維位置;α∈(0,1],是一個隨機數;itermax為用戶設定的最大迭代次數;R2為種群的預警閾值,R2∈[0,1];ST為用戶設定的安全閾值,ST∈[0.5,1];Q為隨機取值,服從標準正態分布;L為一個大小為1×m維的矩陣,其元素值都取1。
式(12)中,當R2<ST時,表示種群目前相對安全,探索者在周圍環境中可以自由探索覓食;當R2≥ST時,說明周圍有捕食者,預警者發出報警信息,種群飛向安全區域。
為了增加自身的能量值,跟隨者會時刻監視探索者,并隨時準備搶奪探索者的食物,跟隨者的位置更新公式為
式(13)中,當i>n/2 時,表示第i只跟隨者仍未獲得食物,為了搜尋食物,需更新自身位置,向其他地方探索覓食。通常,預警者占種群數量的10%~20%,其位置更新公式為
式中:λ為隨機取值,服從標準正態分布;為在全局解空間中種群的最佳位置;k為一個隨機數,k∈[-1,1];ε為較小正則參數,防止分母為0;fi為種群的適應度;fw為種群的所有適應度值中的最劣值;fg為種群的所有適應度值中的最佳值。
式(14)中,當fi>fg時,表示第i只麻雀偏離了群體,容易遭受捕食者的襲擊,需更新自身位置以向群體靠攏;當fi=fg時,群體中心的預警者感知到了危險,為躲避天敵的捕食,它們要向其他群體靠攏。
改進EMD 端點效應的方法有波形延拓法[24]、極值延拓法[25]和數據預測法[26]。波形延拓法如波形匹配延拓法是在原始信號的內部尋找與端點附近處相匹配的波形,將其向外延伸,但依賴內部信號的特征趨勢;極值延拓法利用端點處的極值序列特征直接對極值點進行延拓,如鏡像極值延拓法[27]是在端點附近的極值點處放置一面平面鏡,延拓的極大值與極小值等于原始序列鏡面翻轉映射的極大值和極小值,但仍由信號的內部特征尤其是端點處的極值特征確定,無法反映數據的整體特征趨勢;數據預測方法依據特定的數學模型和原始信號的整體內在特征對極值點進行預測,由于預測出的極大值和極小值服從選定模型和數據的整體特征與變化趨勢,因此該方法具有較強的穩定性和適應性。本文采用數據預測法,使用LSTM 模型對原始用水量信號兩端進行極值延拓,以抑制端點效應,然后將預測的極值點與原始序列合并,再對其進行分解,具體步驟如下:
(1)對原始用水量信號利用“滑動窗口法”分別向兩側進行預測。把n個連續數據輸入至LSTM,把與之相鄰的數據作為LSTM 的輸出,以此訓練模型。
(2)使用訓練好的LSTM 分別對序列兩端進行預測,并在模型的預測輸出序列中找出極大值、極小值點(左右兩端分別找出1 個極大值和1 個極小值),并與原始序列合并。
(3)使用3 次樣條插值法對合并后的用水量序列進行擬合并求均值曲線,之后對其分解,結束分解后截斷序列兩端合并的極值點數據,從而得到分解結果。
本研究構建的核極限學習機中有正則化系數C和核參數γ兩個參數,利用麻雀搜索算法,以訓練誤差作為算法的適應度,找出最優的C、γ值,得到SSAKELM 混合用水量預測模型,其步驟如下:
(1)根據人民勝利渠的引黃用水量數據確定KELM 的拓撲結構,以“滑動窗口法”對數據進行劃分,并輸入到模型中。
(2)初始化模型參數,包括麻雀種群規模、最大迭代次數等,在解空間中對麻雀種群位置隨機取值,并計算適應度。
(3)以KELM 的訓練誤差作為麻雀算法的適應度,依照式(12)~式(14)分別迭代計算各類麻雀的適應度,并確定麻雀的當前最優位置,直至滿足條件。
(4)當步驟(3)滿足條件循環結束,得到組合模型中最優的C、γ值,隨后對用水量進行預測。
本文基于改進的EMD 分解算法結合SSA-KELM,構建了改進的EMD-SSA-KELM 組合用水量預測模型。首先通過LSTM 數據預測法抑制了EMD 算法的端點效應,然后將改進的EMD 分量輸入至SSA-KELM中進行預測,最后將分量的預測值累加得到最后的用水量預測值。模型構建流程如圖1 所示。

圖1 模型構建流程
本文選用相似系數ρi、分解誤差ei作為抑制EMD端點效應的評價指標,選用均方根誤差(RMSE)、相對誤差(RE)和納什效率系數(NSE)作為構建的混合預測模型效果的評價指標。相似系數用來衡量IMF 分量與原始信號的相關程度,分解誤差用來衡量IMF 分量與原始信號的偏差,其計算公式如下:
式中:x為對應原始信號;imfi為分解后的第i個模態分量;cov(x)為協方差;σ(x)為方差;n為信號個數。
端點效應會導致經驗模態分解的分量產生誤差,因此抑制端點效應的方法應使得分解誤差越小越好,由式(15)、式(16)可知:當ρi越大或ei越小,即相似度越大或分解誤差越小時,表示端點效應抑制的效果越好。
RMSE、RE用于衡量預測值同觀測值之間的偏差,NSE用于評估模型模擬的好壞,具體計算公式分別為
式中:n為用水量序列長度;yi為用水量觀測值;為模型模擬值;為模擬平均值。
人民勝利渠是第一個在黃河下游探索開發的水利工程,本文選用人民勝利渠2010—2019 年以d 為單位的3 497 條引黃用水量觀測數據為實驗對象,將其以7 ∶3的比例劃分成訓練集和測試集,以RMSE、NSE為模型評估標準,同SSA-KELM 模型對比,綜合評估EMD-SSA-KELM 用水量預測模型的性能。
表1 給出了采用LSTM 預測法、鏡像極值延拓法與無極值延拓的分量評價指標,可以看出,LSTM 預測法的相似系數整體相對于鏡像極值延拓法和無極值延拓的相似系數較高,分解誤差相對較低,說明使用LSTM 預測法對于EMD 端點效應的抑制效果較好。

表1 EMD 分解評估指標對比
EMD 分解和改進的EMD 分解的端點效應控制結果對比見圖2(其中:藍色曲線代表序列無極值延拓、直接對序列進行分解的情況,紅色曲線為采用鏡像極值延拓的情況,虛線為采用LSTM 預測極值延拓的情況)。結果顯示,在IMF3~IMF5 中各分量都存在不同程度的端點效應,但隨著分解的進行,在IMF6 中無極值延拓的分量已與經過極值延拓分量的頻幅相異,而通過鏡像極值延拓和LSTM 預測極值延拓分量的頻幅相近,說明端點效應得到了較好的抑制。

圖2 IMF 端點效應抑制效果對比
本文以連續5 d 的觀測值作為模型的輸入,以未來第2、5、7、10 d 的觀測值作為輸出來訓練模型,并在測試集中進行預測。圖3 給出了SSA-KELM 和EMDSSA-KELM 的用水量預測結果對比(其中紅色、綠色、藍色曲線分別代表了序列的觀測值、SSA-KELM 的預測值、EMD-SSA-KELM 的預測值),結果表明EMDSSA-KELM 相對于SSA-KELM 的擬合效果更好。

圖3 不同時間尺度的預測曲線
圖4、圖5 分別給出了SSA-KELM 和EMD-SSAKELM 對未來第2、5、7、10 d 的用水量預測誤差和納什效率系數結果。圖4 中藍色和紅色曲線分別為SSAKELM 和EMD-SSA-KELM 的相對誤差曲線,可以看出EMD-SSA-KELM 的相對誤差明顯低于SSA-KELM 的。圖5 中藍色和紅色曲線分別為SSA-KELM 和EMDSSA-KELM 的NSE曲線,可以看出EMD-SSA-KELM模型的可信度更高,可信度趨勢更為平穩。

圖4 不同時間尺度的誤差曲線

圖5 不同時間尺度的NSE 評估曲線
綜合圖4、圖5 和表2 的結果顯示:EMD-SSAKELM 的均方根誤差在每次試驗中均相對降低40%以上,SSA-KELM 的納什系數處于0.28~0.75 的水平,而EMD-SSA-KELM 的納什系數處于0.75~0.92 的水平,模型可信度明顯高于前者,表明EMD-SSA-KELM 相對于SSA-KELM 的預測誤差較小,可信度更高,且對于選取不同的數據量,EMD-SSA-KELM 相較于SSAKELM 的穩定性更好,泛化能力更強。

表2 模型預測評估指標對比
本研究將EMD 與SSA-KELM 方法相結合,從多時間尺度對用水量進行辨識,然后根據不同的分量特征變化趨勢對用水量進行預測。改善EMD 端點效應,使分量的序列兩端信號變化趨勢更符合原始特征,可有效抑制分解誤差,彌補傳統EMD 的不足;與原始SSA-KELM 模型相比,無論在精度還是可信度上,EMD-SSA-KELM 方法都更優,且更具抗干擾性和泛化能力。然而EMD 分解對用水量時間序列突變點的處理有待優化,分量函數的具體物理意義有待探究,通過分解合成再預測的方式在運行效率上也有待進一步提升。