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