翁海兵,楊 陽(yáng),黃 穎
(國(guó)網(wǎng)浙江省電力有限公司麗水供電公司,浙江麗水 323000)
隨著大數(shù)據(jù)分析技術(shù)的進(jìn)步以及電力工程數(shù)據(jù)的爆炸式增長(zhǎng),對(duì)數(shù)據(jù)信息分析與處理的要求也越發(fā)嚴(yán)苛[1-3]。為提高電力工程數(shù)據(jù)分析與預(yù)測(cè)的精度,國(guó)內(nèi)外學(xué)者做了大量的研究工作。早在上世紀(jì)90 年代,F(xiàn)reund 便提出以單層決策樹(shù)(Decision Tree)為基礎(chǔ)學(xué)習(xí)器的自適應(yīng)提升(Adaptive Boosting,AdaBoost)算法,其可提升數(shù)據(jù)訓(xùn)練的精度。但該算法僅適用于二分類問(wèn)題,在此基礎(chǔ)上,F(xiàn)riedman 于21 世紀(jì)初提出了適用范圍更廣的梯度提升決策樹(shù)(Gradient Boosting Decision Tree,GBDT)算法[4-8]。該算法以數(shù)據(jù)初值為回歸樹(shù),通過(guò)在葉子處得到數(shù)據(jù)的預(yù)測(cè)值,其既可用于分類問(wèn)題,又適用于回歸問(wèn)題。隨著集成學(xué)習(xí)應(yīng)用領(lǐng)域的愈加廣闊,國(guó)內(nèi)學(xué)者的研究成果亦層出不窮,且被廣泛應(yīng)用于各種數(shù)據(jù)預(yù)測(cè)問(wèn)題。文獻(xiàn)[9]通過(guò)將GBDT 與隨機(jī)森林(Random Forest,RF)算法的優(yōu)勢(shì)相結(jié)合,預(yù)測(cè)了一氧化碳含量并取得了較優(yōu)的效果。而文獻(xiàn)[10]在GBDT 算法內(nèi)融入了多維度特征處理方式,其加入多維數(shù)據(jù)特征后,大幅提高了模型的預(yù)測(cè)效率。目前針對(duì)電力工程數(shù)據(jù)信息預(yù)測(cè)的問(wèn)題,大多數(shù)學(xué)者集中于機(jī)器學(xué)習(xí)(Machine Learning,ML)或深度學(xué)習(xí)(Deep Learning,DL)算法的領(lǐng)域,因此在處理效率與預(yù)測(cè)精度上仍存在局限性[11-14]。綜上所述,文中基于GBDT 算法開(kāi)展了電力工程數(shù)據(jù)的分析及預(yù)測(cè)方法研究。
GBDT 是機(jī)器學(xué)習(xí)算法中的一種,其為迭代式的決策樹(shù)算法[15-16],適用于處理混合數(shù)據(jù)。該算法的核心是巧妙應(yīng)用損失函數(shù)(Loss Function)的負(fù)梯度值,通過(guò)不斷降低殘差的數(shù)值來(lái)增加數(shù)據(jù)的真實(shí)率,且下一次的決策樹(shù)均需通過(guò)前一次的殘差擬合而成。假設(shè)樣本i的第m次迭代梯度值為:
式中,ηm是第m次迭代的加權(quán)系數(shù),f(xi)為數(shù)據(jù)變量,L為損失函數(shù),yi表示輸入數(shù)據(jù)值為xi時(shí)的對(duì)應(yīng)值。因此通過(guò)得到相應(yīng)葉子節(jié)點(diǎn)的區(qū)域值,便可獲得節(jié)點(diǎn)的最佳輸出值為:
由此得到?jīng)Q策樹(shù)的擬合函數(shù)為:
式中,J為變量個(gè)數(shù),I為函數(shù)因子。
GBDT 算法在回歸時(shí)所采用的是平方差損失函數(shù),而在分類時(shí)則選擇了對(duì)數(shù)函數(shù),其算法步驟如下:
步驟1:初始化m、j的值,并將二者的值均賦值為1;
步驟2:計(jì)算樣本i第m次迭代時(shí)損失函數(shù)的負(fù)梯度值;
步驟3:選取特征值,確定最優(yōu)切分變量與切分點(diǎn),進(jìn)而構(gòu)建回歸函數(shù)以啟動(dòng)迭代循環(huán)操作,迭代循環(huán)結(jié)束時(shí)進(jìn)行步驟4;否則,繼續(xù)進(jìn)行步驟3;
步驟4:計(jì)算第m次迭代時(shí)的最優(yōu)輸出值;
步驟5:更新擬合函數(shù),若m達(dá)到設(shè)定閾值,則迭代結(jié)束,輸出最終結(jié)果;否則,轉(zhuǎn)至步驟2。
無(wú)約束優(yōu)化問(wèn)題通常會(huì)轉(zhuǎn)化為最小化目標(biāo)函數(shù)L(θ)的求解,其核心是求得θ的取值并選取初值,然后沿著梯度下降的方向不斷迭代以求出近似值。其迭代公式可表示為:
式中,θ為變量,Δθ為變量增加量。將L(θt)在θt-1處展開(kāi),可得到:
上述方法從本質(zhì)上看是一個(gè)一階方程,其核心是求解其一階導(dǎo)數(shù),但相對(duì)誤差較大。而當(dāng)采用二階函數(shù)時(shí),可具有更高的精度及更快的收斂速度,則二階優(yōu)化函數(shù)為:
對(duì)上式求導(dǎo),且令其值為零,即可得到L(θt)的極小值。從幾何的角度來(lái)看,則是將二次曲面擬合至當(dāng)前位置,以獲得最優(yōu)的下降路徑,即牛頓法(Newton’s method)。
模型復(fù)雜度與訓(xùn)練飽和度呈正相關(guān),而誤差則隨著模型復(fù)雜度的增加而逐漸增大。所以當(dāng)樣本數(shù)量過(guò)少或訓(xùn)練次數(shù)過(guò)多時(shí),就會(huì)出現(xiàn)過(guò)擬合的現(xiàn)象,如圖1 所示。
圖1 過(guò)擬合誤差示意圖
從原理上講,應(yīng)該盡可能地選擇可以解釋已知數(shù)據(jù)的簡(jiǎn)單模型。但為了保證數(shù)據(jù)的真實(shí)性,有時(shí)則需要采取更為復(fù)雜的模型來(lái)擬合復(fù)雜數(shù)據(jù)。因此,該文對(duì)模型加以改進(jìn):首先在傳統(tǒng)GBDT 算法中引入正則化,然后在模型訓(xùn)練的過(guò)程中指定回歸樹(shù),不斷擬合殘差,最后在損失函數(shù)中增加正則項(xiàng)。其理論表達(dá)式可表征為:
式中,Ω(fk)為懲罰函數(shù),引入的正則項(xiàng)在每個(gè)回歸樹(shù)函數(shù)中增加懲罰項(xiàng)。而懲罰項(xiàng)的復(fù)雜度與葉子數(shù)N、葉節(jié)點(diǎn)分?jǐn)?shù)w有關(guān),且懲罰函數(shù)可表示為:
式中,γ是葉子數(shù)的加權(quán)系數(shù)。
通過(guò)在葉子節(jié)點(diǎn)處增加剪枝(Pruning algorithm)操作,經(jīng)過(guò)多次迭代后,模型相鄰兩次迭代的預(yù)測(cè)值之和則可表示為:
此時(shí),目標(biāo)函數(shù)可表征為預(yù)測(cè)值與懲罰函數(shù)的相加,即:
提前對(duì)電力工程數(shù)據(jù)加以處理,是進(jìn)行分析與預(yù)測(cè)的前提。在現(xiàn)場(chǎng)采集到的數(shù)據(jù)中經(jīng)常會(huì)出現(xiàn)一些特征缺失、存在噪聲等信息的數(shù)據(jù),其會(huì)造成數(shù)據(jù)處理過(guò)程中信息丟失的情況。刪除法與填補(bǔ)法是解決數(shù)據(jù)缺失的常用手段,但是將數(shù)據(jù)刪除會(huì)影響其真實(shí)性,因此該處理過(guò)程中采用了雙向綜合填補(bǔ)法。該方法類似于單值差補(bǔ)法,即通過(guò)計(jì)算期望進(jìn)行填補(bǔ)。對(duì)于給定的數(shù)據(jù)集T,且有:
式中,xi∈Rm,yi∈{0,1},則得到原始數(shù)據(jù)矩陣:
其中,m為樣本總數(shù),n為特征總數(shù)。首先,令i=1,提取相同樣本并構(gòu)造數(shù)據(jù)矩陣;然后,提取樣本數(shù)據(jù)中第j列數(shù)據(jù)可得:
計(jì)算xij的值為:
綜上可得,新的數(shù)據(jù)矩陣為:
基于數(shù)據(jù)特征能確定各個(gè)參數(shù)值,并以此進(jìn)行數(shù)據(jù)融合進(jìn)而感知所有工程數(shù)據(jù),最后輸出分類回歸值。所采用的數(shù)據(jù)融合框架如圖2 所示。
圖2 數(shù)據(jù)感知融合框架
特征提取是降低數(shù)據(jù)維度的一種方法,其能夠得到原始數(shù)據(jù)的一個(gè)子集,并對(duì)電力工程數(shù)據(jù)進(jìn)行感知與識(shí)別,從而建立數(shù)據(jù)感知模型。對(duì)數(shù)據(jù)特征進(jìn)行綜合分析,是實(shí)現(xiàn)數(shù)據(jù)分析與預(yù)測(cè)的關(guān)鍵步驟。數(shù)據(jù)特征融合流程如圖3 所示。
圖3 數(shù)據(jù)特征融合流程
通過(guò)將數(shù)據(jù)映射到新的特征空間,再采用主成分分析法(Principal Component Analysis,PCA)對(duì)電力工程數(shù)據(jù)特征加以提取,具體流程如下:
1)收集電力工程數(shù)據(jù)集,建立數(shù)據(jù)矩陣X={xij}m×n,并對(duì)所有數(shù)據(jù)進(jìn)行歸一化處理;
2)建立目標(biāo)損失函數(shù):
3)最小化損失函數(shù),計(jì)算協(xié)方差矩陣,依據(jù)拉格朗日乘子法(Lagrange Multiplier),建立拉格朗日函數(shù),可表征為:
4)篩選特征向量的主成分,計(jì)算貢獻(xiàn)率P以獲得特性向量主成分,進(jìn)而重新建立特征矩陣。
對(duì)電力工程數(shù)據(jù)完成特征提取之后,可建立多參量遞歸圖并進(jìn)行卷積操作,然后再進(jìn)行最大池化與全拼接操作,并最終輸出特征。所建立的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)流程如圖4 所示。
圖4 數(shù)據(jù)卷積神經(jīng)網(wǎng)絡(luò)建立流程
在完成數(shù)據(jù)處理與特征提取之后,還需要對(duì)電力工程數(shù)據(jù)進(jìn)行訓(xùn)練。具體的訓(xùn)練流程為:首先將所有數(shù)據(jù)轉(zhuǎn)化為時(shí)序參量,從而得到各個(gè)數(shù)據(jù)的回歸量;然后,采用GBDT 算法對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練感知,再對(duì)數(shù)據(jù)加以分類,以獲得數(shù)據(jù)分類結(jié)果,并最終建立網(wǎng)絡(luò)融合模型。在分類流程中,通常以損失量最小來(lái)作為迭代結(jié)束的依據(jù)。且當(dāng)誤差滿足預(yù)期值時(shí),即停止迭代。預(yù)期目標(biāo)值可表示為:
式中,L(θ)為預(yù)期目標(biāo)函數(shù),采集到的電力工程數(shù)據(jù)用θ=[θ1,θ2,???,θm]表示,該值為神經(jīng)網(wǎng)絡(luò)模型輸入集合。
數(shù)據(jù)誤差可轉(zhuǎn)化為均方誤差函數(shù),具體可表示為:
式中,f(θi)表示當(dāng)輸入預(yù)測(cè)變量值時(shí)所對(duì)應(yīng)的函數(shù)值。
該文選取了三個(gè)真實(shí)電力工程的數(shù)據(jù)集用于測(cè)試算法,這些數(shù)據(jù)集來(lái)源于某市2021年的配電工程數(shù)據(jù)庫(kù)。實(shí)驗(yàn)?zāi)康脑谟趯?duì)比傳統(tǒng)機(jī)器學(xué)習(xí)算法與本文所提GBDT 算法的預(yù)測(cè)精度,從而驗(yàn)證算法的優(yōu)越性。實(shí)驗(yàn)所采用的三個(gè)電力工程數(shù)據(jù)集參數(shù)如表1所示。
表1 數(shù)據(jù)集屬性
將每個(gè)數(shù)據(jù)集隨機(jī)分成兩個(gè)部分,其中80%的數(shù)據(jù)作為訓(xùn)練樣本,剩余的部分則作為預(yù)測(cè)樣本。算法的基本數(shù)據(jù)設(shè)置如下:根深度為6,最小樣本數(shù)為500個(gè),而最大迭代次數(shù)則為500 次。通過(guò)比較算法的運(yùn)行時(shí)間與平均絕對(duì)百分比誤差(MAPE),進(jìn)而評(píng)價(jià)算法的效率。采用兩種算法進(jìn)行測(cè)試,其結(jié)果如表2所示。
表2 兩種算法數(shù)據(jù)集測(cè)試結(jié)果對(duì)比
從表中可看出,在不同的數(shù)據(jù)集背景下,當(dāng)采用GBDT 算法對(duì)電力工程數(shù)據(jù)進(jìn)行分析與預(yù)測(cè)時(shí),其預(yù)測(cè)精度較高、運(yùn)行時(shí)間也更短。
進(jìn)一步對(duì)電力工程造價(jià)數(shù)據(jù)進(jìn)行分析及預(yù)測(cè),通過(guò)對(duì)比輸入與輸出值,構(gòu)建工程造價(jià)數(shù)據(jù)的原始模型。對(duì)隨機(jī)抽取的六組預(yù)測(cè)樣本數(shù)據(jù)進(jìn)行分析與預(yù)測(cè),得到的預(yù)測(cè)結(jié)果與誤差如表3 所示。
表3 電力工程造價(jià)數(shù)據(jù)預(yù)測(cè)及其誤差
依據(jù)工程造價(jià)行業(yè)標(biāo)準(zhǔn),當(dāng)誤差在5%以內(nèi)可以作為有用數(shù)據(jù)。而由表3 可知,數(shù)據(jù)預(yù)測(cè)結(jié)果均在預(yù)期誤差范圍之內(nèi),故可視為有效數(shù)據(jù)。
針對(duì)電力工程數(shù)據(jù)分析與預(yù)測(cè)精度偏低的問(wèn)題,該文提出了基于GBDT 算法的電力工程數(shù)據(jù)信息分析及預(yù)測(cè)方法,該算法既適用于分類問(wèn)題也適用于回歸問(wèn)題。在真實(shí)電力工程數(shù)據(jù)集上進(jìn)行的數(shù)據(jù)算例分析結(jié)果顯示,所提算法的預(yù)測(cè)精度更高,運(yùn)行時(shí)間也更短,具有良好的工程應(yīng)用前景。