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

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

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

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

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

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

約束條件如下:

為解決線性可分帶來的凸二次優化問題,這里利用對偶技巧將其轉化為如下問題:

因此風速的回歸函數模型可以寫成:

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

其中:xn表示待優化向量。
第m 個帝國主義國家分得殖民地國家個數計算如下[19]:

式中:其中,Cm表示第m 個國家的代價值,Pm表示第m 個國家的適應度,Nc表示帝國主義國家初始殖民地個數,Ncol表示殖民地國家個數,Nimp表示帝國集團個數。
隨著帝國集團的產生,同化是發生在帝國集團內部的演變。為了完成對殖民地的有效統治,帝國主義國家必須將自己在經濟、文化、生活等方面的影響逐步滲透到殖民地國家中去,從而實現對殖民地國家的絕對掌控。這種同化通過殖民地國家的移動來實現。但是在殖民地國家移動的過程中,如果其包含的勢力超過所屬帝國主義國家的勢力,那么殖民地國家與帝國主義國家角色互換,即殖民地國家變為帝國主義國家。
帝國集團除了內部之間的同化機制外,還會與其他帝國集團發生相互競爭的行為,稱之為帝國集團的競爭。勢力強大的帝國集團通過吞并弱小帝國集團殖民地國家的方法來擴大自己的統治范圍,此處勢力代表帝國集團的總體適應度值。這種被吞的殖民地國家指的是最弱的帝國集團中最弱的殖民地國家。整個帝國集團的適應度公式計算如下:

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

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

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

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

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

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

4)相關系數R

式中,fi表示實際風速,f 表示實際風速平均值,yi表示預測風速,y 表示預測風速平均值。N 為樣本容量,RMSE、MAE、MAPE的值越小、R越接近1,模型精度越高。
本文將BP 神經網絡,未經優化的SVR 算法作為ICA優化SVR的對比算法,其預測結果曲線與誤差如圖3和表1所示。

圖3 三種模型預測結果對照圖

表1 三種不同模型下預測誤差分析
通過本文的研究分析可以得出,建立的三種風速預測模型均能夠模擬風速變化的趨勢,經帝國競爭算法優化后的支持向量機回歸模型在誤差表現上優于BP神經網絡和未經優化的支持向量機回歸模型。圖3 可以看出誤差較大的預測點多出現于風速波動較大的拐點處,且三種預測模型在前期的表現優于后期。由此可以看出由于風速預測的不確定性和隨機性,對于相對較長時間的風速預測,還應該更加深入挖掘風速變化的潛在規律,隨著未來深度學習技術、智能優化算法的崛起,模型的精確度還有待進一步提高。