朱昶勝, 李歲寒
(蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院, 甘肅 蘭州 730050)
風(fēng)速的波動(dòng)性和隨機(jī)性導(dǎo)致風(fēng)電機(jī)組輸出功率的不確定性,這使得風(fēng)電并網(wǎng)對(duì)電力系統(tǒng)的穩(wěn)定運(yùn)行產(chǎn)生嚴(yán)重影響[1].對(duì)風(fēng)速作出比較準(zhǔn)確的預(yù)測(cè)可以及時(shí)進(jìn)行電網(wǎng)調(diào)度,從而提高風(fēng)力發(fā)電的質(zhì)量[2].因此如何實(shí)現(xiàn)風(fēng)速的準(zhǔn)確預(yù)測(cè)一直是研究的熱點(diǎn).目前風(fēng)速預(yù)測(cè)的方法主要有支持向量機(jī)(support vector machine,SVM)[3]、最小二乘支持向量機(jī)(least square support vector machine,LSSVM)[4]和人工神經(jīng)網(wǎng)絡(luò)[5]等,但這些預(yù)測(cè)模型都存在著自身局限性.SVM、LSSVM能解決非線性、小樣本等實(shí)際問題,但泛化能力不強(qiáng),且其關(guān)鍵參數(shù)不易確定[6].人工神經(jīng)網(wǎng)絡(luò)模型具有較好的自學(xué)能力,但存在收斂速度慢、易陷入局部最優(yōu)的問題,同時(shí)其網(wǎng)絡(luò)結(jié)構(gòu)難以確定[7].隨機(jī)森林回歸(random forest regression,RFR)[8]是隨機(jī)森林(random forest,RF)的主要應(yīng)用類型,目前已廣泛用于解決回歸問題.與人工神經(jīng)網(wǎng)絡(luò)相比,RFR具有較高的穩(wěn)定性,且不易過擬合.與SVM相比,RFR具有更高的擬合精度,對(duì)數(shù)據(jù)中噪聲和離群點(diǎn)的耐受性更好.模型參數(shù)的選擇往往對(duì)預(yù)測(cè)結(jié)果有著重要影響,通常RFR中參數(shù)選擇采用經(jīng)驗(yàn)值,但取值結(jié)果不理想,因此對(duì)參數(shù)的優(yōu)化是提高預(yù)測(cè)精度的有效方法.
李國(guó)等[9]采用提升回歸樹和RF的集成算法對(duì)風(fēng)電功率進(jìn)行預(yù)測(cè),實(shí)現(xiàn)了更為準(zhǔn)確的風(fēng)電功率預(yù)測(cè),但模型參數(shù)選擇采用經(jīng)驗(yàn)值,難以得到全局最優(yōu)解.方馨蕊等[10]將RFR模型應(yīng)用于懸浮泥沙濃度預(yù)測(cè),結(jié)果表明RFR模型預(yù)測(cè)值與實(shí)際值相關(guān)性好、預(yù)測(cè)精度高,不過在模型構(gòu)建中通過遍歷參數(shù)組合來選擇最優(yōu)參數(shù)需要大量訓(xùn)練時(shí)間.Sun等[11]結(jié)合RF和深度置信網(wǎng)絡(luò)對(duì)風(fēng)速和風(fēng)功率進(jìn)行預(yù)測(cè),實(shí)驗(yàn)表明與現(xiàn)有方法相比,所提方法在預(yù)測(cè)精度和擴(kuò)展性方面具有優(yōu)勢(shì),然而RF構(gòu)建中使用K折交叉驗(yàn)證調(diào)優(yōu),計(jì)算量大、實(shí)驗(yàn)成本高.趙東等[12]使用果蠅算法優(yōu)化RF參數(shù),研究表明優(yōu)化后的模型進(jìn)行問題預(yù)測(cè)具有更精準(zhǔn)的結(jié)果,但果蠅優(yōu)化算法搜索步長(zhǎng)固定,局部探索能力差.
針對(duì)上述問題,本文從預(yù)測(cè)模型參數(shù)優(yōu)化方面入手以提高預(yù)測(cè)精度,提出了一種基于改進(jìn)果蠅優(yōu)化算法(improved fruit fly optimization algorithm,IFOA)的RFR風(fēng)速預(yù)測(cè)模型.改進(jìn)果蠅算法搜索步長(zhǎng)使其在迭代過程中自適應(yīng)更新,定性分析生成樹數(shù)目(ntree)和樹的最大深度(mdepth)對(duì)RFR模型性能的影響,并利用IFOA算法進(jìn)行參數(shù)尋優(yōu),對(duì)比多種群果蠅優(yōu)化算法(multi-swarm fruit fly optimization algorithm,MFOA)[13]、果蠅優(yōu)化算法(fruit fly optimization algorithm,FOA)、粒子群優(yōu)化算法(particle swarm optimization,PSO)和IFOA在RFR參數(shù)優(yōu)化中的結(jié)果,驗(yàn)證了改進(jìn)算法在全局搜索和尋優(yōu)效率上的優(yōu)越性.構(gòu)建了IFOA-RFR風(fēng)速預(yù)測(cè)模型,并與MFOA-RFR、FOA-RFR、PSO-RFR、RFR、SVM進(jìn)行預(yù)測(cè)結(jié)果對(duì)比,結(jié)果表明IFOA-RFR模型具有更小的預(yù)測(cè)誤差和更好的擬合度.
RFR是由Breiman提出的以回歸樹[14]為基學(xué)習(xí)器的集成學(xué)習(xí)模型,該算法調(diào)節(jié)參數(shù)少,對(duì)噪聲和異常值具有良好的容忍度并且可有效避免過擬合,常可獲得比單個(gè)回歸樹更顯著的泛化性能和準(zhǔn)確性.該算法利用自助聚集策略[15]從原始數(shù)據(jù)中提取多個(gè)樣本,為每個(gè)樣本構(gòu)建一個(gè)子樹,結(jié)合所有子樹的預(yù)測(cè)結(jié)果得到最終結(jié)果,因此??色@得比單個(gè)回歸樹更顯著的泛化性和準(zhǔn)確性.其基本原理是通過回歸之間的互補(bǔ)原則將多個(gè)弱回歸樹組合成一個(gè)強(qiáng)回歸樹以提高全局準(zhǔn)確性,所以該模型有較強(qiáng)的魯棒性.算法回歸預(yù)測(cè)的基本流程為:
1) 從訓(xùn)練集L中按照隨機(jī)的、有放回的、重新選擇的方式產(chǎn)生P個(gè)相互獨(dú)立的樣本子集Li:
其中:N表示訓(xùn)練集數(shù)據(jù)的數(shù)量;NB代表樣本子集數(shù)量.
2) 任意樣本子集Li中,NB(NB (3) RFR模型中生成樹數(shù)目(ntree)、樹的最大深度(mdepth)和候選分裂屬性數(shù)(mtry)會(huì)影響模型性能[18],其中:ntree代表建立子樹的數(shù)量,當(dāng)子樹的數(shù)量增加時(shí)模型的穩(wěn)定性和預(yù)測(cè)精度更好,但是當(dāng)ntree數(shù)量值達(dá)到某個(gè)閾值后再增加該值不會(huì)提高模型準(zhǔn)確性,反而會(huì)導(dǎo)致模型效率降低;mdepth為樹的最大生長(zhǎng)深度,更高的深度將有利于學(xué)習(xí)樣本的特定關(guān)系;mtry表示子樹選取特征的最大數(shù)量,影響著模型的隨機(jī)性[19-20].由于本實(shí)驗(yàn)中風(fēng)速數(shù)據(jù)集樣本特征量較少,因此mtry的值設(shè)為None,即選取所有特征對(duì)每棵樹不加限制.RFR中參數(shù)ntree與mdepth的選擇會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生影響,因此通過IFOA對(duì)參數(shù)ntree與mdepth進(jìn)行迭代尋優(yōu)的方式來獲取最佳參數(shù)值,將IFOA和RFR的結(jié)合定義為IFOA-RFR. FOA算法是將果蠅的覓食行為歸納為隨機(jī)搜索和視覺定位過程而提出的一種新型群智能優(yōu)化算法[16].FOA算法基于實(shí)數(shù)編碼,且與PSO、遺傳算法(genetic algorithm,GA)等群智能優(yōu)化算法相比,具有收斂速度快、易于理解和設(shè)置參數(shù)少的優(yōu)點(diǎn).FOA的迭代過程如圖1所示. 圖1 FOA迭代過程Fig.1 The iterative procedure of FOA FOA算法的具體步驟如下: 1) 初始化.將種群大小定義為Popsize,并將種群的初始位置定義為(X,Y). 2) 隨機(jī)搜索.賦予果蠅隨機(jī)飛行的方向和步長(zhǎng): X(i)=X+R (4) 其中:(X(i),Y(i))是第i個(gè)果蠅的位置,i=1,2,…,Popsize;R表示步長(zhǎng)值. 3) 味道濃度判定值S(i)的計(jì)算: (5) 4) 味道濃度值的計(jì)算.根據(jù)味道濃度判定值獲得味道濃度值: Smelli=F(S(i)) (6) 其中:Smelli表示第i個(gè)果蠅個(gè)體的味道濃度值;F表示適應(yīng)度函數(shù). 5) 尋找具有最佳味道的果蠅個(gè)體: Smellbest=max{Smell} (7) 其中:Smellbest代表在果蠅群體中具有最佳味道濃度值的個(gè)體. 6) 假設(shè)當(dāng)前最佳位置的果蠅個(gè)體位于(Xbest,Ybest),其氣味濃度值為Smellbest,然后果蠅群向該處飛去: (8) 7) 重復(fù)步驟(2~5),然后確定當(dāng)前的最佳味道濃度是否優(yōu)于先前的最佳值.如果是,執(zhí)行步驟6).算法在滿足預(yù)設(shè)條件后停止. 由于FOA算法搜索步長(zhǎng)固定,導(dǎo)致其收斂效率低且易陷入局部最優(yōu)[17].為解決此問題,采用三角函數(shù)和指數(shù)函數(shù)改進(jìn)FOA算法中果蠅飛行的隨機(jī)方向和飛行半徑,將改進(jìn)后的算法稱為IFOA. 在IFOA算法中,指數(shù)函數(shù)機(jī)制使步長(zhǎng)變化具有非均勻性,從而更容易捕捉到最優(yōu)值,有利于全局搜索;三角函數(shù)機(jī)制使步長(zhǎng)的變化尺度更具隨機(jī)性,避免算法陷入局部最優(yōu).步長(zhǎng)改進(jìn)如下: (9) 其中:j為當(dāng)前迭代次數(shù);i為當(dāng)前果蠅個(gè)體;(Xj,Yj)為果蠅當(dāng)前迭代中的最佳個(gè)體位置;randValue為隨機(jī)變量;(X(i)j,Y(i)j)為第j次迭代中果蠅個(gè)體i的位置;Rj為第j次迭代的搜索步長(zhǎng);P為指數(shù)因子;自變量c隨著迭代次數(shù)的增加而增加;Maxtimes為算法迭代次數(shù)的最大值;ω為權(quán)重因子;λ為常量. IFOA繼承了FOA收斂速度較快的優(yōu)點(diǎn),同時(shí)采用自適應(yīng)步長(zhǎng)使果蠅在合理且不斷變化的搜索范圍內(nèi)快速尋找到最優(yōu)解,不僅提高了FOA算法在較大范圍內(nèi)的全局搜索能力,同時(shí)增強(qiáng)了該算法的局部覓食能力. 基于IFOA-RFR的風(fēng)速預(yù)測(cè)分為內(nèi)部參數(shù)優(yōu)化和外部預(yù)測(cè)性能評(píng)估兩部分.在內(nèi)部參數(shù)優(yōu)化部分,通過IFOA算法優(yōu)化RFR模型的ntree和mdepth參數(shù),IFOA算法依舊采用FOA算法的實(shí)數(shù)編碼方式;在外部預(yù)測(cè)性能評(píng)估部分,使用優(yōu)化后的RFR模型進(jìn)行風(fēng)速預(yù)測(cè),并作誤差分析以評(píng)估模型性能.圖2是IFOA-RFR模型的具體流程,步驟如下: 圖2 IFOA-RFR流程Fig.2 IFOA-RFR process 1) 數(shù)據(jù)輸入與模型構(gòu)建.劃分歷史風(fēng)速數(shù)據(jù)為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集.設(shè)定RFR模型中參數(shù)ntree和mdepth為變量n和m,從訓(xùn)練數(shù)據(jù)集中利用Bootstrap方法抽取樣本進(jìn)行模型訓(xùn)練并用測(cè)試數(shù)據(jù)集進(jìn)行預(yù)測(cè). 2) 定義適應(yīng)度函數(shù)F(n,m).將實(shí)際風(fēng)速值和通過RFR模型得到的預(yù)測(cè)風(fēng)速值的均方根誤差(root mean square error,RMSE)作為適應(yīng)度函數(shù)的返回值,適應(yīng)度值越小則代表模型預(yù)測(cè)效果越好. 3) 初始化.初始化果蠅群體起點(diǎn)位置(X,Y),給定種群大小Popsize、最大迭代次數(shù)Maxtimes和初始果蠅個(gè)體飛行半徑R. 4) 果蠅個(gè)體隨機(jī)搜尋食物: (10) 由于對(duì)n和m兩個(gè)參數(shù)進(jìn)行尋優(yōu),因此X與Y各有兩列數(shù)值.且第j次迭代后迭代步長(zhǎng)為Rj,當(dāng)j=0時(shí),R0=R.第i個(gè)果蠅個(gè)體的位置為(X(i,1),Y(i,1)),(X(i,2),Y(i,2)). 5) 計(jì)算果蠅與原點(diǎn)的距離值D并求得味道濃度判定值S: 對(duì)n和m進(jìn)行賦值: 將n和m代入RFR模型計(jì)算適應(yīng)度函數(shù)F(n,m),并對(duì)果蠅個(gè)體的味道濃度Smelli進(jìn)行賦值: Smelli=F(n,m) (15) 求果蠅群體中味道濃度最佳值,味道濃度最佳值即適應(yīng)度的最小值,因此索引味道濃度的最小值: (16) 6) 保留最佳味道濃度值Smellbest并記錄相應(yīng)坐標(biāo),果蠅群利用視覺朝該位置飛去: (17) 7) 更新迭代步長(zhǎng): Rj+1=Rj×pc×ω (18) 8) 迭代優(yōu)化.如果當(dāng)前迭代次數(shù)j 9) 輸出結(jié)果: 利用參數(shù)優(yōu)化后的RFR模型進(jìn)行風(fēng)速預(yù)測(cè)并進(jìn)行誤差分析. 以山西某風(fēng)電場(chǎng)2015年5月的1 152組采樣間隔為15 min的風(fēng)速數(shù)據(jù)作為研究樣本,取前960組數(shù)據(jù)作為訓(xùn)練集,后192組數(shù)據(jù)作為測(cè)試集.實(shí)驗(yàn)數(shù)據(jù)走勢(shì)和劃分如圖3所示,Train set部分代表訓(xùn)練集,訓(xùn)練集共960組數(shù)據(jù),Test set部分代表測(cè)試集,測(cè)試集共192組數(shù)據(jù).風(fēng)速數(shù)據(jù)分布如圖4所示.由圖4可以看出,數(shù)據(jù)分布具有集中性且數(shù)值在正態(tài)分布曲線高峰處向兩側(cè)不均勻下降. 圖3 每15 min的風(fēng)速序列Fig.3 Sample data for every 15 minutes 采用最值歸一化(min-max normalization,MMN)方法進(jìn)行數(shù)據(jù)的無量綱處理,將數(shù)據(jù)值映射至[0,1]區(qū)間,預(yù)測(cè)完成后通過反歸一化將預(yù)測(cè)值轉(zhuǎn)化到原區(qū)間. 實(shí)驗(yàn)選擇RMSE、平均絕對(duì)誤差(mean absolute error,MAE)、平均絕對(duì)百分比誤差MAPE(mean absolute percentage error,MAPE)以及相對(duì)誤差(relative error)作為預(yù)測(cè)結(jié)果的評(píng)價(jià)指標(biāo): (21) 1) RFR優(yōu)化參數(shù)分析 為進(jìn)一步定性說明參數(shù)ntree與mdepth對(duì)模型精度的影響,將采集得到的風(fēng)速數(shù)據(jù)前960組作為訓(xùn)練集,后192組作為測(cè)試集,當(dāng)ntree∈[1,10],mdepth∈[1,50]且step=1時(shí),其模型風(fēng)速預(yù)測(cè)值與實(shí)際值的RMSE變化曲線如圖5所示.在圖5中n代表ntree,m代表mdepth. 從圖5可以觀察到,不同的n與m組合影響著RMSE的變化,RMSE取值不同則映射區(qū)域不同.若m固定不變,隨著n值增加,RMSE值總體呈減小趨勢(shì)但不具規(guī)則性;若n固定不變,隨著m值增加,RMSE值的變化具有波動(dòng)性.因此,ntree與mdepth的參數(shù)選擇會(huì)對(duì)RFR預(yù)測(cè)性能產(chǎn)生影響.采用IFOA算法對(duì)RFR模型中的ntree和mdepth進(jìn)行參數(shù)尋優(yōu). 圖5 不同ntree與mdepth時(shí)預(yù)測(cè)誤差的均方根值Fig.5 RMSE of different ntree and mdepth 2) 參數(shù)設(shè)計(jì) 本文采用PSO-RFR、FOA-RFR、MFOA-RFR、RFR和SVM來對(duì)比分析IFOA-RFR模型性能. IFOA中指數(shù)因子P為0.8,λ為0.5;MFOA中固定搜索步長(zhǎng)R為3,子種群數(shù)M為5;FOA中固定搜索步長(zhǎng)R為3;PSO算法中粒子維數(shù)為2,慣性權(quán)重因子為0.8,加速因子c1與c2均為0.5;各優(yōu)化算法中迭代次數(shù)Maxtimes為100,種群大小Popsize為30,n的尋優(yōu)區(qū)間為[1,200],m的尋優(yōu)區(qū)間為[1,3 000].在SVM中利用網(wǎng)格交叉驗(yàn)證法得到懲罰因子C為12.32,徑向基核函數(shù)參數(shù)g為22.05. 3) 優(yōu)化算法適應(yīng)度分析 同時(shí)采用MFOA、FOA、PSO與IFOA進(jìn)行RFR參數(shù)尋優(yōu),優(yōu)化結(jié)果見表1. 表1 不同優(yōu)化算法的尋優(yōu)參數(shù)及性能對(duì)比 表1顯示,FOA算法耗費(fèi)的時(shí)間為67.886 0 s,RMSE為0.545 5,表明FOA算法收斂速度快但收斂精度低;MFOA算法的RMSE為0.503 6,表明MFOA較FOA在收斂精度上有所提升;IFOA的RMSE最小,為0.407 9,表明改進(jìn)算法的收斂精度最高,雖然CPU時(shí)間較FOA和MFOA有所提升,但整體尋優(yōu)效率良好.4種算法的適應(yīng)度曲線如圖6所示. 圖6 適應(yīng)度對(duì)比曲線Fig.6 Adapt ability contrast curve 分析圖6,FOA算法在迭代初期就開始收斂,雖然收斂速度快,但適應(yīng)度值低,說明易陷入局部最優(yōu).MFOA算法在迭代到3次時(shí)適應(yīng)度值降低,在迭代到90次時(shí)收斂于0.472 2.PSO算法迭代到91次時(shí)收斂,適應(yīng)度值為0.479 4.IFOA算法在迭代到4次時(shí)適應(yīng)度值從0.484 1變化到0.474 4,在迭代到22次時(shí)適應(yīng)度值有所降低,在迭代到59次時(shí)適應(yīng)度值又減小0.002 4,最終在迭代到80次時(shí)收斂,說明了IFOA算法逐步逼近最優(yōu)解,與其他算法相比,它具有更好的全局尋優(yōu)和局部探索能力,且在收斂精度上都要優(yōu)于其他幾種算法. 圖7是預(yù)測(cè)結(jié)果的點(diǎn)線圖,實(shí)際值表示實(shí)際風(fēng)速,b和c是各模型的局部擴(kuò)大比較.觀察b和c部分,當(dāng)實(shí)際風(fēng)速值突變時(shí)(如b中95到97,c中174到176),各模型預(yù)測(cè)效果越來越差,但I(xiàn)FOA-RFR模型在這些時(shí)刻的預(yù)測(cè)值最接近實(shí)際值,說明所提模型的預(yù)測(cè)精度更高,在預(yù)測(cè)中表現(xiàn)更好,保持了原始風(fēng)速曲線的形狀. 圖7 風(fēng)速預(yù)測(cè)曲線Fig.7 Wind speed forecasting curve 為進(jìn)一步反映每個(gè)時(shí)刻的預(yù)測(cè)誤差,計(jì)算各模型相對(duì)誤差,誤差值分布情況如圖8所示. 圖8 相對(duì)誤差箱形圖Fig.8 Relative error box plot 圖8中箱體虛線范圍代表最小值-最大值、“□”符號(hào)代表均值、“×”符號(hào)代表99%分位數(shù),連線表示各模型相對(duì)誤差值100%分位數(shù)連接線.從圖8可以看出,IFOA-RFR模型每個(gè)預(yù)測(cè)點(diǎn)的相對(duì)誤差均在50%以下,離散程度小于其他模型,這表明IFOA-RFR組合模型性能優(yōu)于其他5種對(duì)比模型. 表2列出了各對(duì)比模型的預(yù)測(cè)誤差,誤差指標(biāo)包括RMSE、MAE、MAPE. 表2 不同方法的預(yù)測(cè)誤差 從表2可知,IFOA-RFR模型的RMSE、MAE、MAPE分別為0.407 9、0.287 7、6.9788,與其他模型相比具有最小的預(yù)測(cè)誤差.與單個(gè)預(yù)測(cè)模型SVM、RFR相比,IFOA-RFR的MAPE分別降低了17.335%、7.323 7%.與優(yōu)化算法PSO、MFOA和FOA相比,所提算法的RMSE分別減小了0.132 1、0.095 7、0.137 6.同時(shí),IFOA-RFR的MAPE值比FOA降低了7.323 7%,RMSE和MAE分別降至0.464 5和0.309 0,說明改進(jìn)后算法的整體預(yù)測(cè)精度得到了提高. 本文提出一種改進(jìn)的果蠅算法優(yōu)化隨機(jī)森林回歸模型,并將其應(yīng)用到風(fēng)速預(yù)測(cè)研究中,實(shí)驗(yàn)驗(yàn)證了該模型的可行性和有效性.結(jié)論如下: 1) RFR風(fēng)速預(yù)測(cè)模型中參數(shù)ntree和mdepth的選擇會(huì)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生影響. 2) IFOA算法在FOA中引入函數(shù)機(jī)制使搜索步長(zhǎng)自適應(yīng)迭代更新,與PSO、MFOA、FOA算法進(jìn)行收斂速度、收斂精度、算法運(yùn)行時(shí)間的比較,改進(jìn)算法有效提高了算法的尋優(yōu)效率和全局尋優(yōu)能力. 3) 選取風(fēng)電場(chǎng)實(shí)際風(fēng)速數(shù)據(jù),利用IFOA-RFR模型對(duì)歷史風(fēng)速進(jìn)行預(yù)測(cè),以RMSE、MAE、MAPE、決定系數(shù)和相對(duì)誤差為評(píng)價(jià)指標(biāo),對(duì)比PSO-RFR、MFOA-RFR、FOA-RFR、RFR、SVM的風(fēng)速預(yù)測(cè)結(jié)果,表明IFOA-RFR具有更高的預(yù)測(cè)精度和更好的擬合度,證明了該模型在風(fēng)速預(yù)測(cè)方面的可行性.1.2 果蠅優(yōu)化算法
Y(i)=Y+R1.3 改進(jìn)的果蠅優(yōu)化算法
2 IFOA-RFR風(fēng)速預(yù)測(cè)模型
3 實(shí)驗(yàn)分析與比較
3.1 實(shí)驗(yàn)數(shù)據(jù)與評(píng)價(jià)指標(biāo)
3.2 實(shí)驗(yàn)設(shè)計(jì)
3.3 對(duì)比分析
4 結(jié)論