尤亞鋒 周武能
(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院 上海 201600)
風(fēng)能作為新能源的一種類型,在當(dāng)今社會(huì)發(fā)展中處于舉足輕重的位置。能源對(duì)于經(jīng)濟(jì)的發(fā)展是不可替代的。目前國(guó)內(nèi)外已經(jīng)建立許多大型風(fēng)電廠用于風(fēng)力發(fā)電,風(fēng)速的大小直接決定風(fēng)能出力的多寡。由于風(fēng)速的隨機(jī)性以及影響因素不定,風(fēng)速的精準(zhǔn)預(yù)測(cè)是一個(gè)重要的問(wèn)題。短期風(fēng)速風(fēng)功率預(yù)測(cè)可以給電網(wǎng)調(diào)度和控制提供依據(jù),有效減小風(fēng)功率對(duì)電網(wǎng)的影響,增強(qiáng)系統(tǒng)的安全性、可靠性和可控性[1]。因此提出一種能夠比較精確預(yù)測(cè)風(fēng)速的模型是優(yōu)化風(fēng)能結(jié)構(gòu)的關(guān)鍵一步。
目前關(guān)于風(fēng)速預(yù)測(cè)的算法也比較豐富,例如文獻(xiàn)[2]采用基于時(shí)間序列的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),但是不能克服BP神經(jīng)網(wǎng)絡(luò)本身易陷于局部最優(yōu)解的缺陷,本文將其作為對(duì)比算法加以驗(yàn)證。文獻(xiàn)[3]采用空間相關(guān)法與徑向基神經(jīng)網(wǎng)絡(luò)相結(jié)合來(lái)進(jìn)行預(yù)測(cè),取得了不錯(cuò)的效果;文獻(xiàn)[4]利用高斯回歸的方法進(jìn)行短期風(fēng)速預(yù)測(cè);文獻(xiàn)[5]使用了優(yōu)化的最小二乘支持向量機(jī)算法進(jìn)行短期預(yù)測(cè);文獻(xiàn)[6]采用自適應(yīng)粒子群優(yōu)化支持向量機(jī)回歸的算法,獲得了較高的預(yù)測(cè)精度和魯棒性。支持向量機(jī)(Support Vector Machine,SVM)作為新的機(jī)器學(xué)習(xí)算法,對(duì)小樣本、非線性、高維數(shù)的樣本數(shù)據(jù)有較好的適應(yīng)性[7]。支持向量機(jī)(SVM)不但能夠較好解決分類問(wèn)題,而且能夠用于回歸問(wèn)題預(yù)測(cè)。支持向量機(jī)回歸(Support Vector Regression,SVR)就是用支持向量機(jī)作回歸分析或者預(yù)測(cè)。在其他的領(lǐng)域,如模式識(shí)別、分類預(yù)測(cè)等也大量用到支持向量機(jī)技術(shù)。
SVR以統(tǒng)計(jì)學(xué)習(xí)理論為基礎(chǔ),基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,樣本泛化性能極強(qiáng),避免了對(duì)樣本數(shù)據(jù)的高度依賴[8]。 與人工神經(jīng)網(wǎng)絡(luò)算法相比,SVM避免了神經(jīng)網(wǎng)絡(luò)中拓?fù)浣Y(jié)構(gòu)難以確定和局部量最優(yōu)問(wèn)題,并克服了“維數(shù)災(zāi)難”[9]。所以,支持向量機(jī)廣泛應(yīng)用于各種實(shí)際問(wèn)題當(dāng)中。
其中模型的構(gòu)建對(duì)于結(jié)果準(zhǔn)確度具有重大影響,這就涉及到了支持向量機(jī)的主要影響參數(shù),包括懲罰因子C、核函數(shù)參數(shù)Υ、時(shí)間延時(shí)遲τ、嵌入維數(shù)E。
對(duì)于支持向量回歸機(jī),懲罰因子和核函數(shù)參數(shù)的選取影響支持向量回歸機(jī)模型的個(gè)數(shù)和訓(xùn)練模型的泛化能力[10]。懲罰因子C 的作用是在對(duì)樣本分類錯(cuò)誤的情況下進(jìn)行懲罰,其值越大表明越重視損失。隨著C 的增大,總能實(shí)現(xiàn)更加正確的分類,此時(shí)會(huì)產(chǎn)生過(guò)擬合現(xiàn)象,使得泛化能力相對(duì)較差。對(duì)于核函數(shù),不同的核函數(shù)對(duì)應(yīng)不同的回歸算法,目前研究較多的核函數(shù)如下[11]:
1)多項(xiàng)式核函數(shù)

式中:c≥0,d為任意的正整數(shù)。
2)高斯徑向基核函數(shù)

式中:γ>0 為核參數(shù),表示核函數(shù)寬度。
3)Sigmoid核函數(shù)

式中:υ>0,c<0。
4)傅里葉核函數(shù)

式中:q為滿足-1<q<1的常數(shù)。
本文中選取RBF作為核函數(shù),其參數(shù)數(shù)目相對(duì)較少,且數(shù)值限制條件少,可降低模型的復(fù)雜性,提高訓(xùn)練速度[12]。
SVR 應(yīng)用于回歸擬合分析,其基本思想是尋找一個(gè)最優(yōu)分類面使所有訓(xùn)練樣本離該最優(yōu)分類面的誤差最?。?3]。其在高維特征空間中建立的線性回歸模型為

式中:ω表示函數(shù)權(quán)向量,b 為函數(shù)閾值,φ(x)為非線性映射函數(shù)。一般情況下支持向量機(jī)的回歸問(wèn)題可以表示為以下規(guī)劃問(wèn)題:

約束條件如下:

為解決線性可分帶來(lái)的凸二次優(yōu)化問(wèn)題,這里利用對(duì)偶技巧將其轉(zhuǎn)化為如下問(wèn)題:

因此風(fēng)速的回歸函數(shù)模型可以寫成:

帝國(guó)競(jìng)爭(zhēng)算法是不同于粒子群算法、遺傳算法、螢火蟲算法等仿生算法的一種社會(huì)啟發(fā)式智能尋優(yōu)算法。在算法中,每一個(gè)個(gè)體都被定義為一個(gè)國(guó)家,同時(shí),所有的國(guó)家被分類為兩類,即帝國(guó)主義國(guó)家和殖民地[14]。目前,帝國(guó)競(jìng)爭(zhēng)算法以及廣泛的應(yīng)用于解決各種實(shí)際問(wèn)題當(dāng)中,如參數(shù)尋優(yōu)[15],調(diào)度問(wèn)題[16]等。與其他優(yōu)化算法相比,帝國(guó)殖民競(jìng)爭(zhēng)算法在運(yùn)算時(shí)間和優(yōu)化效果方面顯示了其優(yōu)越性[17]。基于此理論,本文采用帝國(guó)競(jìng)爭(zhēng)算法優(yōu)化支持向量機(jī)的相關(guān)參數(shù)來(lái)獲得更加準(zhǔn)確的風(fēng)速預(yù)測(cè)模型。
帝國(guó)競(jìng)爭(zhēng)算法主要包括四個(gè)部分:帝國(guó)集團(tuán)的初始化、帝國(guó)集團(tuán)的同化、帝國(guó)集團(tuán)的競(jìng)爭(zhēng)與總體適應(yīng)度計(jì)算、帝國(guó)滅亡。帝國(guó)殖民競(jìng)爭(zhēng)算法中國(guó)家的成本是評(píng)價(jià)國(guó)家優(yōu)劣的標(biāo)準(zhǔn),國(guó)家的成本越小越好[18]。
在帝國(guó)集團(tuán)的初始化階段隨機(jī)生成若干權(quán)力不等的國(guó)家,這些國(guó)家按照權(quán)力大小又可以分為帝國(guó)主義國(guó)家和殖民地國(guó)家。將殖民地國(guó)家分配給帝國(guó)主義國(guó)家,帝國(guó)主義國(guó)家及其附屬的殖民地國(guó)家共同組成帝國(guó)集團(tuán)。對(duì)于一個(gè)優(yōu)化問(wèn)題涉及到的所有解向量可以包含在如下解向量里:

其中:xn表示待優(yōu)化向量。
第m 個(gè)帝國(guó)主義國(guó)家分得殖民地國(guó)家個(gè)數(shù)計(jì)算如下[19]:

式中:其中,Cm表示第m 個(gè)國(guó)家的代價(jià)值,Pm表示第m 個(gè)國(guó)家的適應(yīng)度,Nc表示帝國(guó)主義國(guó)家初始殖民地個(gè)數(shù),Ncol表示殖民地國(guó)家個(gè)數(shù),Nimp表示帝國(guó)集團(tuán)個(gè)數(shù)。
隨著帝國(guó)集團(tuán)的產(chǎn)生,同化是發(fā)生在帝國(guó)集團(tuán)內(nèi)部的演變。為了完成對(duì)殖民地的有效統(tǒng)治,帝國(guó)主義國(guó)家必須將自己在經(jīng)濟(jì)、文化、生活等方面的影響逐步滲透到殖民地國(guó)家中去,從而實(shí)現(xiàn)對(duì)殖民地國(guó)家的絕對(duì)掌控。這種同化通過(guò)殖民地國(guó)家的移動(dòng)來(lái)實(shí)現(xiàn)。但是在殖民地國(guó)家移動(dòng)的過(guò)程中,如果其包含的勢(shì)力超過(guò)所屬帝國(guó)主義國(guó)家的勢(shì)力,那么殖民地國(guó)家與帝國(guó)主義國(guó)家角色互換,即殖民地國(guó)家變?yōu)榈蹏?guó)主義國(guó)家。
帝國(guó)集團(tuán)除了內(nèi)部之間的同化機(jī)制外,還會(huì)與其他帝國(guó)集團(tuán)發(fā)生相互競(jìng)爭(zhēng)的行為,稱之為帝國(guó)集團(tuán)的競(jìng)爭(zhēng)。勢(shì)力強(qiáng)大的帝國(guó)集團(tuán)通過(guò)吞并弱小帝國(guó)集團(tuán)殖民地國(guó)家的方法來(lái)擴(kuò)大自己的統(tǒng)治范圍,此處勢(shì)力代表帝國(guó)集團(tuán)的總體適應(yīng)度值。這種被吞的殖民地國(guó)家指的是最弱的帝國(guó)集團(tuán)中最弱的殖民地國(guó)家。整個(gè)帝國(guó)集團(tuán)的適應(yīng)度公式計(jì)算如下:

式中:Tc為第m 個(gè)帝國(guó)集團(tuán)總體適應(yīng)度,ξ∈(0,1)表示殖民地國(guó)家在該帝國(guó)集團(tuán)總體適應(yīng)度所占的貢獻(xiàn),fimp,m表示第m 個(gè)帝國(guó)集團(tuán)中帝國(guó)主義國(guó)家的適應(yīng)度值,Nc表示帝國(guó)主義國(guó)家初始殖民地個(gè)數(shù),fcol,i表示帝國(guó)集團(tuán)中第i 個(gè)殖民地國(guó)家的適應(yīng)度值。
伴隨著帝國(guó)集團(tuán)之間競(jìng)爭(zhēng)的不斷進(jìn)行,較弱的國(guó)家終將被強(qiáng)國(guó)所吞并,當(dāng)?shù)蹏?guó)集團(tuán)中所有的殖民地丟失完后,該帝國(guó)走向滅亡。最終只留下最強(qiáng)的一個(gè)帝國(guó)集團(tuán),此刻算法結(jié)束并取得特征向量解,否則算法繼續(xù)迭代,直至找出最優(yōu)參數(shù)組合即是支持向量機(jī)最佳參數(shù)組合。帝國(guó)競(jìng)爭(zhēng)過(guò)程如圖1所示。

圖1 帝國(guó)競(jìng)爭(zhēng)過(guò)程
本文實(shí)驗(yàn)數(shù)據(jù)來(lái)自某風(fēng)電場(chǎng)連續(xù)實(shí)際測(cè)得的7 天共336 個(gè)風(fēng)速數(shù)據(jù),平均每30min 取一次觀測(cè)點(diǎn)。其中前5天240個(gè)數(shù)據(jù)用作訓(xùn)練集來(lái)產(chǎn)生訓(xùn)練樣本,后2天96個(gè)數(shù)據(jù)用于測(cè)試。為加快算法收斂速度,提高預(yù)測(cè)精度,本文采用的是比較普遍的基于歷史風(fēng)速數(shù)據(jù)的預(yù)測(cè)方法,即依據(jù)前2 個(gè)小時(shí)的4 個(gè)風(fēng)速數(shù)據(jù)作為樣本的輸入特征向量,輸出則采用下一點(diǎn)的風(fēng)速數(shù)據(jù)。本次訓(xùn)練樣本作了歸一化處理將數(shù)據(jù)映射到[0,1]變成無(wú)量綱形式,從而提高了求解速度,最終結(jié)果需要作反歸一化處理。本次輸入輸出特征向量的樣本集表示如下:

其中,Xi,Yi表示第i 個(gè)樣本集的輸入輸出特征向量。
對(duì)于測(cè)試集數(shù)據(jù),將已經(jīng)取得預(yù)測(cè)的數(shù)據(jù)作為輸入向量的一部分,用來(lái)預(yù)測(cè)輸出,依次迭代至獲取所有預(yù)測(cè)風(fēng)速數(shù)據(jù)。
本文算法的主要步驟如下:
1)對(duì)帝國(guó)集團(tuán)初始化處理,選出勢(shì)力較大的帝國(guó)主義國(guó)家和殖民地國(guó)家;
2)帝國(guó)集團(tuán)的同化,帝國(guó)主義國(guó)家對(duì)殖民地國(guó)家進(jìn)行思想和行為上的同化;
3)國(guó)集團(tuán)之間進(jìn)行競(jìng)爭(zhēng),適應(yīng)度較大的帝國(guó)吞并適應(yīng)度較小的帝國(guó);
4)最終帝國(guó)滅亡,在帝國(guó)吞并的過(guò)程中弱小國(guó)家的殖民地完全丟失后,帝國(guó)滅亡算法停止,取得最優(yōu)參數(shù);
5)將取得的最優(yōu)參數(shù)代入支持向量機(jī)模型訓(xùn)練樣本并預(yù)測(cè)風(fēng)速。
本次通過(guò)帝國(guó)競(jìng)爭(zhēng)算法獲取的懲罰因子C、核函數(shù)參數(shù)γ 的最優(yōu)組合為(C,γ)=(71.2,0.0138) 。本次算法流程圖如圖2所示。

圖2 帝國(guó)競(jìng)爭(zhēng)算法優(yōu)化支持向量機(jī)回歸的風(fēng)速預(yù)測(cè)模型
為了能夠更加直觀地描述預(yù)測(cè)的精度,衡量本次優(yōu)化后模型的性能,本文采用了四種常用的誤差判別方式。
1)均方根誤差RMSE(Root Mean Square Error)

2)平均絕對(duì)誤差MAE(Mean Absolute Error)

3)平均絕對(duì)百分比誤差MAPE(Mean Absolute Percentage Error)

4)相關(guān)系數(shù)R

式中,fi表示實(shí)際風(fēng)速,f 表示實(shí)際風(fēng)速平均值,yi表示預(yù)測(cè)風(fēng)速,y 表示預(yù)測(cè)風(fēng)速平均值。N 為樣本容量,RMSE、MAE、MAPE的值越小、R越接近1,模型精度越高。
本文將BP 神經(jīng)網(wǎng)絡(luò),未經(jīng)優(yōu)化的SVR 算法作為ICA優(yōu)化SVR的對(duì)比算法,其預(yù)測(cè)結(jié)果曲線與誤差如圖3和表1所示。

圖3 三種模型預(yù)測(cè)結(jié)果對(duì)照?qǐng)D

表1 三種不同模型下預(yù)測(cè)誤差分析
通過(guò)本文的研究分析可以得出,建立的三種風(fēng)速預(yù)測(cè)模型均能夠模擬風(fēng)速變化的趨勢(shì),經(jīng)帝國(guó)競(jìng)爭(zhēng)算法優(yōu)化后的支持向量機(jī)回歸模型在誤差表現(xiàn)上優(yōu)于BP神經(jīng)網(wǎng)絡(luò)和未經(jīng)優(yōu)化的支持向量機(jī)回歸模型。圖3 可以看出誤差較大的預(yù)測(cè)點(diǎn)多出現(xiàn)于風(fēng)速波動(dòng)較大的拐點(diǎn)處,且三種預(yù)測(cè)模型在前期的表現(xiàn)優(yōu)于后期。由此可以看出由于風(fēng)速預(yù)測(cè)的不確定性和隨機(jī)性,對(duì)于相對(duì)較長(zhǎng)時(shí)間的風(fēng)速預(yù)測(cè),還應(yīng)該更加深入挖掘風(fēng)速變化的潛在規(guī)律,隨著未來(lái)深度學(xué)習(xí)技術(shù)、智能優(yōu)化算法的崛起,模型的精確度還有待進(jìn)一步提高。