章國穩(wěn),姬戰(zhàn)生,孫映宏
(1.杭州電子科技大學自動化學院,浙江 杭州 310018;2.杭州水文水資源監(jiān)測總站,浙江 杭州 310014)
隨著平原河網(wǎng)地區(qū)城市化進程加快,人類活動使降水匯流時間縮短、洪峰變得尖瘦,對平原河網(wǎng)地區(qū)洪水預報和城市防洪提出了更高的要求。如果可實現(xiàn)洪水過程準確預報,并依此采取防洪措施,提前加固沿岸堤防,必要時進行水庫調(diào)度或者分洪,可以極大減少洪水帶來的損失。在防洪減災工作中,水文預報是基礎,防洪決策往往以洪峰水位為主要依據(jù),而及時、準確、可靠的洪水預報可對平原河網(wǎng)地區(qū)防洪排澇帶來巨大的經(jīng)濟社會效益。
目前,平原河網(wǎng)地區(qū)河道洪峰水位預報主要采用經(jīng)驗預報法,存在預報精度低、預見期短等缺點。人工神經(jīng)網(wǎng)絡在水位預報方面也有所應用,如胡健偉等[1]將BP神經(jīng)網(wǎng)絡用于為武夷山部分區(qū)域的河道斷面流量預報;金保明等[2]提出基于徑向基函數(shù)神經(jīng)網(wǎng)絡對洪水過程流量進行預報;馮鑫偉等[3]將BP神經(jīng)網(wǎng)絡應用于次洪量預測中。神經(jīng)網(wǎng)絡自身存在著一些亟待解決的問題,如網(wǎng)絡結構設計缺乏理論、訓練速度慢且易陷入局部極小值、模型泛化能力較差等問題,因此難以得到滿意預報結果。
支持向量機[4-5](Support Vector Machine,SVM),是近年發(fā)展起來的一種適用于小樣本的統(tǒng)計學習理論,其模型結構簡單,已在圖像識別[6]、時序預測[6]、多領域預測[7]等領域得到成功應用。本文嘗試將其應用于河道洪峰水位預報中。
本文提出了一種基于支持向量機(SVM)的河道洪峰水位校正預報方法,采用聚類法將歷史數(shù)據(jù)分類,選擇與預報降雨過程最相似的歷史數(shù)據(jù)訓練預報模型;采用PCA對輸入數(shù)據(jù)降維以提取有效特征;基于支持向量機建立洪峰水位預報模型;采用滾動預報方式對洪峰水位進行預報,結合最新水位以及降雨信息不斷預報洪峰水位,使得預報結精度不斷提高。通過京杭運河拱宸橋站的洪峰水位實例預測驗證本研究方法的有效性。
本文采用河道水位、對應時刻前4 h降水量、未來降水預報為影響因子。
考慮不同降水過程特性差異,采用譜系聚類算法[8]基于氣象和水文特性對歷史數(shù)據(jù)進行分類:①獲取歷史洪水過程相關信息,如相關區(qū)域降雨量以及河道水位。②計算洪水過程相關區(qū)域每小時平均降水量
(1)
(2)
式中,L為相關降水量測站總數(shù);Zi為第i場洪水過程預測水位站點的起漲水位。
基于式(2)建立各場洪水過程的距離矩陣,設定距離閾值(本文設置為1),將歷史洪水過程聚類。以聚類元素的聚類因子均值描述聚類屬性,聚類中所有洪水過程應具有相似特性。在選擇訓練樣本時,根據(jù)預報洪水過程與各聚類相似性選擇相應訓練樣本。
針對需要進行預報的降水過程,結合定量降水預報以及當前起漲水位計算與1.1中歷史數(shù)據(jù)各聚類中心的距離,選擇最相似的聚類(距離最小)作為訓練樣本。
本文采用多個時間點的降水量、起漲水位作為影響因子,從而得到高維度特征數(shù)據(jù)。高維輸入向量將帶來巨大運算量并增加有效特征提取困難。有必要對輸入向量進行降維。
定義n時刻預測站點的洪峰漲差
ΔZf(n)=Zf-Z(n)
(3)
式中,Zf為洪峰水位;Z(n)為n時刻起漲水位。
利用主成分分析法(PCA)[9]對輸入特征數(shù)據(jù)降維。
(1)建立特征矩陣
(4)
式中,m為輸入向量維數(shù);vxl為訓練樣本l;vxnow為預測時刻的輸入特征;(·)T為矩陣的轉置。其中,vxl=[Zl(n)Tr,i,f(n)vRl,f(n)vRl(n)VvRl(n-1)vRl(n-2)vRl(n-3)]vRl,f(n)=[R1,l,f(n)
R2,l,f(n) …RL,l,f(n)]vRl(n)=[R1,l(n)R2,l(n) …
RL,l(n)];Rr,i(n)、Rr,i,f(n)、Tr,i,f(n)分別為n時刻i區(qū)域的降水量、未來降水量以及相應的未來降水持續(xù)時間。
(2)對矩陣X的每一列去均值得到X0。
(4)對M進行特征值分解得到特征值λi(i=1,2,…,m),λ1>λ2>… >λm以及特征向量p1,p2,…,pm。
(5)提取貢獻率大于95%的主元表征原始信息,計算前v個分量p1,p2,…,pv貢獻率
(5)
以洪峰漲差構建目標矩陣Y,用2.1中降維后v個輸入向量構建輸入矩陣
P=EN[p1p2…pv],Y=[y1y2…yN]T
(6)
構造訓練模型即選擇核函數(shù)和確定模型參數(shù):
(1)目前支持向量回歸機提供了多種核函數(shù),不同的核函數(shù)具有不同的預測特性,并無絕對好壞。筆者對洪峰水位預測問題進行多次試驗發(fā)現(xiàn),線性核函數(shù)有較好的預測效果。因此,本文選擇線性核函數(shù)。
(2)損失函數(shù)的參數(shù)ε控制回歸逼近誤差管道的大小,影響擬合精度和泛化能力。其值越大,模型泛化能力越強,而預測精度越低;反之,亦然。通常ε的取值范圍為0.000 1~0.01。
(3)模型復雜度和逼近誤差主要受控于懲罰因子C,其越大,模型對訓練樣本的擬合度越高,模型越復雜。反之,模型的誤差越大。為了控制模型復雜程度和模型誤差之間的平衡,C通常在一個范圍內(nèi)取值,通常取值為1~1 000。
(7)
本文方法基本步驟如圖1所示。
圖1 基于SVM的錢塘江涌潮預報過程
用本文方法對杭州運河拱宸橋河道洪峰水位進行預報。摘錄了2007年~2017年共30場降雨過程相關水文數(shù)據(jù)(小時數(shù)據(jù)),包括河道附近區(qū)域各降雨量測站(塘西、拱宸橋、七堡、閘口)降水量,拱宸橋相應時間的水位。
采用本文預測模型,以2007年~2016年26場降水過程數(shù)據(jù)為訓練樣本,對2012.06.18 00∶00~06.18 16∶00之間的洪峰水位進行預測。
采用譜系聚類算法對訓練樣本進行聚類,以1為閾值可將28個訓練樣本分為5類。計算2012.06.18 00∶00~06.18 16∶00與與各聚類中心距離,得到與其最接近的1類數(shù)據(jù)。用這類數(shù)據(jù)訓練預測模型。接著對訓練樣本特征矩陣進行SVD分解,得到主成分(見圖2)。
圖2 SVD奇異值
根據(jù)奇異值累積貢獻率確定輸入特征維數(shù),本文將其閾值設為95%,可以確定降維階次為10。將22個輸入特征降為10個輸入特征,用其代替原始特征作為輸入特征。
采用訓練得到的模型,在2012.06.18 00∶00~06.18 16∶00之間,每小時根據(jù)當時的信息對未來的洪峰水位進行預報。預報結果如圖3所示。本文方法所得涌潮洪峰預測結果中,誤差在0.2 m以內(nèi)的占82.35%,誤差在0.1 m以內(nèi)的占41.18%,預測結果具有較高的可靠性??傮w而言,距離洪峰時間越遠,其預測誤差越大;反之,則越小。隨著預報結果的不斷校正,預報結果亦越來越可靠。
圖3 不同時間河道洪峰漲差預測值與真實值的比較
本文提出了一種基于支持向量機(SVM)的河道洪峰水位校正預報方法。通過譜系聚類分析對歷史數(shù)據(jù)進行分類,選擇與預報降雨過程最相似的歷史數(shù)據(jù)訓練預報模型;采用PCA對輸入數(shù)據(jù)降維以提取有效特征;基于支持向量機建立洪峰水位預報模型;基于最新的水位和降雨信息滾動預報洪峰水位,使預報結果越來越精確。2012.06.18 00∶00~06.18 16∶00之間京杭運河拱宸橋河道洪峰水位分析驗證了本文方法的有效性。