丁方莉,周松林,楊洪深
(銅陵學(xué)院電氣工程學(xué)院,安徽銅陵244061)
風(fēng)速及風(fēng)電功率的隨機(jī)性和不可控性會(huì)導(dǎo)致風(fēng)電機(jī)組并網(wǎng)后對(duì)電網(wǎng)產(chǎn)生較大的干擾[1-3]。近年來,隨著風(fēng)電并網(wǎng)規(guī)模的日益增加,對(duì)風(fēng)速進(jìn)行準(zhǔn)確預(yù)測(cè)顯得尤為重要。風(fēng)速及風(fēng)電功率預(yù)測(cè)方法分為物理方法與統(tǒng)計(jì)預(yù)測(cè)方法。其中統(tǒng)計(jì)預(yù)測(cè)法不要求提供具體的地理信息,僅根據(jù)歷史氣象數(shù)據(jù)即可開展預(yù)測(cè),因而應(yīng)用較為廣泛。統(tǒng)計(jì)預(yù)測(cè)模型包括時(shí)間序列法[4]、神經(jīng)網(wǎng)絡(luò)法[5-6]、卡爾曼濾波法[7]、支持向量機(jī)[8-9]等。針對(duì)風(fēng)速時(shí)間序列的非平穩(wěn)特性,一些學(xué)者采用分解-合成的預(yù)測(cè)方法取得了良好的效果,如文獻(xiàn)[10]將經(jīng)驗(yàn)?zāi)J椒纸夂蜕窠?jīng)網(wǎng)絡(luò)相結(jié)合進(jìn)行短期風(fēng)速組合預(yù)測(cè);文獻(xiàn)[11]將風(fēng)速進(jìn)行小波分解,采用支持向量機(jī)對(duì)各層小波系數(shù)進(jìn)行預(yù)測(cè),通過小波重構(gòu)得到最終風(fēng)速預(yù)測(cè)值。小波神經(jīng)網(wǎng)絡(luò)(wavelet neural network,WNN)是小波函數(shù)與神經(jīng)網(wǎng)絡(luò)相結(jié)合而構(gòu)成的新型神經(jīng)網(wǎng)絡(luò),同時(shí)具有神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)功能和小波函數(shù)多分辨率局部時(shí)頻特性,但小波神經(jīng)網(wǎng)絡(luò)的參數(shù)較多,且參數(shù)的選擇對(duì)預(yù)測(cè)性能的影響很大。傳統(tǒng)小波神經(jīng)網(wǎng)絡(luò)通過最優(yōu)梯度下降法調(diào)整網(wǎng)絡(luò)權(quán)值和小波函數(shù)的尺度因子、平移因子,但往往陷入局部最優(yōu)解。粒子群優(yōu)化算法(particle swarm optimization,PSO)是一種智能最優(yōu)化算法[12],將其應(yīng)用于小波神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化能夠增加獲取全局最優(yōu)解的概率,改善神經(jīng)網(wǎng)絡(luò)對(duì)高維函數(shù)的逼近性能,提高預(yù)測(cè)精度。為此,文中提出一種基于PSO-WNN模型的超短期風(fēng)速預(yù)測(cè)方法,同時(shí)分析預(yù)測(cè)模型的誤差構(gòu)成及其影響因素,采用一階線性回歸法對(duì)模型誤差進(jìn)行校正,以期提高風(fēng)速預(yù)測(cè)模型的泛化性能和預(yù)測(cè)精度。
將小波函數(shù)作為神經(jīng)網(wǎng)絡(luò)的激勵(lì)函數(shù)即構(gòu)成小波神經(jīng)網(wǎng)絡(luò)。小波函數(shù)可表示為
式中:ψ(·)為母小波;a 為伸縮因子或尺度因子,a >0;b 為平移因子。文中風(fēng)速預(yù)測(cè)模型采用圖1所示的三層小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
設(shè)X=[x1,…,xd]為d 維輸入向量,其元素為風(fēng)速、風(fēng)向、溫度等;y 為一維輸出向量,即待預(yù)測(cè)風(fēng)速;vij,wj為連接權(quán);N 為隱節(jié)點(diǎn)數(shù)。隱層神經(jīng)元的激勵(lì)函數(shù)選小波函數(shù)ψ(x),通常取Morlet小波,如
設(shè)共有M 個(gè)輸入輸出樣本對(duì)X=[X1,…,XM] ,Y=[Y1,…,YM],其中第m 個(gè)d 維樣本及其對(duì)應(yīng)輸出為Xm=[x1m,…,xdm],Ym=ym。Zj=[zj1,…,zjm]為第j個(gè)隱層單元輸出,則對(duì)于第m 個(gè)輸入樣本,網(wǎng)絡(luò)的第j 個(gè)隱單元輸出為
圖1 小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Construction of wavelet neural network
其中i=1,…,d。網(wǎng)絡(luò)輸出為wj0為第i 個(gè)節(jié)點(diǎn)閾值。假設(shè)網(wǎng)絡(luò)輸入樣本Xm對(duì)應(yīng)的期望輸出為dm,通過訓(xùn)練樣本對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,實(shí)現(xiàn)目標(biāo)函數(shù)(5)式最小化,從而確定參數(shù)a,b,v,w。
1.2.1 基本粒子群算法
基本粒子群算法,即首先將需求解的問題轉(zhuǎn)化為一群不同長度且具有個(gè)體適應(yīng)度的粒子,然后粒子們追隨當(dāng)前最優(yōu)粒子在解空間中搜索,通過迭代方法搜尋使目標(biāo)函數(shù)最小化的最優(yōu)解。對(duì)于WNN模型,粒子應(yīng)該包含連接權(quán)vij與wj、伸縮因子aj、平移因子bj等參數(shù)對(duì)應(yīng)的二進(jìn)制串碼。設(shè)d 維空間中第i 個(gè)粒子的位置、速 度、個(gè) 體 最 優(yōu) 解 分 別 為 Xim=(xi,1,xi,2,…, xi,d),Vi=(vi,1,vi,2,…, vi,d),Pi=(pi,1,pi,2,…, pi,d),在 群 體X=(x1,x2,…, xd)中全局最優(yōu)解Pg=(pg,1,pg,2,…, pg,d)。每次迭代時(shí),粒子通過跟蹤個(gè)體最優(yōu)解和全局最優(yōu)解更新自己。在尋找這兩個(gè)最優(yōu)解時(shí),粒子的位置和速度更新公式如下:
式中:η 為進(jìn)化代數(shù);vi,j,xi,j,pi,j和pg,j分別為粒子i 在d 維空間上的速度、位置、個(gè)體極值和全局極值;c1,c2為正的學(xué)習(xí)因子,通常取2;r1,r2為0到1之間均勻分布的隨機(jī)數(shù);w 為慣性權(quán)。
1.2.2 二階振蕩粒子群算法
在基本粒子群算法中,粒子的飛行速度僅是當(dāng)前位置的函數(shù)。為平衡PSO全局搜索能力和局部改良能力,文中在速度更新過程中,引入粒子位置的變化量以提高群體的多樣性和全局收斂性,同時(shí)引入振蕩環(huán)節(jié),構(gòu)成二階振蕩粒子群算法,其速度更新公式為
文中采用預(yù)測(cè)值均方根誤差的倒數(shù)作為適應(yīng)度函數(shù),即
其中:H為樣本個(gè)數(shù);vR為實(shí)測(cè)值;vP為預(yù)測(cè)值。
1.2.3 PSO-WNN參數(shù)優(yōu)化步驟
1)按照連接權(quán)值和小波參數(shù)的數(shù)量確定粒子的個(gè)數(shù)和每個(gè)粒子的二進(jìn)制位數(shù),并隨機(jī)初始化種群中各粒子的速度和位置。
2)將每個(gè)粒子轉(zhuǎn)化為待優(yōu)化參數(shù)a、b、v、w,應(yīng)用該參數(shù)對(duì)訓(xùn)練樣本進(jìn)行預(yù)測(cè),按式(9)計(jì)算各粒子適應(yīng)度函數(shù)值及位置。
4)將每個(gè)粒子每次迭代得到的適應(yīng)度函數(shù)值與過去的最好位置作比較,如果適應(yīng)度函數(shù)值更大,說明誤差減小,則將其作為新的當(dāng)前最好位置。
5)每次迭代均比較當(dāng)前所有個(gè)體最優(yōu)解從而得到全局最優(yōu)解。
6)當(dāng)?shù)_(dá)到最大次數(shù)或預(yù)設(shè)精度時(shí)則搜索停止,輸出結(jié)果,否則返回步驟3)。
k近鄰算法能夠在眾多歷史數(shù)據(jù)形成的向量中尋找與當(dāng)前向量模式最近的k個(gè)向量,對(duì)模型進(jìn)行訓(xùn)練和預(yù)測(cè),通過k近鄰算法對(duì)樣本進(jìn)行篩選,能夠防止一些突變量和奇異量對(duì)模型的干擾,提高模型的范化性能和預(yù)測(cè)精度。基于k近鄰算法的PSO-WNN風(fēng)速預(yù)測(cè)步驟如下:
1)預(yù)測(cè)模型不同的輸入變量可能具有不同的量綱,不利于網(wǎng)絡(luò)訓(xùn)練,需做歸一化處理,即將原始數(shù)據(jù)通過線性變換至[0,1]區(qū)間,再通過相空間重構(gòu)構(gòu)造d維輸入樣本向量集合
其中:X 為WNN 的d 維輸入向量;Y 為m 維輸出向量,即超前m 步預(yù)測(cè),對(duì)于單步滾動(dòng)預(yù)測(cè)模式,m=1。
2)采用k近鄰算法,以歐式距離為評(píng)價(jià)依據(jù),從樣本集向量X中選出與當(dāng)前預(yù)測(cè)時(shí)段對(duì)應(yīng)的向量歐式距離較小的k組輸入向量作為訓(xùn)練集。
3)根據(jù)樣本集建立如式(5)所示的目標(biāo)函數(shù),運(yùn)用二階振蕩粒子群優(yōu)化算法對(duì)WNN網(wǎng)絡(luò)進(jìn)行訓(xùn)練并確定WNN參數(shù)。訓(xùn)練好的WNN能夠描述滿足目標(biāo)函數(shù)的高維函數(shù)F,即Y=F(X)。
4)以單步預(yù)測(cè)為例,將當(dāng)前觀測(cè)值向量代入WNN模型即可得到預(yù)測(cè)值,并進(jìn)行誤差分析。對(duì)于多步預(yù)測(cè),可以采取單步滾動(dòng)預(yù)測(cè)方式,即將上一次預(yù)測(cè)值當(dāng)作觀測(cè)值更新到歷史樣本中,再進(jìn)行下一步預(yù)測(cè)。滾動(dòng)預(yù)測(cè)通常會(huì)帶來誤差累積,所以超前步長越多,誤差越大。
為衡量預(yù)測(cè)精度,文中定義兩種誤差,平均絕對(duì)誤差(EMAE)和均方根誤差(ERMSE)。
對(duì)于時(shí)段t,均方誤差Err(t)可以表示為
式(12)表示的預(yù)測(cè)誤差來自三個(gè)方面:因簡(jiǎn)單模型無法表示基本數(shù)據(jù)的復(fù)雜度而造成的偏差Eb;因復(fù)雜模型對(duì)訓(xùn)練其所用的有限數(shù)據(jù)過度敏感而造成的方差Ev;不可消除的噪聲項(xiàng)誤差En。其中偏差與方差取決于模型復(fù)雜度與訓(xùn)練樣本集的容量,合稱為模型誤差。偏差源于模型對(duì)樣本的欠擬合,如果模型具有足夠的數(shù)據(jù),但因不夠復(fù)雜而無法捕捉基本關(guān)系,則會(huì)出現(xiàn)偏差。方差通常出現(xiàn)在模型過于復(fù)雜或沒有足夠的樣本支持的情況下,方差過高則表示模型對(duì)訓(xùn)練集高度敏感即過擬合,模型泛化能力差,增加樣本是降低模型方差的有效途徑。噪聲項(xiàng)誤差是由外界隨機(jī)干擾帶來的,通常表現(xiàn)為零均值正態(tài)分布。
圖2 為模型誤差與模型復(fù)雜度的關(guān)系。由圖2可見,在給定一組固定數(shù)據(jù)時(shí),模型不能過于簡(jiǎn)單或復(fù)雜。模型過于簡(jiǎn)單,則偏差較大、方差較?。荒P瓦^于復(fù)雜,則方差較大、偏差較小,兩種情況的總體誤差不能達(dá)到最小。因此減小總體誤差的關(guān)鍵在于解決模型復(fù)雜度與樣本容量的矛盾。實(shí)際應(yīng)用中沒有一個(gè)明確的解析方法來解決這一矛盾,往往是通過多次比較實(shí)驗(yàn)來折中考慮,這樣的模型只能是相對(duì)最優(yōu)的。模型誤差與模型復(fù)雜度、樣本容量、訓(xùn)練程度以及參數(shù)初始化等因素有關(guān),通常使總體誤差呈現(xiàn)均值不為零的近似正態(tài)分布。文中算例采用一階線性回歸法對(duì)模型誤差進(jìn)行校正,校正后的總體誤差將會(huì)適度減小且呈正態(tài)分布。
圖2 模型誤差與模型復(fù)雜度的關(guān)系Fig.2 Relationship between model error and model complexity
文中采用MATLAB2012進(jìn)行仿真實(shí)驗(yàn),所用風(fēng)速數(shù)據(jù)取自澳大利亞某風(fēng)電場(chǎng)2014年6—8月份的風(fēng)速數(shù)據(jù)。PSO-WNN算法的時(shí)效性和精確度存在一定矛盾,適當(dāng)減小目標(biāo)函數(shù)值和訓(xùn)練樣本容量可減少時(shí)間消耗,但會(huì)犧牲一定的預(yù)測(cè)精度。因此首先剔除非正常數(shù)據(jù),再從中截取1 600個(gè)數(shù)據(jù)用于仿真分析。樣本分為訓(xùn)練樣本集、測(cè)試樣本集、驗(yàn)證樣本集等3個(gè)子集。其中:訓(xùn)練樣本集容量為700,用于訓(xùn)練預(yù)測(cè)模型;測(cè)試集樣本集容量為800,用于獲取誤差樣本,構(gòu)建一階線性擬合函數(shù);驗(yàn)證集樣本容量為100,用于驗(yàn)證預(yù)測(cè)性能。先將風(fēng)速樣本數(shù)據(jù)歸一化到[0 1]區(qū)間,再進(jìn)行相空間重構(gòu),將時(shí)間序列轉(zhuǎn)化為矩陣形式[X Y],其中X=(xt-d+1,xt-d+2,…,xt),Y=(xt+1,xt+1,…,xt+m),d 為輸入向量的維數(shù)。預(yù)測(cè)模型的結(jié)構(gòu)與參數(shù)目前還沒有一個(gè)準(zhǔn)確的確定方法,在實(shí)踐中通常是通過多次實(shí)驗(yàn)比較來確定。該算例預(yù)測(cè)模型的參數(shù)設(shè)定:輸入向量的維數(shù)d=6,WNN 模型隱層節(jié)點(diǎn)數(shù)N=8,PSO 目標(biāo)函數(shù)歸一化取值為0.01,種群數(shù)量為80。表1 為PSO-WNN,WNN,BP 3種模型的訓(xùn)練與預(yù)測(cè)結(jié)果。
表1 3種模型訓(xùn)練及預(yù)測(cè)結(jié)果Tab.1 Training and prediction results of three models
從表1 可以看出:PSO-WNN預(yù)測(cè)值的平均絕對(duì)誤差MAE為2.17 m/s,均方根誤差RMSE為2.54 m/s;相比單一的WNN和BP預(yù)測(cè)模型,POS-WNN模型的預(yù)測(cè)準(zhǔn)確度有所提高,但模型的時(shí)效性不高,訓(xùn)練時(shí)間達(dá)332.3 s。模型的時(shí)效性與訓(xùn)練樣本容量、WNN網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜性、PSO目標(biāo)函數(shù)值、種群數(shù)量等因素有關(guān)。經(jīng)反復(fù)實(shí)驗(yàn),當(dāng)訓(xùn)練樣本容量取400,WNN模型隱層節(jié)點(diǎn)數(shù)取6,PSO目標(biāo)函數(shù)歸一化取值為0.02,種群數(shù)量為55 種時(shí),PSO-WNN模型的時(shí)間消耗減少至203.3 s,但預(yù)測(cè)誤差RMSE增大至3.01??梢娔P偷臅r(shí)效性和準(zhǔn)確度存在一定的矛盾,需綜合考慮,折中取值。
為進(jìn)一步驗(yàn)證PSO-WNN模型的實(shí)用性和穩(wěn)健型,將PSO-WNN,WNN模型用于兩個(gè)不同風(fēng)速級(jí)別和時(shí)間采樣間隔的風(fēng)電場(chǎng)風(fēng)速預(yù)測(cè),結(jié)果如圖3,4。圖3 為小時(shí)級(jí)采樣風(fēng)速的預(yù)期曲線,平均風(fēng)速為9.2 m/s。圖4為采樣間隔為15 min的風(fēng)速預(yù)測(cè)曲線,平均風(fēng)速為1.3 m/s。比較圖3,4可看出,在不同級(jí)別和不同采樣間隔的場(chǎng)景下,與WNN模型相比,PSO-WNN模型獲得了更高的預(yù)測(cè)精度,表現(xiàn)出更強(qiáng)的穩(wěn)健性。
圖3 小時(shí)級(jí)風(fēng)速預(yù)測(cè)曲線Fig.3 Prediction curves of hourly wind speed
圖4 15 min級(jí)風(fēng)速預(yù)測(cè)曲線Fig.4 Prediction curves of 15 min level wind speed
圖5為800個(gè)測(cè)試樣本的實(shí)際風(fēng)速和預(yù)測(cè)風(fēng)速散點(diǎn)圖,根據(jù)散點(diǎn)圖采用一階線性回歸法求取實(shí)際風(fēng)速與預(yù)測(cè)風(fēng)速之間的擬合函數(shù)。設(shè)擬合函數(shù)為
式中k,b 為擬合函數(shù)的系數(shù)。對(duì)樣本點(diǎn)進(jìn)行擬合得到一階線性回歸方程為
由圖5可以看出,散點(diǎn)圖位置整體偏上,擬合直線角度大于45°,樣本點(diǎn)較分散地對(duì)稱分布于擬合直線兩側(cè)。說明預(yù)測(cè)值總體小于實(shí)際值,存在均值為負(fù)的模型誤差。將測(cè)試樣本的預(yù)測(cè)值按式(14)進(jìn)行校正得到校正后的預(yù)測(cè)值,如
圖5 校正前散點(diǎn)圖Fig.5 Scatter before correction
重新作出校正后測(cè)試集的預(yù)測(cè)風(fēng)速和實(shí)際風(fēng)速的散點(diǎn)圖,如圖6所示。對(duì)圖4散點(diǎn)圖再次進(jìn)行一階線性回旭,得到新的擬合方程為
對(duì)比圖5,6可以發(fā)現(xiàn),校正后系統(tǒng)誤差減小,風(fēng)速樣本對(duì)稱分布在近似為45°的擬合直線兩側(cè),且散點(diǎn)更向擬合直線靠攏,預(yù)測(cè)誤差減小。圖7為測(cè)試集樣本校正前后預(yù)測(cè)誤差的概率密度曲線。由圖7可看出:校正前的誤差概率密度曲線向左傾斜,百分比誤差分布在[-0.60,0.25]區(qū)間,均值小于零;校正后的誤差概率密度曲線更為集中地對(duì)稱分布在[-0.25,0.25]區(qū)間,誤差均值接近于零,說明校正后的模型誤差得到一定程度的降低,且呈正態(tài)分布。當(dāng)測(cè)試集樣本容量足夠多時(shí),式(11)能夠表征該模型預(yù)測(cè)風(fēng)速和實(shí)際風(fēng)速的線型關(guān)系,可用于后續(xù)驗(yàn)證集樣本的誤差校正。圖8,9是式(11)對(duì)100個(gè)驗(yàn)證集樣本校正前后的預(yù)測(cè)曲線。由圖8,9可見,校正后的預(yù)測(cè)誤差得到了一定程度的減小,說明采用一階線性回歸法能夠在一定程度上實(shí)現(xiàn)預(yù)測(cè)誤差的校正。
圖6 校正后散點(diǎn)圖Fig.6 Scatter after correction
圖7 誤差概率密度曲線Fig.7 Probability density curves of error
圖8 校正前預(yù)測(cè)曲線Fig.8 Prediction curves before correction
圖9 校正后預(yù)測(cè)曲線Fig.9 Prediction curves after correction
1)WNN具有多分辨率局部時(shí)頻特性,能夠很好地逼近高維空間函數(shù),但其參數(shù)的優(yōu)化選擇是關(guān)鍵。提出的二階振蕩粒子群算法在WNN參數(shù)優(yōu)化中能夠提高群體的多樣性和全局收斂性,比基本粒子群算法更易得到全局最優(yōu)解。
2)模型誤差與模型復(fù)雜度具有較為密切的關(guān)系,模型誤差的存在導(dǎo)致風(fēng)速預(yù)測(cè)值偏離實(shí)際值,采用一階線性回歸法能夠?qū)︼L(fēng)速預(yù)測(cè)結(jié)果進(jìn)行校正,從而降低模型誤差,提高風(fēng)速預(yù)測(cè)精度。