,,,
(1.國際小水電中心, 杭州 310002;2.河海大學(xué) 水利水電學(xué)院, 南京 210098)
徑流預(yù)測對水電站的運行和水庫調(diào)度都有著重要意義。由于受氣候、流域自然地理和人類活動等因素的綜合影響,河道徑流變化規(guī)律錯綜復(fù)雜,常常表現(xiàn)出多時間尺度性、隨機性、突變性以及非線性等特點。因此,徑流預(yù)測一直是國內(nèi)外研究的熱點和難點。
目前應(yīng)用于徑流預(yù)測的常用模型多種多樣,主要有人工神經(jīng)網(wǎng)絡(luò)、逐步回歸、灰色預(yù)測、相關(guān)向量機(RVM)、支持向量機(SVM)等。 Jain等[1]首次將人工神經(jīng)網(wǎng)絡(luò)應(yīng)用在水庫入庫流量預(yù)測及水庫運行方面,并將人工神經(jīng)網(wǎng)絡(luò)模型和自回歸滑動平均模型進行了比較。左衛(wèi)兵等[2]在貝葉斯框架下利用相關(guān)向量機對黃河某水文站徑流進行了預(yù)測分析。周秀平等[3]建立了基于支持向量機的徑流預(yù)測模型并應(yīng)用于西江流域徑流預(yù)測中。
各類傳統(tǒng)徑流預(yù)測模型在一定程度上降低了徑流預(yù)測的難度,尤其對于普通徑流時間序列,各常規(guī)預(yù)測模型均取得較好的預(yù)測效果。但是,當徑流時間序列中出現(xiàn)多處突變,表現(xiàn)出較強隨機性、非線性特點時,上述預(yù)測模型的預(yù)測結(jié)果與實測值誤差出入較大,無法達到更高的精確度。
針對目前常用徑流預(yù)測模型對隨機性時間序列的預(yù)測能力不強的不足,本文將小波分解法[4]引入到徑流預(yù)測模型中。對原始徑流時間序列進行小波分解和重構(gòu),將非平穩(wěn)的徑流時間序列平穩(wěn)化后,再應(yīng)用預(yù)測模型對其進行預(yù)測。針對突變數(shù)據(jù)對預(yù)測結(jié)果仍存在一定影響,利用Arima模型對誤差進行預(yù)測,進一步修正預(yù)測值。綜合小波分解法、RVM預(yù)測模型以及Arima誤差修正模型,本文提出了一種基于小波分解法及Arima誤差修正的徑流預(yù)測模型。
小波分解及重構(gòu)以多分辨分析為理論基礎(chǔ),于1988年由Mallat首次提出。它的基本思想是以尺度空間Vj和小波空間Wj來表示L2(R)。定義{Vj}j∈Z是L2(R)上的一列閉子空間,小波空間Wj是Vj+1與Vj之差,即Vj+1=Vj?Wj,則可以推得
(1)
在此基礎(chǔ)上,Mallat提出一種快速小波變換方法[5],包括分解算法與重構(gòu)算法。
分解算法為
cj+1=Hcj,dj+1=Gcj;
j=0,1,…,J。
(2)
重構(gòu)算法為
(3)
通過上述算法,即可將非平穩(wěn)的時間序列分解為若干不同尺度下的平穩(wěn)時間序列。
tn=y(xn;w)+εn。
(4)
式中y(xn;w)為中間變量。
y(x;w)可表示為
(5)
式中:w為參數(shù)向量;ωn為權(quán)重;K(x,xn)為核函數(shù);N為樣本數(shù)。
假定tn獨立分布,則似然函數(shù)可表示為
式中:t為目標向量,t=(t1,t2,…,tN)T;w=(ω0,ω1,…,ωN)T;Φ為基函數(shù),Φ=[φ(x1),φ(x2),…,φ(xN)];φ(xn)=[1,K(xn,x1),K(xn,x2),…,K(xn,xN)]T。
(7)
式中α為超參數(shù),決定權(quán)值先驗分布[7]。
設(shè)α與σ2均服從Gamma先驗概率,則有:
(8)
p(σ2)=Gamma(σ2|c,d) 。
(9)
依據(jù)似然分布和先驗分布的定義,得到w的后驗分布為
(10)
其中:∑=(σ-2ΦTΦ+A)-1;μ=σ-2∑ΦTt;A=diag(α0,α1,…,αN)。
式中:∑為后驗協(xié)方差;μ為后驗均值;M為相關(guān)向量機的數(shù)量。
式(10)對w積分可得由超參數(shù)α和σ2決定的邊緣分布,即
式中:Ω為中間變量,Ω=σ2I+ΦA(chǔ)-1ΦT,I為單位向量。
為簡便計算,采用快速序列稀疏貝葉斯學(xué)習(xí)算法[8]計算超參數(shù)和噪聲方差。
選用高斯核函數(shù)作為模型的核函數(shù),即
K(x,xi)=exp(-g‖x-xi‖2) 。
(12)
式中g(shù)為核參數(shù)。
為彌補粒子群算法易陷入局部最優(yōu)的缺陷,采用改進粒子群算法[9]進行核函數(shù)全局尋優(yōu)。
通過RVM模型擬合值與實測值對比,可得到誤差序列,將其視作隨機時間序列并利用Arima模型[10]進行誤差修正,大大提高預(yù)測精度。Arima模型可表示為
(13)
式中:φm(m=1,2,…,p)為自回歸模型系數(shù);θj(j=1,2,…,q)為均滑動模型系數(shù);p為自回歸階數(shù);q為滑動平均部分的階數(shù);at為白噪聲序列。
進行Arima模型誤差修正時,首先確定p和q值,再利用最小二乘法確定其他未知參數(shù),接著擬合誤差序列并得到殘差序列,判斷殘差序列是否為白噪聲的一個子序列,若是,則通過;若不是,則對參數(shù)進行修正,直到滿足條件為止[11]。
結(jié)合小波分解法、RVM模型以及Arima誤差修正模型的優(yōu)點,建立徑流預(yù)測模型,對非平穩(wěn)、隨機性的徑流時間序列進行準確預(yù)測,具體步驟為:
(1)利用小波分解法對徑流時間序列進行分解,得到若干組子序列,使非平穩(wěn)、非線性的徑流時間序列分解為不同尺度下的平穩(wěn)時間序列。
(2)對分解出的每一個子序列建立相應(yīng)的RVM模型,分別進行樣本訓(xùn)練、擬合及預(yù)測,得到對應(yīng)每一個子序列的預(yù)測結(jié)果和殘差序列。
(3)對上步中各個子序列的殘差序列進行Arima誤差修正,通過Arima模型得到對應(yīng)各個子序列的誤差預(yù)測值,結(jié)合RVM預(yù)測結(jié)果即可得到子序列的最終預(yù)測值。
(4)將所有子序列的預(yù)測結(jié)果進行小波重構(gòu),得到徑流時間序列的最終預(yù)測結(jié)果。
基于小波分解及Arima誤差修正的徑流預(yù)測模型流程圖如圖1所示。
圖1徑流預(yù)測模型流程
Fig.1Flowchartofrunoffpredictionmodel
浙江省某水電站水庫正常蓄水位160.00 m,總庫容41.9億m3,調(diào)節(jié)庫容21.26億m3。采用基于小波分解及Arima誤差修正的徑流預(yù)測模型對該水電站上游日均流量的監(jiān)測資料進行分析,抽取2010年2月3日—2011年12月2日監(jiān)測資料中每間隔3 d為一組,共224組實測資料為樣本,前204組用于擬合,后20組用于模型預(yù)測。
首先利用小波分解法對數(shù)據(jù)樣本進行預(yù)處理,將非平穩(wěn)、隨機性的徑流時間序列分解為3組不同尺度下相對穩(wěn)定的子序列。對應(yīng)每一個子序列建立RVM預(yù)測模型,核參數(shù)g的取值范圍為[0.01,10];慣性因子ω的取值范圍為[0.4,0.8],學(xué)習(xí)因子c1和c2的范圍分別為[1.0,2.5]和[1.5,2.75];核函數(shù)的位置因子γ和速度因子υ分別為1.00和0.01。通過RVM模型預(yù)測,得出各子序列的預(yù)測值以及殘差序列,在此基礎(chǔ)上,對殘差序列進行Arima誤差修正,得到誤差預(yù)測值,進一步修正預(yù)測結(jié)果。最后對各個子序列的預(yù)測結(jié)果進行小波重構(gòu),得到徑流數(shù)據(jù)樣本的最終預(yù)測結(jié)果。徑流預(yù)測模型的擬合曲線如圖2所示。
圖2徑流預(yù)測模型擬合曲線
Fig.2Fittedcurveofrunoffprediction
為對比分析,另采用標準的SVM模型、RVM模型對相同數(shù)據(jù)樣本進行預(yù)測。3種模型的預(yù)測結(jié)果對比見表1,預(yù)測效果如圖3所示。
表1 3種模型徑流量預(yù)測結(jié)果對比Table 1 Comparison of prediction results of three models
由表1中數(shù)據(jù)可知,SVM模型、RVM模型和徑流預(yù)測模型的預(yù)測結(jié)果平均殘差分別為8.60%,9.02%和3.64%,通過對比,可以發(fā)現(xiàn)基于小波分解及Arima誤差修正的徑流預(yù)測模型的預(yù)測結(jié)果的精度,遠高于SVM模型和RVM模型。通過圖3中3種模型的預(yù)測效果曲線對比,同樣可以得此結(jié)論,進一步證明了基于小波分解及Arima誤差修正的徑流預(yù)測模型可以提高預(yù)測精度。
圖3模型預(yù)測效果
Fig.3Predictionresultsofthreemodels
通過分析研究,本文取得的主要結(jié)論有:
(1)針對傳統(tǒng)徑流預(yù)測模型對非平穩(wěn)、非線性、隨機性時間序列預(yù)測效果并不理想,采用小波分解及重構(gòu)方法將非平穩(wěn)的徑流時間序列平穩(wěn)化,有效提高了預(yù)測精度。
(2)結(jié)合小波分解及重構(gòu)方法,建立以RVM為理論基礎(chǔ)的徑流預(yù)測模型,采用改進粒子群算法進行核參數(shù)尋優(yōu),并利用Arima模型對預(yù)測結(jié)果進行誤差修正,通過實例證明,該模型在徑流預(yù)測中效果較好。
(3)通過實例計算,將徑流預(yù)測模型與標準SVM模型、RVM模型進行對比,3種模型的預(yù)測值平均誤差分別為8.60%,9.02%,3.64%,證明基于小波分解及Arima誤差修正的徑流預(yù)測模型具有更高的預(yù)測精度,在實際工程中具有一定可行性。
結(jié)合小波分解法及Arima誤差修正的徑流預(yù)測模型大大提高了預(yù)測精度,在分析預(yù)測過程中發(fā)現(xiàn),利用小波分解法得到的子序列質(zhì)量對最終預(yù)測結(jié)果的影響較大,對小波分解及重構(gòu)算法的改進可作為今后研究方向之一。