張建平,于新建,陳 棟,紀(jì)海鵬
(1. 上海理工大學(xué) 機(jī)械工程學(xué)院,上海 200093;2. 上海電力大學(xué) 能源與機(jī)械工程學(xué)院,上海 200090)
風(fēng)速預(yù)測(cè)對(duì)含大規(guī)模風(fēng)電場(chǎng)的電力系統(tǒng)的安全設(shè)計(jì)與風(fēng)險(xiǎn)評(píng)估具有重要意義[1]。近年來(lái),海上風(fēng)電場(chǎng)數(shù)量逐步增加并且開(kāi)始并入電網(wǎng)供電,而風(fēng)電的波動(dòng)性給電網(wǎng)帶來(lái)威脅,因此如何準(zhǔn)確預(yù)測(cè)海上風(fēng)速變得非常重要。
國(guó)內(nèi)外研究人員在短期風(fēng)速預(yù)測(cè)上已有些研究,其中人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)模型[2-3]應(yīng)用較廣。潘超等[4]通過(guò)極限學(xué)習(xí)機(jī)構(gòu)建各類(lèi)別的風(fēng)速預(yù)測(cè)模型,結(jié)果表明該方法具有較高的預(yù)測(cè)精度。葉瑞麗等[5]提出了基于小波包分解和改進(jìn)Elman-ANN的風(fēng)速方法,計(jì)算結(jié)果表明,該方法具有更高的預(yù)測(cè)精度,能夠正確反映風(fēng)速和風(fēng)電功率規(guī)律。Gupta等[6]提出了一種改進(jìn)布谷鳥(niǎo)搜索算法(Cuckoo Search Algorithm,CSA),從層次模型中提取可用性特征,并在搜索有用特征的基礎(chǔ)上找出最優(yōu)解,在性能上優(yōu)于原始CSA算法。劉興杰等[7]提出了基于時(shí)空相關(guān)性和BP-ANN的風(fēng)速實(shí)時(shí)預(yù)測(cè)方法,并以多個(gè)風(fēng)電場(chǎng)實(shí)測(cè)數(shù)據(jù)為例進(jìn)行仿真測(cè)試,結(jié)果表明其提出的方法有較高的預(yù)測(cè)精度。Chen等[8]將長(zhǎng)短期記憶ANN與其他模型集成建模,應(yīng)用于內(nèi)蒙古某風(fēng)電場(chǎng)兩個(gè)案例的研究數(shù)據(jù),并與其他常用的預(yù)測(cè)模型進(jìn)行對(duì)比,驗(yàn)證了該方法具有較好的預(yù)測(cè)效果。
雖然相關(guān)學(xué)者在短期風(fēng)速預(yù)測(cè)的研究上取得了一定進(jìn)展,但ANN模型的精度還有待提高,這主要取決于算法尋優(yōu)性能的高低。布谷鳥(niǎo)搜索算法是一種很有前途的群智能算法[9],相比于遺傳算法、人工蜂群算法、粒子群算法等經(jīng)典群智能算法,CSA具有更高的搜索效率[10],其收斂性和全局搜索能力優(yōu)于粒子群算法和遺傳算法,具有較好的參數(shù)尋優(yōu)性能[11]。對(duì)于CSA收斂速度偏慢、求解精度較低[12-13]等問(wèn)題,學(xué)者們對(duì)該算法開(kāi)展了較多改進(jìn)。Makhdoomi等[14]提出了具有自適應(yīng)混沌感知概率的CSA,仿真結(jié)果表明,此算法與遺傳算法、粒子群優(yōu)化算法和原始CSA相比具有更高的精度和魯棒性。?nci等[15]提出了在系統(tǒng)響應(yīng)方面有顯著改進(jìn)的動(dòng)態(tài)布谷鳥(niǎo)搜索算法(DCSA),實(shí)現(xiàn)了比傳統(tǒng)CSA方法更高的工作效率。武小梅等[16]提出一種基于變分模態(tài)分解-排列熵和混沌布谷鳥(niǎo)搜索算法優(yōu)化相關(guān)向量機(jī)的短期風(fēng)電功率預(yù)測(cè)新方法,結(jié)果表明,所提出的預(yù)測(cè)模型能有效提高風(fēng)電功率預(yù)測(cè)的準(zhǔn)確性。高策等[17]針對(duì)CSA列維飛行難以在收斂速度和搜索能力之間的平衡問(wèn)題,得到了一種改進(jìn)CSA和支持向量機(jī)相結(jié)合的陀螺零偏溫度補(bǔ)償方法,實(shí)驗(yàn)結(jié)果表明,陀螺輸出數(shù)據(jù)誤差進(jìn)一步降低。趙帥旗等[18]研究了CSA算法和自適應(yīng)變步長(zhǎng)的改進(jìn)擾動(dòng)觀察法并應(yīng)用到光伏的MPPT控制,通過(guò)仿真驗(yàn)證了其方法具有更快的追蹤速度和更高的精確度。盡管上述改進(jìn)解決了CSA部分缺陷,但在求解復(fù)雜的多峰優(yōu)化問(wèn)題時(shí),如ANN模型的多峰特性[19],CSA還存在易陷入局部最優(yōu)解的缺點(diǎn)[15]。風(fēng)速受多種因素影響,尤其是受當(dāng)?shù)貧庀髼l件的影響較大[20],一般群智能算法很難優(yōu)化ANN模型,致使風(fēng)速預(yù)測(cè)精度不高,因此亟需進(jìn)一步改進(jìn)CSA,提高其參數(shù)尋優(yōu)能力,以期獲得更高的預(yù)測(cè)精度。
基于上述討論結(jié)果,為了提高ANN模型短期風(fēng)速預(yù)測(cè)精度,本文通過(guò)引入隨機(jī)因子來(lái)改進(jìn)CSA,利用隨機(jī)布谷鳥(niǎo)搜索算法(Random-CSA,RCSA)優(yōu)化ANN模型,從而建立RCSA-ANN海上短期風(fēng)速預(yù)測(cè)模型,測(cè)得上海蘆潮港海上風(fēng)速與環(huán)境參數(shù)數(shù)據(jù),并對(duì)比分析了不同算法訓(xùn)練模型的預(yù)測(cè)性能。
群智能算法使用的主要機(jī)制是隨機(jī)搜索技術(shù)[21],如禁忌搜索算法、模擬退火算法、遺傳算法和粒子群優(yōu)化,它們均是基于隨機(jī)搜索[22]和啟發(fā)式[23]方法來(lái)指導(dǎo)搜索模型的最佳參數(shù)[24],相關(guān)學(xué)者采用隨機(jī)搜索優(yōu)化算法取得了良好的效果[25]。因此,本文通過(guò)引入隨機(jī)因子改進(jìn)CSA得到RCSA,使其隨機(jī)搜索能力更強(qiáng),避免了CSA在多峰問(wèn)題上易陷入局部最優(yōu)解的不足。
CSA的更新公式可寫(xiě)為[9]:
在式(1)中引入隨機(jī)因子R可 得到改進(jìn)的CSA,則RCSA更新公式為:
式中,R中 的元素為 [?α,α]之 間的隨機(jī)數(shù),其中α可根據(jù)實(shí)際搜索范圍的大小來(lái)設(shè)定。
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包括輸入層、隱含層和輸出層。本文選擇Sigmoid函數(shù)作為隱含層和輸入層的激活函數(shù),表達(dá)式如下[25]:
則層神經(jīng)元計(jì)算公式為:
式中,Y和X分別為當(dāng)前層、前一層的神經(jīng)元,W是這兩層之間的權(quán)值;B是當(dāng)前層的偏置。
為了直觀顯示ANN模型輸出風(fēng)速,輸出層激活函數(shù)采用如下形式:
式中,λ為極大風(fēng)速。于是,所采用的ANN模型輸出層神經(jīng)元矩陣計(jì)算公式可寫(xiě)為:
需指出的是,這里使用Z(x)函數(shù)作為ANN輸出層激活函數(shù)后,則僅需處理輸入數(shù)據(jù),省去了訓(xùn)練前后對(duì)訓(xùn)練樣本數(shù)據(jù)的處理過(guò)程,可使模型訓(xùn)練更加快速。
綜上所述,本文通過(guò)引入隨機(jī)因子R改進(jìn)CSA得到了RCSA,采用Z(x)作為ANN模型輸出層激活函數(shù),并利用RCSA優(yōu)化ANN模型中的權(quán)值與偏置參數(shù),從而建立了RCSA-ANN短期風(fēng)速預(yù)測(cè)模型。
在獲得數(shù)據(jù)集后將其劃分為訓(xùn)練集和測(cè)試集,采用RCSA對(duì)ANN模型進(jìn)行訓(xùn)練,具體方案如下,流程圖如圖1所示。
圖1 RCSA-ANN模型訓(xùn)練方案Fig. 1 Training scheme of the RCSA-ANN model
1)隨機(jī)生成模型參數(shù),結(jié)合訓(xùn)練集訓(xùn)練RCSAANN模型,訓(xùn)練集共N組且每組包含M種參數(shù),其中環(huán)境參數(shù)與風(fēng)速分別作為模型的輸入樣本與輸出樣本,訓(xùn)練方案含有兩層循環(huán)嵌套;
2)內(nèi)層為以每組數(shù)據(jù)訓(xùn)練誤差最小為目標(biāo)的循環(huán),利用式(2)對(duì)ANN模型的權(quán)值與偏置進(jìn)行更新,循環(huán)跳出條件為訓(xùn)練單組數(shù)據(jù)誤差 δ1小 于 ε或循環(huán)次數(shù)i2大于I2;
3)外層循環(huán)為以訓(xùn)練集平均誤差最小為目標(biāo)的循環(huán),若平均訓(xùn)練誤差 δ2>ε 或 循環(huán)次數(shù)i1<I1時(shí),則重復(fù)1)至2),當(dāng)外層訓(xùn)練結(jié)果滿足該層循環(huán)條件時(shí)訓(xùn)練結(jié)束;
4)挑出訓(xùn)練誤差最小的模型參數(shù)作為RCSA-ANN模型的參數(shù),并通過(guò)測(cè)試集對(duì)模型進(jìn)行驗(yàn)證,得到驗(yàn)證結(jié)果。
通過(guò)在上海蘆潮港建立的海上測(cè)風(fēng)塔,測(cè)得了高度為10 m、時(shí)長(zhǎng)為230 h的風(fēng)速、風(fēng)向、氣溫與氣壓四種氣象數(shù)據(jù),每5 min記錄一次,這里將其處理成每小時(shí)的平均數(shù)據(jù),共計(jì)230組,其中包括920個(gè)數(shù)據(jù)點(diǎn),氣象數(shù)據(jù)繪于圖2。
圖2 氣象參數(shù)Fig. 2 Meteorological parameters
由于使用傳統(tǒng)歸一化方法處理的訓(xùn)練數(shù)據(jù)難以用來(lái)訓(xùn)練模型,因此處理數(shù)據(jù)時(shí)采用如下公式:
式中,xi與x?i分別為處理前后ANN模型的輸入數(shù)據(jù);N為訓(xùn)練數(shù)據(jù)個(gè)數(shù)。
均 方 根 誤 差(Root Mean Square Error,RMSE)εR、平 均 絕 對(duì) 百 分 誤 差(Mean Absolute Percentage Error,MAPE) εM越小,模型的預(yù)測(cè)效果越好。因此,可用其來(lái)判別RCSA-ANN模型的預(yù)測(cè)精度,公式分別為:
式中,n為測(cè)試集組數(shù);是由ANN輸出層預(yù)測(cè)的第i組的預(yù)測(cè)風(fēng)速值;是第i組的實(shí)際風(fēng)速值。
由于環(huán)境參數(shù)用于風(fēng)速預(yù)測(cè)效果較好[26],因此,本文選擇氣溫和氣壓作為RCSA-ANN模型的輸入,風(fēng)速作為輸出,數(shù)據(jù)集劃分情況可見(jiàn)表1。
表1 數(shù)據(jù)集劃分Table 1 Partition of data sets
RCSA-ANN短期風(fēng)速預(yù)測(cè)模型具有1個(gè)輸入層、2個(gè)隱含層和1個(gè)輸出層,其中輸入層神經(jīng)元個(gè)數(shù)為3個(gè),各隱含層神經(jīng)元均為6個(gè),輸出層神經(jīng)元個(gè)數(shù)為1個(gè)。RCSA隨機(jī)因子R中 ,α=1,算法種群個(gè)體數(shù)為3,每個(gè)個(gè)體均為隨機(jī)生成的ANN參數(shù)矩陣,CSA的參數(shù)設(shè)置與RCSA中相同。訓(xùn)練參數(shù)選擇如下:I1=3,I2=25000, ε=2.0×10?3, 訓(xùn) 練 參 數(shù)M=3,訓(xùn)練樣本組數(shù)N=190, 預(yù)測(cè)樣本n=40 ; 即前N組數(shù)據(jù)用作訓(xùn)練,后n組數(shù)據(jù)用作測(cè)試。
根據(jù)文獻(xiàn)[27]中的表2.5(風(fēng)功率密度等級(jí)表),10 m高7級(jí)風(fēng)功率密度年平均風(fēng)速為9.4 m?s?1,則式(5)中的極大風(fēng)速取 λ=10。
為了考察RCSA的尋優(yōu)能力并驗(yàn)證本文RCSA-ANN模型精度,開(kāi)展了與BP-ANN、CSA-ANN模型預(yù)測(cè)精度的對(duì)比分析。由于改進(jìn)算法采用隨機(jī)搜索開(kāi)展訓(xùn)練,則每次訓(xùn)練后模型預(yù)測(cè)精度可能有所不同,這里將每種模型分別進(jìn)行五次訓(xùn)練并預(yù)測(cè),以全面考察模型性能,避免模型出現(xiàn)較大的偶然偏差。為了比較每一種模型在各時(shí)間點(diǎn)上的五次風(fēng)速預(yù)測(cè)的平均值與實(shí)測(cè)風(fēng)速的偏差情況,這里給出了基于BP-ANN、CSA-ANN和RCSA-ANN模型預(yù)測(cè)的風(fēng)速曲線,分別如圖3、圖4和圖5所示。
圖4 基于CSA-ANN模型預(yù)測(cè)的風(fēng)速曲線Fig. 4 Wind speeds predicted by the CSA-ANN model
圖5 由RCSA-ANN模型預(yù)測(cè)的風(fēng)速曲線Fig. 5 Wind speeds predicted by the RCSA-ANN model
由圖3可看出:BP-ANN模型在第200 h~220 h內(nèi)預(yù)測(cè)精度較差,預(yù)測(cè)風(fēng)速隨時(shí)間變化趨勢(shì)與實(shí)際風(fēng)速偏離較大,預(yù)測(cè)值總體偏高,甚至出現(xiàn)與實(shí)際風(fēng)速走勢(shì)相反的情況,如由該模型第四次訓(xùn)練得到的預(yù)測(cè)結(jié)果(見(jiàn)圖3中的BP-ANN4);在第191 h~196 h與第225 h~227 h時(shí)間段,實(shí)際風(fēng)速變化幅度較大,模型預(yù)測(cè)風(fēng)速的變化相對(duì)平緩??傮w來(lái)看,BP-ANN模型預(yù)測(cè)誤差較大,這是由于BP-ANN模型采用誤差返向傳播算法,在更新靠近輸入層的參數(shù)時(shí),會(huì)出現(xiàn)誤差梯度為0的情況以致BP算法失效。
圖3 BP-ANN模型風(fēng)速預(yù)測(cè)曲線Fig. 3 Wind speeds predicted by the BP-ANN model
通過(guò)觀察圖4可以發(fā)現(xiàn):在整個(gè)時(shí)間范圍內(nèi),CSA-ANN模型預(yù)測(cè)的風(fēng)速隨時(shí)間的變化規(guī)律基本相似;預(yù)測(cè)的風(fēng)速大小分布在8.18~9.61 m/s,而實(shí)測(cè)風(fēng)速最小值、最大值分別為3.00 m/s、4.94 m/s。預(yù)測(cè)的風(fēng)速均明顯高于實(shí)際風(fēng)速值,預(yù)測(cè)誤差較大,這是因?yàn)镃SA-ANN模型盡管使用了與圖1相同的訓(xùn)練方案,CSA還是陷入了局部最優(yōu),導(dǎo)致ANN模型無(wú)法實(shí)現(xiàn)風(fēng)速的準(zhǔn)確預(yù)測(cè),這也證明了CSA在求解復(fù)雜的多峰優(yōu)化問(wèn)題時(shí)存在易陷入局部最優(yōu)的不足。
分析圖5后不難得知:與BP-ANN、CSA-ANN模型預(yù)測(cè)結(jié)果相比,RCSA-ANN模型的風(fēng)速預(yù)測(cè)曲線總體上與實(shí)際風(fēng)速較為接近;在第191 h~197 h時(shí)間段內(nèi),第一次訓(xùn)練預(yù)測(cè)的風(fēng)速(見(jiàn)圖5中的RCSAANN1)走勢(shì)與實(shí)際風(fēng)速吻合度較好,但在204 h后預(yù)測(cè)值總體上低于實(shí)測(cè)值;在第194 h~203 h時(shí)間段內(nèi)RCSA-ANN 2與RCSA-ANN 3多數(shù)時(shí)間點(diǎn)的預(yù)測(cè)值高于實(shí)際風(fēng)速,但在第204 h~219 h時(shí)間段內(nèi)RCSAANN 2預(yù)測(cè)精度較高;五個(gè)風(fēng)速預(yù)測(cè)曲線中,RCSAANN 5預(yù)測(cè)的風(fēng)速隨時(shí)間變化的幅度相對(duì)較小,RCSA-ANN 4預(yù)測(cè)值與實(shí)際風(fēng)速最為貼近。
對(duì)比圖4和圖5后可以得出:在面對(duì)多峰特性問(wèn)題時(shí),RCSA可以避免陷入局部最優(yōu),具有更強(qiáng)的搜索能力,克服了CSA的不足;RCSA-ANN模型更能精確地預(yù)測(cè)蘆潮港風(fēng)速的變化。
為了更加清晰地看出由不同算法訓(xùn)練的三種模型所預(yù)測(cè)風(fēng)速曲線的變化,結(jié)合圖3~圖5中預(yù)測(cè)的風(fēng)速變化數(shù)據(jù),將每一種模型五次預(yù)測(cè)風(fēng)速的平均值繪于圖6。不難看出:BP-ANN模型預(yù)測(cè)風(fēng)速較為接近于實(shí)測(cè)風(fēng)速,但在第206 h~221 h時(shí)間段內(nèi)預(yù)測(cè)偏高于實(shí)際值;CSA算法完全失效,導(dǎo)致CSA-ANN模型預(yù)測(cè)的平均風(fēng)速與實(shí)測(cè)風(fēng)速大小相差甚遠(yuǎn);RCSAANN模型預(yù)測(cè)風(fēng)速的均值與實(shí)測(cè)風(fēng)速的變化趨勢(shì)基本一致,兩者的偏差總體上較??;BP-ANN模型預(yù)測(cè)效果優(yōu)于CSA-ANN模型,而RCSA-ANN模型預(yù)測(cè)精度最高。
圖6 每種模型下五次預(yù)測(cè)風(fēng)速的平均值與實(shí)測(cè)值的對(duì)比Fig. 6 A comparison of the mean wind speeds between prediction and measurement
為了進(jìn)一步觀察BP-ANN、CSA-ANN和RCSAANN模型的預(yù)測(cè)精度,這里計(jì)算了三種模型預(yù)測(cè)風(fēng)速的均方根誤差和平均絕對(duì)百分誤差,分別列于表2與表3。
表2 三種模型的均方根誤差Table 2 Root-mean-square errors of three models
表3 三種模型的平均絕對(duì)百分比誤差Table 3 Mean absolute pertentage error of three models
通過(guò)分析表2可得:CSA-ANN模型預(yù)測(cè)的平均均方根誤差為4.91 m/s,遠(yuǎn)高于BP-ANN的0.58 m/s,而RCSA-ANN模型的最低,僅為0.40 m/s;與BPANN、CSA-ANN模型相比,CSA-ANN模型五次預(yù)測(cè)的最低 εR分 別降低了29.17%、91.98%,最高 εR分別下降了41.03%、91.65%,平均 εR分別減少了31.03%、91.85%。上述數(shù)據(jù)表明了CSA-ANN、BP-ANN、RCSAANN模型預(yù)測(cè)風(fēng)速的均方根誤差依次降低。相比于其他兩個(gè)模型,RCSA-ANN模型的預(yù)測(cè)準(zhǔn)確度均得到明顯提升,且相對(duì)于CSA-ANN模型的提升幅度更大。
根據(jù)表3可知:CSA-ANN模型每次預(yù)測(cè)的平均絕對(duì)百分誤差均超過(guò)100%,最高為136.93%,說(shuō)明訓(xùn)練該模型的算法已失效;RCSA-ANN模型最大 εM僅為8.12%,而B(niǎo)P-ANN模型最小 εM卻達(dá)到9.23%,意味著B(niǎo)P-ANN模型的預(yù)測(cè)精度相對(duì)較低;CSA-ANN、BP-ANN、RCSA-ANN模型的平均 εM分別為122.21%、11.58%、7.20%,表明RCSA-ANN模型具有最高的預(yù)測(cè)精度。
本文利用隨機(jī)因子對(duì)CSA進(jìn)行改進(jìn),得到了RCSA-ANN模型,測(cè)得了蘆潮港海上氣象數(shù)據(jù),開(kāi)展了模型訓(xùn)練,完成了短期風(fēng)速預(yù)測(cè)與分析。得到的主要結(jié)論如下:
1)改進(jìn)的RCSA具有較強(qiáng)的搜索性能,能較好地解決多峰特性尋優(yōu)問(wèn)題,可推廣應(yīng)用于其他群智能算法;
2)設(shè)計(jì)的RCSA-ANN模型訓(xùn)練方案切實(shí)可行,得到的RCSA-ANN模型參數(shù)準(zhǔn)確可靠;
3)RCSA-ANN模型預(yù)測(cè)海上風(fēng)速的效果良好、精度較高,可為海上風(fēng)速實(shí)時(shí)預(yù)測(cè)系統(tǒng)提供參考。
空氣動(dòng)力學(xué)學(xué)報(bào)2022年4期