95853部隊 趙 斌 宋建麗
風(fēng)電場機組一直受無規(guī)律的變向、變負荷的風(fēng)力作用,這會使發(fā)電機的發(fā)電量波動很大,對電網(wǎng)造成較大的威脅,因此對風(fēng)電場風(fēng)速預(yù)測的理論和實際的研究具有重要意義。支持向量機(SVM)在國外已經(jīng)應(yīng)用在話者識別[1]、生物醫(yī)學(xué)[2]、噪音處理[3]等方面,在國內(nèi)雖然也在模式識別、機械故障診斷、電力預(yù)測方面有應(yīng)用,但是在風(fēng)電場風(fēng)速預(yù)測上應(yīng)用較少[4]。風(fēng)速受氣壓、溫度、緯度、海拔等的影響,風(fēng)速的隨機性很強,本文利用SVM預(yù)測風(fēng)速,百分比誤差精度在5%以內(nèi),可以為風(fēng)電場風(fēng)速預(yù)測提供較好的參考。
1963年,Vapnik提出一種非常有潛力的分類方法支持向量機(Support Vector Machine,SVM),它是一種基于統(tǒng)計學(xué)習(xí)理論的模式識別方法[5]。SVM以訓(xùn)練誤差作為優(yōu)化問題的約束條件,以置信范圍值最小化作為優(yōu)化目標(biāo),成功的解決了小樣本、非線性及高維模式識別問題,并能夠推廣應(yīng)用到函數(shù)擬合等其他機器學(xué)習(xí)問題中。
表1 風(fēng)速實際值與預(yù)測值之間的比較
支持向量機回歸的主要思想是通過一個非線性映射Φ,將數(shù)據(jù)x映射到高位特征空間F,并在這個空間進行線性回歸[6]。
已知一個訓(xùn)練集
以及假設(shè)函數(shù)集
其中權(quán)值nw∈R ,而b∈R為閾值。
回歸支持向量機一般可以表示為下面的規(guī)劃問題:
其中,iξ和為松弛變量,c()ξ是損失函數(shù),C為懲罰項常數(shù)。
圖2 某風(fēng)電場天平均風(fēng)速
圖3 風(fēng)速實際值與預(yù)測值
常用的核函數(shù)如下[9]。
1)多項式核:K( x, xi)=(x, xi+1)d,d為階數(shù);
3)感知器核:K( x, xi)=tanh(βxi+b)。
本文在風(fēng)速預(yù)測中采用的核函數(shù)K( x, xi)為徑向基RBF核函數(shù)(高斯核函數(shù))。
由于選擇的是RBF核函數(shù),所以在核函數(shù)參數(shù)的選擇上有懲罰項常數(shù)C和RBF的參數(shù)g。目前參數(shù)尋優(yōu)方法有網(wǎng)格尋優(yōu),GA尋優(yōu),PSO尋優(yōu)等,其中最簡單最有效的方法是網(wǎng)格尋優(yōu)。但是上述幾種方法都是基于知道測試集標(biāo)簽的情況下進行參數(shù)優(yōu)化的,本文是在假定不知道測試集標(biāo)簽的情況下,運用交叉驗證(Cross Validation)的方法找到最佳的C和g。
C和g的值是在以2為底的[-8,8]上取值,即C和g的值是在[2-8,28]取值,取最終測試集數(shù)據(jù)和預(yù)測集數(shù)據(jù)誤差最小的C和g。
本文選取我國某風(fēng)電廠的風(fēng)速數(shù)據(jù),風(fēng)速數(shù)據(jù)為一天中風(fēng)速的平均值。本文選取某年當(dāng)中連續(xù)300天的風(fēng)速數(shù)據(jù)作為樣本,前290個作為訓(xùn)練集,后10個作為預(yù)測集。實驗程序是在MATLAB 7.11(R2010b)平臺上完成,通過對比實測值和預(yù)測值來判斷預(yù)測的精度。本文風(fēng)速預(yù)測的步驟如圖1所示。
圖4 風(fēng)速實際值與預(yù)測值之間誤差
對實驗數(shù)據(jù)預(yù)處理,即用MATLAB自帶的mapmaxmin歸一化到[-1,1],構(gòu)成訓(xùn)練集,然后參數(shù)尋優(yōu)選擇合理的核函數(shù),建立預(yù)測模型,最后進行真實數(shù)據(jù)和預(yù)測數(shù)據(jù)的誤差分析。支持向量機預(yù)測模型效果一般用誤差百分比(APE)、平均百分比誤差(MAPE)和平均絕對誤差(MAE)來評價[7-8],APE、MAPE和MAE的表達式如下:
式中Rt代表時間t實際測量值real data,Pt代表時間t預(yù)測值predict data,n代表時間點的個數(shù)。根據(jù)取得的數(shù)據(jù),圖2給出風(fēng)電場天平均風(fēng)速。
由圖2可以看出風(fēng)速在300天中隨機性很大,從1.460m/s~29.580m/s,平均風(fēng)速為11.362m/s。本文選擇RBF為核函數(shù),其參數(shù)數(shù)目較少,而且容易建立模型,并確定參數(shù):懲罰因子C=2,gamma函數(shù)g=1.1,e-SVR中損失函數(shù)p=0.01。
風(fēng)速預(yù)測值與實際值的對比如圖3。實線代表實際風(fēng)速,虛線代表預(yù)測風(fēng)速。由圖可以看出預(yù)測效果還是不錯的。圖4為風(fēng)速實際值與預(yù)測值之間的誤差圖。
根據(jù)實際風(fēng)速和預(yù)測風(fēng)速值得到表1。
由表1可見,風(fēng)速實際值與預(yù)測值的比較,平均百分比誤差(MAPE)為1.705%,平均絕對誤差(MAE)為0.1705,誤差百分比誤差最大的不超過5%,預(yù)測效果可以達到預(yù)測精度,驗證了SVM理論在風(fēng)速預(yù)測中的可行性。
5.結(jié)語
本文結(jié)合風(fēng)場部分風(fēng)速資料,利用SVM建立風(fēng)速預(yù)測模型,核函數(shù)取RBF核函數(shù)是為了建模方便,懲罰因子C,gamma因子g,e-SVR中損失函數(shù)p的選取是利用libsvm工具箱中SVMcgForRegress求得,模型中數(shù)據(jù)的平均百分比誤差(MAPE)為1.705%,平均絕對誤差(MAE)為0.1705,較為理想,可以為風(fēng)電場的風(fēng)速預(yù)測提供較有價值的參考。
[1]Campbell,W.M.A SVM/HMM system for speaker recognition[J].IEEE international Conference on Acoustics,Speech and Signal Processing-Proceedings,2003:209-212.
[2]Rémi Cuingnet,Charlotte Rosso,Marie Chupin,Stéphane Lehéricy,etc.Spatial regularization of SVM for the detection of diffusion alterations associated with stroke outcome[J].Medical Image Analysis,2004,5(15):729-737.
[3]R Kumar,A Kulkarni,V.K Jayaraman,B.D Kulkarni.Symbolization assisted SVM classifier for noisy data[J].Pattern Recognition Letters,2004,4(25):495-504.
[4]杜穎,盧繼平,李青,鄧穎玲.基于最小二乘支持向量機的風(fēng)電場短期風(fēng)速預(yù)測[J].電網(wǎng)技術(shù),2008,32(15):62-66.
[5]Corinna Cortes,V.VAPNIK.Support-Vector Network[J].Machine Learning,1995,20(3).
[6]韓立群.人工神經(jīng)網(wǎng)絡(luò)理論、設(shè)計及應(yīng)用(第二版)[M].北京:化學(xué)工業(yè)出版社,2007.
[7]張華,曾杰.基于支持向量機的風(fēng)速預(yù)測模型研究[J].太陽能學(xué)報,2010,31(7):928-932.
[8]彭懷午,楊曉峰,劉方銳.基于SVM方法的風(fēng)電場短期風(fēng)速預(yù)測[J].電網(wǎng)與清潔能源,2009,25(7):48-52.
[9]Johan A.K.Suykens,Tony Van Gestel,Jos De Brabanter,Bart De Moor,Joos Vandewalle.Least Squares Support Vector Machines[M].Singapore:World Scientific Publishing Co.Pte.Ltd,2002.51-54.