王亦斌,孫 濤,梁雪春,謝海洋
(1.南水北調(diào)東線江蘇水源有限責任公司,江蘇 南京 210019; 2.南京工業(yè)大學電氣工程與控制科學學院,江蘇 南京 211816)
準確的水位和水量等水文時間序列預測是水資源管理的重要依據(jù),對于調(diào)水監(jiān)測有著重要的作用。傳統(tǒng)的水文時間序列預測方法有回歸分析、時間序列分析等,還有模糊識別法、灰色模型、小波神經(jīng)網(wǎng)絡分析[1-5]。隨著機器學習方法的興起,很多學者使用機器學習方法進行建模,相對于傳統(tǒng)的統(tǒng)計預測模型,機器學習方法具有更好的適應性。面對數(shù)據(jù)量化不確定性問題,Porter等[6]提出一種人工神經(jīng)網(wǎng)絡(artificial neural networks,ANN)方法來預測地下水水位;針對在臺風期間受潮汐影響水位波動較大問題,Wei[7]提出了小波-支持向量機算法來預測每小時的水位數(shù)據(jù),為臺風襲擊期間的水位預測問題提供了實用的解決方案;Moosavi等[8]提出了小波-自適應神經(jīng)模糊推理系統(tǒng)(wavelet-adaptive neuro-fuzzy inference system,wavelet-ANIS)方法,比較了ANN、Wavelet-ANN、ANIS和Wavelet-ANIS在地下水位預報上的表現(xiàn);Zhong等[9]分析了長江潮汐水位預測的復雜性,在獲取了長江下游(安慶、蕪湖、南京)的每日水位的歷史數(shù)據(jù)后,提出使用人工智能-Kalman濾波方法進行水位預報;Wang等[10]分析南水北調(diào)中線陶岔渠首的水位數(shù)據(jù)情況,提出了一種改進Cuckoo-搜索梯度增強樹算法(CCS-gradient boosting decision tree)進行水位預報。近年來,隨著深度學習技術(shù)的發(fā)展,深度神經(jīng)網(wǎng)絡也逐漸被應用于時間序列預測分析中,尤其是循環(huán)神經(jīng)網(wǎng)絡(recurrent neural networks,RNN)在時序數(shù)據(jù)處理上表現(xiàn)出很強的適應性。Chang等[11]使用循環(huán)神經(jīng)網(wǎng)絡作城市水位預測和洪水預報。張軒等[12]為提高秦淮河流域東山站水位預報的精度,基于BP神經(jīng)網(wǎng)絡算法建立經(jīng)驗預報模型,分別根據(jù)降雨歷時、起漲水位兩種模式對水位漲幅進行預報。常見的RNN等算法存在梯度消失或者梯度爆炸的問題,而長短期記憶神經(jīng)網(wǎng)絡(long short-term memory networks,LSTM) 是一種引入了遺忘門、輸入門和輸出門3種門控單元和記憶細胞的特殊形式的RNN,這種特殊的結(jié)構(gòu)可以緩解梯度消失或者梯度爆炸問題[13]。 LSTM通過門控結(jié)構(gòu)調(diào)整隱藏狀態(tài)中信息的流動,輸入門可以識別需要添加到長期項的狀態(tài),遺忘門可以控制需要消除的長期項狀態(tài),可以使得模型能學習何時忘記以前的隱藏狀態(tài),何時根據(jù)新的信息更新隱藏狀態(tài),從而能夠成功地捕獲時間序列中的長期模式,因此,被廣泛應用于交通、金融和經(jīng)濟序列預測中[14-16]。LSTM模型在水文時間序列預報和模擬方面也受到了關(guān)注。為了有效提高流域內(nèi)站點徑流量預測的精度,馮銳[17]運用LSTM技術(shù)建立九龍江流域站點徑流序列預測模型和數(shù)據(jù)模擬模型。劉亞新等[18]綜合使用梯度下降與Broyden-Fletcher-Goldfarb-Shanno算法來訓練LSTM模型,并將模型用于葛洲壩水電站水位預測。以入湖流量和長江干流流量作為輸入條件,郭燕等[19]采用LSTM模型預測鄱陽湖的水位變化。閆佰忠等[20]基于地下水位、蒸發(fā)量、降水量、氣溫、氣壓、相對濕度、日照時長、開采量等多個指標構(gòu)建多變量的LSTM地下水位預測模型。通常水文時間序列是非平穩(wěn)且非線性的,為提高預測精度,陳旭等[21]提出了基于經(jīng)驗模式分解(empirical mode decomposition,EMD)的AR預測模型用于水文站的年徑流量預測?;谏鲜鲅芯?,采用EMD和LSTM相結(jié)合的算法(EMD-LSTM)進行河流水量水位預測,首先采用信號處理中常用的經(jīng)驗模式分解方法將水文時間序列數(shù)據(jù)分解為不同時間尺度的固有模態(tài)函數(shù),然后對EMD分解的每個特征序列使用LSTM模型進行預測,最后疊加每個特征序列預測值得到預測結(jié)果。
南水北調(diào)工程對改善水環(huán)境、促進區(qū)域經(jīng)濟和社會的可持續(xù)發(fā)展具有重要的戰(zhàn)略意義。在我國南水北調(diào)工程的重要河段中,準確預測河流水位水量,對水庫調(diào)度、防洪、發(fā)電、灌溉等具有重要意義。本文擬使用EMD和LSTM模型對水位、水速和水量進行預測。以南水北調(diào)工程某河流2017年11月到 2018年6月中每隔1 h瞬時流量、流速和水深監(jiān)測數(shù)據(jù)為研究對象,采用中值濾波對數(shù)據(jù)進行預處理,基于EMD-LSTM進行時間序列建模。
EMD是Huang等[22]提出的自適應信號時頻處理方法,它不需要預先設(shè)置任何基函數(shù),根據(jù)數(shù)據(jù)本身的時間尺度特征將信號分解成有限數(shù)目的固有模態(tài)函數(shù)。對時間序列{Xt}的EMD分解過程如下:
步驟1:求出時間序列{Xt}的極大值和極小值,由三次樣條插值函數(shù)擬合所有極值點得到上包絡線{Ut}和下包絡線{Lt}。
步驟2:計算上包絡線和下包絡線的均值,記為
(1)
步驟3:令
(2)
步驟5:令殘差
(3)
(4)
式中:Rt為EMD分解的殘差。
LSTM是一種引入了遺忘門、輸入門和輸出門3種門控單元和記憶細胞(可看作一種特殊的隱藏狀態(tài))的特殊形式的循環(huán)神經(jīng)網(wǎng)絡,這種精心設(shè)計的結(jié)構(gòu)緩解了RNN的梯度消失問題, LSTM神經(jīng)元結(jié)構(gòu)如圖1所示,其中,Xt為當前時刻輸入;Ht-1,Ht分別為前一和當前時刻的隱藏狀態(tài);It、Ft、Ot分別為當前時刻的輸入門、遺忘門和輸出門;Gt為當前時刻的候選記憶細胞;ct-1、ct分別為前一和當前時刻的記憶細胞;Yt為輸出。關(guān)于LSTM的更多細節(jié)可參考文獻[15]。
圖1 LSTM細胞單元結(jié)構(gòu)
設(shè)隱藏單元數(shù)為h, 在t時刻輸入Xt∈Rn×d(其中n為樣本數(shù),d為輸入長度),前一時刻的隱藏狀態(tài)Ht-1∈Rn×h(可視為短期狀態(tài)),則在t時刻輸入門It∈Rn×h,遺忘門Ft∈Rn×h和輸出門Ot∈Rn×h表達式為
It=σ(XtWXI+Ht-1WHI+bI)
(5)
Ft=σ(XtWXF+Ht-1WHF+bF)
(6)
Ot=σ(XtWXO+Ht-1WHO+bO)
(7)
式中:It、Ft、Ot都由sigmoid激活函數(shù)控制, 它們的輸出值都在0~1之間。記憶細胞ct(可視為長期狀態(tài)) 可由式(9)計算:
Gt=tanh(XtWXG+Ht-1WHG+bG)
(8)
ct=Ft?ct-1+It?Gt
(9)
式中:WXI、WXF、WXO、WXG∈Rd×h為4個全連接層關(guān)于它們的輸入向量的權(quán)重矩陣;WHI、WHF、WHO、WHG∈Rh×h為4個全連接層關(guān)于它們的短期狀態(tài)Ht-1的權(quán)重矩陣;bI、bF、bO、bG∈R1×h為4個全連接層的線性偏倚;σ(·)和tanh(·)為sigmoid函數(shù)和雙曲正切函數(shù);?表示向量間的逐元素相乘。隱藏狀態(tài)和輸出的表達式為
Yt=Ht=Ot?tanh(ct)
(10)
以南水北調(diào)工程某河流2017年11月3日到2018年6月30日每隔1 h的中水文數(shù)據(jù)為試驗對象,所記錄的水文數(shù)據(jù)包括水深、流速和瞬時流量,共有5 727條記錄,水深、流速和瞬時流量的時間序列曲線見圖2。
圖2 瞬時流量、流速和水深數(shù)據(jù)序列
水流變化會受到天氣、測量等隨機因素的影響,原始數(shù)據(jù)包含一些噪聲數(shù)據(jù),噪聲數(shù)據(jù)達到一定程度會影響預報的準確性,為此采用中值濾波來消除噪聲數(shù)據(jù)。記{x1,x2,…,xT}為觀測時間序列, 其中xt為t時刻觀測值,令
(11)
為記號方便起見,記{y1,y2,…,yT}為LSTM模型需要處理的時間序列,輸入變量的時間窗口為K,即選擇當前時刻的前K個時間觀測值作為輸入變量來預測,LSTM模型的輸入為
(12)
圖3 預測窗口長度為12 h的LSTM模型對瞬時流量的EMD分量預測結(jié)果
輸出為
(13)
式中:L為預測窗口長度, 也就是說用前面的K個時刻的觀測值來預測接下來L個時刻的數(shù)據(jù)。使用均方根誤差ER:
(14)
作為損失函數(shù)來確定隱藏狀態(tài)的維數(shù)和式(5)~(10)的權(quán)重矩陣,采用均方根誤差ER和平均相對誤差EM來評價模型的預測精度,EM定義為
(15)
把以南水北調(diào)工程某河流2017年11月3日到2018年6月30日每隔1 h瞬時流量、流速和水深3個時間序列分別按照3∶1作為訓練集數(shù)據(jù)和測試集數(shù)據(jù),即每個序列的前4 259個數(shù)據(jù)作為訓練集,后1 432個數(shù)據(jù)作為測試集。
首先對中值濾波預處理后的瞬時流量數(shù)據(jù)進行EMD分解為本征模函數(shù)部分和殘差部分,對EMD分解的各個本征模函數(shù)和殘差部分分別訓練LSTM方法進行預報,并將預報結(jié)果進行疊加構(gòu)建瞬時流量的預測結(jié)果。LSTM實驗在PyTorch環(huán)境下進行,在數(shù)據(jù)預處理階段中值濾波的窗口長度設(shè)置為2,LSTM模型訓練中以均方根誤差作為損失函數(shù),使用的梯度下降優(yōu)化器為Adam優(yōu)化器,輸入變量的時間窗口K=24 h,即每次預測需要前24 h的觀測數(shù)據(jù),epoch(指所有的訓練樣本輸入網(wǎng)絡中完成一次前向和反向傳播的過程)設(shè)為200,學習率為0.000 1,隱藏單元數(shù)為64。圖3為預測窗口長度L=12 h的LSTM模型對瞬時流量的EMD分量(I(1),I(2),…,I(7)和殘差Rt)預測結(jié)果。
圖4 不同預測窗口長度兩種方法對瞬時流量的預測結(jié)果
表1 兩種模型下瞬時流量預測誤差比較
窗口長度為12 h關(guān)于瞬時流量LSTM預測結(jié)果和EMD-LSTM預測的結(jié)果比較。改變預測時間窗口長度為6 h,對瞬時流量進行預測,兩種模型的預測效果見圖4(c)(d)。由圖4可知,LSTM方法和EMD-LSTM方法都能取得較好的預測效果,特別當預測時間較短時,預測效果更優(yōu)。為了更為顯著比較兩種方法優(yōu)劣,截取2018年6月11日0點到6月25日24點共360 h數(shù)據(jù)(該時段內(nèi)的數(shù)據(jù)變換形式較多,因此更能衡量預測算法優(yōu)劣。)在預測窗口長度為12 h和 6 h兩種情況下的LSTM預測方法和EMD-LSTM預測方法的結(jié)果進行比較,如圖5所示。由圖5可知,對瞬時流量而言,EMD-LSTM預測方法優(yōu)于LSTM方法,特別對幅度變化較大時段,EMD-LSTM方法優(yōu)勢更為顯著。同時,短時段的預測效果優(yōu)于長時段,原因在于預測窗口長度太長,數(shù)據(jù)信號會產(chǎn)生新的變化,而這些變化很難從歷史數(shù)據(jù)中學習。
圖5 不同預測窗口長度瞬時流量預測結(jié)果比較
進一步對流速和水深分別使用LSTM模型和EMD-LSTM模型進行預測,預測效果見圖6~9,預測誤差見表2和表3。從對瞬時流量、流速和水深這3種指標的預測結(jié)果可以看出,兩種模型都可以很好地預測水文數(shù)據(jù)的變化,但EMD-LSTM模型的預測精度更高,特別對波動較大時段,EMD-LSTM方法優(yōu)勢更為顯著,這是由于LSTM方法適合于預測相對比較規(guī)律的信號,高頻噪聲的干擾會極大地降低LSTM方法的預測精度,使用EMD-LSTM可以把信號中的高頻部分分離出來預測,極大地減少了高頻噪聲的干擾。另外,兩種模型下,預測窗口長度越小,均方根誤差和平均相對誤差越小,預測越準確,曲線擬合越好,即短時段的預測效果優(yōu)于長時段,原因在于預測窗口長度太長,受氣候、環(huán)境和人類活動影響,水文數(shù)據(jù)信號會產(chǎn)生新的變化,而這些變化很難從歷史數(shù)據(jù)中學習。
圖6 不同預測窗口長度兩種方法對流速的預測結(jié)果
圖7 不同預測窗口長度流速預測結(jié)果比較
圖8 不同預測窗口長度兩種方法對水深的預測結(jié)果
圖9 不同預測窗口長度水深預測結(jié)果比較
表2 兩種模型流速預測誤差比較
表3 兩種模型水深預測誤差比較
本文建立了基于EMD-LSTM神經(jīng)網(wǎng)絡的預測模型,并分別對水深、流速和瞬時流量序列預報,對每個序列預報的主要步驟是:①使用中值濾波消除噪聲數(shù)據(jù);②對預處理后的數(shù)據(jù)進行EMD分解為IMF部分和殘差部分;③對步驟②中的每一部分使用LSTM方法進行預報,并將預報結(jié)果進行疊加。利用LSTM和EMD-LSTM兩種模型分別對3個水文指標數(shù)據(jù)序列在不同預測窗口下進行預測,結(jié)果表明:①兩種模型下,預測窗口長度越小,均方根誤差和平均相對誤差越小,預測越準確,曲線擬合越好,即短時段的預測效果優(yōu)于長時段;②兩種模型都可以很好地預測水文數(shù)據(jù)的變化,但EMD-LSTM模型的預測精度更高,特別對波動較大時段,EMD-LSTM方法優(yōu)勢更為顯著。EMD-LSTM方法更適合于含有高頻噪聲干擾的水文時間序列。
本文提供的方法可以很好地對水文數(shù)據(jù)進行短期預報,為水位預判和水資源的實時調(diào)度提供決策依據(jù)和技術(shù)支撐。本研究數(shù)據(jù)不足1 a,模型未考慮季節(jié)因素,后面隨著數(shù)據(jù)的積累,可以進一步選取季節(jié)特征進行研究。