黃 亞,易 靈,肖偉華,侯貴兵,李媛媛
(1.中水珠江規(guī)劃勘測設(shè)計有限公司,廣東廣州510610;2.中國水利水電科學(xué)研究院流域水循環(huán)模擬與調(diào)控國家重點實驗室,北京100038)
徑流預(yù)測一直是人們關(guān)注的重大問題。傳統(tǒng)方法如時間序列法[1]、回歸分析法[2]、模糊分析法[3]、小波分析法[4]、集對分析法[5]以及灰色預(yù)測法[6]等均在徑流預(yù)測預(yù)報中取得了一定的成效;但是由于河川徑流受眾多因素的相互作用、相互影響,具有顯著的非線性、高維性、混沌性、模糊性等諸多復(fù)雜特征,使上述方法的預(yù)測精度受到不同程度的影響[7-8]。近年來,一些學(xué)者將神經(jīng)網(wǎng)絡(luò)(ANN)、支持向量機(SVM)等機器學(xué)習(xí)方法引入徑流預(yù)測研究領(lǐng)域,取得了不少有價值的研究成果[9-10]。但是,這些方法本身仍存在著許多公開的問題,如:神經(jīng)網(wǎng)絡(luò)存在著最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)難以確定和過度擬合的問題,且單層神經(jīng)網(wǎng)絡(luò)收斂速度慢,容易陷入局部極值[11];SVM計算時間受樣本數(shù)量影響明顯,核函數(shù)以及懲罰因子的選取經(jīng)驗性較強,對預(yù)測結(jié)果影響較大等[12]。為此,探討新的更為精確徑流量預(yù)測方法顯得日益重要。
高斯過程(Gaussian Processes,GP)作為一種新的機器學(xué)習(xí)技術(shù)在多個領(lǐng)域的應(yīng)用研究引起了相關(guān)學(xué)者的密切關(guān)注[13-16]。它有嚴格的統(tǒng)計學(xué)理論基礎(chǔ),對處理高維數(shù)、小樣本、非線性等復(fù)雜回歸問題具有良好的適應(yīng)性,而且還具有參數(shù)自適應(yīng)獲取和預(yù)測結(jié)果具有概率意義等優(yōu)點[17]。GP模型在其他領(lǐng)域已經(jīng)取得了成功應(yīng)用。本文以GP模型進行徑流預(yù)測研究;同時采用傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型和SVM模型進行參照對比分析,以期尋求更為精確的徑流預(yù)測方法。
假設(shè)n個觀測數(shù)據(jù)的訓(xùn)練集為D={(xi,yi|i=1,…,n)}={X,y}。其中,xi為D中的第i個輸出變量;yi為D中的第i個目標(biāo)輸出;n為訓(xùn)練集中的樣本個數(shù)。GP模型是根據(jù)先驗知識確定輸入向量與目標(biāo)輸出之間關(guān)系f進行預(yù)測的。即在給定輸入向量時確定目標(biāo)輸出的條件分布。
假定f為一個高斯過程,即f~GP(m,k),f是一個以m為均值函數(shù),k為協(xié)方差函數(shù)的高斯過程。高斯過程是一個隨機過程,其與高斯分布類似,高斯過程完全由其均值函數(shù)與協(xié)方差函數(shù)確定。
實際目標(biāo)輸出y往往會包含一些噪聲,它與真實輸出值f(x)相差ε。即
y=f(x)+ε
(1)
(2)
觀測值y的先驗分布為
(3)
式中,K=K(X,X)為n×n階對稱正定的協(xié)方差矩陣,矩陣中的元素Kij度量了xi和yj的相關(guān)程度。
此時,訓(xùn)練數(shù)據(jù)集的n個訓(xùn)練樣本輸出向量y和測試數(shù)據(jù)集的預(yù)測值f*構(gòu)成聯(lián)合高斯先驗分布
(4)
式中,K*=K(X*,X);K**=K(X*,X*)。二者同樣反映了其中元素之間的相關(guān)程度。
GP模型可以根據(jù)實際預(yù)測數(shù)據(jù)規(guī)律選擇不同的協(xié)方差函數(shù),但都需要滿足對任一點集都能夠保證產(chǎn)生一個非負正定協(xié)方差矩陣[19]。本研究選擇各項異性平方指數(shù)函數(shù)SE作為協(xié)方差核函數(shù)
(5)
式中,xp、xq分別為訓(xùn)練樣本或者測試樣本中的任意兩個輸入向量;σf、l為超參數(shù),可以通過極大似然法獲得。即,通過建立訓(xùn)練樣本條件概率的對數(shù)似然函數(shù)對超參數(shù)求偏導(dǎo),再采用共軛梯度優(yōu)化方法搜索出超參數(shù)的最優(yōu)解。對數(shù)自然函數(shù)為
(6)
根據(jù)式(4)獲取最優(yōu)超參數(shù)后,在訓(xùn)練集(X,y)的基礎(chǔ)上,再根據(jù)貝葉斯原理預(yù)測出與X*對應(yīng)的最大概率的輸出值,其中貝葉斯原理采用觀測到的真實數(shù)據(jù),不斷更新概率預(yù)測分布,最后在已有訓(xùn)練樣本(X,y)和預(yù)測樣本X*條件下推斷出y*的最大概率的預(yù)測后驗分布
(7)
其預(yù)測值y*的均值和方差為
μ*=KT(X*)-K-1y
(8)
(9)
(1)確定訓(xùn)練樣本的輸入向量Xi中歷史點個數(shù)p,建立天峨水文站日徑流量預(yù)測模型的訓(xùn)練樣本(X,y)。
(2)數(shù)據(jù)標(biāo)準(zhǔn)化處理。當(dāng)天峨水文站徑流量實測數(shù)據(jù)數(shù)量級相差較大時或離散性較大時,需對輸入、輸出數(shù)據(jù)進行標(biāo)準(zhǔn)化處理。常用的標(biāo)準(zhǔn)化方法是:各訓(xùn)練樣本的輸入值除以所有樣本在各維度上的標(biāo)準(zhǔn)差;對輸出進行標(biāo)準(zhǔn)化處理,推薦的標(biāo)準(zhǔn)化方法是對各樣本輸出減去所有樣本輸出的平均值。
(3)選擇適合的協(xié)方差函數(shù),并依據(jù)協(xié)方差函數(shù)對超參數(shù)的要求給出初始超參數(shù)。
(4)對已建立的天峨水文站徑流量訓(xùn)練樣本進行訓(xùn)練,并通過對數(shù)自然函數(shù)式(6)獲取最優(yōu)超參數(shù)。
(6)根據(jù)上述步驟編制Matlab語言,實現(xiàn)基于GP模型的徑流量數(shù)據(jù)有效預(yù)測。
本文在利用GP模型進行徑流預(yù)測的研究中,截取了廣西天峨水文站某一年日平均徑流量中的4月份前28 d數(shù)據(jù)構(gòu)成訓(xùn)練樣本,預(yù)測未來5 d該庫區(qū)徑流狀況。在建立預(yù)測徑流量的GP模型時,以連續(xù)p+1日徑流量為一個訓(xùn)練樣本。其中,前p日徑流量構(gòu)成訓(xùn)練樣本的輸入向量;第p+1日徑流量為輸出值;p為歷史點個數(shù),對結(jié)果有較大影響。例如:給定數(shù)據(jù)x1,x2,…,x6,…,建立GP模型過程中以X1=[x1,x2,,…,xp],y1=xp+1作為訓(xùn)練樣本(X,y)的第1個輸入向量和輸出值,其余訓(xùn)練樣本輸入向量、輸出值依次類推。
經(jīng)比較歷史點數(shù)和協(xié)方差函數(shù)對回歸、預(yù)測數(shù)據(jù)精度的影響,選擇p=4個歷史點數(shù)作為輸入向量,SE作為協(xié)方差核函數(shù);建立徑流的GP預(yù)測模型,超參數(shù)的初始對數(shù)設(shè)置為:lgl=[lg(0.1),lg(0.1),lg(0.1),lg(0.01)];lg(sqrt(σf))=-1,以日徑流量訓(xùn)練樣本的極大似然為目標(biāo),經(jīng)計算得到協(xié)方差函數(shù)最優(yōu)超參數(shù)值為:lgl=[5.358,-0.844 3,0.947 0,-0.770 9,6.083 2];lg(sqrt(σf))=-6.419 0。
利用上述訓(xùn)練好的GP模型對徑流量樣本進行訓(xùn)練和預(yù)測,并以平均相對誤差絕對值MPE、均方誤差MSE以及最大相對誤差MRE作為衡量模型精度的評價指標(biāo),其值越小,預(yù)測模型描述樣本數(shù)據(jù)則越精確。即
(10)
(11)
(12)
為了分析GP模型在徑流量預(yù)測精度上較傳統(tǒng)機器學(xué)習(xí)方法的優(yōu)越性,本文同時利用傳統(tǒng)BP模型和SVM模型對相同的訓(xùn)練樣本以及預(yù)測樣本進行預(yù)測,并與GP模型的預(yù)測結(jié)果相比較,結(jié)果見表1、2。從回歸角度來說,基于傳統(tǒng)BP、SVM模型的回歸值都較GP模型相對誤差大很多,反映了GP模型在數(shù)據(jù)回歸上的相對優(yōu)越性;從預(yù)測值相對誤差來說,BP模型預(yù)測相對誤差最小值和最大值分別為1.41%和6.18%,SVM模型分別為0.01%和5.24%,而GP模型僅為0.13%和2.71%。由此可看出,GP模型的預(yù)測精度明顯優(yōu)于傳統(tǒng)BP模型和SVM模型;同時,從表2的預(yù)測結(jié)果MPE、MSE以及MRE來看,GP模型預(yù)測精度均優(yōu)于傳統(tǒng)BP模型以及SVM模型,反映了傳統(tǒng)BP模型和SVM模型的預(yù)測誤差偏高,不完全適用于此類小樣本問題。
表1 基于BP、SVM、GP模型的訓(xùn)練值及訓(xùn)練誤差
表2 基于BP、SVM、GP模型的預(yù)測值及預(yù)測誤差
(1)本文以天峨站多年日徑流量為基本資料,經(jīng)GP模型、傳統(tǒng)BP模型以及SVM模型徑流預(yù)測結(jié)果分析比較可以看出:高斯過程回歸模型模擬和預(yù)測能力要優(yōu)于傳統(tǒng)BP模型和SVM模型,模擬及預(yù)測效果平均相對誤差小于5%。實例應(yīng)用表明,GP模型應(yīng)用于徑流預(yù)測是可行的,是提高預(yù)測精度的有效方法。
(2)三種模型的預(yù)測結(jié)果都能滿足工程實際需要;但相對來說,GP模型預(yù)測精度較前兩者高,它成功克服了BP神經(jīng)網(wǎng)絡(luò)小樣本推廣能力欠缺問題,解決了SVM超參數(shù)難以確定的難題,體現(xiàn)出其獨特的超參數(shù)自適應(yīng)獲取、輸出具有概率意義等一系列的優(yōu)越性以及良好的應(yīng)用潛力,為更加精確的徑流預(yù)測提供了一種新的思路,對于地區(qū)徑流預(yù)測以及區(qū)域用水具有較大的指導(dǎo)意義。