王小娟, 劉俊霞, 胡 兵, 鄭連清
(1.新疆工程學(xué)院 公共基礎(chǔ)學(xué)院,烏魯木齊 830011; 2.新疆工程學(xué)院 控制工程學(xué)院,烏魯木齊 830011)
風(fēng)能憑借儲量豐富、分布廣泛和清潔無污染越來越引起人們的關(guān)注。近年來,隨著我國風(fēng)電裝機容量的逐步增長,風(fēng)力發(fā)電規(guī)模逐漸增大,風(fēng)力發(fā)電占電網(wǎng)總發(fā)電量的比例逐步加大。然而因風(fēng)能有波動性、間歇性、低能量密度等特征,導(dǎo)致風(fēng)電功率具有同樣的特征,當大量風(fēng)電并網(wǎng),會對電力系統(tǒng)的安全穩(wěn)定運行產(chǎn)生嚴重影響,為此需要采用適當?shù)姆椒蚀_預(yù)測短期風(fēng)電功率,從而根據(jù)預(yù)測的風(fēng)電功率對風(fēng)力發(fā)電進行合理調(diào)度,以避免風(fēng)電大量并網(wǎng)所帶來的影響。
為了準確預(yù)測風(fēng)電功率,國內(nèi)外學(xué)者開展了大量研究,對于短期風(fēng)電功率的預(yù)測研究主要有物理模型法、統(tǒng)計模型法、智能算法模型和組合模型法[1-2]。物理模型法需要根據(jù)風(fēng)電場實際氣象數(shù)據(jù)及地理物理信息預(yù)測未來的氣象,建立氣象數(shù)據(jù)與風(fēng)電功率的映射關(guān)系[2-3],具有魯棒性強、計算時間短、不需要歷史數(shù)據(jù)的支持的優(yōu)點,但是建模過程復(fù)雜,要求對數(shù)據(jù)采集精度高。統(tǒng)計模型法根據(jù)風(fēng)電場歷史風(fēng)速或者風(fēng)機輸出功率數(shù)據(jù),采用系統(tǒng)辨識、曲線擬合等方法預(yù)測短期風(fēng)電功率,常用的統(tǒng)計模型有時間序列法、灰色關(guān)聯(lián)度法、聚類分析法等[4-5]。統(tǒng)計模型法具有建模簡單的優(yōu)點,但是該預(yù)測方法僅僅考慮歷史風(fēng)電功率數(shù)據(jù)或風(fēng)速數(shù)據(jù),不考慮其他氣象數(shù)據(jù)和風(fēng)機運行狀態(tài)數(shù)據(jù),預(yù)測精度受影響。智能算法模型根據(jù)某種學(xué)習(xí)算法,通過訓(xùn)練、測試歷史氣象數(shù)據(jù)和風(fēng)電數(shù)據(jù)建立輸入數(shù)據(jù)與輸出數(shù)據(jù)的映射關(guān)系預(yù)測短期風(fēng)電功率,常用神經(jīng)網(wǎng)絡(luò)法、支持向量機法等[6-8]。這種預(yù)測方法不需要具體的數(shù)學(xué)表達式,建模簡單,精確度高,但是容易出現(xiàn)過學(xué)習(xí)和陷入局部最優(yōu)的缺點。組合模型法綜合上述方法,采用兩種以上預(yù)測方法進行等權(quán)組合或非等權(quán)組合來提高預(yù)測精度[9-10],具有預(yù)測精度高的優(yōu)點,但是該方法存在參數(shù)多、預(yù)測運行時間長的缺點。
上述方法分別從不同角度,不同方面預(yù)測風(fēng)電功率,各種方法各有優(yōu)缺點,由于風(fēng)電功率數(shù)據(jù)為波動性和隨機性很強的非線性數(shù)據(jù),智能算法模型中的支持向量回歸機具有良好的非線性映射能力,魯棒性強,本文選取支持向量回歸機預(yù)測短期風(fēng)電功率,針對支持向量回歸機預(yù)測過程中會出現(xiàn)參數(shù)尋優(yōu)難和容易陷入局部最優(yōu)的缺點,選取具有全局搜索能力和局部搜索能力強的布谷鳥算法優(yōu)化模型參數(shù),并通過算例對比分析,驗證本文所提算法預(yù)測精度較高。
支持向量機回歸機是一種基于統(tǒng)計學(xué)習(xí)理論的監(jiān)督學(xué)習(xí)算法,該算法由Vapnic[11]自2002年提出以來得到廣泛的應(yīng)用,算法假定訓(xùn)練集數(shù)據(jù)為D={(xi,yi)},每個xi∈Rm代表輸入空間的一個樣本,yi∈R是該樣本對應(yīng)的輸出值,其中i=1,2,L,N,m為訓(xùn)練數(shù)據(jù)的維數(shù),SVR試圖找到一種遵循與訓(xùn)練樣本點相同概率分布的函數(shù)f(x),它能夠?qū)o定訓(xùn)練樣本之外的輸入,得到近似輸出值,其數(shù)學(xué)表達如下:
f(x)=〈w,x〉+b
(1)
其中:w∈Rm為權(quán)值;b∈R為閾值;
實際應(yīng)用過程通常為非線性,需要一個非線性的公式,SVR方法應(yīng)用一個非線性映射函數(shù)將輸入值轉(zhuǎn)換為具有更高維度的特性空間,其數(shù)學(xué)表達如下:
f(x)=〈w,φ(x)〉+b
(2)
其中:φ(x)為非線性映射函數(shù)。
SVR模型的訓(xùn)練需要最小化權(quán)值w和b閾值,可以通過最小化歐幾里得范數(shù)來實現(xiàn)。從而問題轉(zhuǎn)化為一個凸優(yōu)化問題,即:
s.t.yi-〈w,φ(x)〉-b≤ωi=1,L,n
〈w,φ(x)〉+b-yi≤ωi=1,L,n
(3)
凸優(yōu)化的約束假設(shè)問題是可行的。然而實際應(yīng)用過程中因為有通信、誤差等因素的影響會出現(xiàn)錯誤和不可行的約束,為此需要引入了兩個松弛變量來擴大回歸的容忍度。因此,最小化問題轉(zhuǎn)換為以下二次規(guī)劃[12]。
s.t.yi-〈w,φ(x)〉-b≤ω+ξii=1,L,n
(4)
引入拉格朗日函數(shù),經(jīng)對偶轉(zhuǎn)換得到的回歸函數(shù)的表達式為:
(5)
用核函數(shù)k(xi,x)代替上述等式中映射函數(shù)的點積,重新定義SVR函數(shù)為:
(6)
系統(tǒng)選用RBF核函數(shù)為:
(7)
式中,g為核函數(shù)參數(shù)。
從上述介紹中可以看出,誤差懲罰系數(shù)C和核函數(shù)參數(shù)g關(guān)系到SVR的預(yù)測性能,選擇合適的參數(shù)可以很好的提高SVR的泛化能力和預(yù)測精度。本文采用布谷鳥算法優(yōu)化SVR參數(shù)。
布谷鳥搜索算法是一種自然啟發(fā)的元啟發(fā)式搜索算法,該算法由Yang和Deb[13]于2009年提出,算法基于布谷鳥的巢寄生繁殖策略和Levy飛行策略發(fā)展而來[14]。Levy飛行是指自然界中的動物或昆蟲在尋找食物過程中表現(xiàn)出的方向隨機、步長符合Levy分布的飛行行為,具有頻繁的短距離的局部搜索能力和少數(shù)的長距離的全局搜索能力[15]。
布谷鳥搜索算法假定鳥巢中的卵為解,布谷鳥卵為新解,尋優(yōu)過程為用更好的新解代替不好的解的過程,算法對全局最優(yōu)問題非常有效,因為它維持了局部漫步與全局漫步的平衡,這個平衡由參數(shù)p(a)來控制,其局部漫步定義如公式(8)。
(8)
(9)
L(s,λ)是Levy分布,用于定義隨機漫步的步長,表達式如公式(10).
(10)
本文采用布谷鳥算法具有良好的局部尋優(yōu)能力和全局尋優(yōu)能力對SVR的誤差懲罰系數(shù)、核函數(shù)參數(shù)進行優(yōu)化,算法流程圖如圖1所示。
圖1 CS算法尋優(yōu)流程圖
尋優(yōu)步驟如下:
1)風(fēng)電功率數(shù)據(jù)預(yù)處理。對采集的風(fēng)電樣本數(shù)據(jù)進行異常數(shù)據(jù)剔除,并保存處理好的樣本數(shù)據(jù)。
2)參數(shù)初始化。設(shè)置迭代次數(shù)T、鳥巢數(shù)量n、被宿主發(fā)現(xiàn)的概率P(a)、設(shè)置C、g的取值范圍。
4)找最優(yōu)鳥巢位置。以均方誤差作為適應(yīng)度函數(shù),計算適應(yīng)度值,即:
(11)
5)更新鳥巢位置。用Levy飛行更新N鳥巢的位置,判斷新鳥巢適應(yīng)度值與上一代適應(yīng)度值,如果新鳥巢適應(yīng)度值更優(yōu),就更新鳥巢位置,否則保持上次位置。
6)用[0,1]隨機數(shù)r與p(a)比較,不改變r≤p(a)的鳥巢位置,以隨機步長改變其他鳥巢位置,判斷新鳥巢與原鳥巢的適應(yīng)度值,如果新鳥巢值更優(yōu),則替換原鳥巢位置,否則保留原鳥巢位置,這樣產(chǎn)生了最新的鳥巢位置。
7)找出6)中最優(yōu)鳥巢位置,比較是否到達設(shè)置迭代次數(shù),到達設(shè)置迭代次數(shù)則該位置為最優(yōu)位置,否則要求從4)重新執(zhí)行。最后得到的最優(yōu)鳥巢位置為SVR中參數(shù)和參數(shù)的最優(yōu)值。
實驗數(shù)據(jù)采集來源于新疆某風(fēng)電場三期工程,該工程中共有33臺1.5 MW的永磁直驅(qū)風(fēng)力發(fā)電機,實驗數(shù)據(jù)為其中1號風(fēng)力發(fā)電機每隔10 min采集一次的數(shù)據(jù),共采集10天1 440個數(shù)據(jù)。數(shù)據(jù)集詳細記錄了風(fēng)力發(fā)電機平均功率(kW)、最大功率(kW)、平均風(fēng)速(m/s)、最大風(fēng)速(m/s)、電機轉(zhuǎn)速(rpm)、最高機艙溫度(℃)、最高環(huán)境溫度(℃)、最大槳葉角度(℃)、平均槳葉角度(℃)、風(fēng)機狀態(tài)、風(fēng)速(m/s)、功率(kW)、發(fā)電量(kWh)、發(fā)電時間(h)等共計50個物理因素的數(shù)據(jù),實驗選取其中平均功率(kW)、最大功率(kW)、平均風(fēng)速(m/s)、最大風(fēng)速(m/s)、電機轉(zhuǎn)速(rpm)、風(fēng)機狀態(tài)、風(fēng)速(m/s)七個物理因素與風(fēng)電功率(kW)建立基于CS-SVR的數(shù)學(xué)模型,并對模型的性能進行評價。
由于上述實驗數(shù)據(jù)中存在異常數(shù)據(jù),采用上截斷點和下截斷點判斷異常數(shù)據(jù)的方法對異常數(shù)據(jù)進行剔除[16]。其數(shù)學(xué)表達式如下:
Dup=Q1+1.5R1
Ddown=Q1-1.5R1
(12)
式中,Dup、Ddown分別為上截斷點和下截斷點,Q1為下四分位數(shù),R1為四分位極差,即上四分位數(shù)與下四分位數(shù)只差。
將實驗數(shù)據(jù)分別與截斷點進行比較,大于上截斷點或小于下截斷點的數(shù)據(jù)均為異常數(shù)據(jù),需要剔除異常數(shù)據(jù)。經(jīng)過異常數(shù)據(jù)剔除,最終實驗樣本數(shù)據(jù)為1 433個,隨機選取1 333個數(shù)據(jù)作為訓(xùn)練集,100作為測試集,并對訓(xùn)練集和測試進行歸一化處理。
經(jīng)過數(shù)據(jù)預(yù)處理后,分別采用SVR、PSO-SVR和CS-SVR神經(jīng)網(wǎng)絡(luò)對樣本數(shù)據(jù)進行訓(xùn)練和測試,并對預(yù)測結(jié)果進行對比分析,驗證所提算法具有優(yōu)越性。實驗過程中,設(shè)置布谷鳥優(yōu)化的迭代次數(shù)、鳥巢數(shù)量、被宿主發(fā)現(xiàn)的概率、尋優(yōu)參數(shù)、取值范圍均為[0.01,1 000]。設(shè)置粒子群優(yōu)化迭代次數(shù)為,種群規(guī)模,學(xué)習(xí)因子,,尋優(yōu)參數(shù)、取值范圍均為[0.01,1 000],最終尋優(yōu)得出的最佳參數(shù)如表1所示。
表1 最佳尋優(yōu)參數(shù)
在最佳參數(shù)下各模型對測試集的預(yù)測結(jié)果及對比分析如圖2~圖5所示。
圖2 SVR模型預(yù)測結(jié)果
圖3 PSO-SVR模型預(yù)測結(jié)果
圖4 CS-SVR模型預(yù)測結(jié)果
圖5 SVR、PSO-SVR和CS-SVR模型的性能對比
通過對比圖2~5可以看出,SVR、PSO-SVR和CS-SVR模型對測試集的風(fēng)電功率預(yù)測結(jié)果均很準確,這說明SVR算法可以很好的用于短期風(fēng)電功率的預(yù)測,預(yù)測模型在功率為200 kW以下的預(yù)測誤差較大,這與實際風(fēng)機運行的狀態(tài)緊密相關(guān),風(fēng)機在待機或者啟停過程中功率波動的變化對風(fēng)電功率預(yù)測的影響較大。從圖5的模型性能對比中可以看出,CS-SVR模型的預(yù)測效果要優(yōu)于SVR、PSO-SVR模型,說明CS算法具有良好的局部尋優(yōu)和全局尋優(yōu)能力。
為了更加直觀的分析模型的預(yù)測精度,實驗過程中分別計算了均方根誤差(RMSE)、平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE),三者數(shù)學(xué)表達式如下:
(13)
(14)
(15)
式中,xi和êi分別為樣本數(shù)據(jù)的實際值和預(yù)測值,3種預(yù)測模型誤差的評價結(jié)果見表2所示。
表2 預(yù)測模型的預(yù)測誤差比較
從表2中可以看出,PSO-SVR模型的RMSE、MAE、MAPE三種誤差的數(shù)據(jù)分別為3.97%、3.10%和2.33%,CS-SVR模型的RMSE、MAE、MAPE三種誤差的數(shù)據(jù)分別為3.62%、2.84%和3.14%,其預(yù)測誤差均小于SVR的預(yù)測誤差,說明參數(shù)優(yōu)化具有明顯提高算法精度的效果。對比CS-SVR和PSO-SVR模型的預(yù)測誤差,CS-SVR預(yù)測模型的均方根誤差(RMSE)比PSO-SVR模型的均方根誤差(RMSE)減少8.8%。CS-SVR預(yù)測模型的平均絕對誤差(MAE)比PSO-SVR模型的平均絕對誤差(MAE)減少8.3%。說明CS-SVR預(yù)測性能優(yōu)于PSO-SVR模型,因此本文所提預(yù)測模型具有較高的預(yù)測精度。
1)通過SVR、PSO-SVR和CS-SVR模型對測試集的短期風(fēng)電功率進行預(yù)測,實驗驗證結(jié)果表明SVR算法可以很好的用于風(fēng)電功率預(yù)測,采用其它啟發(fā)式算法對SVR參數(shù)進行優(yōu)化可以明顯提高預(yù)測的精度。
2)通過對比PSO-SVR和CS-SVR模型對測試集的短期風(fēng)電功率的預(yù)測結(jié)果,驗證了CS算法的尋優(yōu)能力優(yōu)于PSO算法,驗證了本文所提預(yù)測模型具有較高的預(yù)測精度。
3)在對輸入樣本數(shù)據(jù)進行預(yù)處理時引入了上截斷點和下截斷點的異常數(shù)據(jù)判別方法,有效剔除了無效的樣本數(shù)據(jù),為了進一步提高預(yù)測精度,可以加強對輸入樣本數(shù)據(jù)預(yù)處理方面的研究。