?

基于VMD-LSTM的河流流量預測方法

2024-02-26 02:49欒策
東北水利水電 2024年2期
關鍵詞:分量模態流量

欒策

(遼寧生態工程職業學院,遼寧 沈陽 110122)

0 引言

近年來,受極端氣候影響,我國旱澇災害頻發,松遼流域也多次出現汛情,使城鄉積澇,給交通、農業和生產等帶來不利影響。準確的水文預報對防洪、抗旱、水資源合理利用和國防事業具有重要意義。湖泊水位具有復雜性且受季節影響較為明顯,降雨量和氣候的變化亦對其產生較大的影響[1],這些因素都給流量預測的準確性帶來巨大的挑戰。

隨著人工智能的快速發展,越來越多的學者通過深度學習算法對水文數據進行分析,從中獲取有效信息以進行預測。王亦斌和孫濤等[2]利用經驗模式分解和長短期記憶網絡相結合的方法對水位進行預測;Zhang 等[3]基于經驗模態分解方法進行數據預處理,通過建立長短期記憶神經網絡(LSTM)模型進行城市供水水質預測,提高水質檢測的準確性。

與支持向量機SVM[4]、BP 神經網絡[5]、極限學習機ELM[6]等模型相比,帶有記憶功能的LSTM 既可對連續的徑流數據進行處理,又能考慮到長時間徑流序列的季節性和周期性,因此能更合理地處理序列信息,實現序列預測。對于復雜的水位流量關系,變分模態分解(VMD)算法可有效減少數據的繁雜性?;谏鲜鲈?,本文提出一種組合模型(VMD-LSTM)應用于沙里寨水文站,以期提高該水文站的徑流預測精度。

1 研究方法及模型建立

1.1 變分模態分解算法

變分模態分解算法(VMD)是一種信號分解方法,在得到分解分量的過程中,通過迭代搜尋變分模型最優解,從而確定每個分量的頻率中心和寬帶,自適應地實現信號的頻域剖分和各分量的有效分離[7],具有較高的分解精度和較好的抗噪性能。VMD 在變分框架內構造約束變分問題,采用交替方向乘子算法(ADMM)迭代更新各模態函數及中心頻率,將原始信號分解為若干個包含原始信息的子序列。

VMD將原始信號f(t)分解為L個本征模函數uk(t)(k=1,2,3,…,L),有以下幾個主要算法[8]。

1)定義uk(t)為一個調幅調頻信號

式中:相位?t(t)為非遞減函數;Ak(t)為包絡線,Ak(t)≥0。

3)定義瞬時頻率ωk(t)=?k(t)≥0,且ωk(t)相對于?k(t)變化緩慢。每個本征模函數uk(t)與調諧到相應估計中心頻率ωk的指數混頻,將模態的頻譜移至基頻帶

4)對分解信號梯度的平方范數進行運算,從而獲得信號寬度,如式(2)。求解解調信號的高斯平滑度(梯度的平方范數),確保各模態估計寬帶之和最小,且任意時刻所有模態之和等于原始信號,得到約束變分問題:

式中:{uk} ∶={u1,…,uk} 是分解后的單分量調頻調幅信號,即本征模函數;{ωk} ∶={ω1,…,ωk} 為單分量調頻調幅信號的中心頻率;?t為對t求偏導數,t為分解信號的個數;δ(t)為脈沖函數;j為虛數單位。

5)采用懲罰因子α和拉格朗日乘子λ(t)將上述的約束問題轉換為非約束問題:

6)根據傅里葉變換中的帕塞瓦爾定理,信號的能量在時域和頻域具有等效性,將時域的問題在頻域解決。利用交替方向乘子法迭代更新模態函數中心頻率和拉格朗日乘子最終得到信號分解的所有模態。的迭代公式如下:

式中:∧為信號傅里葉變換對應的頻域形式;τ為噪聲容忍度;n為迭代次數;ω為頻率;(ω)分別為f(t),ukt,λ(t)對應的傅里葉變換。

7)迭代條件。ε為收斂容許度誤差常量,迭代停止條件表達式:

1.2 長短期記憶神經網絡模型

長短期記憶神經網絡(LSTM)模型[9]是深度神經網絡的一種,是在循環神經網絡[10](RNN)的基礎上增加了遺忘門、輸入門和輸出門,使得模型可選擇性地記憶有效信息和刪除無效信息,并解決了RNN 梯度爆炸和梯度容易消失的不足[11]。因此,LSTM模型已經在許多領域得到應用[12-15],如地下水位模擬、降水預報及COVID-19疫情分析等[16]。

LSTM 模型作為一種特殊的遞歸神經網絡,由多個記憶單元結構組成,每個記憶單元的功能由3個“門”控制:遺忘門決定對上一個單元狀態信息的舍棄量;輸入門決定新獲取的信息中儲存在當前單元狀態內的比例;輸出門決定這一時刻最終的輸出信息[17],這些門通過穩定的梯度計算確保了先前信息的保存。在單元狀態內的這3 個門上,使用以下公式,按照順序計算來處理信息。

式中:Xt為指定當前時間步的輸入變量;ht當前時間的輸出;ht-1為前一個單元的輸出;為通過tanhh激活函數將結果轉換成-1~1 之間的值;Ct為當前時刻的單元狀態;Ct-1為提供過去信息的前一個單元狀態;σ為邏輯sigmoid 函數;Wf,Wi,Wc,Wo為網絡權重矩陣;bf,bi,bc,bo為偏差向量;ft,it和Ot為遺忘門、輸入門和輸出門的激活值向量。其內部結構圖如圖1 所示。

圖1 基于VMD-LSTM 模型流量預測流程圖

1.3 VMD-LSTM 流量預測模型

VMD 算法是具有堅實的數學理論基礎,且自適應性較好的分級算法,與EMD 分解算法相比,避免了多次循環分解與模態混疊的現象。VMD分解算法在處理非平穩、非線性的數據上具有良好的效果。LSTM 模型作為目前深度學習的主流方法,具備很強的學習能力,能解決很復雜的問題[18],該模型能夠更好地處理時間序列的任務,解決了RNN 的長期依賴問題。將兩種方法組合成VMD-LSTM 模型來處理水位和流量的非線性擬合及預測,可降低數據的波動性,有效提高模型的預測精度。具體預測步驟:1)VMD 分解,利用VMD 算法對原始數據進行分解,得到K個包含原始信息的子序列IMF 1~IMF k;2)數據準備,將每個分量歸一化后劃分為訓練數據集和測試數據集;3)建模預測,基于每個分量的訓練數據集建立LSTM 模型,并對測試數據集進行預測,將預測結果作反歸一化處理;4)重構,累加步驟3 中所有分量的預測結果,得到原始徑流序列的預測結果。預測流程圖如圖2 所示。

圖2 基于VMD-LSTM 模型流量預測流程圖

2 實例分析

沙里寨水文站位于遼寧省鳳城市沙里寨鄉蔡家村,處于黃海岸一級支流大洋河下游,是大洋河的重要控制站,集水面積為4 810 km2,距大洋河口43 km。該站是國家重要水文站,觀測項目有水位、流量、降水、蒸發水溫、水質等。沙里寨水文站歷史最高洪水位為102.83 m,發生于1960 年8 月4日;歷史最大洪峰流量為12 900 m3/s,發生于1960年8 月4 日。

2.1 數據來源

選取沙里寨水文站2010—2019 年間的實測日流量序列為研究對象,將數據集劃分為訓練數據集和測試數據集兩部分,以7∶3比例劃分,訓練數據集為2010 年1 月1 日至2017 年1 月6 日共計2 562 個數據,用于構建模型;測試集數據為2017 年1 月7日至2019 年12 月31 日共計1 091 個數據,用于評估模型的預測能力。其流量原始序列如圖3 所示。

圖3 原始序列

2.2 VMD 數據分解

在VMD進行分解前,需設置相關參數,其主要的建模參數有判別精度(ε)、噪聲容限(τ)、懲罰因子(α)和分解尺度(K),通過相關實證研究發現[19],模型結果受到ε和τ的影響不大,而α和K的取值對整個模型有很大的影響。所以著重討論VMD 模型中K和α兩個參數的選擇及最終分解結果。

在VMD 模型里,模型分量個數由K表示,K值過大或過小都會對模型帶來不利的影響,使模型分解出現模態共享或者信息分解不全。α和模態分量帶寬呈負相關[20],通過諸多研究發現,如果模態分量帶寬能夠足夠小,分解后就不會出現模態共享問題,而且此參數取值還和模型運行、分解時間存在關聯。模型分解結果受到α和K的影響情況見表1。

表1 K 和α 取值對分解結果的影響

2.2.1 分解尺度K

分解尺度K又稱模態個數。如今在VMD 建模中,基本參數的選取還缺乏科學的選擇手段,所以,大部分學者都是通過多次試驗才對模型參數取值進行確定,然后在合理范圍內逐步增加模態個數,以得到相應的模態分量數,并將模態分量數按照從小到大的順序排列,最佳的模態個數K對應的模態分量中心頻率將第一次出現最大值,當K值過大或過小,都會出現中心頻率相同或相近的模態混疊現象。

在對K取值問題進行討論之時,暫擬α為2 000,依次取K=2~10,并根據模態分量中心頻率來確定K值。對流量序列進行分解,不同K值對應的中心頻率值見表2。

表2 不同K 值對應的中心頻率值

通過表2 可知,當K取值為2~6,即模態分量個數取值較小時,此時的VMD 相當于自適應濾波器,在分解時往往會忽略原始序列中的一些重要信息,在表2 中體現為最后一個模態分量還包含有細節信息未能完全分解。當K=8 時,分量6 和分量7 的中心頻率十分相近,兩個中心頻率相差僅為8;當K=9 時,分量2,3 的中心頻率差距只有7,相似度很高,分量3,4 和6~8 的中心頻率都較為接近;從K=8~10 分解出的各分量中心頻率值可以看出,相近的中心頻率出現在了不同的分量中,即隨著K值的遞增,由于分解過度,產生模態共享問題。綜上所述,若K過小,就不能完全分解信號,而若其太大,又容易有模態重疊問題產生,而當K=7時,各個分量間的中心頻率并不相同,即原始序列能夠得到很好的分解。因此,K=7 時最合適。

2.2.2 懲罰因子α

通過模型原理分析能夠發現,為了將約束條件變成非約束條件,VMD 分解算法引入了α。為了防止出現模態共享或模態堆疊的現象,α的值不宜選取過大。在對α值進行確定時,為了取值足夠合理,保持其他參數不變,選取不同的α,在模型中得到相應的分解結果,具體結果如表3所示。

表3 不同懲罰因子時VMD 分解運行時間

通過表3 能夠發現,α=2 000 時的運行時間最短。當α不斷提升之時,模型分解的收斂速度也不斷提升,而且,α值與分解后各模態分量帶寬成反比關系,α值越大模態混疊現象的出現幾率越小,綜上,當α=2 000 時最合適,此時也能夠得到較短的運行時間。

依據設置好的參數,對流量序列進行VMD 分解,分解結果如圖4 所示。

圖4 VMD 分解結果

2.3 數據歸一化

數據歸一化常用于機器學習的預處理階段,當數據集的特征間具有不同的值范圍時,數據歸一化是非常有必要的,本文數據集包含了水位、流量、降水與蒸發,為了使特征具有相同的度量尺度,可通過范圍標準化方法對流量數據進行處理,以便建立有效的模型。歸一化公式:

式中:xmax和xmin為系列中的最大值和最小值。

2.4 參數設置

此次研究采用性能指標評估模型性能,并將VMD-LSTM 模型與單一的LSTM 模型、BP 模型和VMD-BP 模型進行對比實驗,驗證本文提出模型的有效性。通過互信息法[21]確定模型的輸入變量為沙里寨水文站預測日前5 d 的日流量和日水位,以及預測日前3 d 的日降雨量和日蒸發量。參照已有研究,在LSTM 模型中主要涉及的參數設置如下:隱藏層層數設置為3、Dropout 參數設置為0.2、批量處理參數為50,經過多次學習訓練,LSTM 模型的其他超參數設定見表4,BP 神經網絡及網絡參數見表5。

表4 模型參數確定結果

表5 BP 神經網絡參數

表6 預測模型的性能對比表

2.5 模型評價指標

通過均方根誤差(RMSE)、平均絕對誤差(MAE)、平均絕對百分誤差(MAPE)和決定系數(R2)來綜合評價模型的預測效果。RMSE,MAE,MAPE的值越低模型越穩定,預測的準確率越高,R2值越接近1,則表示模型的預測性能越好。計算公式:

式中:i為第i個樣本;yi為實際值;為預測值;yˉ為平均值;SSres為殘差平方和,表示模型預測值與實際觀測值之間的差異的平方和;SStot為總平方和,表示實際觀測值與數據均值之間的差異的平方和。

2.6 預測結果分析

為了體現各模型之間的性能對比,繪制包含RMSE,MAE,MAPE和R2的4 種評價指標的性能對比表與對比圖。從表2-6 和圖2-3 可以看出,與其他模型相比,VMD-LSTM 模型的4 種指標均為最優,RMSE,MAE,MAPE都是最小,決定系數更接近1,說明本文提出的模型有著較強的泛化能力和較高的預測精度。

為了更加直觀地看出VMD-LSTM 模型的性能,對預測流量與實測流量進行繪圖。圖5 為預測流量與實測流量關于1∶1 真實線的散點圖,由圖5可以看出,相比于其他模型,VMD-LSTM 模型的預測流量更加貼合原始數據,數據更加接近1∶1真實線,而其他模型離散點較為分散。

圖5 預測流量與實測流量的散點圖

圖6 為實測流量與每個模型預測的流量過程線圖,從局部放大圖可以看出,在流量波動較大、洪峰流量較大時,VMD-LSTM 模型的預測值與真實值擬合度更高。

圖6 模型預測值

3 結語

本文提出的基于VMD 分解算法的LSTM 流量預測模型,在LSTM模型前利用VMD分解法,將原始序列分解為7 個含有原始數據信息的子序列,以減少數據的波動性,降低數據的復雜性,使LSTM模型能更好地處理數據的局部特征關系,提升模型的預測性能。預測結果表明,與單一的LSTM 模型、BP 模型和VMD-BP 模型相比,VMD-LSTM 模型預測精度最高,預測數據與實測數據更加吻合,后續可嘗試引入優化算法,對模型的參數進一步優化。

猜你喜歡
分量模態流量
冰墩墩背后的流量密碼
張曉明:流量決定勝負!三大流量高地裂變無限可能!
帽子的分量
尋找書業新流量
論《哈姆雷特》中良心的分量
分量
國內多模態教學研究回顧與展望
基于HHT和Prony算法的電力系統低頻振蕩模態識別
基于瞬時對稱分量法的三相四線制D-STATCOM控制研究
由單個模態構造對稱簡支梁的抗彎剛度
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合