董麗梅 左 渝 黃 龍
(長江水利委員會水文局長江上游水文水資源勘測局,重慶 400025)
基于動態滑動窗口BP神經網絡的水文流量預測
董麗梅 左 渝 黃 龍
(長江水利委員會水文局長江上游水文水資源勘測局,重慶 400025)
水文流量數據中不同季度和月份的時序和周期性特點不同,而現有的滑動窗口方法基本采用固定大小窗口,且選擇隨機、誤差大。為了反映水文流量數據中不同月份的時序和周期性的不同特點,提出了動態滑動窗口的方法。該方法中對不同的月份使用動態窗口產生多個數據集,并進行BP神經網絡學習,以選擇最優窗口,最后利用最優窗口數據集進行驗證。以朱沱水文站為例的流量預測數據與實測數據的比較結果表明,基于動態滑動窗口BP神經網絡水文流量預測方法比固定窗口BP神經網絡的預測方法的預測精度更高。
水文流量;動態滑動窗口;BP神經網絡
河流的徑流量是水資源綜合開發利用、實施科學管理和優化調度的主要依據。水文流量預測是水文計算的重要內容之一,也是防洪減災、水資源高效利用的前提。因此,研究中長期水文流量預測,提高預測精度是一項具有理論意義和實用價值的工作。
按照預測時段劃分,水文流量預測可以分為短期(以天為單位)流量預測和中長期(以月或年為單位)流量預測;按預測方式劃分,可以劃分為基于成因的流量預測和基于數理統計的流量預測兩大類。目前基于成因流量預測的方法應用還不夠成熟,其原因在于水文流量不僅受到海洋、大氣、地質環境等影響,也會受到人類活動的影響,其年徑流量具有較大的不確定性。一些研究者試圖通過對河流年徑流量影響因素及其權重建立模型實現水文流量的預測,如使用ABCD模型以降水量和潛在蒸散量為輸入,模擬蒸散、徑流以及土壤水、地下水儲量的變化,對月尺度或年尺度的流量進行模擬預測[1]。這些方法依賴較多的采集手段和大量的采集數據,對具體河道具有相對較好的實用效果。但是一方面,數據采集和分析成本高,針對具體河道獲得的模型通用性不強;另一方面,如土壤、降水等長序列的河流相關歷史數據很少,也限制了此類方法的廣泛應用。而基于數理統計的水文流量預測是當前最常用的流量預測手段,如傳統的統計學方法以及灰色預測[2]、模糊預測[3]、神經網絡預測[4-5]、小波分析[6-8]和馬爾柯夫鏈[9]等方法。這些方法處理的數據維度(即窗口)是隨機且基本固定的,誤差比較大。
為此,本文針對固定滑動窗口無法獲得最優數據窗口及數據維度的問題,使用動態滑動窗口生成多維水文流量數據,然后再使用神經網絡的非線性逼近能力,建立中長期水文流量預報模型。以朱沱水文站為例進行了水文流量實驗驗證。
BP(Back Propagation)網絡1986年由Rinehart和McClelland為首的科學家小組提出,是一種按誤差逆傳播算法訓練的多層前饋網絡,具有較強的非線性映射能力和容錯性以及自適應、自組織、自學習等特征,廣泛應用于水文預測預報中[10-11]。它的學習規則是使用最速下降法,利用反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和達到最小化。BP神經網絡的模型拓撲結構主要有輸入層(input)、隱含層(hide layer)和輸出層(output layer)3層。基本BP算法包括2個方面:信號的前向傳播和誤差的反向傳播。

圖1 BP網絡結構
圖 1中xj表示輸入層第j個節點的輸入,j=1,2,…,M;wij表示隱含層第i個節點到輸入層第j個節點之間的權值;θi表示隱含層第i個節點的閾值;φ(x)表示隱含層的激勵函數;wki表示輸出層第k個節點到隱含層第i個節點之間的權值,i=1,2,…,q;ak表示輸出層第k個節點的閾值,k=1,2,…,L;Ψ(x)表示輸出層的激勵函數;ok表示輸出層第k個節點的輸出。
(1) 信號的前向傳播過程。隱含層第i個節點的輸入neti:
(1)
隱含層第i個節點的輸出yi:
(2)
輸出層第k個節點的輸入netk:
(3)
輸出層第k個節點的輸出ok:
(4)
(2) 誤差的反向傳播過程。首先由輸出層開始逐層計算各層神經元的輸出誤差,然后根據誤差梯度下降法來調節各層的權值和閾值,使修改后的網絡的最終輸出能夠接近期望值。
系統對P個訓練樣本的總誤差準則函數為
(5)
根據誤差梯度下降法依次修正輸出層權值的修正量Δwki,輸出層閾值的修正量Δak,隱含層權值的修正量Δwij,隱含層閾值的修正量Δθi。
(6)
(7)
(8)
(9)
BP算法的具體步驟如圖2所示。

圖2 BP算法程序流程
原始的水文流量數據是二維的,即時間和流量,直接用這種數據來預測,無法體現數據的時序特點,并且未來的數據也無法在現有數據的訓練中得到體現,而基于窗口的方法能產生更多維度的數據,體現歷史多個月份數據與當前月份數據的關聯關系。但是現有基于窗口的方法,其窗口大小的選擇是隨機的、固定的,無法體現不同月份數據的不同周期性特點。為此,本文通過滑動窗口的方法對時序數據進行重構,然后選擇最優窗口維度,不僅能體現時序數據之間的關聯關系,而且能夠體現不同月份數據的不同周期性特點,從而保證最優窗口維度的選擇。
在通過滑動窗口的方法將每個月份的數據處理成多維數據的方法中,以對1月份數據的預測為例,將1月份的數據作為待預測目標值,其前面n個月份的數據為數據維度,則產生了n維數據用來對1月份進行預測。本實驗中,對于任一月份的維度構建,其最大的維度個數為上一年各月份流量加上該月份在本年之前的月份數據。比如,對于2月份,之前的月份數據在本年有一個1月份的數據,加上去年12個月份的數據,其最大維度是1+12=13。
基于動態滑動窗口BP神經網絡的水文流量預測的技術路線如圖3所示。首先對于給定數據集,對第n個月的水文數據產生從1到n-1+12窗口大小的n-1+12數據集;然后使用BP神經網絡對該n-1+12個數據集進行訓練驗證,選取其中訓練驗證精度最高的為最優參數,使用該月份的最優窗口數據集對預測數據中的該月份進行預測。

圖3 基于動態滑動窗口的BP神經網絡水文流量預測技術路線
4.1 水文站概況
朱沱水文站建于1954年4月,位于重慶市朱沱鎮,東經105°50′53”,北緯29°00′46”。該水文站是長江上游重要的基本水文站,下轄1個國家基本水位站(合江站)和10個水位站,觀測范圍從四川省合江縣至重慶市巴南區魚洞街道辦事處大中村,管轄河段長138.1 km,集水面積694 725 km2,距河口距離2 645 km, 距重慶距離145.4 km。
4.2 數據來源
實驗數據來自于朱沱水文站歷年的流量數據。1954~2014年的月徑流量數據,中間由于統計原因遺失了1968~1970年3 a的數據,所以共58條數據。本文選取2013年及以前的月徑流量數據作為訓練集,對2014年的月徑流量進行預測并與實際的月徑流量數據進行對比,同時與固定窗口預測方法進行對比,分析預測模型的準確性。
4.3 模型仿真
數據分為訓練集和預測集,為了防止過擬合,訓練集分為交叉訓練集和交叉驗證集,由于算法訓練時間較長,所以該實驗采用簡單交叉驗證,即交叉驗證集只有固定的一個數據集。前54條數據作為交叉訓練集,2011~2013年的作為交叉驗證集,2014年的作為預測集。經過實驗調試后,實驗中的具體神經網絡參數結構為:網絡結構選擇最標準的3層結構,輸入節點數和窗口大小相同,由于該研究做的是預測回歸,所以輸出節點數為1,隱藏層的中間結點為25,使用高斯壓縮函數,學習率設置為 0.27,迭代次數的最大值為1 500。初始化的神經網絡權重參數全部通過隨機函數產生。
圖4顯示,1月份到12月份的最低誤差的滑動窗口大小(即數據維度)分別是: 8,3,7,11,11,11,13,6,13,12,5,3。最優窗口大小的預測精度明顯要好于其他大小的窗口。這種差距在各個月份的數據中都表現比較明顯:最優窗口和最差窗口的預測誤差能達到數百倍。說明了該方法相比基于固定滑動窗口BP神經網絡的流量預測具有一定的優勢。

圖4 動態窗口構建多維數據的BP神經網絡預測誤差曲線
圖5和6顯示了2014年朱沱水文站流量預測的實驗結果。由圖5可以看出,本文提出的方法的預測結果與實際流量數據具有很好的一致性。圖6的誤差顯示中,除4月份略大于20%,其他月份的流量預測誤差都可以控制在20%以內。近一半的月份,即1,7,8,10,12月份的數據誤差控制在了10%以內。實驗結果顯示了該方法的有效性。

圖5 2014年朱沱水文站流量預測對比

圖6 2014年朱沱水文站流量誤差示意

圖7 固定窗口為3時2014年朱沱水文站流量誤差示意

圖8 固定窗口為5時2014年朱沱水文站流量誤差示意
圖7和圖8顯示了動態窗口和固定窗口選為常用的3和5時的對比結果,通過訓練學習獲得的動態窗口的優化結果明顯要比固定窗口更接近被預測數據,相比固定窗口平均預測精度提高了3.92%。其原因主要是動態窗口方法對每個月份選擇最優的不同的窗口,更能考慮不同月份不同的水文流量周期特點。
本文基于水文流量數據的時序性和周期性特點,針對現有固定窗口的缺點,提出了動態滑動窗口的方法來構建最優維度的流量數據。該方法中,對每個月加入該年和上一年12個月份的數據(即窗口長度范圍為12~23),然后從這些數據集中選擇被BP神經網絡驗證預測精度最高的為當前被預測月份的最優窗口維度,使用最優窗口維度的數據集進行預測。該方法充分考慮了不同月份水文數據的不同周期特點。朱沱水文站的數據驗證結果顯示,相比同類固定窗口BP神經網絡方法,該方法的平均精度提高了3.92%,但不足之處在于,汛期的初始月份流量預測誤差接近20%,其主要原因一方面在于完全基于歷史流量的數據預測,其數據比較單一,如果考慮更多影響流量的氣象因素,很可能獲得更精確的預測結果;另一方面,本文所述方法只與BP神經網絡進行了結合,沒有結合其他一些性能優越的機器學習方法,如具有良好泛化能力的支持向量機、具有噪聲特征容忍能力的隨機森林等方法。為此,在未來的研究工作中,將進一步將動態滑動窗口方法和其他更多的機器學習方法相結合,并檢驗這些方法的有效性。
[1] 韓鵬飛, 王旭升. 利用ABCD模型預測流域水文對極端氣候的響應[J]. 人民黃河, 2016, 38(11):16-22.
[2] 李寶玲, 李建林, 昝明軍,等. 河流年徑流量的R/S灰色預測[J]. 水文, 2015, 35(2):44-48.
[3] 朱冰, 趙蘭蘭, 李萌. T-S-K模糊邏輯算法在撫河水文預報中的應用[J]. 水文, 2015(3):53-58.
[4] 耿延博, 王玉成. 基于BP神經網絡的河道徑流變化量預測[J]. 東北水利水電, 2016, 34(4):29-30.
[5] 邢柏鋒. 基于小波神經網絡的徑流預測方法分析[J]. 科技創新與應用, 2012(31):41-41.
[6] 王紅瑞, 劉曉紅, 唐奇,等. 基于小波變換的支持向量機水文過程預測[J]. 清華大學學報:自然科學版, 2010(9):1378-1382.
[7] 黃巧玲, 粟曉玲, 楊家田. 基于小波分解的日徑流支持向量機回歸預測模型[J]. 西北農林科技大學學報:自然科學版, 2016, 44(4):211-217.
[8] Sang Y F, Singh V P, Sun F, et al. Wavelet-based hydrological time series forecasting[J]. Journal of Hydrologic Engineering, 2016, 21(5).
[9] 劉海洋, 周傳坤. 基于馬爾柯夫鏈的桂江年徑流量豐枯預測[J]. 商情, 2014(50):161-161.
[10]李寧. BP神經網絡在水文數據中的應用研究[D]. 太原:山西財經大學, 2011.
[11]汪龍. 基于BP網絡的徑流預測研究[D]. 昆明:昆明理工大學, 2015.
(編輯:陳紫薇)
2017-03-31
董麗梅,女,長江水利委員會水文局長江上游水文水資源勘測局,助理工程師.
1006-0081(2017)06-0049-05
P333
A