鮑庭瑞
(安徽工業(yè)職業(yè)技術(shù)學(xué)院 ,安徽 銅陵 244000)
風(fēng)速預(yù)測方法有數(shù)值天氣預(yù)報預(yù)測和統(tǒng)計預(yù)測2大類,前者依靠氣象部門提供氣象數(shù)據(jù),通過復(fù)雜的數(shù)學(xué)模型對風(fēng)速進行預(yù)測,精確度高,但氣象預(yù)報數(shù)據(jù)更新頻率低,不適用于短期和超短期風(fēng)速預(yù)測[1]。統(tǒng)計預(yù)測方法依靠歷史風(fēng)速數(shù)據(jù),建立具有泛化性能的預(yù)測模型,由于其預(yù)測算法可以依據(jù)歷史數(shù)據(jù)的更新及時調(diào)整,適合于超短期預(yù)測。常用的統(tǒng)計預(yù)測方法有混沌預(yù)測法[2],神經(jīng)網(wǎng)絡(luò)法[3],支持向量機等[4]。單一的預(yù)測模型得到的預(yù)測精度有限,組合模型將多種具有不同特點的預(yù)測模型的到的的預(yù)測結(jié)果按照一定的權(quán)重進行組合,可以提高預(yù)測精度。本文提出一種基于支持向量機(SVM)與馬爾可夫鏈(Markov)的組合預(yù)測方法,通過自適應(yīng)調(diào)整組合權(quán)值,提高了預(yù)測精度。
支持向量機分為線性可分、非線性可分和核函數(shù)映射3種情況。回歸支持向量機(support vector regression,SVR)主要有Vapnik提出的ε-SVR,ε為不敏感函數(shù)。ε-SVR利用非線性映射將樣本數(shù)據(jù)映射到一個高維特征空間, 然后在此高維特征空間上進行線性回歸分析。支持向量機基本原理在文獻[4]中給出了詳細表述。
基于SVR的風(fēng)速預(yù)測具體步驟如下:①樣本數(shù)據(jù)提取。將歷史風(fēng)速樣本分為訓(xùn)練集和測試集。風(fēng)速時間序列記為{xt,t=1,2,…,n},將原數(shù)據(jù)序列進行相空間重構(gòu),構(gòu)造樣本對(Xt,Yt),其中Xt={xt-m,xt-m+1,…,xt-1},Yt=xt,m為輸入向量的維數(shù),通過仿真實驗確定維數(shù)m為4。用訓(xùn)練集樣本訓(xùn)練SVR回歸預(yù)測模型。②采用二次網(wǎng)格搜索法確定ε、C和σ最優(yōu)選取,可以有效地避免過擬合現(xiàn)象。③利用訓(xùn)練好的回歸模型預(yù)測測試集風(fēng)速樣本。④將風(fēng)速預(yù)測值與風(fēng)速實際值進行比較, 計算誤差,評價模型性能。
馬爾科夫區(qū)間預(yù)測是根據(jù)系統(tǒng)狀態(tài)轉(zhuǎn)移概率預(yù)測未來風(fēng)速的概率密度及概率分布,該預(yù)測方法反映了隨機風(fēng)速時間上相依性[5]。將歷史風(fēng)速劃分為m個狀態(tài),每個狀態(tài)對應(yīng)于等間隔劃分的風(fēng)速區(qū)間。初始分布pn表示n時刻風(fēng)速在各狀態(tài)的分布概率的列向量,定義為:
(1)
(1)計算轉(zhuǎn)移頻數(shù)矩陣。設(shè)pij為風(fēng)速從狀態(tài)vi轉(zhuǎn)移到狀態(tài)vj的概率,在所有歷史風(fēng)速樣本中判斷相鄰時刻2個風(fēng)速所屬的區(qū)間,設(shè)分別為Di和Dj。統(tǒng)計風(fēng)速從區(qū)間Di向區(qū)間Di演變的次數(shù)Nij,得到轉(zhuǎn)移頻數(shù)矩陣:
(2)
(2)計算轉(zhuǎn)移概率矩陣。根據(jù)轉(zhuǎn)移頻數(shù)矩陣按式(3)計算所有狀態(tài)間的轉(zhuǎn)移概率。
(3)
所有pij構(gòu)成轉(zhuǎn)移概率矩陣:
(4)
(3)計算轉(zhuǎn)移概率密度。利用轉(zhuǎn)移概率矩陣和零時刻的初始分布可以通過式(5)計算所有時刻所有狀態(tài)的概率密度函數(shù):
Pn+1=P·Pn
(5)
(4)計算置信區(qū)間及預(yù)測值。對于風(fēng)速v,根據(jù)轉(zhuǎn)移概率密度計算其置信度為1-α的置信區(qū)間[vminvmax],該區(qū)間以1-α的概率包含實際值。這樣的區(qū)間并不唯一,在所有符合條件的區(qū)間中選擇區(qū)間寬度最小的區(qū)間,因為區(qū)間寬度越大,符合條件的樣本越多,參考價值越小。將置信區(qū)間的中值作為Markov預(yù)測值。
將SVM風(fēng)速預(yù)測值與Markov風(fēng)速預(yù)測值按照一定權(quán)值進行組合得到組合預(yù)測值。權(quán)值根據(jù)誤差情況自適應(yīng)調(diào)整。設(shè)風(fēng)速的SVM預(yù)測值為vSVM,Markov預(yù)測值為vMarkov,風(fēng)速實際值為vreal,則有:
組合預(yù)測值為:
vZH=k1·vSVM+k2·vMarkov
(6)
SVM預(yù)測誤差為:
r1=vSVM-vreal
(7)
Markov預(yù)測誤差為:
r2=vMarkov-vreal
(8)
組合預(yù)測誤差為:
r3=vZH-vreal
(9)
其中,k1、k2為權(quán)值。權(quán)值按照前一時刻預(yù)測誤差進行修正,隨著數(shù)據(jù)的更新而不斷調(diào)整。權(quán)值調(diào)整流程圖如圖1所示。
圖1 權(quán)重調(diào)整流程圖
設(shè)初始時刻t的權(quán)值為k1=k2=0.5,在預(yù)測t+1時刻風(fēng)速時,由于t時刻的實際值已知,這樣可以得出按初始權(quán)值組合的預(yù)測誤差,若誤差在可接受范圍內(nèi),如|r3|
為了評價預(yù)測精確度,式(10)(12)定義了3種預(yù)測誤差:平均絕對誤差(EMAE)、平均絕對百分比誤差(EMAPE)和均方根誤差(ERMSE)。
(10)
(11)
(12)
其中,N為樣本個數(shù),vR為實測值,vF為預(yù)測值。
本文采用我國某風(fēng)電場2012-10~12月小時風(fēng)速數(shù)據(jù)對上述方法進行驗證。仿真試驗在MATLAB7.4下進行,仿真結(jié)果如圖2、圖3所示。圖2給出了 Markov區(qū)間預(yù)測及其中值曲線,圖3為組合預(yù)測曲線,表1為3種預(yù)測誤差統(tǒng)計表。
圖2 Markov區(qū)間預(yù)測曲線
圖3 組合預(yù)測曲線
表1 預(yù)測誤差
由圖2、3及表1可以看出,與實際風(fēng)速相比,SVM初步預(yù)測誤差及Markov區(qū)間中值預(yù)測誤差都比較大,其中Markov區(qū)間中值預(yù)測誤差比SVM初步預(yù)測誤差大,但由于大部分預(yù)測值在實際值上下變化,經(jīng)組合權(quán)重調(diào)整后的組合預(yù)測誤差普遍較小。
針對同一預(yù)測對象,不同的預(yù)測方法具有不同特點及預(yù)測誤差,組合預(yù)測能夠綜合各種預(yù)測方法的優(yōu)勢得到較為精確的預(yù)測結(jié)果。但組合預(yù)測精度的提高很大程度地取決于權(quán)值的選擇。本文提出的預(yù)測方法能夠綜合考慮已經(jīng)預(yù)測出的誤差情況,通過自適應(yīng)調(diào)整權(quán)值,能夠結(jié)合SVM初步預(yù)測及Markov區(qū)間中值預(yù)測的特點,提高預(yù)測精度。