王 軍,高梓勛,單春意
(1.鄭州大學 管理工程學院,河南 鄭州 450001;2.鄭州航空工業管理學院 大數據科學研究院,河南 鄭州 450046)
河流徑流量預測一直是水文研究領域的基礎工作之一[1],精準的徑流量預測對及時有效的水資源管理、灌溉管理決策、洪水風險預警以及水庫調度等有極為重要的作用[2]。然而,河流徑流量受氣候變化、人類活動等的影響[3],呈現出強烈的非線性、隨機性特征,因此精準的徑流量預測成為水文學者們研究的熱點[4]。長期以來,各學者在河流徑流量預測方面使用的方法大體上分為兩類:一是基于概念性或物理性水文模型的徑流量預測方法,此類方法通過過程概念化或物理定律方程組來描述徑流形成過程[5];二是基于數據驅動模型的徑流量預測方法,此類方法不依賴水文物理機制,把徑流量和其他相關要素的歷史觀測數據輸入模型,通過建立變量間的輸入與輸出關系對徑流量進行預測[6]。
近年來,隨著水文觀測技術和機器學習算法的高速發展,智能算法在水文領域的應用日益受到重視,數據驅動模型受到學者們的廣泛關注,以BP神經網絡和長短時記憶網絡(LSTM)為代表的機器學習算法越來越多地應用到河流徑流量預測中。王佳等[7]結合集合經驗模態分解(EEMD)與BP神經網絡,實現了對黃河上游龍羊峽水庫入庫月徑流量的精準預測。李代華[8]基于主成分分析(PCA)-斑點鬣狗優化(SHO)-BP神經網絡對盤龍河月徑流量和年徑流量進行預測,證實了PCA-SHO-BP組合模型對月徑流量和年徑流量的預測性能均優于SHO-SVM、PCA-SVM等未優化的模型。范宏翔等[9]利用LSTM構建鄱陽湖流域氣象-徑流模型,探究最佳的模擬窗口長度,證實了該模型可以有效模擬鄱陽湖流域的徑流過程。蔡文靜等[10]通過時頻分析和預報因子篩選對LSTM模型進行優化,分別將經驗模態分解(EMD)、變模態分解(VMD)、離散小波變換與LSTM模型組合來預測瑪納斯河的徑流量,結果表明VMD-LSTM模型對徑流量的總體變化趨勢和極值均具有良好的預測效果。包苑村等[11]在VMD-LSTM模型的基礎上引入卷積神經網絡(CNN),構建VMD-CNN-LSTM模型對渭河流域張家山水文站、魏家堡水文站的月徑流量進行預測,證實了該組合模型具有較高的預測精度。
各學者雖然對BP神經網絡和LSTM模型進行了一定程度的優化,但由于影響河流徑流量的因素眾多,不確定性很大,BP神經網絡在預測精度和適應性上還有提升空間,LSTM模型存在梯度問題和訓練時間長的問題。時間卷積神經網絡(TCN)的因果卷積、膨脹卷積特性可以很好地解決上述問題,其在數值天氣預報[12]、風電功率預測[13]、太陽輻射預測[14]方面的精度和泛化性能已經超過了LSTM模型。本文以黃河花園口水文站為研究對象,基于花園口水文站歷年降水量、流量、含沙量的觀測數據,采用TCN模型預測河流徑流量(以日均流量表示),通過引入Attention機制為TCN模型中的關鍵特征賦予更大權重,建立多變量TCN-Attention黃河花園口水文站日均流量預測模型。通過實驗對LSTM模型和TCN模型的預測結果進行比較,得出TCN-Attention模型預測日均流量的精度和泛化性能。
黃河花園口水文站是黃河干流重要的控制站和黃河下游防汛的標準站,控制流域面積為73萬km2,占黃河流域總面積的92%[15]。該水文站監測流量長期以來是下游防汛工作的重要參照指標,但該水文站所處河道沖淤劇烈,徑流量變化復雜,對徑流量的精準預測十分困難。選取黃河花園口水文站2008年1月1日—2012年12月31日共1 827 d的實測日均流量、日降水量、日均含沙量作為研究數據[16],數據源自國家地球系統科學數據中心,研究期內各變量的變化情況見圖1。
圖1 花園口水文站日均流量、日降水量、日均含沙量變化情況
為使原始數據滿足多維模型訓練的要求,需要對各變量的原始數據進行預處理,具體步驟如下:
(1)選取輸入變量和輸出變量。從圖1可以看出,花園口水文站日均流量、日降水量、日均含沙量有相似的變化趨勢,把流量、降水量、含沙量作為模型的輸入變量,把日均流量作為模型最終預測的輸出變量。
(2)數據歸一化。為使大小差異巨大的原始時序數據輸入模型后加快模型訓練收斂速度、提高預測精度,將以上3個變量的原始時序數據統一調整至[0,1]區間[17],歸一化公式為
式中:Xt為t時刻的原始觀測數據;Xnorm為歸一化后的數據;Xmax、Xmin分別為3個變量原始數據的最大值、最小值。
(3)數據集劃分。為使模型得到更充分的迭代訓練,將3個變量數據中90%的數據作為訓練集、10%的數據作為驗證集。
(4)數據反歸一化。在模型訓練完畢后進行模型性能評價時,需要將歸一化處理的數據反歸一化,以更加準確地評估模型輸出的預測值與真實值之間的差距,反歸一化公式為
傳統一維CNN應用于時間序列預測時,用卷積層提取時序信息形成記憶,卷積層感受野決定了記憶序列的長短。CNN雖擁有并行高效計算的優勢,但受限于信息易泄露、感受野擴張難度大,預測精度仍較低。TCN是一種新型的可以用來解決時間序列預測問題的模型,由因果卷積、膨脹卷積、殘差連接等模塊組成,具有更穩定的梯度、更高的計算效率、更長的記憶序列等優勢,不會引入未來時刻的數據信息,避免了數據泄露。
2.1.1 因果卷積
TCN作為一個主要用于時間序列預測的網絡模型,在該模型中引入因果卷積可以使模型在預測t時刻的目標數據yt時僅對t時刻以及t時刻之前的輸入數據(xt,xt-1,xt-2,…)進行卷積計算并提取時序特征,這就使得TCN對yt的預測只與t時刻及t時刻之前的信息有關,避免了傳統CNN卷積計算會提取到未來數據信息的缺點。此外TCN還使用步長為1、零填充大小為kz-1(kz為卷積核尺寸)的一維全卷積網絡,確保了模型輸入大小與輸出大小相等。
2.1.2 膨脹卷積
引入膨脹卷積可以在保證TCN模型輸入大小與輸出大小相等以及引入因果卷積的前提下,使TCN模型的感受野指數倍擴大,從而讓TCN以更長的記憶序列進行預測。其原理是按照膨脹系數d的大小對普通CNN的感受野插入空白信息,d的數值通常是形如(1,2,4,8,…)的指數數列。膨脹卷積計算公式為
式中:X為輸入序列;s-d?i為對時序數據信息的索引;f(i)為卷積核的第i個元素。
2.1.3 殘差連接
當TCN引入因果卷積和膨脹卷積擴大感受野時,無法避免地會增加網絡深度,需要使用殘差連接來解決梯度衰退甚至梯度彌散問題[18]。殘差連接是在一般的CNN連接結構中增加一條快捷通道,將模型的輸入序列X添加至卷積計算的輸出序列F(X)中。區別于一般的ResNet模型把X直接添加到殘差模塊的輸出序列中,TCN模型使用1×1卷積處理X,確保F(X)與X有相同的寬度。
Attention機制是對人腦注意力集中于有用信息的仿真模擬,通過權重分配使模型減少對無用信息的關注,從而充分關注重要信息[19]。Attention權重值計算公式為
式中:ht為TCN模型隱層的輸出;et為ht對應的Attention權重值;w、v為所需要訓練的權重參數;b為偏置系數;at為歸一化指數函數(softmax)計算后ht對應的Attention權重值;yt′為模型輸出的預測值。
本文使用多個變量的輸入來進行日均流量預測,不同變量與不同時刻的數據對日均流量的影響程度各不相同,Attention機制的使用可以篩選出對日均流量變化影響較大的關鍵因素,并賦予關鍵因素較大的權重,減小非關鍵因素的權重,提升對日均流量預測的準確性。
針對黃河花園口水文站流量影響因素多、變化趨勢不確定性強、峰值變化大等問題,將花園口水文站的流量、降水量、含沙量3個變量作為模型輸入數據,結合TCN模型與Attention機制,設計一種多變量TCNAttention日均流量預測模型,模型整體結構見圖2,以ht輸出為例展示TCN膨脹卷積和因果卷積過程,前期已進行實驗調參。TCN-Attention模型第一層為輸入層,將3個變量的時序數據輸入模型,依照膨脹系數d分別為1、2、4、8、16、32,結合因果卷積和膨脹卷積的一維卷積隱層對輸入數據進行信息提取。隱層通過權重歸一化進行加速計算和收斂,隱層之間使用線性整流激活函數(Relu)作為激活函數,并在隔層之間使用殘差連接,以1×1卷積操作保證隔層之間維度相同,殘差模塊結構見圖3。每一隱層的卷積核尺寸為2,卷積核數量為32。由Attention機制自動判定隱層輸出的特征信息ht對日均流量變化影響的大小,對信息h1、h2、…、ht分別賦予權重a1、a2、…、at,隨后每個特征向量與其對應的權重向量合并成新向量,全連接層作為最后的輸出層,最終輸出TCN-Attention模型的預測值。
圖2 TCN-Attention模型結構
圖3 殘差模塊結構
TCN-Attention模型以降低真實值與預測值之間的誤差作為訓練目標,迭代更新卷積層、全連接層與Attention機制中的參數,直至誤差收斂完成訓練。使用平均絕對誤差(MAE)、均方根誤差(RMSE)以及平均絕對百分比誤差(MAPE)作為評估模型預測精度的指標,計算公式分別為
式中:n為時序數據個數。
使用TensorFlow的Keras框架作為深度學習開發平臺進行仿真實驗。為驗證多變量TCN-Attention模型預測日均流量的性能,設置LSTM模型和TCN模型的預測對比實驗。這3個模型均使用黃河花園口水文站流量、降水量、含沙量數據作為輸入,在劃分好的訓練集上進行迭代更新,均使用MAE作為損失函數。按照以往相似研究經驗設置實驗超參數[20],并經過實驗調優得到最終超參數,優化器選擇Adam優化器,初始學習率為0.001,batch_size設置為32,訓練輪次為200個epoch。LSTM模型結構包括輸入層、兩個包含20個神經元的隱層以及輸出層,兩個隱層間有dropout結構緩解過擬合,TCN模型的部分參數與TCN-Attention模型相同。
3.2.1 模型訓練集預測值、驗證集預測值分析
對LSTM、TCN、TCN-Attention模型訓練完成后,分別繪制模型輸出的訓練集預測值、驗證集預測值以及對應的真實值的折線圖,見圖4~圖6。對比3個模型的預測值與真實值可知,3個模型無論是在訓練集還是在驗證集都能大致預測出與真實值接近的日均流量,證明建立基于多變量數據驅動的日均流量預測模型的思路切實可行。但對于不同時間范圍內日均流量峰值附近的預測值,3個模型出現了不同程度的誤差。LSTM模型在日均流量峰值附近的預測誤差最大,這種情況在訓練集和驗證集中都有出現,集中體現在日均流量超過4 000 m3/s時誤差最明顯。日均流量峰值的預測對防洪預警、水庫調度等非常重要,因此使用單一LSTM模型難以滿足實際需求。TCN模型對日均流量的整體預測以及峰值預測均優于LSTM模型,其在日均流量平穩變化和周期變化時可以較好地預測,但日均流量變化具有不確定性,使用單一TCN模型仍無法準確預測在939~944 d、956~961 d時間范圍內出現的日均流量小峰值。與TCN模型相比,TCN-Attention模型中的Attention機制可以很好地篩選對流量值影響更大的特征向量,非線性擬合能力更強,解決了TCN模型在預測日均流量部分峰值時誤差較大的問題,有效應對隨機性強、影響因素眾多的流量變化。此外,TCN-Attention模型訓練集預測效果與驗證集預測效果相差不大,說明該模型沒有出現嚴重的過擬合現象,有較好的泛化性能。
圖4 LSTM模型擬合情況
圖6 TCN-Attention模型擬合情況
3.2.2 誤差評價指標分析
為更直觀地比較3種模型預測日均流量的性能差異,表1列出了3種模型預測值與真實值的誤差評價指標值。由表1可知TCN模型和TCN-Attention模型的3種誤差評價指標值均遠小于LSTM的,說明LSTM模型對日均流量峰值預測的較大誤差很大程度地影響了模型整體的預測性能,對于多變量情況下的日均流量預測,LSTM模型的整體性能不如TCN模型。與TCN模型相比,TCN-Attention模型的MAE、RMSE、MAPE值分別降低了20.25%、24.90%、24.39%,由此可見,Attention機制的使用有利于TCN模型更準確地預 測日均流量,其平均絕對百分比誤差僅為0.967%。
圖5 TCN模型擬合情況
表1 3種模型的誤差評價指標值
以2008—2012年黃河花園口水文站日均流量、日降水量、日均含沙量歷史觀測數據為依據,提出了一種基于TCN-Attention模型的多變量黃河日均流量預測模型,該模型在迭代更新卷積層權重的同時,還能自動調整向量權重,使得對日均流量變化影響更大的向量權重增大。該模型使用了因果卷積、膨脹卷積、殘差連接的結構,既保留了CNN并行高效計算的優勢,增大了記憶序列的長度,還避免了LSTM存在的梯度問題和CNN存在的信息泄露問題。對TCN-Attention、LSTM、TCN模型進行對比,得出了以下結論:
(1)LSTM、TCN、TCN-Attention模型都可以大致預測出日均流量的變化趨勢,TCN模型和TCNAttention模型的預測性能整體優于LSTM模型。
(2)Attention機制可以通過調整特征向量權重進一步提升TCN模型的預測性能,與TCN模型相比,TCN-Attention模型的MAE、RMSE、MAPE值分別降低了20.25%、24.90%、24.39%,TCN-Attention模型具有較優的泛化性能。