董朕,殷豪,
(1.廣東電網(wǎng)有限責(zé)任公司肇慶供電局,廣東 肇慶 526000;2.廣東工業(yè)大學(xué)自動化學(xué)院,廣東 廣州 510006)
風(fēng)能作為一種可再生的環(huán)保能源,在世界能源結(jié)構(gòu)中發(fā)揮著越來越重要的作用。隨著整個能源網(wǎng)絡(luò)中風(fēng)能比例的增加,準(zhǔn)確的風(fēng)速預(yù)測結(jié)果對于管理人員日常配電和降低儲備能力起著關(guān)鍵作用。為保護風(fēng)電不受破壞,風(fēng)速的準(zhǔn)確預(yù)報結(jié)果也是必不可少的[1],然而,因非平穩(wěn)和非線性波動,風(fēng)速被認為是最難預(yù)測的天氣參數(shù)之一[2]。
近幾十年來,風(fēng)速預(yù)報方法已經(jīng)有很多種,這些方法可以分為4類:(a)物理模型;(b)統(tǒng)計模型;(c)空間相關(guān)模型;(d)人工智能模型?;谖锢韰?shù)(如地形,溫度和壓力)的物理模型通常應(yīng)用于長期風(fēng)速預(yù)測[3]。統(tǒng)計模型則基于歷史數(shù)據(jù),通過建立統(tǒng)計方程挖掘出相應(yīng)的變化趨勢[4-5]??臻g相關(guān)模型主要考慮不同地點風(fēng)速的空間關(guān)系,在某些情況下,它可以獲得更高的預(yù)測精度[6]。隨著人工技術(shù)的快速發(fā)展,人工智能預(yù)測方法在風(fēng)速預(yù)測領(lǐng)域得到廣泛應(yīng)用,包括人工神經(jīng)網(wǎng)絡(luò)[7],模糊邏輯方法[8],支持向量機[9]和極限學(xué)習(xí)機[10]。
此外,為減少單一模型固有的負面影響,提出了許多混合風(fēng)速預(yù)測模型。為得到更高的預(yù)測精度,一些數(shù)據(jù)處理算法,如小波分解[11]、小波包分解(wavelet packet decomposition,WPD)[12]、經(jīng)驗?zāi)J椒纸鈁13]、集合經(jīng)驗?zāi)B(tài)分解(ensemble empirical mode decomposition,EEMD)[14]及快速集合經(jīng)驗?zāi)J椒纸鈁15]已被用于構(gòu)建混合模型。這些數(shù)據(jù)分解方法可以減少原始數(shù)據(jù)的非平穩(wěn)特征,間接地提高了模型的預(yù)測性能。
極限學(xué)習(xí)機(extreme learning machine,ELM)由于具有良好的預(yù)測性能而在預(yù)測領(lǐng)域得到廣泛應(yīng)用,但ELM的輸入權(quán)重和隱含層偏置是隨機生成的,而不是使用傳統(tǒng)的優(yōu)化方法獲得,存在非最優(yōu)參數(shù)的情況,故引力搜索算法[16],粒子群算法(particle swarm optimization,PSO)[17],進化算法[18]和布谷鳥搜索算法[19]等智能優(yōu)化算法被廣泛用于ELM的輸入權(quán)值和隱含層偏置的參數(shù)優(yōu)化。螢火蟲算法(firefly algorithm,F(xiàn)A)由Yang[20]在2008年開發(fā),是一種基于螢火蟲使用熒光信號吸引其他螢火蟲作為潛在伴侶行為的元啟發(fā)式算法,具有自動細分,適用于高度非線性優(yōu)化問題的優(yōu)點,且該算法具有多模態(tài)特征,能以更快的收斂速度有效地處理多模態(tài)問題,已被廣泛用于解決許多實際問題:如Mohanty[21]將FA用于管殼式換熱器的設(shè)計優(yōu)化,以最大限度地減少總成本,與遺傳算法、粒子群算法、人造蜂群、生物地理學(xué)優(yōu)化和布谷鳥搜索算法等其他方法的比較表明,F(xiàn)A表現(xiàn)出更優(yōu)良的優(yōu)化效果。
基于上述,提出一種基于奇異譜分析(singular spectrum analysis,SSA)和活性競爭螢火蟲算法(active competitive firefly algorithm,ACFA)優(yōu)化極限學(xué)習(xí)機的風(fēng)速預(yù)測模型。將一種奇異譜分析的數(shù)據(jù)分解方法用于風(fēng)速時間序列的分解與重構(gòu),對分解得到的序列建立極限學(xué)習(xí)機預(yù)測模型,為避免極限學(xué)習(xí)機的非最優(yōu)參數(shù)問題,將一種新穎的活性競爭螢火蟲算法用于極限學(xué)習(xí)機的輸入權(quán)值和隱含層偏置優(yōu)化,以2個不同風(fēng)電場的實測風(fēng)速數(shù)據(jù)為例,實驗結(jié)果表明本文所提風(fēng)速預(yù)測模型的精度優(yōu)于其他預(yù)測模型。
SSA是一種新穎的結(jié)合多變量統(tǒng)計和概率理論的非參數(shù)方法,常被用于時間序列分析,從原始數(shù)據(jù)中識別和提取周期性,準(zhǔn)周期和振蕩分量。標(biāo)準(zhǔn)的SSA包括4個步驟,即嵌入、奇異值分解、分組和對角平均[22]。前2個步驟也稱為時間序列分解,后2個則又被稱為信號重構(gòu)。
假設(shè)時間序列Y=[y1,y2,…,yN]T共有N個樣本點,SSA的嵌入維度由L表示,L又稱為窗口長度,令K=N-L+1,則滯后L階的向量可被定義為
Xi=[yi,yi+1,…,yi+L-1]T,i=1,2,…,K
(1)
軌跡矩陣可定義為
X=E1+E2+…+Ed
(3)
矢量V1,V2,…,Vd—其主成分;
奇異值分解后,可將指數(shù)集合J=(1,…,d)分成m個不相交的組I1,I2,…,Im。將I=(i1,i2,…,ip)表示為1組指數(shù)。然后,對應(yīng)于組I的合成矩陣XI可以定義為XI=Xi1+Xi2+…+Xip,此過程完成了軌跡矩陣X的后續(xù)分解。
X=XI1+XI2+…+XIm
(4)
2.1.1 基本FA的位置更新算子
在FA中,每只螢火蟲均被熒光強度所吸引,假設(shè)某一螢火蟲有選擇的向2只螢火蟲中的1只飛行,則螢火蟲會被亮度更高的吸引,并朝著高亮度的方向移動。熒光強度根據(jù)式(6)確定:
I(r)=I0e-γr2
(6)
式中:r—解空間中兩只螢火蟲間的距離;
γ—I(r)的吸收系數(shù)。
定義r=0處的螢火蟲自身的熒光亮度為最大熒光亮度I0,每只螢火蟲的亮度由其對應(yīng)的適應(yīng)度函數(shù)值來決定:
(7)
式中:Ffitness—算法尋優(yōu)的目標(biāo)函數(shù),F(xiàn)fitness越小,則I0越高。
螢火蟲間的吸引度β則是通過式(8)計算:
β=β0e-γr2
(8)
式中:β0—距離為0時的吸引度。
2個螢火蟲Xi和Xj之間的距離r可以計算如下:
(9)
式中:D—優(yōu)化問題的維度。
對于每個螢火蟲,其位置更新公式如下:
Xi(t+1)=Xi(t)+β(Xj(t)-Xi(t))+αεi
(10)
式中:εi—隨機值。
由式(10)可知,F(xiàn)A中個體位置由3個因素決定:螢火蟲個體當(dāng)前所處的位置,對另一個螢火蟲位置的可取性,以及隨機數(shù)εi和隨機因子α。
2.1.2 活性變異算子
區(qū)別于基本FA,ACFA在執(zhí)行完基本FA的位置更新算子后增加最優(yōu)粒子的局部搜索機制。設(shè)定1個變異概率Pa,隨機生成1個0~1之間隨機數(shù)rand,若rand>Pa,則對最優(yōu)個體Xbest執(zhí)行高斯擾動策略,以增強最優(yōu)個體活性。該策略通過對最優(yōu)解附近的解空間進行局部開發(fā),可有效增強螢火蟲算法的局部尋優(yōu)能力。執(zhí)行如下:
(11)
(12)
N(0,1)—服從標(biāo)準(zhǔn)正態(tài)分布的隨機量。
2.1.3 概率維度競爭算子
與大多數(shù)智能算法相似,F(xiàn)A在尋優(yōu)后期不可避免地會出現(xiàn)局部最優(yōu)問題,而智能算法的局部最優(yōu)往往是由待優(yōu)化參數(shù)的某一維或某幾維陷入局部最優(yōu)解造成的,故為FA增加1個概率維度競爭算子。當(dāng)FA的最優(yōu)個體的適應(yīng)度值連續(xù)10代保持不變時,則轉(zhuǎn)而執(zhí)行概率維度競爭算子,使算法順利跳出局部最優(yōu)。
首先對種群中個體所有維(即所優(yōu)化問題的維度D)進行兩兩不重復(fù)隨機組合,共D/2對組合。根據(jù)每對組合,對種群中全部個體依維度競爭概率Pv執(zhí)行維度競爭算子。假設(shè)(d1,d2)是其中的一對組合,對于個體X(i)的第d1維和第d2維,若rand Mvc(i,d1)=r·X(i,d1)+(1-r)·X(i,d2) (13) i∈N(1,M);d1,d2∈N(1,D);r∈[0,1] 式中:Mvc—折中解矩陣,用于保存概率維度競爭算子產(chǎn)生的新個體。 值得注意的是在執(zhí)行完概率維度競爭算子后,需根據(jù)式(18)計算Mvc中所有個體的適應(yīng)度函數(shù)值,并與X中對應(yīng)的粒子進行適應(yīng)度值競爭,以優(yōu)勝劣汰原則保存適應(yīng)度值更優(yōu)的粒子,并更新Xbest。 (14) 式中:wi=[wi1,wi2,…,win]T—第i個隱含層神經(jīng)元與n個輸入神經(jīng)元之間的連接權(quán)重矩陣; βi=[βi1,βi2,…,βim]T—第i個隱含層神經(jīng)元與m個輸出神經(jīng)元的連接權(quán)重矩陣; bi—第i個隱含層神經(jīng)元的偏置。 ELM的結(jié)構(gòu)如圖1所示。 圖1 ELM的結(jié)構(gòu) 上述等式的矩陣形式可以表示如下: Hβ=T (15) 式中:H—隱含層的輸出矩陣; T—目標(biāo)輸出矩陣。 ELM的網(wǎng)絡(luò)初始參數(shù)即輸入權(quán)值和隱層偏置是隨機生成,這些參數(shù)是介于0~1之間的隨機數(shù)。由于ELM樣本數(shù)據(jù)的輸入和輸出已經(jīng)確定,若網(wǎng)絡(luò)初始參數(shù)一經(jīng)確定,則隱含層神經(jīng)元的輸出矩陣H就保持不變,通過式(17)計算ELM隱含層與輸出層連接權(quán)重矩陣的過程即為模型的訓(xùn)練過程。 β=H+T (17) 式中:H+—隱含層神經(jīng)元輸出矩陣H的摩爾-彭羅斯(Moore-Penrose)廣義逆矩陣。 由式(15)和(17)可知,ELM的網(wǎng)絡(luò)初始參數(shù)決定了ELM的預(yù)測性能,ELM隨機生成網(wǎng)絡(luò)初始參數(shù)會導(dǎo)致非最優(yōu)參數(shù)的問題,故為提升ELM的預(yù)測精度,降低網(wǎng)絡(luò)參數(shù)選擇的隨機性對預(yù)測結(jié)果的影響,本文將所提ACFA用于ELM網(wǎng)絡(luò)初始參數(shù)的優(yōu)化。ACFA的適應(yīng)度函數(shù)是預(yù)測誤差的MSE,定義如下: (18) y(t)—實際值; N—訓(xùn)練集數(shù)據(jù)總數(shù)。 ACFA優(yōu)化ELM的流程如圖2所示。 圖2 ACFA優(yōu)化ELM的流程 (1)初始化ACFA的種群和參數(shù)。在ACFA算法中,包括最大迭代次數(shù)Tmaxgen,螢火蟲數(shù)M,隨機因子α,吸收系數(shù)γ,距離為0時的吸引度β0,活性變異概率Pa,維度競爭概率Pv。 (2)設(shè)置迭代變量,當(dāng)前迭代次數(shù)t=t+1。 (3)根據(jù)當(dāng)前螢火蟲和其他螢火蟲之間的距離,計算其他螢火蟲熒光強度。 (4)根據(jù)熒光強度的吸引力,依據(jù)式(10)更新螢火蟲位置,并使用公式(18)計算每個個體的適應(yīng)度值,在每次迭代中找到適應(yīng)度值最小的螢火蟲,記為全局最優(yōu)個體Xbest。 (5)進入活性變異算子,若rand>Pa,則根據(jù)式(11)和(12)對最優(yōu)個體Xbest進行高斯變異,進入局部搜索,并更新Xbest,否則轉(zhuǎn)6)。 (6)若t<10,則轉(zhuǎn)(7);若t>10,則判斷種群最優(yōu)個體Xbest的適應(yīng)度值是否連續(xù)10代保持不變,若Ffitness(t)=Ffitness(t-10),則進入概率維度競爭算子,根據(jù)維度交叉概率Pv和式(13)更新螢火蟲個體位置,否則,轉(zhuǎn)(7)。 (7)判斷終止條件是否滿足。如果當(dāng)前迭代次數(shù)t大于Tmaxgen,則迭代終止,將Xbest轉(zhuǎn)換為ELM的輸入權(quán)值和隱層偏置,生成最佳的ACFA-ELM預(yù)測模型,否則轉(zhuǎn)(2)進行新一輪迭代。 本文實驗由2個部分組成:第一部分為算法性能比較;第二部分為預(yù)測模型對比分析。實驗樣本為西班牙(風(fēng)電場1)和荷蘭(風(fēng)電場2)某風(fēng)電場實際采集的風(fēng)速數(shù)據(jù),選取其中720個樣本進行提前1步(S1)、2步(S2)和3步(S3)預(yù)測實驗,以提前1步預(yù)測為例,訓(xùn)練樣本集和測試樣本集數(shù)據(jù)構(gòu)成如圖3所示。本文所有的訓(xùn)練和仿真均在matlab R2011b版本環(huán)境下進行, 采用宏基4750 G 2.3 GHz雙核處理器,3.0 G內(nèi)存計算機平臺。 圖3 訓(xùn)練樣本集和測試樣本集數(shù)據(jù)構(gòu)成 為避免隨機性對預(yù)測結(jié)果的影響,每次實驗獨立運行20次取平均值,采用平均絕對誤差(mean absolute error,MAE)、平均絕對百分比誤差(mean absolute percentage error,MAPE)和均方根誤差(root of the mean squared error,RMSE)。 為驗證本文所提ACFA算法的有效性,分別采用粒子群和基本FA算法優(yōu)化ELM,以風(fēng)電場1的數(shù)據(jù)作為實驗樣本,進行提前1步、2步和3步的預(yù)測實驗,3種算法的最大迭代次數(shù)和種群大小保持一致,Tmaxgen= 200,M=30。其他參數(shù)設(shè)置如下:ACFA中α= 0.9,γ= 1,β0= 1.0,活性變異概率Pa為0.3,維度競爭概率Pv為0.5;FA參數(shù)與ACFA相同;PSO慣性權(quán)重設(shè)為0.4,加速因子設(shè)為2。其中,本文選擇Sigmoid作為ELM模型的隱含層函數(shù),隱含層神經(jīng)元數(shù)量為6個。 不同算法的預(yù)測誤差如表1所示,不同算法的1步預(yù)測最優(yōu)收斂曲線如圖4所示。 表1 風(fēng)電場1中不同算法的預(yù)測誤差 圖4 不同算法的1步預(yù)測最優(yōu)收斂曲線 由表1可知,F(xiàn)A-ELM和PSO-ELM在1到3步預(yù)測中各誤差指標(biāo)相差不大,1步和2步預(yù)測中PSO-ELM預(yù)測精度稍好,3步預(yù)測中FA-ELM的預(yù)測精度又略占優(yōu)勢,但同單一的ELM相比,F(xiàn)A-ELM和PSO-ELM均具有更高的預(yù)測精度,說明隨機生成網(wǎng)絡(luò)參數(shù)的方式在一定程度上限制了ELM預(yù)測性能的提升,而利用智能算法優(yōu)化ELM參數(shù),可有效降低隨機初始參數(shù)對ELM的影響,優(yōu)化得到最優(yōu)的網(wǎng)絡(luò)參數(shù),提高模型預(yù)測精度;ACFA-ELM 1步到3步的MAPE較FA-ELM和PSO-ELM分別提高1.04%、0.92%、0.48%和0.84%、0.7%、0.72%,結(jié)合圖4的算法收斂曲線可知,ACFA通過引入活性變異算子和概率維度競爭算子,有效增強了算法的全局收斂能力,算法迭代后期能收斂到更優(yōu)質(zhì)的全局最優(yōu)值,最大程度提高了ELM的預(yù)測性能,所提ACFA優(yōu)于基本的FA算法。 為說明模型的優(yōu)越性,建立WPD-ACFA-ELM(即對原始風(fēng)速序列進行小波包分解,對分解得到的各子序列建立ACFA優(yōu)化ELM的預(yù)測模型)、EEMD-ACFA-ELM(即對原始風(fēng)速序列進行集合經(jīng)驗?zāi)B(tài)分解,對分解得到的各分量建立ACFA優(yōu)化ELM的預(yù)測模型)、SSA-ELM(即采用SSA對原始風(fēng)速序列進行分解,對各分量直接采用ELM進行預(yù)測)。其中,WPD采用“sym6”小波進行3層分解;EEMD集合數(shù)N為300,添加白噪聲的標(biāo)準(zhǔn)差設(shè)置為0.3;SSA僅需設(shè)置1個參數(shù),即窗口長度L設(shè)為12。風(fēng)電場1和風(fēng)電場2中不同模型的預(yù)測誤差分別如表2和表3所示。以風(fēng)電場1為例,不同模型的1步、2步和3步最優(yōu)預(yù)測曲線如圖5-圖7所示。 圖5 不同模型的1步最優(yōu)預(yù)測曲線 圖6 不同模型的2步最優(yōu)預(yù)測曲線 圖7 不同模型的3步最優(yōu)預(yù)測曲線 從表2和表3可以看出,4種模型中,SSA-ACFA-ELM預(yù)測模型在1步到3步預(yù)測中表現(xiàn)出最高的預(yù)測精度。對比基于SSA、WPD和EEMD 3種不同分解方式的模型可以看出:(1)基于SSA的預(yù)測模型的精度在風(fēng)電場1和風(fēng)電場2的多步預(yù)測中均優(yōu)于其他2種分解方式,這主要是因為SSA的分解效果相對于WPD和EEMD更加優(yōu)良,最大程度降低了風(fēng)速的隨機波動性對預(yù)測結(jié)果的影響,提高了預(yù)測模型的精度;(2)相對于SSA-ELM,SSA-ACFA-ELM的各項誤差指標(biāo)同樣有一定程度的降低,再次說明采用ACFA優(yōu)化ELM的參數(shù),有效提高了ELM的預(yù)測性能,能夠獲得更優(yōu)質(zhì)的預(yù)測結(jié)果;(3)SSA-ACFA-ELM的3項誤差指標(biāo)較其他幾種預(yù)測模型均有一定程度的降低,以風(fēng)電場1為例,SSA-ACFA-ELM 1步到3步預(yù)測的MAPE較WPD-ACFA-ELM分別降低了33.3%、40.3%和42.3%,較EEMD-ACFA-ELM分別降低了66.5%、66.7%和63.4%,較SSA-ELM分別降低了23%、20.9%和27.5%,較單一的ELM分別降低了90.3%、88.2%和87.2%。各模型的對比可知,本文所提SSA-ACFA-ELM的預(yù)測精度在所有模型中表現(xiàn)最好,在風(fēng)速多步預(yù)測中優(yōu)于其他預(yù)測模型。 表2 風(fēng)電場1中不同模型的預(yù)測誤差 表3 風(fēng)電場2中不同模型的預(yù)測誤差 從圖5-圖7可以看出,4種模型都可大致預(yù)測出風(fēng)速的未來變化趨勢,但基于WPD和EEMD的預(yù)測模型在風(fēng)速突變的拐點處預(yù)測效果不佳,在這些峰值處的預(yù)測值與實際值存在偏差,造成預(yù)測精度不高,而基于SSA的預(yù)測模型在這些拐點處則表現(xiàn)出優(yōu)良的預(yù)測性能,其預(yù)測值與實際值更為接近,其內(nèi)在原因在于SSA對風(fēng)速的分解效果更佳,WPD次之,EEMD相對較差,所提SSA優(yōu)于WPD和EEMD分解算法。 針對風(fēng)速隨機波動性強,難以準(zhǔn)確預(yù)測的特點,將一種新穎的奇異譜分析用于風(fēng)速序列分解,并結(jié)合極限學(xué)習(xí)機進行風(fēng)速多步預(yù)測,且提出一種活性競爭螢火蟲算法用于極限學(xué)習(xí)機的參數(shù)優(yōu)化,算例分析表明: (1)所提ACFA算法較基本FA算法具有更強的全局搜索能力,有效克服了隨機選擇網(wǎng)絡(luò)參數(shù)對ELM預(yù)測性能的影響,提高了ELM的預(yù)測精度。 (2)相對于WPD和EEMD,SSA更有效降低了風(fēng)速自身波動性對預(yù)測結(jié)果的影響,有效提高了模型的預(yù)測精度。 (3)所提SSA-ACFA-ELM模型在風(fēng)速多步預(yù)測中表現(xiàn)出較高的預(yù)測精度。2.2 極限學(xué)習(xí)機
2.3 極限學(xué)習(xí)機的參數(shù)優(yōu)化步驟
3 預(yù)測仿真實驗
3.1 算法性能比較
3.2 模型預(yù)測效果對比分析
4 結(jié) 論