黃 亞,易 靈,肖偉華,侯貴兵,李媛媛
(1.中水珠江規劃勘測設計有限公司,廣東廣州510610;2.中國水利水電科學研究院流域水循環模擬與調控國家重點實驗室,北京100038)
徑流預測一直是人們關注的重大問題。傳統方法如時間序列法[1]、回歸分析法[2]、模糊分析法[3]、小波分析法[4]、集對分析法[5]以及灰色預測法[6]等均在徑流預測預報中取得了一定的成效;但是由于河川徑流受眾多因素的相互作用、相互影響,具有顯著的非線性、高維性、混沌性、模糊性等諸多復雜特征,使上述方法的預測精度受到不同程度的影響[7-8]。近年來,一些學者將神經網絡(ANN)、支持向量機(SVM)等機器學習方法引入徑流預測研究領域,取得了不少有價值的研究成果[9-10]。但是,這些方法本身仍存在著許多公開的問題,如:神經網絡存在著最優網絡結構難以確定和過度擬合的問題,且單層神經網絡收斂速度慢,容易陷入局部極值[11];SVM計算時間受樣本數量影響明顯,核函數以及懲罰因子的選取經驗性較強,對預測結果影響較大等[12]。為此,探討新的更為精確徑流量預測方法顯得日益重要。
高斯過程(Gaussian Processes,GP)作為一種新的機器學習技術在多個領域的應用研究引起了相關學者的密切關注[13-16]。它有嚴格的統計學理論基礎,對處理高維數、小樣本、非線性等復雜回歸問題具有良好的適應性,而且還具有參數自適應獲取和預測結果具有概率意義等優點[17]。GP模型在其他領域已經取得了成功應用。本文以GP模型進行徑流預測研究;同時采用傳統BP神經網絡模型和SVM模型進行參照對比分析,以期尋求更為精確的徑流預測方法。
假設n個觀測數據的訓練集為D={(xi,yi|i=1,…,n)}={X,y}。其中,xi為D中的第i個輸出變量;yi為D中的第i個目標輸出;n為訓練集中的樣本個數。GP模型是根據先驗知識確定輸入向量與目標輸出之間關系f進行預測的。即在給定輸入向量時確定目標輸出的條件分布。
假定f為一個高斯過程,即f~GP(m,k),f是一個以m為均值函數,k為協方差函數的高斯過程。高斯過程是一個隨機過程,其與高斯分布類似,高斯過程完全由其均值函數與協方差函數確定。
實際目標輸出y往往會包含一些噪聲,它與真實輸出值f(x)相差ε。即
y=f(x)+ε
(1)

(2)
觀測值y的先驗分布為
(3)
式中,K=K(X,X)為n×n階對稱正定的協方差矩陣,矩陣中的元素Kij度量了xi和yj的相關程度。
此時,訓練數據集的n個訓練樣本輸出向量y和測試數據集的預測值f*構成聯合高斯先驗分布
(4)
式中,K*=K(X*,X);K**=K(X*,X*)。二者同樣反映了其中元素之間的相關程度。
GP模型可以根據實際預測數據規律選擇不同的協方差函數,但都需要滿足對任一點集都能夠保證產生一個非負正定協方差矩陣[19]。本研究選擇各項異性平方指數函數SE作為協方差核函數
(5)
式中,xp、xq分別為訓練樣本或者測試樣本中的任意兩個輸入向量;σf、l為超參數,可以通過極大似然法獲得。即,通過建立訓練樣本條件概率的對數似然函數對超參數求偏導,再采用共軛梯度優化方法搜索出超參數的最優解。對數自然函數為
(6)
根據式(4)獲取最優超參數后,在訓練集(X,y)的基礎上,再根據貝葉斯原理預測出與X*對應的最大概率的輸出值,其中貝葉斯原理采用觀測到的真實數據,不斷更新概率預測分布,最后在已有訓練樣本(X,y)和預測樣本X*條件下推斷出y*的最大概率的預測后驗分布
(7)
其預測值y*的均值和方差為
μ*=KT(X*)-K-1y
(8)
(9)
(1)確定訓練樣本的輸入向量Xi中歷史點個數p,建立天峨水文站日徑流量預測模型的訓練樣本(X,y)。
(2)數據標準化處理。當天峨水文站徑流量實測數據數量級相差較大時或離散性較大時,需對輸入、輸出數據進行標準化處理。常用的標準化方法是:各訓練樣本的輸入值除以所有樣本在各維度上的標準差;對輸出進行標準化處理,推薦的標準化方法是對各樣本輸出減去所有樣本輸出的平均值。
(3)選擇適合的協方差函數,并依據協方差函數對超參數的要求給出初始超參數。
(4)對已建立的天峨水文站徑流量訓練樣本進行訓練,并通過對數自然函數式(6)獲取最優超參數。

(6)根據上述步驟編制Matlab語言,實現基于GP模型的徑流量數據有效預測。
本文在利用GP模型進行徑流預測的研究中,截取了廣西天峨水文站某一年日平均徑流量中的4月份前28 d數據構成訓練樣本,預測未來5 d該庫區徑流狀況。在建立預測徑流量的GP模型時,以連續p+1日徑流量為一個訓練樣本。其中,前p日徑流量構成訓練樣本的輸入向量;第p+1日徑流量為輸出值;p為歷史點個數,對結果有較大影響。例如:給定數據x1,x2,…,x6,…,建立GP模型過程中以X1=[x1,x2,,…,xp],y1=xp+1作為訓練樣本(X,y)的第1個輸入向量和輸出值,其余訓練樣本輸入向量、輸出值依次類推。
經比較歷史點數和協方差函數對回歸、預測數據精度的影響,選擇p=4個歷史點數作為輸入向量,SE作為協方差核函數;建立徑流的GP預測模型,超參數的初始對數設置為:lgl=[lg(0.1),lg(0.1),lg(0.1),lg(0.01)];lg(sqrt(σf))=-1,以日徑流量訓練樣本的極大似然為目標,經計算得到協方差函數最優超參數值為:lgl=[5.358,-0.844 3,0.947 0,-0.770 9,6.083 2];lg(sqrt(σf))=-6.419 0。
利用上述訓練好的GP模型對徑流量樣本進行訓練和預測,并以平均相對誤差絕對值MPE、均方誤差MSE以及最大相對誤差MRE作為衡量模型精度的評價指標,其值越小,預測模型描述樣本數據則越精確。即
(10)
(11)
(12)
為了分析GP模型在徑流量預測精度上較傳統機器學習方法的優越性,本文同時利用傳統BP模型和SVM模型對相同的訓練樣本以及預測樣本進行預測,并與GP模型的預測結果相比較,結果見表1、2。從回歸角度來說,基于傳統BP、SVM模型的回歸值都較GP模型相對誤差大很多,反映了GP模型在數據回歸上的相對優越性;從預測值相對誤差來說,BP模型預測相對誤差最小值和最大值分別為1.41%和6.18%,SVM模型分別為0.01%和5.24%,而GP模型僅為0.13%和2.71%。由此可看出,GP模型的預測精度明顯優于傳統BP模型和SVM模型;同時,從表2的預測結果MPE、MSE以及MRE來看,GP模型預測精度均優于傳統BP模型以及SVM模型,反映了傳統BP模型和SVM模型的預測誤差偏高,不完全適用于此類小樣本問題。

表1 基于BP、SVM、GP模型的訓練值及訓練誤差

表2 基于BP、SVM、GP模型的預測值及預測誤差
(1)本文以天峨站多年日徑流量為基本資料,經GP模型、傳統BP模型以及SVM模型徑流預測結果分析比較可以看出:高斯過程回歸模型模擬和預測能力要優于傳統BP模型和SVM模型,模擬及預測效果平均相對誤差小于5%。實例應用表明,GP模型應用于徑流預測是可行的,是提高預測精度的有效方法。
(2)三種模型的預測結果都能滿足工程實際需要;但相對來說,GP模型預測精度較前兩者高,它成功克服了BP神經網絡小樣本推廣能力欠缺問題,解決了SVM超參數難以確定的難題,體現出其獨特的超參數自適應獲取、輸出具有概率意義等一系列的優越性以及良好的應用潛力,為更加精確的徑流預測提供了一種新的思路,對于地區徑流預測以及區域用水具有較大的指導意義。