孫海蓉, 張 鴿,2, 王瑞珈,2
(1.華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071003; 2.華北電力大學(xué) 河北省發(fā)電過程仿真與優(yōu)化控制工程技術(shù)研究中心,河北 保定 071003)
風(fēng)能是一種公認(rèn)的清潔無公害的可再生能源,也是一種潛力很大的新能源。在我國(guó),隨著環(huán)保意識(shí)的加強(qiáng),風(fēng)力發(fā)電取得了較大的進(jìn)展,但也面臨著運(yùn)行狀況的頻繁改變、發(fā)電不穩(wěn)定等問題,威脅著電網(wǎng)的安全運(yùn)行。因此,從風(fēng)力發(fā)電的安全性、經(jīng)濟(jì)性的角度考慮,對(duì)風(fēng)電功率進(jìn)行預(yù)測(cè),其意義十分重大[1]。
風(fēng)電功率序列是非平穩(wěn)信號(hào),會(huì)受到隨機(jī)因素的影響。為此,國(guó)內(nèi)外學(xué)者對(duì)風(fēng)電功率的預(yù)測(cè)進(jìn)行了廣泛的研究,并提出了多種數(shù)據(jù)分解方法,但預(yù)測(cè)結(jié)果都達(dá)不到令人滿意的程度,例如:傅里葉分解法自適應(yīng)效果差[2];小波分解法的分解能力受基函數(shù)的影響較大且分解結(jié)果含有殘留噪聲[3];經(jīng)驗(yàn)?zāi)B(tài)分解法(Empirical mode decomposition,EMD)利用自身信號(hào)驅(qū)動(dòng)建立基函數(shù),雖提高了時(shí)頻分辨力,但是分解過程產(chǎn)生的模態(tài)混疊現(xiàn)象影響EMD分解性能,降低了準(zhǔn)確性[4],采用集成經(jīng)驗(yàn)?zāi)B(tài)分解(Ensemble empirical mode decomposition,EEMD)可以解決此現(xiàn)象,但其重構(gòu)分量殘留噪聲較大[5]。文獻(xiàn)[6]提出的基于互補(bǔ)自適應(yīng)噪聲的集合經(jīng)驗(yàn)?zāi)J椒纸馑惴?EEMD with complementary adaptive noise,EEMDCAN),可以大大提高信號(hào)的分解效率。EEMDCAN算法對(duì)每一階段的余量信號(hào)進(jìn)行EMD分解,并在分解階段添加正負(fù)噪聲時(shí),大大降低了重構(gòu)誤差以及篩選次數(shù)。
自回歸分?jǐn)?shù)積分移動(dòng)平均模型(Autoregressive fractionally integrated moving average,ARFIMA)常常被用來預(yù)測(cè)序列的線性分量。該模型具有很強(qiáng)的時(shí)間預(yù)測(cè)能力。然而,風(fēng)電功率序列具有很強(qiáng)的波動(dòng)性和不可替代性,用線性分量不能精確描述。故還需對(duì)殘差序列進(jìn)行風(fēng)電功率的非線性分量預(yù)測(cè)[7]。而廣泛應(yīng)用的神經(jīng)網(wǎng)絡(luò)適應(yīng)性強(qiáng),但初始值的選取對(duì)模型的精度影響較大[8]。支持向量機(jī)(Support vector machines,SVM)算法簡(jiǎn)單易于訓(xùn)練,不易陷入局部最優(yōu),對(duì)于非線性數(shù)據(jù)的預(yù)測(cè),取得了比神經(jīng)網(wǎng)絡(luò)更好的預(yù)測(cè)效果。
基于以上研究?jī)?nèi)容,本文提出一種風(fēng)電功率組合預(yù)測(cè)算法(EEMDCAN-ARFIMA-PSOSVM)。首先采用EEMDCAN方法分解風(fēng)電功率時(shí)間序列,然后對(duì)分解過后的序列使用ARFIMA模型進(jìn)行單獨(dú)的預(yù)測(cè)。殘差序列采用一種改進(jìn)的粒子群尋優(yōu)算法優(yōu)化的SVM模型來進(jìn)行預(yù)測(cè)。用該組合算法對(duì)風(fēng)電功率進(jìn)行預(yù)測(cè),有效的提高了預(yù)測(cè)精度,并通過對(duì)比實(shí)驗(yàn)證明了其性能指標(biāo)均優(yōu)于其他預(yù)測(cè)方法。
風(fēng)電功率序列具有非線性非平穩(wěn)的特征,EMD方法具有很強(qiáng)的適應(yīng)性能夠有效的分解此類型的時(shí)間序列,但易于出現(xiàn)模態(tài)混疊現(xiàn)象。EEMD方法向原信號(hào)增加隨機(jī)的白噪聲來平衡信號(hào)中的極值點(diǎn)分布,并分別進(jìn)行EMD分解,最終的實(shí)際分量是對(duì)數(shù)次 EMD分解的模態(tài)分量進(jìn)行集成平均而得。增加集成平均次數(shù)在一定程度上能減小重構(gòu)誤差,但信號(hào)重構(gòu)時(shí)殘留的剩余噪聲較大且加重計(jì)算負(fù)擔(dān)[9]。
EEMDCAN方法在EEMD方法基礎(chǔ)上,對(duì)分解過程添加經(jīng)EMD自適應(yīng)分割的噪聲分量和正負(fù)噪聲對(duì),克服了由于集合平均次數(shù)限制下重構(gòu)誤差較大的問題。使用該方法對(duì)風(fēng)電功率序列進(jìn)行預(yù)處理,使得分解后的序列較為平穩(wěn),可以突出原始風(fēng)電功率序列的局部信息。
EEMDCAN算法描述如下:
(1)令s(n)表示原始風(fēng)電功率序列,對(duì)信號(hào)s(n)添加標(biāo)準(zhǔn)的白噪聲和正負(fù)噪聲對(duì),第i次的信號(hào)序列表示為
si(n)=s(n)+(-1)qε0vi(n)
(1)
式中:q=1,2,i=1,2,…,I;I表示添加白噪聲和正負(fù)噪聲次數(shù);vi(n)代表第i次實(shí)驗(yàn)中增加的具有標(biāo)準(zhǔn)正態(tài)分布的白噪聲序列;εk為增加噪聲序列的幅值。
(2)經(jīng)過EMD分解后得到的第1個(gè)模態(tài)分量:
(2)
(3)在第k=1階段,獲取第一個(gè)余量信號(hào)
(3)
式中:Ek(·)為序列分解的第k階模態(tài)分量;E1(vi(n))為白噪聲vi(n)分解的第一階模態(tài)分量。
(4)類似地,對(duì)其余每個(gè)階段,即k=2,…,K,對(duì)第k個(gè)剩余分量加正負(fù)噪聲對(duì)并進(jìn)行EMD分解,對(duì)I個(gè)固有模態(tài)分量集合平均后得到第k+1個(gè)模態(tài)分量,即有
(4)
(5)
(5)重復(fù)執(zhí)行步驟(4),直到信號(hào)不能再被分解,最終的余量信號(hào)為
(6)
原始風(fēng)電功率序列s(n)的分解結(jié)果可以表示為
(7)
EEMDCAN一定程度上抑制了模態(tài)混疊現(xiàn)象,算法降低篩選次數(shù),減少重構(gòu)誤差。
由于風(fēng)電功率的長(zhǎng)記憶特性,引入ARFIMA模型進(jìn)行風(fēng)電功率序列線性部分的預(yù)測(cè)。
若序列ρ~ck2d-1(k),c>0滿足方程:
(1-B)dφ(B)Xt=θ(B)at
(8)
則稱{Xt}服從ARFIMA(p,d,q)。其中B為滯后算子,{at}是白噪聲序列,|d|<0.5,(1-B)d為分?jǐn)?shù)差分算子,φ(B)為p階的平穩(wěn)滯后多項(xiàng)算子,θ(B)為q階的平穩(wěn)滯后多項(xiàng)算子。
單獨(dú)使用ARFIMA模型對(duì)風(fēng)電功率進(jìn)行預(yù)測(cè)往往精度不高,適應(yīng)性不強(qiáng),因此本文將風(fēng)電功率序列分為線性部分和非線性部分分別進(jìn)行預(yù)測(cè)。
SVM模型有較強(qiáng)的理論支撐[10],可以很好地預(yù)測(cè)風(fēng)電功率序列的非線性部分,本文在SVM模型的基礎(chǔ)上引入粒子群算法[11],避免了參數(shù)選取的盲目性,提高了系統(tǒng)建模的精確性。
基于SVM的優(yōu)勢(shì),本文設(shè)計(jì)的粒子群優(yōu)化的SVM模型描述如下:
訓(xùn)練數(shù)據(jù)是{(xi,yi)|i=1,2,...,N},N為風(fēng)電訓(xùn)練樣本數(shù)。xi∈RN為第i個(gè)風(fēng)電數(shù)據(jù)樣本輸入,yi∈R為對(duì)應(yīng)輸出。預(yù)測(cè)模型表達(dá)式為
f(x)=ωTφ(x)+b
(9)
式中:ω為權(quán)值;b為偏差;φ(x)為非線性映射。
SVM優(yōu)化目標(biāo)可由式(10)表示:
(10)
式中:C為懲罰因子;ξ,ξ*分別為松弛變量;ε為不敏感損失參數(shù)。
SVM優(yōu)化目標(biāo)問題是一個(gè)非線性規(guī)劃的問題,可以通過加入拉格朗日乘子,可將問題轉(zhuǎn)變?yōu)閷?duì)偶問題。由式(11)來表示預(yù)測(cè)模型。
(11)
式中:ai,ai*≥0為拉格朗日乘子;K(xi,xj)為滿足Mercer條件的核函數(shù)。
核函數(shù)參數(shù)是影響SVM預(yù)測(cè)效果的關(guān)鍵因素[12,13],使用優(yōu)化粒子群算法得到其參數(shù)的最優(yōu)值[14],提高預(yù)測(cè)精度。
基本PSO算法是用Vi=(vi1,vi2,…,viD)表示第i個(gè)粒子的速度,在搜索空間中對(duì)應(yīng)的位置表示為Xi=(xi1,xi2,…,xiD)。其速度更新方程為
(12)
式中:d=1,2,…,D;i=1,2…,n;D為搜索空間維度;n為粒子總數(shù);k為當(dāng)前的迭代次數(shù);Vid為粒子的速度;ω為慣性權(quán)重系數(shù);c1、c2為加速度因子,均是非負(fù)的常數(shù);r1、r2為分布在0到1之間的隨機(jī)數(shù)。
基本PSO算法的缺點(diǎn)是算法有時(shí)得不到最優(yōu)解,粒子陷入在某一區(qū)域而得到局部最優(yōu)的結(jié)果[15]。為了使得粒子均衡分布,可以對(duì)基本PSO算法進(jìn)行優(yōu)化,如每計(jì)算一次粒子的位置,就計(jì)算一次粒子與其他粒子的距離,進(jìn)行粒子的位置更新,這樣可以改善粒子在空間的分布特性,得到全局最優(yōu)解[16]。
(13)
式中:Δlk表示設(shè)定粒子間最小的允許距離。
SVM優(yōu)化算法可以達(dá)到在初始階段時(shí)較為快速地全局尋優(yōu),在后期較為精確地局部尋優(yōu)。
風(fēng)電功率序列值存在較大的波動(dòng)性,首先要對(duì)風(fēng)電功率序列進(jìn)行數(shù)據(jù)處理包括歸一化處理和壞值剔除。式(14)對(duì)原始風(fēng)電數(shù)據(jù)進(jìn)行處理,限制在一定的范圍內(nèi):
(14)
式中:xmax和xmin分別為樣本中歷史風(fēng)電功率的最大值和最小值。
(15)
為了驗(yàn)證所建模型的準(zhǔn)確性,選取廣泛使用的三種性能指標(biāo)對(duì)模型進(jìn)行評(píng)價(jià)。
(1)相對(duì)誤差[17](Relative Error,RE)
(16)
(2)平均絕對(duì)百分誤差 (Mean Absolute Percent Error,MAPE)
(17)
(3)均方誤差(Mean Square Error,MSE)
(18)
選用EEMDCAN-ARFIMA-PSOSVM組合方法對(duì)短期風(fēng)電功率預(yù)測(cè),步驟如下:
(1)對(duì)風(fēng)電功率數(shù)據(jù)進(jìn)行預(yù)處理[18];
(2)采用EEMDCAN算法分解預(yù)處理后的風(fēng)電功率數(shù)據(jù),得到模態(tài)分量;
(3)對(duì)分量使用ARFIMA模型進(jìn)行線性預(yù)測(cè);
(4)對(duì)各個(gè)IMF分量殘差序列建立相應(yīng)的SVM預(yù)測(cè)模型,模型最優(yōu)參數(shù)采用改進(jìn)粒子群算法獲得,得到每個(gè)分量信號(hào)的最佳預(yù)測(cè)值;
(5)線性預(yù)測(cè)的結(jié)果加上非線性預(yù)測(cè)結(jié)果得到最終預(yù)測(cè)結(jié)果;
(6)采用滾動(dòng)預(yù)測(cè)方法[19],將預(yù)測(cè)出的數(shù)據(jù)加入到訓(xùn)練數(shù)據(jù)中,組成新的訓(xùn)練樣本集;
(7)重復(fù)(3)~(6)直到得出待預(yù)測(cè)時(shí)段的結(jié)果;
(8)各個(gè)分量的最終預(yù)測(cè)值相加即為最終的風(fēng)電功率預(yù)測(cè)值;
(9)分析模型的性能指標(biāo)[20]。
建模過程如圖1所示。
圖1 EEMDCAN-ARFIMA-PSOSVM建??蚣蹻ig.1 EEMDCAN-ARFIMA-PSOSVM modeling framework
將EEMDCAN-ARFIMA-PSOSVM方法應(yīng)用于風(fēng)場(chǎng)的短期風(fēng)電功率預(yù)測(cè)中。實(shí)驗(yàn)數(shù)據(jù)來自于國(guó)內(nèi)某風(fēng)電場(chǎng)2018年2月到5月的風(fēng)電功率數(shù)據(jù),共采集到65臺(tái)風(fēng)機(jī)的數(shù)據(jù)。選取1號(hào)風(fēng)機(jī)連續(xù)20天的風(fēng)電功率數(shù)據(jù)構(gòu)成時(shí)間序列,采樣間隔為15 min。以前19天的數(shù)據(jù)為訓(xùn)練集,預(yù)測(cè)第20天的風(fēng)電輸出功率。原始風(fēng)電場(chǎng)輸出功率序列如圖2所示。
圖2 原始風(fēng)電場(chǎng)輸出功率序列Fig.2 Original wind farm output power sequence
將實(shí)驗(yàn)樣本數(shù)據(jù)進(jìn)行歸一化處理和壞值剔除。采用EEMDCAN方法對(duì)序列分解,加入共100組標(biāo)準(zhǔn)差為0.1的白噪聲信號(hào),分解結(jié)果分別如圖3所示,重構(gòu)誤差如圖4所示,所需迭代次數(shù)如圖5所示,分解出的IMF1序列如圖6所示。
圖3 EEMDCAN方法的分解結(jié)果 Fig.3 Decomposition results of the EEMDCAN method
圖4 EEMDCAN 方法的重構(gòu)誤差Fig.4 Reconstruction error of EEMDCAN method
圖5 各序列分解所需迭代次數(shù)(EEMDCAN)Fig.5 Number of iterations required for each sequence decomposition(EEMDCAN)
圖6 IMF1分量時(shí)間序列圖Fig.6 IMF1 component time series diagram
圖7 IMF1分量自相關(guān)和偏自相關(guān)系數(shù)圖Fig.7 IMF1 component autocorrelation and partial autocorrelation number diagrams
由圖7所示的自相關(guān)和偏自相關(guān)圖不難發(fā)現(xiàn),IMF1序列模型的最優(yōu)階數(shù)在9階以內(nèi)。
由表1可見,當(dāng)p=7,q=9時(shí),BIC數(shù)值最小,因此確定模型為ARFIMA(7,d,9)。
對(duì)IMF1分量進(jìn)行預(yù)測(cè),將IMF1殘差序列送入優(yōu)化SVM預(yù)測(cè)模型,相關(guān)參數(shù)設(shè)置見表2。
表1 部分模型對(duì)應(yīng)的BIC值(d=0.4)
表2 SVM預(yù)測(cè)模型參數(shù)
圖8 EEMDCAN-ARFIMA-PSOSVM預(yù)測(cè)結(jié)果Fig.8 EEMDCAN-ARFIMA-PSOSVM forecast results
為檢驗(yàn)該組合預(yù)測(cè)方法的有效性,采用單獨(dú)SVM、EEMD-ARMA-SVM、神經(jīng)網(wǎng)絡(luò)算法、EEMDCAN-ARFIMA-SVM四種預(yù)測(cè)模型與提出的EEMDCAN-ARFIMA-PSOSVM組合預(yù)測(cè)模型進(jìn)行對(duì)比。
從表3和圖8~圖12觀察對(duì)比發(fā)現(xiàn),5種模型有很大差異:
圖9 單獨(dú)SVM預(yù)測(cè)結(jié)果Fig.9 SVM prediction results
圖10 EEMD-ARMA-SVM預(yù)測(cè)結(jié)果Fig.10 EEMD-ARMA-SVM prediction results
圖11 EEMDCAN-ARFIMA-SVM預(yù)測(cè)結(jié)果 Fig.11 EEMDCAN-ARFIMA-SVM prediction results
圖12 神經(jīng)網(wǎng)絡(luò)算法預(yù)測(cè)結(jié)果 Fig.12 Neural network algorithms prediction results
表3 不同模型的誤差指標(biāo)結(jié)果對(duì)比
Tab.3 Comparison of error indices of different models
預(yù)測(cè)模型MAPE/(%)ME/MWMSE/(%)SVM20.2940.236 841.422 4EEMD-ARMA-SVM5.0112.359 714.861 2EEMDCAN-ARFIMA-SVM2.926.302 47.334 6神經(jīng)網(wǎng)絡(luò)算法4.8511.032 413.323 6EEMDCAN-ARFIMA-PSOSVM2.253.456 94.426 3
(1)基于EEMDCAN-ARFIMA-PSOSVM組合算法建立的預(yù)測(cè)模型的擬合度、準(zhǔn)確度高且相對(duì)平穩(wěn)。性能指標(biāo)均優(yōu)于其它預(yù)測(cè)模型。
(2)組合預(yù)測(cè)方法與單一的SVM法相比預(yù)測(cè)精度有較大的提高,這表明經(jīng)驗(yàn)?zāi)B(tài)分解方法能有效的對(duì)風(fēng)電功率時(shí)間序列進(jìn)行處理,降低SVM模型對(duì)數(shù)據(jù)的依賴性,預(yù)測(cè)結(jié)果更為可靠性提高。
(3)EEMD-ARMA-SVM模型與EEMDCAN- ARFIMA-SVM模型的預(yù)測(cè)效果都比較滿意,可以看出利用EEMDCAN方法可以更好地找出數(shù)據(jù)內(nèi)在特性,當(dāng)風(fēng)電功率變化較大時(shí),EEMDCAN對(duì)數(shù)據(jù)進(jìn)行平穩(wěn)處理,使得預(yù)測(cè)結(jié)果更為準(zhǔn)確。
(4)使用神經(jīng)網(wǎng)絡(luò)算法將風(fēng)向和風(fēng)速作為模型輸入,風(fēng)電功率作為模型輸出,預(yù)測(cè)精度也能達(dá)到要求,但神經(jīng)網(wǎng)絡(luò)對(duì)參數(shù)比較費(fèi)時(shí)。此外,對(duì)于同一風(fēng)場(chǎng)數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的不同可能產(chǎn)生不同的預(yù)測(cè)精度[21],提出的組合預(yù)測(cè)模型具有更好的穩(wěn)定性。
(5)對(duì)比EEMDCAN-ARFIMA-SVM預(yù)測(cè)模型與EEMDCAN-ARFIMA-PSOSVM預(yù)測(cè)模型的預(yù)測(cè)結(jié)果,基于改進(jìn)粒子群算法建立的預(yù)測(cè)模型擬合精度更高,模型誤差指標(biāo)明顯低于其余模型,具有更高的預(yù)測(cè)精度和更好的預(yù)測(cè)性能。
EEMDCAN分解法更完整地重構(gòu)了原始信號(hào),使用ARFIMA模型對(duì)線性部分進(jìn)行預(yù)測(cè),利用改進(jìn)粒子群算法優(yōu)化SVM模型,避免參數(shù)選取的盲目性,實(shí)現(xiàn)了對(duì)系統(tǒng)的精確預(yù)測(cè)建模。該組合預(yù)測(cè)模型通過與其他模型在多種預(yù)測(cè)精度評(píng)判指標(biāo)下進(jìn)行對(duì)比,均更為準(zhǔn)確和穩(wěn)定,為短期風(fēng)電功率預(yù)測(cè)研究提供了一種新的途徑。
華北電力大學(xué)學(xué)報(bào)(自然科學(xué)版)2020年1期