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