田艷豐, 王 順, 王 哲, 劉 洋, 邢作霞
(沈陽(yáng)工業(yè)大學(xué) 電氣工程學(xué)院, 遼寧 沈陽(yáng) 110870)
隨著能源和環(huán)境的日益嚴(yán)重,迫切尋求一種新的能源供給方式,風(fēng)力發(fā)電技術(shù)的成熟為轉(zhuǎn)變能源發(fā)展方式注入新的動(dòng)力;但由于風(fēng)速的不穩(wěn)定與風(fēng)向的變化,使得其供電系統(tǒng)的頻率、電壓不穩(wěn)定及風(fēng)電機(jī)組運(yùn)行存在間歇性等問(wèn)題,最終導(dǎo)致風(fēng)電場(chǎng)的輸出功率具有高度隨機(jī)性[1-2]。電網(wǎng)運(yùn)營(yíng)商為了能及時(shí)高效的調(diào)度風(fēng)電機(jī)組,并在風(fēng)電市場(chǎng)運(yùn)營(yíng)上有更好的決策,必須對(duì)風(fēng)力發(fā)電功率進(jìn)行準(zhǔn)確的預(yù)測(cè)[3-5]。
人工智能的迅速崛起,研究者將人工智能算法引入風(fēng)電功率預(yù)測(cè)中。包括BP神經(jīng)網(wǎng)絡(luò)(BP)、支持向量機(jī)(SVM)和ELMAN神經(jīng)網(wǎng)絡(luò)等高級(jí)算法。文獻(xiàn)[6]提出基于時(shí)間序列的ARIMA模型對(duì)風(fēng)力發(fā)電功率進(jìn)行短期預(yù)測(cè),是一個(gè)較簡(jiǎn)單傳統(tǒng)的預(yù)測(cè)方法,但是對(duì)氣象信息有較強(qiáng)的依賴(lài)性且數(shù)據(jù)處理較復(fù)雜。文獻(xiàn)[7-8]巧妙地將小波分解法分別與ELMAN神經(jīng)網(wǎng)絡(luò)和極限學(xué)習(xí)機(jī)神經(jīng)網(wǎng)絡(luò)相結(jié)合,有效的解決了其他算法在訓(xùn)練過(guò)程中極易陷入極小值與不穩(wěn)定的問(wèn)題。在此過(guò)程中分別對(duì)分解后的不同頻率信號(hào)進(jìn)行預(yù)測(cè)重構(gòu),兩種模型較大程度的降低了風(fēng)電功率的預(yù)測(cè)誤差。但是預(yù)測(cè)效率較低,計(jì)算過(guò)程較復(fù)雜。文獻(xiàn)[9]將模態(tài)分解與支持向量機(jī)算法相結(jié)合進(jìn)行預(yù)測(cè)。此方法獨(dú)特,預(yù)測(cè)準(zhǔn)確度較高,但具有分解與計(jì)算較復(fù)雜,計(jì)算時(shí)間較長(zhǎng)的缺陷。文獻(xiàn)[10]提出了ADQPSO-SVR短期風(fēng)電功率預(yù)測(cè)模型。該算法與BPNN和RBFNN等其他方法相比,能夠提高短期風(fēng)電功率預(yù)測(cè)的精確性。文獻(xiàn)[11-12]均提出了預(yù)測(cè)風(fēng)電功率的混合模型算法,一個(gè)是基于高斯混合模型的RBF神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,另一個(gè)是基于ARIMA的卡爾曼濾波的神經(jīng)網(wǎng)絡(luò)混合模型算法。在風(fēng)電功率預(yù)測(cè)上均能達(dá)到預(yù)期效果。文獻(xiàn)[13-15]分別闡述了交叉熵理論功率預(yù)測(cè),支持向量回歸(SVR)以及SVM預(yù)測(cè)的方法。文獻(xiàn)[16]介紹了粒子群優(yōu)化的KELM在特征參數(shù)預(yù)測(cè)上的運(yùn)用。文獻(xiàn)[17]引出極限學(xué)習(xí)機(jī)與核極限學(xué)習(xí)機(jī)的理論,闡明了該算法的特點(diǎn)與優(yōu)勢(shì),并進(jìn)行嚴(yán)格的論證。
針對(duì)以上預(yù)測(cè)算法中存在的計(jì)算復(fù)雜、耗時(shí)長(zhǎng)、波動(dòng)性強(qiáng)和精確度不高等問(wèn)題,本文提出一種基于PSO-KELM的風(fēng)電功率預(yù)測(cè)模型,通過(guò)該模型分別與GA優(yōu)化的KELM預(yù)測(cè)模型以及RBFNN,LS-SVM神經(jīng)網(wǎng)絡(luò)的風(fēng)電預(yù)測(cè)模型進(jìn)行對(duì)比分析,結(jié)果表明PSO-KELM預(yù)測(cè)的效果更加精準(zhǔn),有較高的穩(wěn)定性,且誤差較低,收斂時(shí)間較短,大大提高風(fēng)電功率預(yù)測(cè)算法的性能。
極限學(xué)機(jī)(Extreme Learning Machine,ELM)神經(jīng)網(wǎng)絡(luò)模型與其他方法相比,極限學(xué)習(xí)機(jī)只需設(shè)置隱層神經(jīng)元的數(shù)目,通過(guò)求解方程β得到唯一的最優(yōu)解。ELM神經(jīng)網(wǎng)絡(luò)模型如圖1所示。
圖1 ELM神經(jīng)網(wǎng)絡(luò)模型
設(shè)有N個(gè)任意的樣本(Xi,ti),其中式Xi=[xi1,xi2,…,xin]T∈Rn,ti=[ti1,ti2,…,tim]T∈Rm對(duì)于只有隱藏L節(jié)點(diǎn)的神經(jīng)元網(wǎng)絡(luò),其可以用作:
j=1,2…N
(1)
式中:g(x)——激活函數(shù);
ωi=[ωi1,ωi2,…ωin]T——輸入層的權(quán)重;
βi為——輸出層的權(quán)重;
bi——第i個(gè)隱藏層;
ωi·Xj——ωj和Xj運(yùn)算的內(nèi)積。
為了減小神經(jīng)網(wǎng)絡(luò)的輸出誤差,其學(xué)習(xí)目標(biāo)函數(shù)為
(2)
即存在βi、ωi和bi,使得
j=1,2…N
(3)
上述方程用矩陣簡(jiǎn)單表示為
Hβ=T
(4)
其中
(5)
式中:H——神經(jīng)網(wǎng)絡(luò)隱層的輸出矩陣;
β——隱層和輸出層之間的權(quán)重;
T——神經(jīng)網(wǎng)絡(luò)輸出的期望向量。
如果隱層神經(jīng)元數(shù)量等于訓(xùn)練集樣本的數(shù)量,則極限學(xué)習(xí)機(jī)構(gòu)造成的SLFN與訓(xùn)練樣本之間的誤差對(duì)于任何ω和b幾乎為零。并且一旦任意確定隱含層連接權(quán)值與隱層神經(jīng)元的閾值,只需設(shè)置隱層神經(jīng)元的數(shù)目便可以得到最優(yōu)解。連接權(quán)值β可由最小二乘方程組求解得到:
min‖Hβ-T‖=0
(6)
傳統(tǒng)建模過(guò)程中,隱含層節(jié)點(diǎn)的數(shù)目通常小于訓(xùn)練集的數(shù)目,所提取的樣本數(shù)據(jù)極有可能存在復(fù)共線(xiàn)性問(wèn)題。而復(fù)共線(xiàn)性問(wèn)題使得在求解過(guò)程中隨機(jī)矩陣奇異,得到多個(gè)隱含層權(quán)值,使得輸出權(quán)值不唯一,對(duì)預(yù)測(cè)結(jié)果產(chǎn)生不良影響。
核極限學(xué)習(xí)機(jī)(KELM)[18]是一種改進(jìn)的算法,將ELM和核函數(shù)相結(jié)合,彌補(bǔ)極限學(xué)習(xí)機(jī)的缺陷,避免極限學(xué)習(xí)機(jī)固有的隨機(jī)性,使得極限學(xué)習(xí)機(jī)的計(jì)算更具優(yōu)勢(shì),提高模型的適應(yīng)性和穩(wěn)定性。
1.2.1 定義核矩陣
應(yīng)用Mercer’s條件定義以下核矩陣:
(7)
隨機(jī)參數(shù)矩陣HHT采用核函數(shù)Ω替代,在計(jì)算復(fù)雜度減少的同時(shí),獲得了性質(zhì)更好的高維投影。核函數(shù)相關(guān)參數(shù)設(shè)定完成之后,隨機(jī)矩陣HHT的參數(shù)通過(guò)計(jì)算公式(7)被唯一確定。h(x)為隱層節(jié)點(diǎn)輸出函數(shù)。對(duì)于KELM神經(jīng)網(wǎng)絡(luò)算法運(yùn)用RBF高斯核函數(shù)即:
(8)
式(8)中,σ為徑向參數(shù),μ與v為輸入向量。
1.2.2 引入嶺回歸常數(shù)和高斯核函數(shù)
采用嶺回歸理論:將正常數(shù)I/C添加到HHT構(gòu)成單位對(duì)角陣的對(duì)角線(xiàn)上,巧妙的避免隨機(jī)矩陣奇異問(wèn)題,根據(jù)廣義逆理論,這時(shí)對(duì)于權(quán)值向量可以求得唯一的解。輸出權(quán)值計(jì)算結(jié)果為
(9)
式中:I——對(duì)角單位矩陣HHT通過(guò)核函數(shù)的樣本映射產(chǎn)生的矩陣;
C——懲罰因子,用于調(diào)節(jié)結(jié)構(gòu)化風(fēng)險(xiǎn)與經(jīng)驗(yàn)化風(fēng)險(xiǎn)所占的比重。
ELM訓(xùn)練模式表示為
(10)
(11)
其中,p=1,2,…,N。
LPELM——損失函數(shù);
h(xp)——隱含層的輸出函數(shù);
tp——理論真實(shí)值;
ξp——誤差。
從式(10)可以看出,通過(guò)調(diào)節(jié)懲罰因子C,來(lái)對(duì)損失函數(shù)進(jìn)行調(diào)整,而損失函數(shù)是對(duì)式(11)中誤差ξp的充分反映,也就是通過(guò)參數(shù)C來(lái)調(diào)整損失函數(shù),間接調(diào)整ELM的誤差,使其進(jìn)行更精準(zhǔn)的預(yù)測(cè)。同時(shí)C還有糾正求解過(guò)程中的矩陣奇異的問(wèn)題,從而使得權(quán)值唯一確定。對(duì)高斯核函數(shù)K(x,x)確定后,Ω為唯一值,一旦確定懲罰因子C,就得到輸出層的權(quán)值。故KELM以核映射的穩(wěn)定性取代ELM中映射的隨機(jī)性,克服ELM中由于參數(shù)賦值的隨機(jī)性所引起的模型輸出的波動(dòng)性,更加簡(jiǎn)單方便,效率更高。
由式(10)可知,懲罰因子C發(fā)揮著調(diào)整結(jié)構(gòu)風(fēng)險(xiǎn)最小化和經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化兩者互相矛盾占比的作用。核參數(shù)σ控制核函數(shù)的徑向作用范圍,充分反映出非線(xiàn)性函數(shù)的性態(tài)與特點(diǎn)。KELM中采用RBF高斯核函數(shù)。所以,參數(shù)C與σ的取值對(duì)KELM的影響大。粒子群(PSO)算法[19-20]是一個(gè)簡(jiǎn)單高效的尋優(yōu)算法。利用粒子群(PSO)算法求解KELM的核函數(shù)中懲罰因子C與徑向參數(shù)σ的優(yōu)化值,建立了基于粒子群優(yōu)化的核極限學(xué)習(xí)機(jī)模型[21]。
風(fēng)電功率隨著風(fēng)速而變化,而風(fēng)速由于氣候原因,變化極大,所以此類(lèi)數(shù)據(jù)就有很大的波動(dòng)性。為了減少模型的計(jì)算時(shí)間,采用數(shù)據(jù)歸一化方式處理[22]:
(12)
其中,xmax=max(xi),xmin=min(xi)。
式中:xi——原始數(shù)據(jù)值;
針對(duì)核極限學(xué)習(xí)機(jī)參數(shù)選擇,在參數(shù)優(yōu)化過(guò)程中,以MSE作為適應(yīng)度函數(shù)的誤差標(biāo)準(zhǔn),適應(yīng)度G為
(13)
式中:yj——數(shù)據(jù)實(shí)際值;
G越大,表明這組學(xué)習(xí)參數(shù)相對(duì)較差。
根據(jù)行業(yè)標(biāo)準(zhǔn)NB/T 10205—2019《風(fēng)電功率預(yù)測(cè)技術(shù)規(guī)定》規(guī)定的風(fēng)電功率預(yù)測(cè)結(jié)果評(píng)價(jià)標(biāo)準(zhǔn),采用MAPE、MSE和RMSE[23]作為評(píng)價(jià)風(fēng)電功率預(yù)測(cè)精度的指標(biāo)。PSO-KELM算法流程如圖2所示。
圖2 PSO-KELM算法流程
以東北某風(fēng)電場(chǎng)某年一個(gè)季度數(shù)據(jù)為實(shí)驗(yàn)樣本。為了預(yù)測(cè)的準(zhǔn)確性,樣本數(shù)據(jù)每隔15 min采樣一次。為了預(yù)測(cè)精準(zhǔn)的同時(shí)要滿(mǎn)足電力生產(chǎn)要求,將每小時(shí)內(nèi)的4個(gè)數(shù)據(jù)作平均值處理,轉(zhuǎn)化成時(shí)間分辨率為1 h的數(shù)據(jù)。需要對(duì)缺失值和異常值進(jìn)行數(shù)據(jù)預(yù)處理,用均值法填補(bǔ)缺失數(shù)據(jù),確保建模數(shù)據(jù)的完整性和合理性[24]。取其中的7 d數(shù)據(jù)用于建模預(yù)測(cè),前5 d的數(shù)據(jù)作為訓(xùn)練集,后2 d的數(shù)據(jù)作為測(cè)試樣集。
采用PSO-KELM算法,默認(rèn)次數(shù)為20,終止迭代次數(shù)為30。PSO的認(rèn)知系數(shù)為5,慣性權(quán)重為1,兩個(gè)加速因子分別為1.6和1.7。
適應(yīng)度曲線(xiàn)如圖3所示。隨著進(jìn)化代數(shù)的增加,適應(yīng)度曲線(xiàn)反映出種群中個(gè)體適應(yīng)度差異性越來(lái)越小,適應(yīng)度曲線(xiàn)趨近于0.0180。
圖3 適應(yīng)度曲線(xiàn)
預(yù)測(cè)仿真圖如圖4所示。
圖4 預(yù)測(cè)仿真圖
由圖4可見(jiàn),PSO-ELM算法的MAPE為16.478;MSE為6.697 MW;擬合度R2為0.890,適應(yīng)度為0.0184,擬合效果較好。
由于考慮了算法波動(dòng)性,每種算法都要執(zhí)行幾次。適應(yīng)度對(duì)比如表1所示。
表1 適應(yīng)度對(duì)比
由表1可知,遺傳算法GA優(yōu)化算法所得最優(yōu)適應(yīng)度為0.018 8,其30次獨(dú)立運(yùn)行中適應(yīng)度的偏差為17.02%,而PSO算法的誤差為8.70%。由此可知PSO算法比與GA算法具有更小的誤差。除了適應(yīng)度以外,對(duì)兩種優(yōu)化算法的所耗時(shí)長(zhǎng)進(jìn)行對(duì)比。對(duì)于遺傳算法GA所耗時(shí)長(zhǎng)最短為41.9 s,最長(zhǎng)為52.8 s,其與PSO相比時(shí)間耗費(fèi)過(guò)長(zhǎng)。PSO相比于GA在適應(yīng)度明顯有改進(jìn),適應(yīng)度最優(yōu)值降低2.12%,而且平均耗時(shí)縮短約28 s,節(jié)約尋優(yōu)時(shí)間,同時(shí)優(yōu)化效果更好且穩(wěn)定。PSO優(yōu)化算法具有全局尋優(yōu)能力強(qiáng)、魯棒性好和計(jì)算耗時(shí)短的優(yōu)點(diǎn)[25],其優(yōu)化總體性能強(qiáng)于GA優(yōu)化算法。因此采用PSO對(duì)核極限學(xué)習(xí)機(jī)的兩個(gè)重要參數(shù)(懲罰因子)C與σ(徑向參數(shù))進(jìn)行尋優(yōu)。
通過(guò)30次優(yōu)化運(yùn)行,PSO-KELM最優(yōu)學(xué)習(xí)參數(shù)C為26.047,σ為0.618。GA-KELM最優(yōu)學(xué)習(xí)參數(shù)C為37.360,σ為0.936 2。
誤差分析如表2所示。
表2 誤差分析
由表2可見(jiàn),PSO-KELM的MAPE為16.478%,與參數(shù)非優(yōu)化的KELM、GA-KELM相比,分別降低19.661%和3.642%;對(duì)于PSO-KELM預(yù)測(cè)的RMSE為2.207MW,在2種模型中也是最低的,擬合度也最高,PSO-KELM的預(yù)測(cè)效果最佳。
仿真預(yù)測(cè)模型結(jié)果如圖5所示。
由圖5可見(jiàn),基于PSO-KELM相對(duì)于GA-KELM與KELM的兩種風(fēng)電功率預(yù)測(cè)模型精度更高,其中非優(yōu)化的核極限學(xué)習(xí)機(jī)KELM與真實(shí)曲線(xiàn)差異性較PSO-KELM與GA-KELM偏大。這主要是因?yàn)镻SO算法優(yōu)化KELM中的懲罰因子C及核參數(shù)σ,得到最佳的模型參數(shù)。
圖5 仿真預(yù)測(cè)模型結(jié)果
為了更好地驗(yàn)證PSO-KELM風(fēng)電功率預(yù)測(cè)模型的精確性,構(gòu)建了常用的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,分別是徑向基神經(jīng)網(wǎng)絡(luò)模型(RBFNN)和支持向量機(jī)神經(jīng)網(wǎng)絡(luò)模型(LSSVM),對(duì)風(fēng)電功率進(jìn)行短期預(yù)測(cè)。預(yù)測(cè)的時(shí)長(zhǎng)范圍與先前的相同,模型的評(píng)價(jià)指標(biāo)也相同。本文列出單一預(yù)測(cè)模型和優(yōu)化模型的誤差分析。3種模型誤差對(duì)比如表3所示。由此可得出,在獨(dú)立運(yùn)行30次的粒子群優(yōu)化的核極限學(xué)習(xí)機(jī)中,其RMSE較RBFNN、LSSVM和GA-KELM的均方根誤差分別減少了2.465 MW、2.111 MW和0.093MW。在4種算法同時(shí)處于最優(yōu)的MAPE和RMSE時(shí),PSO-KELM的擬合度(最好)為0.890,RBFNN、LSSVM(較低)分別為0.782和0.801,GA-KELM擬合度略低于PSO-KELM。同時(shí)PSO-KELM最優(yōu)的MAPE 較LSSVM、RBFNN 和GA-KELM的誤差有所降低。可以說(shuō)明PSO-KELM預(yù)測(cè)誤差最小,且在仿真過(guò)程中具有良好的穩(wěn)定性。
表3 3種模型誤差對(duì)比
風(fēng)電功率預(yù)測(cè)模型結(jié)果對(duì)比如圖6所示。
圖6 風(fēng)電功率預(yù)測(cè)模型結(jié)果對(duì)比
在4種預(yù)測(cè)模型中,PSO-KELM更接近于真實(shí)曲線(xiàn)。
RPE誤差點(diǎn)數(shù)統(tǒng)計(jì)如表4所示。
表4 RPE誤差點(diǎn)數(shù)統(tǒng)計(jì)
由表4可以看出,在這4種模型前7個(gè)點(diǎn)中,PSO-KELM和GA-KELM算法在誤差量小于10%范圍內(nèi)分布數(shù)目最多,分布較集中,波動(dòng)性平穩(wěn)。且PSO-KELM預(yù)測(cè)誤差精度略?xún)?yōu)于GA-KELM。RBFNN和LSSVM預(yù)測(cè)算法誤差分布較分散,波動(dòng)劇烈,預(yù)測(cè)效果存在較大誤差。
本文建立了KELM風(fēng)電功率短期預(yù)測(cè)模型,適應(yīng)度函數(shù)采用KELM 預(yù)測(cè)結(jié)果的MSE誤差與粒子群算法優(yōu)化KELM模型中懲罰因子和核參數(shù),優(yōu)化后的PSO-KELM模型預(yù)測(cè)效果更加精準(zhǔn)穩(wěn)定。實(shí)驗(yàn)證明,PSO-KELM算法較RBFNN、LSSVM和GA-KELM算法能夠更準(zhǔn)確地建立起風(fēng)電功率短期預(yù)測(cè)模型,風(fēng)力發(fā)電功率的預(yù)測(cè)精度更高。