康文豪,徐天奇,王陽光,鄧小亮,李 琰
(1.云南民族大學(xué) 云南省高校電力信息物理融合系統(tǒng)重點實驗室,昆明 650504;2.國網(wǎng)湖南省電力有限公司,長沙 410004)
風(fēng)電的不確定性和波動性對于電力系統(tǒng)穩(wěn)定性是一項巨大挑戰(zhàn)[1]。而風(fēng)電功率預(yù)測是解決該挑戰(zhàn)的重要手段之一。因此,實現(xiàn)風(fēng)電功率預(yù)測極為重要。
風(fēng)電場數(shù)據(jù)的特征選擇方法影響其預(yù)測精度。研究人員常采用主成分分析(principal component analysis,PCA)[2]、皮爾遜(Pearson)相關(guān)系數(shù)[3]等單一特征選擇方法。單一特征選擇方法只能從單一視角進行特征選擇,容易遺漏重要特征,導(dǎo)致模型復(fù)雜度偏高或者偏低,最終影響模型的預(yù)測精度。目前,單一的短期風(fēng)功率預(yù)測方法的研究已經(jīng)比較成熟[4]。文獻(xiàn)[5]建立了徑向基神經(jīng)網(wǎng)絡(luò)的超短期風(fēng)電功率預(yù)測方法,算例驗證了該方法預(yù)測精度較高,具有較強的實用性。文獻(xiàn)[6]建立了基于改進的集成經(jīng)驗穩(wěn)態(tài)分解與基于遺傳算法優(yōu)化的極限學(xué)習(xí)機組合模型的短期風(fēng)電功率預(yù)測方法,并驗證了該模型的有效性。組合預(yù)測雖然明顯優(yōu)于單項模型,但大多數(shù)研究集中在優(yōu)化算法方面[7-8]。與此同時,采用模型融合的方法可弱化單個模型的偏差影響,提高組合模型的泛化能力[9]。文獻(xiàn)[10]對極限學(xué)習(xí)機和長短期記憶網(wǎng)絡(luò)這2種模型的預(yù)測結(jié)果,采用加權(quán)方法進行處理,以預(yù)測風(fēng)電功率,算例證明該方法可改善預(yù)測結(jié)果。文獻(xiàn)[11]建立了基于BP(back propagation)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)融合的超短期母線負(fù)荷的預(yù)測模型,該方法融合了2種模型的優(yōu)點,能夠有效地提高負(fù)荷預(yù)測的精度。
為解決上述痛點,提出了基于雙層特征選擇和裝袋算法(bootstrap aggregating,Bagging)集成分類梯度提升算法(categorical boosting,CatBoost)的短期風(fēng)電功率預(yù)測方法,采用基于模擬退火(simulated annealing,SA)特征選擇的第一層特征選擇和基于特征相關(guān)性的第二層特征選擇綜合確定有效特征集,并利用Bagging融合多組CatBoost算法建立短期風(fēng)電功率預(yù)測組合模型,通過重采樣方法來降低預(yù)測功率和實際功率之間的方差,以增強模型泛化能力和預(yù)測準(zhǔn)確度。同時應(yīng)用算例檢驗了方法的有效性,具有一定的研究意義。
SA是一種經(jīng)典的隨機優(yōu)化方法[12]。將SA算法應(yīng)用于特征選擇。選擇CatBoost算法作為衡量特征子集表現(xiàn)的模型,同時選擇均方誤差(mean-square error,MSE)作為損失函數(shù)。該算法在求解最優(yōu)解的過程中,引入了隨機因素,以一定的概率用轉(zhuǎn)移后的較差解替代當(dāng)前解,從而跳出局部極值[13]。轉(zhuǎn)移概率基于Metropolis準(zhǔn)則,其公式如式(1)所示:
(1)
式中:MSEnew和MSEold分別為新特征子集計算出的損失和當(dāng)前最優(yōu)損失;Ti為當(dāng)前溫度。
具體步驟描述如下:
1)初始化SA算法參數(shù)。
2)從風(fēng)電特征數(shù)據(jù)中隨機生成初始特征子集。
3)在該特征子集上訓(xùn)練CatBoost模型,并計算群體中各個體的對應(yīng)損失MSEnew。
4)當(dāng)該損失MSEnew大于當(dāng)前最優(yōu)損失MSEold時,進行步驟5);否則接受當(dāng)前特征子集,更新當(dāng)前最優(yōu)損失,降低當(dāng)前溫度Ti+1=Ti×α。其中:α為溫度衰減系數(shù)。
5)當(dāng)n大于轉(zhuǎn)移概率Ti時,拒絕當(dāng)前特征子集;否則,接受當(dāng)前特征子集并更新當(dāng)前最優(yōu)損失。
6)當(dāng)當(dāng)前溫度大于溫度閾值時,重復(fù)步驟2)—5),否則輸出當(dāng)前最優(yōu)損失,算法結(jié)束。
基于SA的特征選擇流程如圖1所示。
圖1 基于SA的特征選擇流程框圖
上述第一層特征選擇未返回各特征的特征重要性具體數(shù)值,僅能返回各特征是否成為第一層最優(yōu)特征子集特征的二進制編碼。因此,采用特征與風(fēng)電功率之間的相關(guān)性對第一層最優(yōu)特征子集特征進行第二層特征選擇。
1.2.1距離相關(guān)系數(shù)
距離相關(guān)系數(shù)(distance correlation coefficient)很大程度上克服了傳統(tǒng)Pearson相關(guān)系數(shù)只能用于衡量數(shù)據(jù)的線性關(guān)系的缺點,其可以用來計算數(shù)據(jù)的非線性相關(guān)性,而且它沒有模型假設(shè)和參數(shù)設(shè)置,使該方法的普適性得到了顯著提高[14]。計算公式具體如下:
(2)
其中:dCov(X,Y)為特征矩陣X與風(fēng)電功率序列Y的距離協(xié)方差;dVar(X)和dVar(Y)為X與Y的距離方差。
1.2.2最大信息系數(shù)
互信息(mutual information,MI)是指一個隨機變量中包含的關(guān)于另一個隨機變量的信息量[15]。它用于衡量兩個變量之間的關(guān)聯(lián)程度,常用于特征選擇[16]。X與Y的MI定義為:
(3)
式中:p(x,y)為聯(lián)合概率密度函數(shù);p(x)與p(y)為邊緣密度函數(shù)。
MI算法在進行特征選擇時會出現(xiàn)處理連續(xù)變量數(shù)據(jù)能力較差的問題。基于此,Reshef 等[17]在MI基礎(chǔ)上提出最大信息系數(shù)(maximun information coefficient,MIC)。最大信息系數(shù)不僅克服了MI的上述缺點,而且具有更高的準(zhǔn)確度。給定i、j,對X與Y構(gòu)成的二維散點圖進行i列j行網(wǎng)格化,并依據(jù)式(4)求出此網(wǎng)格下的最大信息系數(shù)值。計算公式如下:
(4)
式中:B為網(wǎng)格劃分的上限值,通常情況下B=n0.6。MIC的取值范圍為[0,1],該系數(shù)越大表示變量間相關(guān)性越強,反之,則相關(guān)性越弱。
CatBoost算法是在梯度提升決策樹(gradient boosting decision tree,GBDT)算法下的一種改進算法,其有效克服了GBDT算法過擬合的問題。
CatBoost算法以對稱決策樹作為基學(xué)習(xí)器。這種樹是平衡的,不太容易過擬合。對稱決策樹在每一層都具有相同的分枝準(zhǔn)則,每個葉節(jié)點的索引可以編碼為一個長度與樹深度相等的二進制向量。這樣對稱決策樹就不必像普通決策樹那樣遍歷所有節(jié)點。因此可以大大提高模型預(yù)測速度。
Bagging算法是一種提高基學(xué)習(xí)器的并行集成學(xué)習(xí)方法。其主要思想為通過自助采樣法(bootstrap sampling)隨機產(chǎn)生多個訓(xùn)練子集,然后基于每個訓(xùn)練子集建立多個相互獨立的基學(xué)習(xí)器,最后將這些基學(xué)習(xí)器進行集成,得到最終預(yù)測模型。
為了進一步提高風(fēng)電功率預(yù)測精度,以CatBoost算法為基礎(chǔ),采用Bagging 集成方法建立短期風(fēng)電功率預(yù)測模型。綜上,CatBoost-Bagging算法流程如圖2所示。
圖2 CatBoost-Bagging算法流程框圖
具體步驟如下:
1)對特征矩陣X與風(fēng)電功率序列Y構(gòu)建樣本集D={X(i),Y(i)},i=1,2,…,n。
2)從樣本集D中有放回隨機采樣T次得到樣本子集D*={D1,D2,…,DT},根據(jù)子樣本集D*訓(xùn)練得到子學(xué)習(xí)器H*={H1,H2,…,HT}。
3)將T個子學(xué)習(xí)器H*建模后產(chǎn)生的T個預(yù)測結(jié)果取平均,得出其最終預(yù)測結(jié)果。
為了充分挖掘風(fēng)電場原始特征,篩選出對風(fēng)電功率預(yù)測強影響度的特征,本節(jié)應(yīng)用兩層特征選擇方法,第一層特征選擇中使用SA特征選擇基于CatBoost模型表現(xiàn)進行特征尋優(yōu),形成第一層最優(yōu)特征集,而在其基礎(chǔ)上,第二層特征選擇通過距離相關(guān)系數(shù)和最大信息系數(shù)分析該子集里與風(fēng)電功率強相關(guān)的特征,從而形成最終特征集;為了提高預(yù)測模型精度,以CatBoost算法為基學(xué)習(xí)器,引入Bagging集成學(xué)習(xí)算法,使CatBoost的性能得到最大化的發(fā)揮。最終,建立基于雙層特征選擇和CatBoost-Bagging的短期風(fēng)電功率組合預(yù)測模型。預(yù)測模型流程如圖3所示。
圖3 雙層特征選擇和CatBoost-Bagging預(yù)測模型流程框圖
具體步驟如下:
1)對原始風(fēng)電特征進行第一層特征選擇。采用SA為CatBoost算法隨機搜索特征子集,并用均方誤差作為損失函數(shù),最終確定第一層特征集。
2)在第一層特征子集基礎(chǔ)上,將距離相關(guān)系數(shù)和最大信息系數(shù)2種特征選擇方法用于分析各特征對風(fēng)電功率預(yù)測的相關(guān)度,得到最終特征集。
3)建立CatBoost-Bagging預(yù)測模型并對特征集進行訓(xùn)練和預(yù)測,得到某時刻的最終風(fēng)電功率預(yù)測值。
采用的數(shù)據(jù)來自新疆某風(fēng)電場的實測數(shù)據(jù),采樣時間為2017年7月4日至2017年8月10日。采樣時間間隔為15 min,共3 648個數(shù)據(jù)點,訓(xùn)練集使用前3 552個數(shù)據(jù)點,測試集為后96個數(shù)據(jù)點。
采用均方根誤差(root mean square error,RMSE)、平均絕對誤差(mean absolute error,MAE)及擬合優(yōu)度系數(shù)R2來評價模型誤差[18],定義如下:
(5)
(6)
(7)
所用數(shù)據(jù)原始特征編號如表1所示。
表1 新疆某風(fēng)電場實測數(shù)據(jù)原始特征
對上述14個原始特征進行第一層特征選擇,采用SA算法確定第一層最佳特征集,從而去除冗余特征。SA算法的實驗參數(shù)為:初始溫度為0.2,最低溫度為0.005,溫度衰減系數(shù)α=0.9。第一層最佳特征集如表2所示。
表2 第一層最佳特征集
由表2可知,第一層最佳特征集僅在原始特征的基礎(chǔ)上去除了編號8和10的冗余特征,且其沒有返回各特征的貢獻(xiàn)度。這表明僅是第一層的基于SA算法的特征選擇是存在局限性的,需要進行第二層特征選擇,從而實現(xiàn)第一層和第二層特征選擇方法之間的互補。
在第二層特征選擇計算距離相關(guān)系數(shù)和最大信息系數(shù)過程中,將風(fēng)電特征矩陣和風(fēng)電功率矩陣代入式(2)—(4)即可計算出兩個矩陣的距離相關(guān)系數(shù)和最大信息系數(shù)。該結(jié)果如圖4和圖5所示。其中距離相關(guān)系數(shù)的閥值取0.8,而最大信息系數(shù)取0.7。
圖4 距離相關(guān)系數(shù)結(jié)果
圖5 最大信息系數(shù)結(jié)果
從圖4和圖5可知,在距離相關(guān)系數(shù)和最大信息系數(shù)中,編號1~5特征的相關(guān)系數(shù)最大,說明風(fēng)向和風(fēng)速這兩個特征與風(fēng)電功率的關(guān)聯(lián)度最強,而溫度、氣壓和濕度影響程度有限。因此,通過對距離相關(guān)系數(shù)和最大信息系數(shù)分別得到的特征結(jié)果取交集得到最終特征集,即選取編號1~5的特征:10 m處風(fēng)速、30 m處風(fēng)速、50 m處風(fēng)速、70 m處風(fēng)速和0 m處風(fēng)向作為風(fēng)電功率預(yù)測的最優(yōu)特征集。同時,2種方法篩選的結(jié)果一致,即從不同角度驗證了最終特征集的合理性和有效性。
為了對比CatBoost模型的預(yù)測精度,本節(jié)將使用極端隨機樹(extremely randomized trees,ET)、支持向量回歸(support vector regression,SVR)和GBDT算法做提前一天風(fēng)電功率預(yù)測的橫向?qū)Ρ葘嶒?。得到各模型功率預(yù)測結(jié)果和誤差評價指標(biāo)值,如圖6和表3所示。
圖6 橫向?qū)Ρ饶P凸β暑A(yù)測結(jié)果
從表3中可知,各模型取得較好的預(yù)測精度,說明特征選擇達(dá)到了選擇出有效特征,提高預(yù)測精度的目的。CatBoost算法預(yù)測誤差RMSE和MAE最小,分別為1.838 1和1.346 2。從擬合效果來看,CatBoost模型的擬合程度最高。這驗證了對Bagging模型的基學(xué)習(xí)器設(shè)為CatBoost模型的合理性和有效性。
表3 橫向?qū)Ρ饶P偷恼`差評價指標(biāo)值
為進一步驗證所提模型的有效性,搭建了CatBoost-Bagging模型、ET-Bagging模型、SVR-Bagging模型和GBDT-Bagging模型進行對比,分別對它們做提前一天預(yù)測。不同模型的功率預(yù)測結(jié)果和誤差評價指標(biāo)如圖7和表4所示。
圖7 不同模型的功率預(yù)測結(jié)果
表4 不同模型的誤差評價指標(biāo)值
由表4可知,相較于單一預(yù)測模型,經(jīng)過Bagging集成學(xué)習(xí)的預(yù)測模型預(yù)測精度都有明顯提升。這表明通過對單一預(yù)測模型進行Bagging集成學(xué)習(xí),可以有效提升模型預(yù)測性能和泛化能力。而在Bagging集成學(xué)習(xí)模型中,CatBoost-Bagging模型不僅預(yù)測誤差最低而且擬合效果也最貼合實際功率曲線。在運行時間方面,可以看出,其他Bagging融合模型的運行時間在12~16 s,而CatBoost-Bagging模型運行時間低于10 s。顯然所提方法的運算時間低于其他Bagging融合模型,證明了CatBoost-Bagging模型具有更低的算法復(fù)雜度和更高的運算效率。
為驗證所選特征集的有效性,本節(jié)將采用CatBoost-Bagging 模型對原始特征集、第一層特征集和兩個對比特征集作對比實驗。不同特征集功率預(yù)測結(jié)果和誤差評價指標(biāo)值如圖8和表5所示,各特征集特征編號如表6所示。
圖8 不同特征集的功率預(yù)測結(jié)果
表5 不同模型的誤差評價指標(biāo)值
表6 不同特征集特征編號
由表5和表6可知,對比特征集一比本文特征集多了相關(guān)系數(shù)比較高的編號7和9這2個特征,但是誤差指標(biāo)RMSE和MAE分別升高了10.58%和24.76%,而擬合程度則下降了3.80%。這表明這2個特征為冗余特征。而對比特征集二只有編號4和5特征,預(yù)測值擬合程度卻已經(jīng)達(dá)到0.813 3,這說明編號4和5特征為主要特征。但是,該特征集預(yù)測精度仍然不如本文特征集,表明編號1~3對風(fēng)電功率預(yù)測具有很大貢獻(xiàn)度,屬于有效特征。盡管第一層特征集比原始特征集預(yù)測效果好一些,但是兩者都比對比特征集一結(jié)果差,即編號6~13特征皆為冗余特征。這表明僅僅第一層特征選擇是不能達(dá)到充分挖掘特征的目的,需要與第二層特征選擇進行配合。綜上,在各特征集中本文特征集預(yù)測精度最高。這驗證了該特征集挖掘到有效特征的目的,同時通過雙層特征選擇方法利用兩者之間互補性去挖掘原始特征數(shù)據(jù),從而綜合確定最終特征集,這使得本文特征選擇方法更具適用性。
1)針對風(fēng)電場數(shù)據(jù)有效特征不明顯的特點,采用雙層特征選擇方法,利用方法之間的互補性充分挖掘數(shù)據(jù)的特征,確定出對風(fēng)電功率強關(guān)聯(lián)度的輸入特征集,提高了預(yù)測精度。
2)相比于ET、SVR和GBDT 3種模型,CatBoost模型具有更高的預(yù)測精度和穩(wěn)定性。
3)針對當(dāng)前單一模型短期風(fēng)電功率預(yù)測精度有限的問題,將Bagging算法對CatBoost模型集成來提高模型表現(xiàn),并通過實例仿真驗證了CatBoost-Bagging集成模型擁有更好的預(yù)測效果。