凌武能,杭乃善,李如琦
(廣西大學(xué) 電氣工程學(xué)院,廣西 南寧 530004)
風(fēng)電功率預(yù)測是大規(guī)模風(fēng)電接入電力系統(tǒng)的安全保證之一。因此,眾多學(xué)者針對這一問題提出了時間序列[1]、神經(jīng)網(wǎng)絡(luò)[2]、支持向量機 SVM(Support Vector Machine)和組合預(yù)測[3-4]等風(fēng)電功率預(yù)測方法。其中,SVM因為泛化能力較強,已廣泛應(yīng)用在各種短期風(fēng)電功率預(yù)測系統(tǒng)中[5-10]。文獻[5-6]先用小波變換對風(fēng)速序列進行分解,再用SVM分別對各分解信號進行建模預(yù)測,最后對各預(yù)測結(jié)果疊加得到最終預(yù)測值;文獻[7]先對風(fēng)速序列進行經(jīng)驗?zāi)B(tài)分解 EMD(Empirical Mode Decomposition)得到多個分解序列,再綜合SVM對各分解序列的預(yù)測結(jié)果得到原風(fēng)速序列的預(yù)測風(fēng)速,最后利用功率曲線轉(zhuǎn)換得到預(yù)測功率;文獻[8]先用 SARIMA(Seasonal Auto-Regression Integrated Moving Average)模型對風(fēng)速序列建模,再通過分段預(yù)測得到N-1段預(yù)測殘差,用最小二乘支持向量機對殘差序列建模預(yù)測得到第N段的殘差預(yù)測值,用該值修正第N段風(fēng)速預(yù)測值得到最后預(yù)測結(jié)果;文獻[9]認(rèn)為采用相似數(shù)據(jù)來為SVM提供訓(xùn)練樣本可以提高預(yù)測精度;文獻[10]采用蟻群優(yōu)化算法來解決最小二乘支持向量機模型的參數(shù)選擇問題,取得了不錯的預(yù)測效果。
無論如何優(yōu)化預(yù)測模型和改進預(yù)測策略,預(yù)測精度的提高都是有限的,歷史數(shù)據(jù)中固有的隨機特征是一個無法忽略的因素。因此,針對風(fēng)電功率的隨機性和波動性特征,提出一種云支持向量機模型。該模型引入云理論的云變換方法來挖掘風(fēng)速的隨機特征,并將這些用X條件云表示的風(fēng)速特征作為SVM的輸入,將實測風(fēng)電功率作為輸出,建模預(yù)測未來24 h的風(fēng)電功率。由于云的不確定性特征和良好的趨勢預(yù)測能力,使得某個點的預(yù)測結(jié)果不是一個固定的預(yù)測值,多次預(yù)測將得到一個有穩(wěn)定傾向的離散點集合。但云理論對風(fēng)速的特征提取,使得SVM在一定程度上提高了預(yù)測精度。
云由云滴組成,給定一個由精確數(shù)值構(gòu)成的定量論域U,c是定義在這個論域上的定性概念,任取x?U,則 x 對 c 的隸屬程度 y?[0,1],是一個有穩(wěn)定傾向的隨機數(shù)。取若干個x?U,則x的分布就構(gòu)成了云,每一個x稱為一個云滴。
云模型一般由3個數(shù)字特征(期望、熵、超熵)來描述。云的期望(Ex)是最能代表該定性概念的數(shù)值;熵(En)反映了該定性概念的模糊程度;超熵(He)反映了云的離散程度。如風(fēng)速的一個定性概念“較快”及其數(shù)字特征如圖1所示。由圖可得:Ex=12.6071,En=1.5537,He=0.7271。
圖1 風(fēng)速的一個定性概念“較快”及其數(shù)字特征Fig.1 “Faster”,a qualitative concept of wind speed,and its numerical characteristics
云變換是指把風(fēng)速數(shù)據(jù)轉(zhuǎn)換成由多個云疊加而成的定性概念。其思想主要采用基于峰值的云變換算法,即:
其中,f(x)為風(fēng)速數(shù)據(jù)的頻率分布,c(Exi,Eni,Hei)為變換后的其中一個云概念,ri為相應(yīng)云概念的幅度系數(shù),n為變換后的云概念的個數(shù),ε為云變換的誤差。數(shù)據(jù)頻率分布的局部最高點(峰值)是數(shù)據(jù)的匯聚中心,可將它所對應(yīng)的橫坐標(biāo)作為某個云概念的期望值。峰值越大,表示數(shù)據(jù)匯集越多,越能反映某個定性概念。
采用某風(fēng)電場10月份的歷史數(shù)據(jù),則風(fēng)速的峰值云變換步驟如下。
a.對風(fēng)速數(shù)據(jù)進行歸一化處理,即:
其中,vj(j=1,2,…,500)為歸一化前的某一風(fēng)速值,vmax、vmin分別為統(tǒng)計風(fēng)速數(shù)據(jù)的最大風(fēng)速和最小風(fēng)速,wj為相對于vj的歸一化風(fēng)速值。
b.求取wj序列的頻率分布。以a為區(qū)間長度,將wj序列分成b個區(qū)間,分別統(tǒng)計wj落在每個區(qū)間內(nèi)的個數(shù),得到風(fēng)速數(shù)據(jù)的頻率分布f(x),見圖2。
圖2 風(fēng)速16個云概念概率密度期望曲線的疊加Fig.2 Superposition of 16 expectation curves of cloud concept about wind speed
c.找到f(x)中的各個峰值位置,將峰值大小定義為云的幅度系數(shù)ri,并將其對應(yīng)橫坐標(biāo)定義為云的期望值 Exi(i=1,2,…,n)。
d.采用文獻[11]的方法,計算用于擬合 f(x)的以Exi為期望值的各個云概念的熵Eni,并計算云概念的概率密度期望函數(shù) fi(x),將 fi(x)作為各個云的分布函數(shù),如圖2所示。
e.用不帶確定度的逆向云算法[12]求取各個云概念的超熵Hei。
圖2是經(jīng)過云變換得到的結(jié)果,可以看出此時得到的16個云概念還比較粗糙,某些云相距較近,甚至一個云已把另一個云完全包含在內(nèi),造成概念的重復(fù)和多余,所以有必要對云變換之后的概念進行躍升,使每個云概念的意義更加獨立和清晰。
所謂概念躍升,是指將云變換得到的基本概念作為泛概念樹的葉結(jié)點,并考慮云之間的幅度系數(shù)影響,逐步合并距離最近的2個概念,以得到所需概念層次[13]。設(shè)相鄰 2 個云概念分別為 ci(Exi,Eni,Hei)和 cj(Exj,Enj,Hej),幅度系數(shù)分別為 ri和 rj,且 Exi<Exj,它們的概率密度期望曲線相交于點d(xd,yd),合并之后的云為 ch(Exh,Enh,Heh),幅度系數(shù)為 rh。云合并算法如下。
a.首先計算截斷熵:
b.根據(jù)截斷熵和相鄰云的數(shù)字特征,得到合并云ch的數(shù)字特征。
期望值:
熵:
超熵:
c.最后還可以得到合并云ch的幅度系數(shù):
根據(jù)人的認(rèn)知特點(同時只能認(rèn)知最多7±2個概念[14]),并根據(jù)各個云的分布情況,選取疏密合適的概念個數(shù),按照以上云合并算法,最后將風(fēng)速的16個原始概念壓縮至9個躍升概念。同時可認(rèn)為風(fēng)速的定性特征表現(xiàn)為“快”、“很快”等,因此,假設(shè)風(fēng)速的9個云概念分別為:{超慢,很慢,慢,較慢,中等,較快,快,很快,超快},則它們的數(shù)字特征如表1所示。
表1 風(fēng)速各個云概念的數(shù)字特征Tab.1 Numerical characteristics of different cloud concepts about wind speed
抽離每個云概念的幅度系數(shù),用云滴分布來描述每個云概念的數(shù)字特征,并且使用半云(或半梯形云)來描述最接近論域邊界的2個定性概念,則風(fēng)速9個躍升概念的概率密度期望曲線和云滴分布分別如圖3和圖4所示。從圖3可以看出躍升之后的風(fēng)速特征更加明顯,避免了概念冗余。圖4的相鄰概念之間出現(xiàn)交疊,體現(xiàn)了云模型的不確定性。
圖3 風(fēng)速9個躍升概念的概率密度期望曲線Fig.3 9 expectation curves of zooming concept about wind speed
圖4 風(fēng)速9個特征概念的云滴分布Fig.4 Cloud drop distribution of 9 feature concepts about wind speed
已知論域U內(nèi)的某個特定點m和定義在U上的某個定性概念 ck的數(shù)字特征(Exk,Enk,Hek),而點 m對ck的隸屬度未知,像這樣的云就叫做X條件云。通過X條件云發(fā)生器,可以求得點m對ck的隸屬度,簡單算法如下。
a.生成以Enk為期望值、H2ek為方差的一個正態(tài)隨機數(shù) E′nk。
b.計算點m對ck的隸屬度:
若m是由多個風(fēng)速值構(gòu)成的一個樣本(即多維向量),則根據(jù)式(10)得到的hk應(yīng)是一個多維向量。根據(jù)極大判定法,以hk中的最大分量作為該樣本m對定性概念ck的最終隸屬度。
根據(jù)統(tǒng)計學(xué)理論發(fā)展起來的SVM,利用非線性核函數(shù)把輸入樣本映射到高維空間,并在高維空間中解決了輸入樣本的非線性回歸問題[15]。與人工神經(jīng)網(wǎng)絡(luò)相比,SVM訓(xùn)練效率高、泛化能力強,且不易陷入局部最優(yōu),因此,它是解決短期風(fēng)電功率非線性回歸問題的有力工具。
根據(jù)歷史數(shù)據(jù)的原始分布情況,采用云理論來挖掘數(shù)據(jù)的本質(zhì)特征,并用X條件云定性表示該特征。假設(shè){(xi,yi),i=1,…,N,xi?Rn,yi?R}為訓(xùn)練樣本數(shù)據(jù),ci(i=1,…,K)是表示風(fēng)速特征的 K 個 X 條件云,根據(jù)1.4節(jié),ci相對于每個樣本xi的輸出hi都是一個n維向量,依據(jù)云模型的極大判定理論,hi中的最大分量hmax體現(xiàn)了該風(fēng)速樣本對相應(yīng)的風(fēng)速特征的最大激活強度,則以hmax作為該樣本xi對風(fēng)速特征ci的最終隸屬度,并將其作為SVM的訓(xùn)練輸入。
常用的預(yù)測策略有提前1步的滾動預(yù)測和提前N步的直接預(yù)測[16]等。由于滾動預(yù)測會導(dǎo)致誤差的累積從而影響預(yù)測精度,本文采用提前24步的直接預(yù)測法來預(yù)測未來24 h的風(fēng)電功率,并用時間序列模型選擇訓(xùn)練的輸入變量[17]。利用計量經(jīng)濟分析軟件EViews對風(fēng)速數(shù)據(jù)進行統(tǒng)計,得到:
xt=1.4057xt-24-0.5712xt-25-0.1138xt-28+εt(11)其中,xt為當(dāng)前時刻的風(fēng)速值,xt-24、xt-25和 xt-28分別為由xt往前推24、25和28個時刻的風(fēng)速值,εt為時間序列模型的擬合殘差。
式(11)的赤池信息準(zhǔn)則 AIC(A kaike’s I nfor-mation C riterion)結(jié)果較理想,說明該式可以較好地詮釋風(fēng)速數(shù)據(jù),包含了較大的信息量,也說明當(dāng)前風(fēng)速 xt和風(fēng)功率yt受xt-24、xt-25和xt-28的影響較大,以它們作為模型的訓(xùn)練輸入、yt作為訓(xùn)練輸出,以此組成訓(xùn)練樣本集將可以提高預(yù)測精度。
SVM采用v支持向量機回歸模型,基于云支持向量機模型的短期風(fēng)電功率預(yù)測步驟如下:
a.將風(fēng)速、風(fēng)功率的歷史數(shù)據(jù)歸一化到[0,1];
b.根據(jù)1.2節(jié)的內(nèi)容對風(fēng)速數(shù)據(jù)進行云變換;
c.根據(jù)1.3節(jié)的內(nèi)容對云變換得到的原始云進行概念躍升,并得到K個X條件云ci(i=1,…,K);
d.根據(jù)式(11)形成訓(xùn)練樣本集{(xi,yi),i=1,…,N,xi?Rn,yi?R};
e.根據(jù)2.2節(jié)建立風(fēng)電功率的預(yù)測模型;
f.利用該預(yù)測模型提前24步直接預(yù)測未來24 h的風(fēng)電功率 p′i(p′i?R,i=1,…,24)。
由于云支持向量機的預(yù)測方法本質(zhì)上是基于云模型的時間序列預(yù)測,因此,多次運行云支持向量機對某個點進行預(yù)測,模型的輸出是服從正態(tài)分布的多個云滴[18-19](即得到一個小幅波動的離散值集合)。按照文獻[19]方法,本文采用逆向云算法[12]求取集合的期望值作為預(yù)測點的確定性結(jié)果。
實例分析采用我國某風(fēng)電場(風(fēng)電場1)一個月內(nèi)的500組歷史數(shù)據(jù),每組數(shù)據(jù)包含風(fēng)速和風(fēng)功率2類數(shù)據(jù),數(shù)據(jù)時間間隔為1 h。實驗中的云支持向量機采用9個X條件云描述風(fēng)速特征,訓(xùn)練樣本輸入 xi?R3,輸出 yi?R,其中 i=1,…,472。
利用云支持向量機預(yù)測50次,每個預(yù)測點都得到由50個離散值構(gòu)成的集合,采用逆向云算法求取每個集合的期望值作為確定的預(yù)測值,將其結(jié)果與單純使用ARIMA模型和SVM的預(yù)測結(jié)果相比較,如圖5所示(圖中縱軸為歸一化值)。
圖5 未來24 h的風(fēng)電功率預(yù)測值與實際值比較圖(風(fēng)電場1)Fig.5 Comparison between actual and forecasted wind powers for next 24 hours(wind farm 1)
為了便于分析比較,同時對預(yù)測模型的整體性能進行客觀評價,定義以下誤差指標(biāo):
其中,eMRE、eMAE和eRMSE分別為平均相對誤差、平均絕對誤差和均方根誤差,N為預(yù)測點數(shù),pi為風(fēng)電功率實測值,p′i為風(fēng)電功率預(yù)測值。
各預(yù)測方法的誤差比較如表2所示。從指標(biāo)eMRE來看,云支持向量機較SVM和ARIMA模型分別下降了9.76%和26.79%,總體上顯示了較高的預(yù)測精度;指標(biāo)eMAE反映了預(yù)測誤差的平均幅值,云支持向量機在該指標(biāo)上的表現(xiàn)亦優(yōu)于SVM和ARIMA,較兩者分別下降了0.027 5和0.065 1;指標(biāo)eRMSE衡量了預(yù)測誤差的分散程度[20],云支持向量機的eRMSE值較SVM和ARIMA模型分別下降了3.15%和7.07%,可見,云支持向量機的預(yù)測誤差相對集中,預(yù)測結(jié)果比較穩(wěn)定,有利于用戶對風(fēng)電預(yù)測值進行分析決策。
表2 不同預(yù)測方法的誤差比較(風(fēng)電場1)Tab.2 Comparison of forecast error among different prediction methods(wind farm 1)
為了檢驗云支持向量機的泛化能力,采用另一個風(fēng)電場(風(fēng)電場2)一個月的歷史數(shù)據(jù),該風(fēng)電場一共有58臺風(fēng)電機組,每臺機組的額定輸出功率均為850 kW,對該風(fēng)電場未來24 h的風(fēng)電功率預(yù)測結(jié)果如圖6所示(圖中縱軸為歸一化值)。云支持向量機與SVM和ARIMA模型的預(yù)測誤差比較如表3所示。從圖6和表3可以看出,云支持向量機對另一個風(fēng)電場的功率預(yù)測結(jié)果依然保持了比SVM和ARIMA更高的預(yù)測精度,具有較強的泛化能力。
圖6 未來24 h的風(fēng)電功率預(yù)測值與實際值比較圖(風(fēng)電場2)Fig.6 Comparison between actual and forecasted wind powers for next 24 hours(wind farm 2)
表3 不同預(yù)測方法的誤差比較(風(fēng)電場2)Tab.3 Comparison of forecast error among different prediction methods(wind farm 2)
風(fēng)速是影響風(fēng)電場出力的主要因素,為此提出云支持向量機模型來提取風(fēng)速序列的定性特征,進而預(yù)測未來24 h的風(fēng)電功率,通過2個預(yù)測實例得到如下結(jié)論:
a.云理論可以有效挖掘風(fēng)速的隨機特征,進而增強了后期SVM的預(yù)測輸入數(shù)據(jù)的規(guī)律性,并為SVM的精確預(yù)測提供了堅實基礎(chǔ);
b.云支持向量機的預(yù)測精度較傳統(tǒng)SVM方法有所提高,預(yù)測誤差相對集中,有利于風(fēng)電調(diào)度的分析決策;
c.云支持向量機保持了SVM原有的泛化能力,可用于未來24 h的短期風(fēng)電功率確定性預(yù)測。