張浩森,龍 巖,康愛卿
(1.河北工程大學(xué)水利水電學(xué)院,河北 邯鄲 056038;2.河北工程大學(xué)河北省智慧水利重點(diǎn)實(shí)驗(yàn)室,河北 邯鄲 056038;3.中國(guó)水利水電科學(xué)研究院,北京 100038)
水庫水位預(yù)報(bào)是防汛抗洪和水庫調(diào)度的基礎(chǔ),高效精準(zhǔn)的庫水位預(yù)測(cè)對(duì)水庫調(diào)度決策、降低災(zāi)害風(fēng)險(xiǎn)具有重要意義[1]。然而,水庫水位變化受降雨量等諸多因素影響,水庫水文序列數(shù)據(jù)通常表現(xiàn)出顯著的時(shí)序性、復(fù)雜性和波動(dòng)性等特征[2],尤其是近些年氣象復(fù)雜多變,局部災(zāi)害性天氣事件頻發(fā),多流域洪水存在并發(fā)重發(fā)現(xiàn)象,水庫水位的快速變化也呈現(xiàn)增多趨勢(shì),這使得庫水位預(yù)測(cè)面臨巨大的挑戰(zhàn)。
目前,對(duì)于庫水位預(yù)測(cè)的研究方法主要分為基于物理過程的水動(dòng)力模型[3]和基于大數(shù)據(jù)的數(shù)據(jù)驅(qū)動(dòng)模型[4]。水動(dòng)力模型的精細(xì)化建??梢詫?shí)現(xiàn)水位過程的精確模擬,其模擬精度也是當(dāng)下最高的,但是水動(dòng)力模型對(duì)地形等基礎(chǔ)數(shù)據(jù)要求較高,且存在計(jì)算資源消耗高、計(jì)算效率低等問題[5,6]。因而,研究采用基于大數(shù)據(jù)的數(shù)據(jù)驅(qū)動(dòng)模型開展流溪河流域庫水位的短期預(yù)測(cè)。相較于傳統(tǒng)模型,數(shù)據(jù)驅(qū)動(dòng)模型可以更有效地利用時(shí)序數(shù)據(jù)的時(shí)變特性[5]。其中,LSTM(長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò))模型利用自身的門控結(jié)構(gòu)和細(xì)胞單元,解決了傳統(tǒng)ANN(人工神經(jīng)網(wǎng)絡(luò))在處理長(zhǎng)序列數(shù)據(jù)時(shí)面臨的梯度消失或爆炸問題,對(duì)于長(zhǎng)序列數(shù)據(jù)具備更好的預(yù)測(cè)效果,在水文長(zhǎng)序列預(yù)測(cè)中已得到廣泛應(yīng)用[7-11]。然而,基于小波-LSTM 模型的庫水位預(yù)測(cè)研究較少,因此,本文以流溪河流域的流溪河水庫和黃龍帶水庫為研究對(duì)象,構(gòu)建了基于小波-LSTM 的流溪河流域短期庫水位預(yù)測(cè)模型,對(duì)不同預(yù)見期和不同輸入特征下的庫水位進(jìn)行了對(duì)比分析,旨在為水庫水位預(yù)測(cè)提供參考。
流溪河位于廣東省廣州市東北、北江和東江之間,干流全長(zhǎng)約157 km,流域(113°10′12″E~114°2′00″E,23°12′30″ N~23°57′36″ N)總面積約2296 km2,年降雨量約1823.6 mm。降雨是流溪河流域水資源的主要來源,84%的降雨集中在汛期(4—9 月),因此流溪河流域降雨具有較強(qiáng)的季節(jié)性,且具有降雨強(qiáng)度大、范圍廣、暴雨頻繁等特點(diǎn)[12,13]。
流溪河流域建有完善的雨水情一體化監(jiān)測(cè)體系,共有48 個(gè)主要的水庫監(jiān)測(cè)站點(diǎn)和123 個(gè)雨量監(jiān)測(cè)站點(diǎn)。綜合考慮流溪河流域內(nèi)原始監(jiān)測(cè)數(shù)據(jù)收集情況,選取流域內(nèi)部的流溪河水庫和黃龍帶水庫為研究對(duì)象,研究區(qū)位置及監(jiān)測(cè)站點(diǎn)分布如圖1所示。
圖1 研究區(qū)位置示意
研究采用ArcGIS 軟件進(jìn)行子流域劃分和雨量站權(quán)重確定,并基于收集到的雨量站數(shù)據(jù)計(jì)算子流域面雨量。流溪河水庫和黃龍帶水庫雨量站權(quán)重,詳見表1。研究收集到的雨量、水位時(shí)序數(shù)據(jù)長(zhǎng)度為2015年1 月1 日—2021年1月1日,時(shí)序間隔為1 h,序列數(shù)據(jù)以2019年8 月1 日為界進(jìn)行數(shù)據(jù)集劃分。
表1 研究區(qū)雨量站權(quán)重
小波分解是一種將數(shù)據(jù)轉(zhuǎn)換到同時(shí)帶有時(shí)域和頻域特征的方法,可以實(shí)現(xiàn)對(duì)時(shí)序數(shù)據(jù)的多尺度細(xì)化,達(dá)到高頻處時(shí)間細(xì)分、低頻處頻率細(xì)分。這種分解方式增強(qiáng)了局部信號(hào)的表現(xiàn)能力,提高了模型的抗噪性[9],在一定程度上能提升模型精度。小波分解的具體實(shí)現(xiàn)可依據(jù)參考文獻(xiàn)[9]。
本研究采用離散小波對(duì)時(shí)序數(shù)據(jù)進(jìn)行分解處理。考慮到db5小波更適用于分解比較光滑的連續(xù)數(shù)據(jù)集[9],而經(jīng)過數(shù)據(jù)清洗后的水位時(shí)序數(shù)據(jù)總體呈現(xiàn)光滑狀態(tài)。因而,研究采用db5 小波對(duì)流溪河水庫和黃龍帶水庫水位時(shí)序數(shù)據(jù)進(jìn)行3 階分解,結(jié)果如圖2 所示。圖2 中S為原始水位時(shí)序數(shù)據(jù),A3為db5 小波3 階分解后的低頻近似部分,D1、D2和D3為db5小波3階分解后的高頻細(xì)節(jié)部分。
圖2 流溪河和黃龍帶水庫db5小波3階分解結(jié)果
RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))是用于時(shí)序數(shù)據(jù)分析的特殊神經(jīng)網(wǎng)絡(luò)。然而,RNN 在時(shí)間步較長(zhǎng)時(shí)會(huì)出現(xiàn)梯度消失現(xiàn)象,在狀態(tài)權(quán)重的模小于1 且時(shí)間步較短時(shí)梯度會(huì)出現(xiàn)爆炸現(xiàn)象,即RNN 對(duì)于短期依賴遠(yuǎn)大于長(zhǎng)期依賴,這使得RNN 難以處理長(zhǎng)序列時(shí)間數(shù)據(jù)的預(yù)測(cè)?;谏鲜鰡栴},LSTM(長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò))模型應(yīng)運(yùn)而生。LSTM 是一種引入門控單元和記憶細(xì)胞的特殊形式的RNN,LSTM 模型結(jié)構(gòu)如圖3 所示。從圖3 可以看出,LSTM 模型通過門控結(jié)構(gòu)和細(xì)胞單元控制傳輸狀態(tài),即遺忘門(ft)決定了上一時(shí)刻單元狀態(tài)的保留程度,輸入門(it)決定了當(dāng)前時(shí)刻網(wǎng)絡(luò)的輸入有多少可以保存到單元狀態(tài),輸出門(Ot)則控制單元狀態(tài),決定短期記憶流的呈現(xiàn)程度。這種特殊的結(jié)構(gòu)解決了RNN中長(zhǎng)期依賴問題,可以更有效地利用時(shí)序數(shù)據(jù)的時(shí)變特性。LSTM 模型的具體內(nèi)部實(shí)現(xiàn)可依據(jù)參考文獻(xiàn)[6]。
圖3 LSTM 模型結(jié)構(gòu)示意
模型構(gòu)建前需對(duì)輸入數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗和數(shù)據(jù)變換[14,15]。數(shù)據(jù)清洗主要是時(shí)序數(shù)據(jù)的異常檢測(cè)和缺失插補(bǔ)。考慮到原始數(shù)據(jù)中的異常值大多為突增和突降異常,采用Adtk 異常檢測(cè)包中的LevelShift-AD突增突降檢測(cè)算法進(jìn)行異常檢測(cè),并對(duì)檢測(cè)出的異常值采取直接剔除處理。對(duì)于經(jīng)過處理后的時(shí)序數(shù)據(jù),采用隨機(jī)森林[16]的方式進(jìn)行缺失插補(bǔ)。數(shù)據(jù)變換則是消除模型不同輸入特征數(shù)據(jù)間的差異,便于模型對(duì)輸入數(shù)據(jù)進(jìn)行加權(quán)處理,對(duì)輸出數(shù)據(jù)進(jìn)行對(duì)比分析。采用z-score 算法對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理[14],計(jì)算公式為:
式中:x為標(biāo)準(zhǔn)化后的序列數(shù)據(jù);xo為原始序列數(shù)據(jù);為序列均值;σ為序列標(biāo)準(zhǔn)差。
本研究基于Tensorflow2.0、Python3.8 和Pycharm軟件進(jìn)行水位預(yù)測(cè)模型構(gòu)建。為研究小波-LSTM模型的預(yù)測(cè)精度,分別構(gòu)建了基于單特征的流溪河水庫和黃龍帶水庫小波-LSTM 模型以及LSTM 對(duì)照模型。此外,考慮到流溪河水庫水位不僅受子流域面雨量影響,同時(shí)還受上游其余水庫站點(diǎn)影響,因而,為研究不同輸入特征對(duì)模型的影響,本研究以流溪河水庫為例,構(gòu)建了流溪河多特征小波-LSTM 模型。其中,單特征是指模型僅以面雨量為輸入特征,多特征是指模型以面雨量和流溪河水庫站(黃龍帶水庫站)上游水庫水位站點(diǎn)的前期水位為輸入特征,單特征和多特征的預(yù)測(cè)項(xiàng)均是流溪河水庫站(黃龍帶水庫站)未來不同預(yù)見期下的水位。
基于上述模型框架,設(shè)置模型的輸出步長(zhǎng)分別為1、6 和12 h,輸入步長(zhǎng)分別為12、36 和72 h,以均方根誤差為損失函數(shù),優(yōu)化器選取Adam,模型中的網(wǎng)絡(luò)隱藏層單元數(shù)、學(xué)習(xí)率、每次運(yùn)行樣本數(shù)和迭代次數(shù)由Python中的Hyperopt庫進(jìn)行優(yōu)化取值。
納什效率系數(shù)(NSE)通常用于量化模型的預(yù)測(cè)精度,是一個(gè)無量綱的精度評(píng)估指標(biāo);平均絕對(duì)誤差(MAE)是一個(gè)存在量綱的模型精度評(píng)估指標(biāo),體現(xiàn)的是模型預(yù)測(cè)和實(shí)測(cè)數(shù)據(jù)之間的真實(shí)誤差,能有效地反映出預(yù)測(cè)結(jié)果的準(zhǔn)確度;均方根誤差(RMSE)對(duì)模型預(yù)測(cè)數(shù)據(jù)中的異常值表現(xiàn)更為敏感,也是一個(gè)存在量綱的評(píng)估指標(biāo)。在指標(biāo)實(shí)際衡量過程中,RMSE的值越小則表征模型預(yù)測(cè)和實(shí)測(cè)數(shù)據(jù)之間的最大誤差越小,模型預(yù)測(cè)相對(duì)越準(zhǔn)確。
綜上,為量化模型預(yù)測(cè)精度,使用NSE、MAE和RMSE3種量化指標(biāo),計(jì)算公式為:
式中:NSE為納什效率系數(shù);MAE為平均絕對(duì)誤差(m);RMSE為均方根誤差(m);y?i為模擬數(shù)據(jù)(m);yi為監(jiān)測(cè)數(shù)據(jù)(m);-y為監(jiān)測(cè)數(shù)據(jù)均值(m);N為樣本總數(shù)。
基于上述3種量化指標(biāo),小波-LSTM模型和LSTM模型對(duì)流溪河水庫和黃龍帶水庫測(cè)試集的預(yù)測(cè)結(jié)果詳見表2,模型預(yù)測(cè)與實(shí)測(cè)水位對(duì)比如圖4所示。
表2 模型測(cè)試集預(yù)測(cè)結(jié)果
圖4 模型預(yù)測(cè)與實(shí)測(cè)水位對(duì)比
由表2和圖4可見:①隨預(yù)見期的增加,LSTM模型和小波-LSTM 模型的NSE均呈下降趨勢(shì),MAE、RMSE和最大誤差均呈上升趨勢(shì),但流溪河水庫和黃龍帶水庫的NSE均大于0.9,MAE和RMSE均保持在0.10 m 以下。結(jié)果表明,2 種模型對(duì)于流溪河水庫和黃龍帶水庫均具有很高的可信度,同時(shí)均取得不錯(cuò)的預(yù)測(cè)效果。②就相同預(yù)見期而言,小波-LSTM 模型的NSE和LSTM 相差無幾,但小波-LSTM模型對(duì)應(yīng)的RMSE和最大誤差大多都低于LSTM 模型。以1 h 預(yù)見期為例,流溪河水庫的LSTM模型的最大誤差超出小波-LSTM模型0.693 m,黃龍帶水庫的LSTM 模型的最大誤差超出小波-LSTM 模型0.303 m。結(jié)果表明,相同預(yù)見期下,小波-LSTM 模型預(yù)測(cè)的整體誤差和極值誤差均要優(yōu)于LSTM 模型,模型的整體預(yù)測(cè)效果更優(yōu)。
以流溪河水庫為研究對(duì)象,小波-LSTM 模型在1、6 和12 h預(yù)見期下的模型預(yù)測(cè)結(jié)果詳見表3,模型評(píng)價(jià)指標(biāo)對(duì)比如圖5所示。
表3 模型訓(xùn)練集預(yù)測(cè)結(jié)果
圖5 不同輸入特征下評(píng)價(jià)指標(biāo)對(duì)比
由表3 和圖5 可見,就NSE而言,單特征小波-LSTM 模型和多特征小波-LSTM 模型相差無幾;就MAE和RMSE而言,單特征小波-LSTM 模型在1 h預(yù)見期下的最低值分別為0.019和0.028 m,在6 h預(yù)見期下的最低值分別為0.036 和0.053 m,在12 h 預(yù)見期下的最低值分別為0.059 和0.085 m;就最大誤差而言,單特征小波-LSTM 模型的最大誤差在1 h 預(yù)見期下要低于多特征模型,在6 和12 h 預(yù)見期下兩者則相差無幾。由此可見:①單特征小波-LSTM 模型對(duì)水位時(shí)序數(shù)據(jù)的整體預(yù)測(cè)誤差要低于多特征小波-LSTM 模型,對(duì)于水位時(shí)序數(shù)據(jù)的整體預(yù)測(cè)效果更好;②單特征小波-LSTM 模型的極值誤差要普遍低于多特征小波-LSTM 模型,即單特征小波-LSTM 模型對(duì)水位時(shí)序數(shù)據(jù)預(yù)測(cè)中的異常值相對(duì)少于多特征模型,單特征模型的最大預(yù)測(cè)誤差范圍要小于多特征模型,對(duì)水位時(shí)序數(shù)據(jù)極值的預(yù)測(cè)效果相對(duì)較優(yōu)。
(1)隨著預(yù)見期的增長(zhǎng),NSE下降,MAE和RMSE上升,表明模型預(yù)測(cè)精度與預(yù)見期呈負(fù)相關(guān)。
(2)小波-LSTM 和LSTM模型在1、6和12 h預(yù)見期下的NSE值均大于0.9,2 種模型均具有很高的可信度。但在相同預(yù)見期下,小波-LSTM 模型預(yù)測(cè)的整體誤差和極值誤差均小于LSTM 模型,模型的整體預(yù)測(cè)效果更優(yōu)。
(3)單特征小波-LSTM 模型的整體預(yù)測(cè)誤差和極值誤差均低于多特征小波-LSTM 模型,對(duì)水位時(shí)序數(shù)據(jù)的整體預(yù)測(cè)效果更好,預(yù)測(cè)異常值更少。