劉艷偉,閔惠學,酈 英
(1.浙江大學,浙江杭州310058;2.浙江省水文局,浙江杭州 310009)
支持向量機在湄池站洪峰水位預報中的應用
劉艷偉1.2,閔惠學2,酈 英2
(1.浙江大學,浙江杭州310058;2.浙江省水文局,浙江杭州 310009)
支持向量機(SVM,Support Vector Machines)是在統(tǒng)計學習理論中發(fā)展起來的一種處理非線性分類和非線性回歸的有效方法。感潮河段洪水位是復雜的洪、潮非線性組合問題,本文嘗試將SVM方法應用于感潮河段湄池站洪峰水位預報,通過選取湄池站歷史洪水中分別反映上游來水和下游頂托作用的預報因子,建立湄池站洪峰水位的SVM回歸模型,獲得了較好預報效果。
支持向量機;非線性回歸;感潮河段;水位預報
感潮河段的洪水過程受上游徑流和下游潮汐雙重影響,進行準確的水位預報十分困難。由于洪潮相互作用機理復雜,人們對其認識尚有局限,還不能進行有效的數(shù)學模型描述?;诮y(tǒng)計理論的回歸分析方法由于對斷面資料要求不高,不需考慮河段洪水過程的物理意義,簡單實用,目前在感潮河段洪峰水位預報中應用較為廣泛。但是感潮河段水位系列在時序上具有相依性、突變性和隨機性等復雜非線性特征[1],而目前大多數(shù)回歸分析方法是建立在線性相關(guān)基礎(chǔ)上的(如近年來使用較多的多元逐步回歸方法)[2~3],用于處理此類復雜的非線性問題時具有較大的局限性。
支持向量機(SVM,Support Vector Machines)是20世紀90年代提出的一種處理非線性分類和非線性回歸的新的通用學習方法[4~5],它是建立在Vapnik等人提出的統(tǒng)計學理論[6~7]的VC維(Vapnik-Chervonenks Dimension)理論和結(jié)構(gòu)風險最小原理(Structure Risk Minimization)基礎(chǔ)上的,能較好地解決樣本空間中的高度非線性分類和回歸等問題,已成功的應用于分類、函數(shù)逼近和時間序列預測等方面。本文嘗試將SVM應用于感潮河段湄池站的洪峰水位預測,通過選取湄池站分別反映上游來水和下游頂托作用的預報因子,利用歷史洪水樣本資料構(gòu)造湄池站洪峰水位的SVM回歸預報模型,預測湄池站洪峰水位,預報精度優(yōu)良。
SVM解決非線性回歸問題的基本思路是基于Mercer核展開定理[9],通過非線性變換Φ,將樣本空間映射到一個高維乃至無窮維的線性特征空間(Hilbert空間),在高維特征空間通過一個線性超平面實現(xiàn)線性回歸,使在特征空間中可以應用線性學習的方法解決樣本空間中的高度非線性分類和回歸等問題。
假設(shè)給定的樣本數(shù)據(jù)集為:
(x1,y1),(x2,y2),...,(xk,yk),其中,xi∈RN,為N維向量,yi∈R。在SVM回歸中,輸入樣本xi首先用非線性變換映射到一個m維的特征空間,然后在這個特征空間中建立一個線性模型,用公式表示為:
式中,f(x,w)是估計函數(shù); w為權(quán)向量;Φ(x)為非線性映射集合;b為閾值。
其正確性是由損失函數(shù)來衡量的,SVM回歸引入一種新的損失函數(shù)叫做ε(不敏感損失函數(shù)),它是由Vapnik提出的。同時考慮到允許擬合誤差的情況,引入松弛因子ξi≥0,ξ*i≥0,用于表示引入訓練集的誤差。根據(jù)結(jié)構(gòu)風險化最小原則即要尋求最優(yōu)回歸超平面使:
式中,常數(shù)C(C>0)為懲罰系數(shù),表示控制訓練誤差的代價。這樣,問題轉(zhuǎn)化為求解如公式(2)一個二次凸規(guī)劃問題。由于目標函數(shù)和約束條件都是凸的,根據(jù)最優(yōu)化理論,這一問題存在唯一全局最小解。公式(2)的優(yōu)化問題通過引入拉格朗日函數(shù)將其轉(zhuǎn)化為對偶問題,通過解對偶問題得到公式(2)的解:
這就是SVM方法最終確定的非線性回歸函數(shù)。其中,αi、α*i為拉格朗日乘子,nSV為支持向量的個數(shù)。αi、α*i和b通過約束條件求得,為確定最優(yōu)超平面的參數(shù)。
支持向量機理論只考慮高維特征空間的點積運算Κ(xi,x)=Φ(xi)?Φ(x),而不直接使用函數(shù)Φ,從而巧妙地解決了因Φ未知而w無法顯式表達的問題。已經(jīng)證明,只要滿足Mercer條件的對稱函數(shù)即可作為核函數(shù),常用的核函數(shù)有:
上述求解過程有多種高效算法和成熟的計算機程序可資利用[10]。本文所應用的核心軟件為臺灣大學林智仁(Lin Chih-Jen)副教授等開發(fā)設(shè)計的LibSVM[11],它是一個簡單、易于使用和快速有效的SVM模式識別與回歸的軟件包,不但提供了編譯好的可在Windows系列系統(tǒng)的執(zhí)行文件,還提供了源代碼,方便改進、修改以及在其它操作系統(tǒng)上應用。該軟件為非商業(yè)應用的免費軟件。
湄池站位于浦陽江下游感潮河段,該站洪水位受浦陽江上游來水和錢塘江下游洪、潮水頂托的共同影響。諸暨水文站位于浦陽江中游,距離湄池站約30 km,其實測資料能準確反映浦陽江流域來水情況。聞家堰水文站位于浦陽江與錢塘江匯合口附近,距離湄池站大約40 km,觀測資料能較好的反映錢塘江洪、潮頂托影響。根據(jù)資料情況,構(gòu)建預報因子如下:
(1)諸暨洪峰水位X1和漲幅X2,反映上游來水影響;
(2)諸暨洪峰出現(xiàn)前的聞家堰最高潮位因子X3,反映下游洪潮頂托影響;
(3)聞家堰高潮位前漲潮潮差因子X4。歷史資料表明,相同量級的諸暨站洪水與下游聞家堰站不同洪、潮以及江道情況組合,會使湄池洪峰水位出現(xiàn)較大差異。據(jù)分析,聞家堰高水位主要由潮水所致時,X4的值較大,由富春江來水所致時,X4的值較小。根據(jù)聞家堰漲潮歷時,當潮型消失時X4取峰前3 h的漲幅。
本文以湄池站洪峰水位作為預報對象,以X1、X2、X3和X4為預報因子,選取1984年(考慮到大型水利工程對河道狀況的影響,選取陳蔡水庫建成后的資料)至2010年共26 a的洪水資料,構(gòu)建樣本數(shù)據(jù)集,共計選出38場洪水樣本。其中32場洪水作為訓練集,另外的6場洪水作為檢驗集,不參加建模過程。
模型構(gòu)建的過程也就是選擇合適的核函數(shù),并通過對樣本集的訓練最終確定最優(yōu)模型參數(shù)的過程。模型的優(yōu)劣以均方差(MSE)和相關(guān)系數(shù)(r2)作為判別指標,公式如下:
3.2.1 選擇核函數(shù)
核函數(shù)的選擇[15]目前國際上還沒有形成一個統(tǒng)一的模式,一般憑借經(jīng)驗。LibSVM提供了常用的3種非線性核函數(shù),本文根據(jù)試驗對比最終選定徑向基函數(shù)作為核函數(shù)建立SVM模型。
3.2.2 確定模型參數(shù)
LibSVM軟件對SVM所涉及的參數(shù)調(diào)節(jié)相對比較少,提供了很多的默認參數(shù),對于徑向基核函數(shù)的回歸問題需要人為優(yōu)選確定的參數(shù)主要有懲罰系數(shù)C、損失函數(shù)ε和核參數(shù)γ。LibSVM提供了交互檢驗(Cross Validation)的參數(shù)優(yōu)選功能:將原始數(shù)據(jù)分成K組(一般均等分,K大于等于2),將每組數(shù)據(jù)分別做一次驗證集,其余的K-1組數(shù)據(jù)作為訓練集,這樣會得到K個模型,用某組參數(shù)訓練K個模型得到的K個評分結(jié)果(MSE和r2)的平均值作為最終的評分結(jié)果,并以此為判斷參數(shù)優(yōu)劣的指標,通過逐步篩選的方法調(diào)試參數(shù),直至達到最優(yōu)結(jié)果。交互檢驗方法可以有效的避免過學習以及欠學習狀態(tài)的發(fā)生,最后得到的結(jié)果也比較具有說服力。
通過以上方法,取k=5對訓練集進行參數(shù)逐步逼近訓練,得到最佳評分結(jié)果的SVM回歸模型,表1列出了模型參數(shù)以及評分結(jié)果??梢钥闯觯瑢τ柧毤幕貓笮Ч蛯z驗集的預測效果都很理想,相關(guān)系數(shù)都在0.99以上,均方差都不到0.02,這表明建立的SVM回歸預報模型具有較好的穩(wěn)定性。
3.2.3 精度評價
表2列出了SVM模型對訓練樣本的回報和檢驗樣本的預測結(jié)果,以洪峰水位絕對誤差小于0.2 m作為合格標準。由表可知,對訓練集回報的合格率為30/32,平均絕對誤差0.006 m,最大誤差為0.29 m;對檢驗集預報的合格率為5/6,平均絕對誤差0.017 m,最大誤差為0.24 m。根據(jù)水文情報預報規(guī)范的有關(guān)規(guī)定,本方案達到甲級精度。
SVM方法是一種處理高度非線性問題的有效的機器學習方法,本文是支持向量機方法應用于洪水位預測的初步嘗試,結(jié)果顯示:在受洪、潮等復雜因素影響的湄池站,通過選擇適當?shù)念A報因子建立的SVM洪峰水位預報模型,具有較好的擬合精度,達到規(guī)范規(guī)定的甲等預報方案標準,可用于作業(yè)預報。
表1 用SVM回歸方法建立湄池站洪峰水位預測模型的評價結(jié)果
由于SVM方法是通過對歷史樣本的不斷學習來建立預報模型的,SVM預報模型的建立過程就是對歷史樣本的自學習記憶過程。因此,用盡可能多的樣本參與訓練,使預報模型包含比較完備
的支持信息,可以大大提高預報精度。建議在實際預報中適時增加新的樣本參與訓練,不斷優(yōu)化預報模型。
表2 SVM回歸模型預測湄池站洪峰水位的結(jié)果
[1]張小琴,包為民.感潮河段預報方法淺析[J].水電能源科學,2009,27(3):8-10.
[2]盧金利,俞昌都.逐步回歸法在臨海站洪水預報中的應用[J].浙江水利科技,2001,(S):120-121.
[3]周文斌,車倩.多元線性回歸法在水文預報中的應用[J].山西建筑,2009,35(1):359-360.
[4]Cristianini N and Shawa-Taylor J.An Introduction of Support Vector Machines and Other Kernel_based Learning Meth-ods[M].Cambridge:Cambridge University Press,2000.
[5]Burges C J.A tutorial on support vector machines for pattern recognition[J].Data Mining and Knowledge Discovery,1998,2:127-167.
[6]Vapnik V N.Statistical Learning Theory[M].New York:John Wiley&Sons,Inc.,1998.
[7]Vapnik V N.The Nature of Statistical Learning Theory[M].New York:Springer Verlag,2000.
[8]陳永義,俞小鼎,高學浩.處理非線性分類和回歸問題的一種新方法(I)-支持向量機方法簡介[J].應用氣象學報,2004,15(3):345-354.
[9]Courant R and Hilbert D.Method of Mathematical Physics[M].New York:Springer Verlag,1953.
[10]http://www.kernel-machines.org
[11]http://www.csie.ntu.edu.tw/~cjlin/index.html
[12]盧敏,張展羽,馮寶平.支持向量機在徑流預報中的應用探討[J].人民長江.2005,36(8):38-39.
[13]王景雷,吳景社,孫景生等.支持向量機在地下水位預報中的應用研究[J].水利學報.2003,5:122-128.
[14]李智才,馬文瑞,李素敏等.支持向量機在短期氣候預測中的應用[J].氣象.2006,32(5):57-61.
[15]朱樹先,張仁杰.支持向量機核函數(shù)選擇的研究[J].科學技術(shù)與工程.2008,8(16):4514-4517.
P731
A
1003-0239(2011)01-0072-05
2010-09-08
劉艷偉(1977-),女,工程師,主要從事水文情報預報工作。E-mail:lyanwei@163.com。