劉惟飛,陳 兵,余 周
(1.華南理工大學環(huán)境與能源學院,廣東廣州 510006;2.廣東省環(huán)境風險防控與應(yīng)急處置工程技術(shù)研究中心,廣東廣州 510006)
隨著氣候變化和城市化進程加速,城市內(nèi)澇災(zāi)害越來越嚴重。精確的水位預(yù)測對于城市內(nèi)澇預(yù)警至關(guān)重要,是解決城市內(nèi)澇問題的關(guān)鍵技術(shù)[1]。目前常用的水位預(yù)測方法是以數(shù)據(jù)驅(qū)動的預(yù)測模型。近年來,機器學習方法中循環(huán)神經(jīng)網(wǎng)絡(luò)(Recur‐rent Neural Network,RNN)被廣泛應(yīng)用于時間序列預(yù)測的研究[2,3]。但是傳統(tǒng)RNN 并不能很好地處理長時依賴問題,在訓(xùn)練過程容易出現(xiàn)梯度消失[4]。梯度消失即距離當前時間步越長,信息反饋的梯度信號越不顯著。信息隨時間步數(shù)增加在網(wǎng)絡(luò)中記憶值變小的情況,這意味著RNN長時學習能力失效。而深度學習算法中的長短時記憶網(wǎng)絡(luò)(LSTM)可以有效的改善傳統(tǒng)RNN模型的缺陷,在近幾年成為了水文時序預(yù)測的主流方法之一[5,6]。但是LSTM 存在訓(xùn)練時間長、參數(shù)較多、內(nèi)部計算復(fù)雜的缺點[7]。因此,Cho等人于提出了LSTM 簡化變體——門控循環(huán)單元(GRU)[8]。此外,組合模型理論上能夠克服單一模型的局限[9]。因此部分學者利用GRU 模型和組合模型理論對傳統(tǒng)的基于LSTM 的水位預(yù)測方法進行了優(yōu)化。如:2020 年,Pan M 等[10]將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和GRU 網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合應(yīng)用于預(yù)測長江水位變化,發(fā)現(xiàn)CNN-GRU預(yù)測性能優(yōu)于LSTM;Miau S等[11]利用CNN-GRU 模型對臺灣某河流的洪水水位進行預(yù)測,結(jié)果表明CNN-GRU 模型預(yù)測精度較LSTM、CNN分別提高了35.8%和32.3%。
為探索GRU組合模型應(yīng)用于水文時序預(yù)測的有效性,本文提出了一種基于GRU 和BP 神經(jīng)網(wǎng)絡(luò)的水位預(yù)測模型。與CNN-GRU 及單一模型對比,該組合預(yù)測方法具有更好的擬合精度及穩(wěn)定性,為湖泊預(yù)測水位提供了一種新的方法。
研究區(qū)域為獵德涌的源頭西湖區(qū)域,獵德涌位置重要,是廣州市僅有的一條流經(jīng)天河區(qū)珠江新城中央商務(wù)區(qū)的河涌,獵德涌下游沿線水位過高是造成獵德涌流域低洼處水浸嚴重主要成因之一[12]。獵德涌的源頭西湖位于天河區(qū)華南理工五山校區(qū)內(nèi),最大水深8.9 m,集水面積0.031 km2,通過雙向閥門往獵德涌排水。西湖水源主要依靠降雨或“三涌補水工程”補充[13]。日常補水流量為1.2~2 m3∕s,時間為6∶00-18∶00。西湖與獵德涌水位存在顯著的相關(guān)性,源頭水位變化對于研究獵德涌流域內(nèi)澇具有重要的意義。獵德涌流域概況及西湖監(jiān)測點位置見1(a),西湖區(qū)域見圖1(b),獵德涌流域位置見圖1(c)。
圖1 研究區(qū)域概況圖Fig.1 Generalized diagram of the study area
利用課題組自主研發(fā)設(shè)計的智慧排水內(nèi)澇云服務(wù)系統(tǒng)[14]采集的2021 年3 月11 日至8 月31 日的西湖每十分鐘間隔時刻的水位值和雨量數(shù)據(jù)建立湖泊水位預(yù)測模型。包括25 056(24 h×6×174 d)組水位數(shù)據(jù)和降雨數(shù)據(jù),其中降雨量數(shù)據(jù)允許存在零值,數(shù)據(jù)包含雨前晴天數(shù)、降雨歷時等隱藏特征信息。雨量及水位數(shù)據(jù)見圖2。
圖2 監(jiān)測點降雨量及水位變化Fig.2 Rainfall and water level data from monitoring stations
深度學習的水位預(yù)測模型編程語言采用python3.8實現(xiàn),深度學習框架采用谷歌開發(fā)的TensorFlowCPU2.0版本。
組合模型的本質(zhì)思想是通過多個方面和多角度的集成學習方式修正模型誤差,因此能彌補單一模型的缺陷。BP神經(jīng)網(wǎng)絡(luò)已廣泛用于水文時間序列預(yù)測領(lǐng)域,具備較強的非線性映射能力,但缺乏時序概念,而GRU 神經(jīng)網(wǎng)絡(luò)可以比較好地解決上述問題。故本文選用GRU 與BP 組合預(yù)測,組合模型技術(shù)路線見圖3。
圖3 GRU-BP技術(shù)路線圖Fig.3 GRU-BP technology route
樣本共25056 組數(shù)據(jù),前20016 組數(shù)據(jù)(3 月11 日-7 月27日)用于訓(xùn)練,5 040 組數(shù)據(jù)(7 月28 日-8 月31 日)用于測試,時間間隔為10 min。為了消除雨量與水位數(shù)據(jù)間量綱影響,將訓(xùn)練集S及測試集T歸一化。組合模型有兩個輸入層和一個融合輸出層,采用直接預(yù)測方式,預(yù)測步長為6,即預(yù)測時長為1 h。
訓(xùn)練過程中,組合模型的訓(xùn)練集為:S==GRU-BP組合模型的測試集為:T=X為樣本中的自變量,R為雨量值,Y為水位值,為因變量。
為了準確評估模型的精度,采用均方根誤差(Root Mean Square Error,RMSE)、均方誤差(Mean Square Error,MSE)和平均絕對誤差(Mean Absolute Error,MAE)及平均絕對百分誤差(Mean Absolute Percentage Error,MAPE)作為誤差分析指標,對模型誤差進行量化評價。
通過控制變量法[15]依次選取模型關(guān)鍵參數(shù),其中GRU融合層數(shù)始終設(shè)為1,優(yōu)化方法使用均方差傳播(Root Mean Square prop,RMSprop)算法。根據(jù)經(jīng)驗調(diào)試模型初始化參數(shù)之后,保持模型其他參數(shù)不變,每次只更改某一變量比較進行貪心式尋優(yōu),最終確定模型參數(shù)組合,見表1。
表1 模型參數(shù)設(shè)置Tab.1 Model parameter Setting
以1 h 預(yù)測時長為例,為了驗證GRU-BP 模型預(yù)測湖泊水位的優(yōu)點,使用了3層中間層的LSTM、GRU模型與BP神經(jīng)網(wǎng)絡(luò)(隱藏層層數(shù)為2)以及CNN-GRU(卷積層為1 層,卷積核個數(shù)為1,卷積核尺寸為9)模型對西湖水位進行預(yù)測,并作對比分析。對比模型的超參數(shù)與GRU-BP 模型設(shè)定一致。模型預(yù)測結(jié)果見圖4,誤差見表2。
表2 不同模型預(yù)測誤差指標Tab.2 Prediction error index of different models
圖4 不同模型預(yù)測結(jié)果Fig.4 The results predicted by different models
由圖5 和表2 可知,對于測試集的整體區(qū)間水位預(yù)測,模型的預(yù)測精度從高至低依次為GRU-BP、CNN-GRU、GRU、LSTM、BP。整體的測試集可劃分為降雨期和未降雨期,降雨期又分為暴雨期、大雨期、中雨期、小雨期。對比各模型在不同時期下的預(yù)測性能,評估模型在不同情況下的多因素特征學習能力。統(tǒng)計的降雨期數(shù)據(jù)為降雨起始時至降雨結(jié)束后一個小時之間的數(shù)據(jù)。
(1)降雨期預(yù)測。測試集包含兩場暴雨、六場大雨、四場中雨、四場小雨。不同模型的預(yù)測結(jié)果分別見圖5~8。
圖5 暴雨時期預(yù)測結(jié)果Fig.5 Forecast result of rainstorm period
由圖5~8 可知,西湖水位與補水量、排水量、降雨量相關(guān)。隨著降雨總量變小,雨量與水位間的相關(guān)性減弱,水位隨降雨總量減少逐漸呈現(xiàn)線性上升或下降趨勢。
GRU-BP 的預(yù)測誤差較小,在暴雨期、大雨期、中雨期及小雨期與實際水位的最大偏差分別為20、14、8、5 cm。CNN-GRU曲線擬合度優(yōu)于GRU 與LSTM,GRU 與LSTM 擬合曲線在某些時期十分接近。BP模型的擬合曲線則隨降雨量變化波動較大。
大雨及暴雨期間,各模型對雨強峰值段期間的水位預(yù)測精度要明顯低于雨量小且均勻分布的降雨時段。當峰值雨量大于6 mm∕(10 min)時,模型在雨峰出現(xiàn)后1 h 時段內(nèi)的預(yù)測誤差顯著增大;這也表明在歷時短、雨強大的時段區(qū)間,模型不易挖掘多特征因素對水位增量影響。
各模型的預(yù)測精度會隨著變量因素增加而減少。相似降雨總量下,由于白天時刻增加補水變量因素,模型在夜間的預(yù)測精度會優(yōu)于白天。
圖6 大雨時期預(yù)測結(jié)果Fig.6 Forecast results of heavy rain period
(2)未降雨期預(yù)測。未降雨期,水位沒有雨量因素干擾,雨量輸入為零值。西湖白天的水位主要由補水量和排水量決定;傍晚至夜間的水位主要由排水量決定。未降雨期的排水量和補水量對水位的增量值為ΔY,在一段時間內(nèi)基本保持恒定。此時水位波動較小,理論上可視為線性變化。將測試集中降雨時期數(shù)據(jù)剔除,計算未降雨期的預(yù)測誤差。
(3)模型預(yù)測效果對比。為了方便比較模型在不同時期的預(yù)測精度,總結(jié)各模型在不同時期的RMSE值并以直方圖的形式顯示,見圖9。
圖7 中雨時期預(yù)測結(jié)果Fig.7 Forecast result of moderate rain period
圖8 小雨時期預(yù)測結(jié)果Fig.8 Forecast result of light rain period
圖9 模型均方根誤差指標直方圖Fig.9 Model root mean square error index histogram
由圖9 可知,大多時期,基于GRU 和LSTM 模型的RMSE都優(yōu)于BP 模型。這反映了RNN 在水文時序領(lǐng)域預(yù)測的優(yōu)勢;GRU-BP 及CNN-GRU 組合模型的預(yù)測精度都高于單一模型,且在大雨時段預(yù)測具有明顯的優(yōu)勢。一方面原因在于,與暴雨期相比,大雨期雨量對水位增量更小,誤差也更??;另一方面原因是大雨期的訓(xùn)練數(shù)據(jù)更多。這表明了合適的組合模型能有效集合單一模型優(yōu)點并克服其局限性。
卷積神經(jīng)網(wǎng)絡(luò)能有效提取多變量特征,因而CNN-GRU 應(yīng)用于多變量下的水位預(yù)測具備明顯的優(yōu)勢[10,11]。但GRU 組件自帶的特征提取能力就足以應(yīng)對特征變量較少的情況,卷積組件對模型整體的預(yù)測精度提升有限。除了小雨期精度高于GRU-BP模型,整體預(yù)測精度低于GRU-BP。
大多情況下,GRU-BP模型的評價指標都優(yōu)于其他的模型,具有最高的精度,特別在暴雨及大雨期預(yù)測具有顯著優(yōu)勢。GRU-BP 水位預(yù)測模型的優(yōu)勢在于:在未降雨期,GRU 模型框架利用獨特門控機制通過歷史水位的時序變化規(guī)律學習短期內(nèi)補水量、排水量對水位增量值ΔY。獨特的門控機制既注重短時序列聯(lián)系又可以捕捉長時序列的影響,抑制梯度消失。在降雨期,增加雨量向量值輸入,GRU 以ΔY為依據(jù)進一步挖掘出三者影響因素(補水量、排水量、雨量)對水位增量值ΔY′。BP 模型框架對降雨期的雨量輸入比較敏感,預(yù)測結(jié)果上有明顯的峰值與低值,雨量對于水位增量影響較大,可以彌補GRU 模型某些時刻增量值ΔY學習過大的問題,增強模型降雨短時預(yù)測能力。GRU 融合層根據(jù)預(yù)測方差非線性調(diào)整GRU、BP 模型框架輸出向量信息反饋的權(quán)重。該集成方式實質(zhì)上能更精確考慮補水、排水時序變化及雨量等信息對水位增量影響權(quán)重,可以平衡模型的線性與非線性預(yù)測能力,并削弱某些時刻異常輸出向量的干擾,提高了預(yù)測精度。
為評價增加訓(xùn)練數(shù)據(jù)后各模型的水位預(yù)測性能是否有所改善,測試數(shù)據(jù)集劃分與上述保持一致?;谒臅r間序列數(shù)據(jù)自身的特點,利用了參數(shù)優(yōu)化好的各模型,設(shè)計了3種不同的訓(xùn)練方案對水位進行預(yù)測,見圖10(a)。模型參數(shù)保持不變,以1 h 預(yù)測時長為例,比較了3 種不同訓(xùn)練集數(shù)據(jù)下的擬合效果,均方根誤差見圖10(b)。
由圖10(b)可知,對比3 種情形下各模型預(yù)測性能,GRUBP預(yù)測精度最高,特別在樣本量小的時候也表現(xiàn)出不錯的泛化能力。在訓(xùn)練過程中,各學習模型在增加訓(xùn)練數(shù)據(jù)后都表現(xiàn)出更好的預(yù)測性能。與用35%訓(xùn)練數(shù)據(jù)訓(xùn)練模型相比,輸入65%的典型雨季期數(shù)據(jù)訓(xùn)練的模型預(yù)測性能提升程度最大。但在進一步將訓(xùn)練數(shù)據(jù)從65%提高到100%時,預(yù)測性能提升非常有限。
圖10 不同訓(xùn)練集下的模型預(yù)測性能Fig.10 Model prediction performance under different training sets
在實際應(yīng)用中,暴雨及大雨的水位預(yù)報提前期越早,防洪方法就越有效。因此本文探索了該測試集下暴雨及大雨期下最佳適應(yīng)預(yù)測步長。模型參數(shù)保持不變,對比各模型在不同預(yù)測步長下的均方根誤差,見圖11。
由圖11(a)可知,隨著預(yù)測長度的增加,各模型在暴雨期的模擬誤差越來越大。大多情況下,GRU-BP 的預(yù)測精度都要高于其他模型;LSTM 在部分情形下(暴雨時)的預(yù)測結(jié)果要優(yōu)于GRU。與從10 min 增加到30 min 相比,預(yù)測時長從30 min 增加到1 h時,各模型的預(yù)測誤差提升較大。
由圖11(b)可知,組合模型的結(jié)構(gòu)優(yōu)勢更易從大雨時期數(shù)據(jù)中挖掘與水位相對應(yīng)的特征關(guān)系。當預(yù)測時長大于30 min時,可以看出單一模型(GRU、LSTM、BP)的預(yù)測誤差明顯增大。綜合分析,各模型參數(shù)保持不變的情況下,組合模型穩(wěn)定性好,模型的適用性強,不同預(yù)測步長都能達到相對穩(wěn)定的預(yù)測效果。
圖11 預(yù)測時長對模型預(yù)測精度影響Fig.11 The influence of prediction time on model prediction accuracy
首次嘗試將GRU-BP 組合模型應(yīng)用于湖泊水位預(yù)測方面并探討其適用性。結(jié)果表明:
(1)GRU-BP 模型可以作為水位預(yù)測的簡單有效工具,與CNN-GRU 相比,在暴雨期具有明顯的優(yōu)勢。大多情況下,與GRU、LSTM 和BP模型相比,GRU-BP集成學習的組合方式擁有更高的預(yù)測精度,且分布式并聯(lián)結(jié)構(gòu)使得模型的適用性強及穩(wěn)定性高。
(2)在缺乏足夠多的樣本數(shù)據(jù)支撐時,選取典型及代表性的水文數(shù)據(jù),也可以達到較好的模型預(yù)測效果。且模型預(yù)測湖泊的暴雨和大雨期水位時,預(yù)測步長設(shè)置為30 min 最佳。在該預(yù)測步長下即可以保證有一定提前期的時間,也能獲得不錯的模型預(yù)測效果。