張琴琴,劉文強,陳之鴻,郝永紅
(1.天津師范大學 天津市水資源與水環(huán)境重點實驗室,天津 300387;2.天津師范大學地理與環(huán)境科學學院,天津 300387)
我國是水資源短缺的國家之一,經(jīng)濟社會的發(fā)展進一步加重了其水資源緊缺的態(tài)勢[1]. 河流流量精確預測是水文學領(lǐng)域的重要研究內(nèi)容,特別是在水資源稀缺的地區(qū),預測河流流量有助于水資源的時空規(guī)劃和分配.然而,由于自然地理要素和人類活動的隨機性以及徑流形成過程的復雜性,徑流表現(xiàn)出高度非線性和非平穩(wěn)性[2-5],這加劇了水文預報研究的困難程度.傳統(tǒng)徑流預測模型往往基于復雜的物理過程,需要通過大量參數(shù)和復雜的模型校準過程將不確定性降至最低,從而獲得高精度的輸出[6]. 匯流過程的復雜性以及參數(shù)計算的不確定性導致同一種模型可能出現(xiàn)不同結(jié)果,甚至產(chǎn)生異參同效等問題[7];同時,基于物理過程的數(shù)值模型成本高、時間長,且需要研究人員具備一定程度的模型專業(yè)知識和經(jīng)驗,模型的預測效果不理想,以致發(fā)展受限[8].
隨著信息技術(shù)的不斷發(fā)展,數(shù)據(jù)驅(qū)動模型近年來在水環(huán)境與水資源領(lǐng)域取得了廣泛的應用.與傳統(tǒng)預測模型相比,數(shù)據(jù)驅(qū)動模型的預測性能有所提升.常見的基于機器學習的數(shù)據(jù)驅(qū)動模型包括人工神經(jīng)網(wǎng)絡(ANN)、支持向量機(SVM)和隨機森林等,基于深度學習的數(shù)據(jù)驅(qū)動模型包括卷積神經(jīng)網(wǎng)絡(CNN)、遞歸神經(jīng)網(wǎng)絡(RNN)和長短時記憶神經(jīng)網(wǎng)絡(LSTM)等[9].相關(guān)學者利用數(shù)據(jù)驅(qū)動模型做了大量研究,例如Zhang等[10]提出了一種ARIMA-ANN 混合模型,提高了預測精度;Taghi 等[11]利用時間滯后RNN 和BP 神經(jīng)網(wǎng)絡預測伊朗大壩每日流入量,結(jié)果表明2 種模型在預測日常流量時表現(xiàn)良好,但預測洪峰值的精度較低.
Wang 等[12]發(fā)現(xiàn),SVM 模型比ANN 模型更易解決樣本小、非線性和局部最小的問題,且具有良好的泛化能力;Christian 等[13]將優(yōu)化后的SVM 與傳統(tǒng)的時間序列模型(SARIMA)進行比較發(fā)現(xiàn),在適當?shù)妮斎霐?shù)據(jù)條件下,優(yōu)化后的SVM 模型能夠提供良好的預測精度.LSTM 模型對時間序列數(shù)據(jù)的預測性能較好[14],例如Ouyang 等[15]運用LSTM 模型預測美國境內(nèi)3 557個流域的降雨-徑流,結(jié)果顯示LSTM 模型不僅對小流域有很好的模擬效果,對最具挑戰(zhàn)的大流域的預測結(jié)果也較好.
在不同使用場景下,LSTM 和SVM 模型的預測效果不同,主要有3 種情形:①LSTM 預測性能優(yōu)于SVM[16-17],盡管SVM 可以提高模型的計算速率,但在處理海量數(shù)據(jù)和較低河流流量時表現(xiàn)不足,而LSTM 具有明顯的優(yōu)勢,它可以快速、準確地模擬出不同時間尺度和低入流量情況下的結(jié)果,解決了SVM 耗時長的問題;②2 種模型性能相當,如Han 等[18]對俄羅斯河流域的徑流預測的結(jié)果表明,LSTM 和SVM 模型在小時徑流預測方面性能相當,均優(yōu)于ANN 和基于分布式的物理模型的預測性能,且在豐水期的預測性能優(yōu)于枯水期;③SVM 預測效果優(yōu)于LSTM,Rahimzad 等[19]研究發(fā)現(xiàn),在一些高流量的模擬情況中,SVM 的預測效果優(yōu)于LSTM.
本研究基于LSTM 模型在處理長周期序列方面的優(yōu)勢以及SVM 良好的泛化能力,提出了LSTM-SVM混合模型,分別使用LSTM-SVM 模型和LSTM 模型預測大清河水系拒馬河上游紫荊關(guān)水文站的逐日河流流量,比較所得結(jié)果,評估LSTM-SVM 在河流流量建模中的適用性,為中長期河流流量預測提供參考.
基于人工智能的模型方法(包括人工神經(jīng)網(wǎng)絡和遺傳算法)被認為是處理非線性數(shù)據(jù)的有效方法.然而,它們在處理數(shù)據(jù)中的依賴關(guān)系時存在缺陷[20-21].近年來,RNN 因能夠?qū)W習時間序列數(shù)據(jù)的內(nèi)在特征而被應用于水文預報研究中,但由于梯度消失問題,其很難學習到長周期序列間的因果規(guī)律[22].LSTM 是一種克服了傳統(tǒng)RNN 長期依賴缺點的特殊RNN,最早由Hochreiter 等[23]提出,并被許多研究人員改進和推廣[21].具體結(jié)構(gòu)如圖1 所示,通過專門設(shè)計的門結(jié)構(gòu)(分別為遺忘門、輸入門和輸出門)和存儲單元來確定何時忘記以及保留狀態(tài)信息.
圖1 LSTM 內(nèi)部結(jié)構(gòu)Fig.1 Structure of LSTM
由圖1 可以看出,LSTM 單元共有2 條水平通道:①頂部從Ct-1到Ct為單元狀態(tài),是LSTM 的核心,通過簡單的線性操作穿透整個時間序列數(shù)據(jù);②底部由上一時刻輸出的ht-1和當前輸入的xt組成另一條通道.模型在t時刻的具體計算公式如下:
遺忘門
輸入門
單元狀態(tài)
輸出門
式中:Wf、Wi以及Wo是映射到遺忘門、輸入門和輸出門的隱藏層的權(quán)重值;bf、bi及bo為偏置值;Ct-1和Ct是上一個時間步長以及下一個時間步長的單元狀態(tài);ot表示t時刻的輸出;WC表示單元狀態(tài)的權(quán)重值.
SVM 模型是解決分類和回歸問題方面的領(lǐng)先技術(shù)之一,且在許多領(lǐng)域表現(xiàn)出色,最早由Vapnik 等[24]提出.SVM 能夠有效處理數(shù)據(jù)的非線性和非平穩(wěn)性,因而在水文領(lǐng)域得到了廣泛應用[25].SVM 的基本思想是通過一個非線性映射將樣本映射到一個高維特征空間,并在該高維特征空間構(gòu)造出最優(yōu)分類超平面,最終完成分類預測.假設(shè)訓練集輸入{xi}和目標輸出{yi},其中i∈R,則目標函數(shù)為
式中:y是預測值;w和b是函數(shù)的參數(shù)向量;φ(x)表示非線性變換函數(shù).通過解決以下優(yōu)化問題來估計參數(shù)的最佳值:
式中:C為懲罰系數(shù),它表示權(quán)重分散和目標函數(shù)之間的權(quán)衡[26];ξi、ξi*為松弛變量,表示樣本的離群程度;ε為不敏感損失函數(shù).通過在對偶空間中引入拉格朗日乘子ai和ai*,最終可得到如下決策函數(shù)
式中:K(xi,xj)為核函數(shù),本研究采用線性核函數(shù),它具有參數(shù)少、速度快的優(yōu)點,表達式為
根據(jù)當前LSTM 計算量大、耗時長等不足以及SVM 速度快、分類能力強等優(yōu)勢,本研究提出一種LSTM-SVM 混合模型,模型框架如圖2 所示.
圖2 LSTM-SVM 模型框架Fig.2 Prediction framework of LSTM-SVM
由圖2 可以看出,本研究預測模型包含數(shù)據(jù)輸入、LSTM 模型及SVM 3 個部分.第一階段:給定輸入序列X=(x1,x2,…,xn),主要包含降水、水位和水溫3個水文要素及氣溫、氣壓、相對濕度、日照和風速5個氣象要素.第二階段:將數(shù)據(jù)提供給LSTM 層,通過3 層LSTM 堆疊對數(shù)據(jù)進行深度挖掘.從而確定后續(xù)單元需要保留的信息. LSTM 包含1 個tanh 層和3個sigmoid 函數(shù).每層LSTM 都與其他層相互作用,主要連接上一層數(shù)據(jù)的輸入以及當前數(shù)據(jù)的輸出.第三階段:修改LSTM 網(wǎng)絡的softmax 層,在softmax 層使用SVM 分類器進行預測并直接輸出預測值,進一步提升預測結(jié)果的準確性.
LSTM-SVM 模型的邏輯流程圖如圖3 所示.由圖3可以看出,預測過程先對數(shù)據(jù)進行標準化處理,消除指標之間的量綱影響,再將數(shù)據(jù)集劃分為70%的訓練集和30%的預測集;然后將LSTM 和SVM 分類器進行組合,原始數(shù)據(jù)集通過LSTM 模型的記憶單元和遺忘門機制,將深度特征提取的數(shù)據(jù)輸入給SVM;最后對組合模型進行數(shù)據(jù)訓練并做預測,評估模型誤差,當預測結(jié)果未達到模型評估標準時,重新調(diào)節(jié)參數(shù),直至達到標準,輸出序列,完成預測.
圖3 LSTM-SVM 邏輯流程圖Fig.3 Logic flow chart of LSTM-SVM
為了評估模型的性能和準確性,本研究使用公式(12)—(15)作為評估標準.平均絕對誤差(MAE)和均方誤差(RMSE)越接近0,模型的性能越好;Nash-Sutcliffe 模型的效率系數(shù)(NSE)和決定系數(shù)(R2)越接近1,模型的性能越好.
式中:xi為觀測值;為觀測序列的均值;yi為模型的預測值;為統(tǒng)計模型的變量模擬值;n為樣本數(shù).參考文獻[27-28],模型性能評級標準如表1 所示.
表1 模型的性能評級Tab.1 Performance ratings of model
拒馬河是海河流域大清河水系北支的主要河流,發(fā)源于河北省淶源縣西北太行山麓,流經(jīng)河北省易縣、淶水縣,至北京張坊分為南拒馬河和北拒馬河.北拒馬河流經(jīng)河北涿州、高碑店,在白溝鎮(zhèn)與南拒馬河匯合后稱為大清河,最后流入天津海河,全長238 km,流域面積4 938 km2,如圖4 所示.拒馬河為重要的水源地,對下游白洋淀生態(tài)濕地和雄安新區(qū)有重要的水源供給和生態(tài)屏障作用.紫荊關(guān)水文站(北緯39°26′,東經(jīng)115°10′)位于易縣的紫荊關(guān)鎮(zhèn),是拒馬河上游唯一的重要河道控制站,控制流域面積1 760 km2[29]. 流域內(nèi)植被情況較差,水土流失嚴重,屬溫帶半干旱大陸性季風氣候,夏季炎熱多雨,冬季寒冷干燥,汛期雨水暴漲暴落,水位流量較不穩(wěn)定.
2.2.1 數(shù)據(jù)來源
本研究中紫荊關(guān)水文站數(shù)據(jù)來源于中華人民共和國水文年鑒《海河流域水文資料》(中華人民共和國水利部水文局刊?。ㄖ鹑掌骄髁?、水溫、降水量和平均水位;研究流域上游無相應氣象站,故選取與水文站點距離最近的氣象數(shù)據(jù)為研究資料,數(shù)據(jù)來源于中國科學院地理科學與資源研究所的國家級地面氣象觀測站易縣氣象站(站號54507)日值數(shù)據(jù)集,包含5 項氣象數(shù)據(jù).以水溫、降水、水位、氣溫、氣壓、相對濕度、日照、風速作為模型的輸入變量,河流流量的預測值作為模型的輸出量.由于洪水水文要素在一年中出現(xiàn)的次數(shù)較少,連續(xù)年間存在間斷,故以小時為單位的數(shù)據(jù)存在不連續(xù)的現(xiàn)象,基于此,選用日尺度的水文時間序列數(shù)據(jù)進行水文模型的河流流量預測. 數(shù)據(jù)長度為2006 年1 月1 日—2019 年12 月31日,其中2006 年1 月1 日—2015 年9 月30 日為訓練期,2015 年10 月1 日—2019 年12 月31 日為預測期.針對少量監(jiān)測數(shù)據(jù)缺失的問題,取每年該月份的平均值進行填補,水文和氣候資料如圖5 所示.
2.2.2 模型參數(shù)
LSTM-SVM 模型在LSTM 部分的主要參數(shù)及參數(shù)值為:神經(jīng)元數(shù)(32)、優(yōu)化器(adam)、批量大?。?4)、迭代次數(shù)(1200)、損失函數(shù)(mse)和隨機丟棄值(0.5).模型在SVM 部分需要率定的主要參數(shù)為:模型結(jié)束標準的精度(tol)、懲罰系數(shù)(C值)和損失函數(shù)(ε).C值越大,對模型的的懲罰力度也越大,模型的精度更高但容易出現(xiàn)過擬合;ε 值越大表明模型容錯越多,越易發(fā)生欠擬合[9].本研究中當tol = 10.1,C=16.1,ε = 0.1時,模型在預測集上的表現(xiàn)最好.
為驗證LSTM-SVM 模型預測河流流量的優(yōu)點,分別使用LSTM-SVM 模型和LSTM 模型對流量進行模擬,并對比分析模擬結(jié)果.為了便于比較,LSTM 模型的構(gòu)建與LSTM-SVM 模型中的LSTM 模塊一致.
由于水文氣象因素對河流流量的影響具有一定的時效性,本研究分別選取1~7 d 的時間步長來模擬拒馬河的流量,這種短時滯的選取方法在水文預報中也有應用[30-32],2 組模型在預測期內(nèi)的各項性能指標如圖6 所示.
圖6 預測期間模型在不同時間步長的各指標雷達圖Fig.6 Radar chart of each indicator of the model at different time steps during the forecast period
由圖6 可以看出,LSTM 和LSTM-SVM 混合模型的R2和NSE 值均有超過0.5 的情況,表明這2 種模型都取得了可接受的結(jié)果,可以成功應用于中長期逐日流量預測.混合模型在時間步長為4 d 時的RMSE 和MAE 最低,NSE 和R2最高,預測效果最好,在1~7 d預測期的總體性能呈現(xiàn)先上升后下降的趨勢;LSTM模型在時間步長為1 d 時預測效果最好,在步長為7 d時的效果最差,在不同預測期的預測性能趨勢不清晰.LSTM-SVM 模型在時間步長為4 d 時的R2和NSE 值均大于0.65,高于LSTM 模型.總體來看,2 種模型在不同時間步長下的預測結(jié)果中,時間步長為4 d 時的LSTM-SVM 模型預測性能表現(xiàn)最好,能準確地模擬出拒馬河上游的河流流量.與LSTM 模型相比,LSTM-SVM模型預測性能更高,是模擬逐日低流量時間序列的有效方法.
2 種模型對拒馬河上游的河流流量模擬結(jié)果如圖7 所示.為了便于比較,圖8 具體展示了預測期內(nèi)連續(xù)30 d 的模型預測結(jié)果.
圖7 LSTM-SVM 和LSTM 模型河流流量日模擬結(jié)果Fig.7 Daily simulation result of the river flow based on LSTM-SVM and LSTM
圖8 預測期連續(xù)30 d 預測結(jié)果Fig.8 Results of testing period for 30 consecutive days
由圖7 和圖8 可以看出,2 種模型對低流量時間序列的預測效果良好,且能很好地捕捉到最高峰時段(2012 年)的河流流量,但對其他峰值的流量預測一般,總體預測效果較為理想.LSTM 模型在訓練期預測效果好,在預測期的效果不佳(圖7),多次高估了峰值的流量,原因可能是河流流量的峰值在中長期的時間序列上出現(xiàn)次數(shù)較少,模型對這一現(xiàn)象的捕捉程度較弱,模型在訓練階段的不穩(wěn)定也可能導致預測期效果不佳.因此,在訓練階段對數(shù)據(jù)充分學習有利于提高模型預測結(jié)果的準確性.針對流域中長期徑流預測存在高度非線性、復雜性等特征,LSTM-SVM 模型效果優(yōu)于單獨的LSTM 算法,原因可能是它不僅具備LSTM 學習長期依賴的技能,還具備支持向量機縮小結(jié)構(gòu)誤差、獲得全局最優(yōu)解的技能.
LSTM-SVM 和LSTM 模型在預測期中觀測值與模擬值的散點圖及殘差圖分別如圖9 和圖10 所示. 混合模型觀測數(shù)據(jù)與預測數(shù)據(jù)之間的離散度相對較小,河流流量既沒有被高估也沒有被低估,殘差值的范圍更為合理,表明LSTM-SVM 模型在中長期的預測周期里比LSTM 模型更穩(wěn)定,其模擬值與觀測值之間的擬合程度更高且更具代表性.
圖9 預測期中觀測值與模擬值散點圖Fig.9 Scatter plots of observed and forecasted values during the testing period
圖10 預測期觀測值與模擬值殘差Fig.10 Residual of observed and simulated values during the testing period
本研究基于紫荊關(guān)站逐日水文數(shù)據(jù)及氣象數(shù)據(jù),利用LSTM-SVM 混合模型和LSTM 模型對河流流量進行預測,評估并比較預測結(jié)果,探討2 種模型對水文時間序列的適用性.主要結(jié)論如下:
(1)LSTM-SVM 和LSTM 模型都可以應用于河流流量預測.相同條件下,混合模型的R2和NSE 值普遍高于LSTM 模型,RMSE 值低于LSTM 模型. 因此,LSTM-SVM 模型比LSTM 模型預測精度更高.
(2)LSTM-SVM 和LSTM 模型在中長期河流流量預測中,對低流量的時間序列預測精度較高,對除最高峰外的其他峰值預測效果不高.與單獨LSTM 模型相比,混合模型在峰值流量預測方面有顯著優(yōu)勢,高估峰值的情況較少.
(3)對比2 個模型在預測期的散點圖與殘差圖發(fā)現(xiàn),LSTM-SVM 模型的預測值與觀測值間的擬合程度更高且殘差波動小,與LSTM 模型相比,LSTM-SVM 模型的預測前景更好.
以上結(jié)果表明,LSTM-SVM 混合模型對時間序列數(shù)據(jù)具有良好的非線性學習能力,在徑流模擬中具有很大的應用潛力.但模型對峰值的預測效果不佳,預測精度還有待提高,在未來的研究中,應對模型的組合及參數(shù)選取進行深入研究,進一步提高模型的穩(wěn)健性和適用性.