国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于梯度提升決策樹的電力物聯(lián)網(wǎng)用電負荷預測

2022-08-26 00:50:08馮瑛敏姜美君
智慧電力 2022年8期
關(guān)鍵詞:用電量決策樹交叉

劉 瑾,趙 晶,馮瑛敏,周 超,姜美君,章 輝

(1.國網(wǎng)天津電力經(jīng)濟技術(shù)研究院,天津 300171;2.南開大學,天津市光電傳感器與傳感網(wǎng)絡技術(shù)重點實驗室 天津 300350)

0 引言

電力物聯(lián)網(wǎng)日益受到全球技術(shù)人員的關(guān)注,是電力領(lǐng)域人與人、人與物和物與物的連接網(wǎng)絡,延伸和擴展了信息交換的用戶端[1]。作為電力物聯(lián)網(wǎng)的一項重要應用,監(jiān)控系統(tǒng)在電力生產(chǎn)實踐中占據(jù)了越來越重要的地位[2],傳統(tǒng)電力監(jiān)控系統(tǒng)存在的問題通常集中于可連接的監(jiān)測點數(shù)量少、監(jiān)測數(shù)據(jù)類型單一、缺乏數(shù)據(jù)處理功能和不具備及時預警功能等[3]。

隨著萬物互聯(lián)時代的到來,未來電力物聯(lián)網(wǎng)的數(shù)據(jù)傳輸量將會出現(xiàn)井噴式增長[4],電力物聯(lián)網(wǎng)監(jiān)控系統(tǒng)的監(jiān)測點規(guī)?;?、多維化、智能化的需求越來越迫切。電力物聯(lián)網(wǎng)為了實現(xiàn)泛在物聯(lián),具有連接節(jié)點數(shù)量多、監(jiān)測點分布廣和采集的數(shù)據(jù)類型多的特點[5]。如何實現(xiàn)海量傳感器監(jiān)測數(shù)據(jù)的預測功能是未來解決電力物聯(lián)網(wǎng)部署的關(guān)鍵性問題[6-7]。由于配電網(wǎng)拓撲結(jié)構(gòu)及運行環(huán)境復雜,部件種類繁多,容易受到設備故障、惡劣環(huán)境等因素的影響[8]。如何及時預測超負荷用電并制定有效的用電方案,指引企業(yè)合理調(diào)整用電負荷,保護用戶安全用電、提升電網(wǎng)穩(wěn)定性和安全性,是當前智能電網(wǎng)用電研究的重點[9-11]。

本文提出了一種基于極致梯度提升樹和輕量梯度提升機(XGBoost-LightGBM)的交叉用電負荷預測方案,能夠?qū)崿F(xiàn)在線臺區(qū)用電分析,實時預測未來時刻臺區(qū)用電情況,當臺區(qū)即將發(fā)生超負荷用電或者當前臺區(qū)發(fā)生大規(guī)模停電時,提前向指揮平臺發(fā)出預警,為用電的優(yōu)化調(diào)度提供支持,提高電網(wǎng)運行可靠性。

1 梯度提升決策樹

梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)是一類機器學習算法,其在預測和分類問題上的良好性能受到工業(yè)界的關(guān)注[12-15]。該算法由多棵決策樹組成,利用損失函數(shù)的負梯度在當前模型的值作為提升樹中殘差的近似值來擬合回歸決策樹[16]。GBDT 算法的一般步驟為:

1)輸入n個訓練樣本X,并設置相關(guān)參數(shù),迭代次數(shù)為N,F(xiàn)為所有樹組成的函數(shù)空間,fk為單決策樹模型,初始值f0=0,GBDT 算法表達式為:

式中:xi為第i個樣本的特征向量;K為弱回歸樹的數(shù)量;fk(xi)為第k棵弱回歸樹的輸出值;為第i個樣本的最終預測值。

2)定義GBDT 算法的目標函數(shù)為:

式中:Ω 為決策樹的復雜程度;n為樣本總數(shù);l為損失函數(shù);yi為第i個樣本的真值。

復雜度由正則項定義:

式中:T為葉子的節(jié)點數(shù);wj為葉子節(jié)點對應的向量值;κ為樹的葉節(jié)點分裂所需的最小損失減小量;λ為懲罰項系數(shù)。

3)根據(jù)GBDT 算法的加法結(jié)構(gòu),

式中:Gi=∑gi,Hi=∑hi,gi和hi分別為損失函數(shù)的一階和二階導數(shù)。

令Objt的一階導數(shù)為0,可求得葉子節(jié)點的最優(yōu)值

此時的目標函數(shù)值為:

4)通過貪心策略生成新的決策樹,使目標函數(shù)值最小,并求得葉子節(jié)點對應最優(yōu)預測值,將新生成的決策樹ft(x)添加到模型中,可得:

5)不斷迭代,直到N次迭代結(jié)束,輸出由N個決策樹構(gòu)成的GBDT 算法。

GBDT 算法有較多的有效實現(xiàn),如XGBoost 算法和LightGBM 算法,均屬于GBDT 的集成學習算法[17]。

1.1 XGBoost算法

XGBoost 是基于GBDT 的改進算法,使用多線程并行性改進算法以提高準確性,適用于分類和回歸問題[18-20]。XGBoost 的基本原理與GBDT 相同,區(qū)別在于GBDT 使用損失函數(shù)的一階導數(shù),而XGBoost 使用一階和二階導數(shù)執(zhí)行損失函數(shù)的二階泰勒展開。

XGBoost 算法的損失函數(shù)為:

式中:y為當前樣本x對應的真值;f(x)為樣本x的預測值;l(y,f(x))為損失函數(shù);fm為第m棵分類樹模型;Ω(fm)為正則化項,用來反映算法的復雜程度;φ為需要求解的模型參數(shù)。

使用泰勒展開式來逼近函數(shù)fm(xi),式(10)變換為式(11),其中:

目標函數(shù)中的正則化項為:

式中:γ為在樹的葉節(jié)點進一步分裂所需的最小損失減小量,表征每一個葉子的復雜程度;w為葉子節(jié)點的值。

1.2 LightGBM算法

LightGBM 算法是一種改進的梯度提升決策樹框架[21-23]。它的基本思想是通過M棵弱回歸樹線性組合為強回歸樹,如式(15)所示:

式中:F(x)為最終的輸出值;fm(x)為第m棵弱回歸樹的輸出值。

LightGBM 算法的主要改進包括直方圖算法和帶深度限制的葉子生長(Leaf-wise)策略。直方圖算法將連續(xù)數(shù)據(jù)離散劃分為P個整數(shù),并構(gòu)造一個寬度為P個數(shù)的直方圖。遍歷時將離散化的值作為索引在直方圖中累積,進而搜索出最優(yōu)的決策樹分割點。在LightGBM 中,葉節(jié)點的直方圖可直接從父節(jié)點的直方圖和兄弟節(jié)點的直方圖獲得,該策略加快了算法的計算速度。

帶深度限制的Leaf-wise 策略是指在每次分裂時,找到最大增益的葉子進行分裂并循環(huán)下去。通過樹的深度以及葉子數(shù)限制,減小模型的復雜度,防止出現(xiàn)過擬合。LightGBM 的Leaf-wise 每次從當前葉子中找到具有最大分割增益的葉子,然后進行分割,依此類推。因此Leaf-wise 可減少錯誤,并在相同數(shù)量的分割時獲得更好的準確性。Leaf-wise的缺點是可能會產(chǎn)生較深的決策樹,從而導致過擬合。因此,LightGBM 在Leaf-wise 之上增加了最大深度限制,以防止過擬合并確保高效率。

通過直方圖算法和帶深度限制的葉子生長策略,LightGBM 算法減少了內(nèi)存的占用,訓練時間僅為XGBoost 的1/10,并且準確率有所提升,適合處理用電負荷預測這類數(shù)據(jù)量較大的問題。

2 XGBoost-LightGBM交叉

在LightGBM 算法和XGBoost 算法的基礎上,本文提出了一種基于XGBoost 和LightGBM 交叉的方案,算法交叉融合過程如圖1,分別用LightGBM和XGBoost 對初始輸入特征進行五折交叉驗證,同時將驗證過程中計算的驗證集結(jié)果保留,當作下一輪的輸入特征。考慮到2 種算法的決策樹生長策略不同,將XGBoost 得到的特征n+1 放入LightGBM中重新訓練,然后LightGBM 得到的特征n+2 放入XGBoost 中重新訓練。最后將重新計算后得出得結(jié)果進行加權(quán)融合。

圖1 XGBoost和LightGBM交叉過程Fig.1 Model fusion process between XGBoost&LightGBM

如圖1 所示,通過XGBoost 和LightGBM 特征的有序交叉,可有效融合二者決策樹的生長優(yōu)勢。XGBoost 和LightGBM 主要不同點在于決策樹的生長策略。XGBoost 采用的是帶深度限制的levelwise 生長策略。level-wise 能夠同時分裂同一層的葉子,可以進行多線程優(yōu)化,且不容易過擬合。但不加區(qū)分地對待同一層葉子,會帶來很多不必要的算力開銷,很多葉子的分裂增益較低,沒必要進行搜索和分裂。LightGBM 采用leaf-wise 生長策略,每次從當前所有葉子中找到分裂增益最大的一個葉子,進行分裂,如此循環(huán),但會生長出比較深的決策樹,產(chǎn)生過擬合。本文提出將XGBoost 和LightGBM 特征進行有序交叉,既在分裂部分同一層的葉子,又分裂部分增益大的葉子,限制了葉子的深度,可有效規(guī)避XGBoost 的算法效率問題和LightGBM 的過擬合問題。

2.1 交叉驗證

為了獲得更準確的估計,使用交叉驗證來訓練和測試數(shù)據(jù)集的每個子集中的模型,原始樣本被隨機分為a個大小相等的子集。對于a個子集,將單個子集作為驗證數(shù)據(jù)以測試模型,其余(a-1)個子集用作訓練數(shù)據(jù)。然后,將交叉驗證過程重復a次,每個子集都恰好使用一次作為驗證數(shù)據(jù)。

在本文中,將數(shù)據(jù)集隨機分為5 個大小相等的獨立子集。如圖2 在驗證的每個步驟中,保留1 個子集(數(shù)據(jù)集的20%)作為驗證數(shù)據(jù)集,以測試所提出方法的性能,而其余4 個子集(數(shù)據(jù)集的80%)用作訓練數(shù)據(jù)集。重復上述過程五次,直到使用了每個子集,并計算5 個測試子集的平均值,最終結(jié)果是該算法在5 次交叉驗證中的總體性能。將該驗證過程中計算的驗證集結(jié)果予以保留,作為下一輪的輸入特征。

圖2 交叉驗證過程Fig.2 Cross-validation process

2.2 算法評價

均方根誤差通常用來衡量觀測值與真值之間的偏差,因此在工程測量中廣泛采用[24]。為了評價算法的優(yōu)劣,本文采用均方根誤差(Root Mean Square Error,RMSE)作為評判標準,其值ERMS通常為:

式中:N為測試樣本總數(shù);f(zi)為算法輸出的第i個時刻預測值。

3 基于XGBoost-LightGBM 交叉的用電預測

圖3 為基于XGBoost-LightGBM 交叉的用電預測流程圖,通過獲取臺區(qū)用戶的用電量數(shù)據(jù),并對異常缺失數(shù)據(jù)和多個數(shù)據(jù)集進行預處理,然后進行算法迭代,算法流程如下:

圖3 用電監(jiān)控預警流程Fig.3 Power distribution monitoring and alarm process

1)從智能融合終端存儲數(shù)據(jù)庫里獲取用戶歷史用電情況和實時用電情況(每30 min 采樣獲取1次實時用電數(shù)據(jù))作為輸入上傳至機器學習算法模塊中,并進行數(shù)據(jù)篩選后得到訓練樣本TrainData 和測試樣本TestData。后續(xù)可根據(jù)TestData 與預測結(jié)果的殘差分析進行預測精度的評估。

2)對TrainData 和TestData 進行時序特征構(gòu)造。

3)將TrainData 分割為訓練集Train 和驗證集Val。

4)使用LightGBM 預測Val,并通過網(wǎng)格搜索法尋找最優(yōu)參數(shù)組合,保存最優(yōu)模型LightGBM_1。

5)使用XGBoost 預測Val,并通過網(wǎng)格搜索法尋找最優(yōu)參數(shù)組合,保存最優(yōu)模型XGBoost_1。

6)將TestData 輸入到XGBoost_1 模型和LightGBM_1 模型分別進行5 折交叉驗證,得到輸出結(jié)果特征n1和特征n2。

7)將特征n1合并到TrainData 最后一列,得到TrainData_1。使用TrainData_1 作為新的訓練集,重復步驟(4),得到最優(yōu)模型LightGBM_2。

8)將特征n2合并到TrainData 最后一列,得到TrainData_2。使用TrainData_2 作為新的訓練集,重復步驟(5),得到最優(yōu)模型XGBoost_2。

9)將TestData 和特征n1輸入進LightGBM_2 模型,TestData 和特征n2輸入進XGBoost_2 模型,分別進行5 折交叉驗證,得到輸出結(jié)果result_1 和輸出結(jié)果result_2。

10)將result_1 和result_2 按照1:1 的比例融合,得到最終結(jié)果result(result 表示的是未來時刻用戶的用電量),輸出為未來時刻用電量的預測結(jié)果。

若預測結(jié)果不在正常配電范圍內(nèi)則發(fā)出預警信息,當用電量大于正常配電范圍最大值,則發(fā)出即將超負荷用電報警信息;當用電量小于正常配電范圍最小值,則發(fā)出即將大規(guī)模停電報警信息。

4 實際案例分析

4.1 構(gòu)建樣本

本文使用的數(shù)據(jù)記錄了某區(qū)域某年1 月至12月的用電量,其中用電量每半個小時采集1 次,數(shù)據(jù)如表1 所示。

表1 初始數(shù)據(jù)Table 1 Initial data kWh

首先是預處理這些數(shù)據(jù),主要執(zhí)行數(shù)據(jù)清理和缺失值處理。數(shù)據(jù)清理主要是去除噪聲數(shù)據(jù),缺失值處理主要是填充缺失數(shù)據(jù)。

4.1.1 數(shù)據(jù)清理

首先,去除一些異常數(shù)據(jù),例如用電量低,用電量突變,遠離平均值的數(shù)據(jù)。這些數(shù)據(jù)屬于異常情況的數(shù)據(jù),例如傳感器采集錯誤、線路故障等,因此將其刪除。

4.1.2 缺失值處理

由于設備,線路或數(shù)據(jù)本身之類的問題,數(shù)據(jù)中可能存在大量缺失值。這將使算法預測不準確。因此,缺失值必須得到補充。這里使用的補充方法是:如果某些部分嚴重缺少數(shù)據(jù)并且丟失值的比例在一天中超過50%,則直接丟棄一整天的數(shù)據(jù);如果某些部分中缺失少量的值,并且一天數(shù)據(jù)相對完整,則將其使用平均值進行填充。

隨后是基于數(shù)據(jù)集的分析,探索各種因素對用電負荷的影響,選擇合適的向量構(gòu)造特征。本文使用距離分析方法中的皮爾遜相關(guān)性來估算社區(qū)用電數(shù)據(jù)與其他數(shù)據(jù)之間的相關(guān)性。式(17)是計算2個維向量x和y中的Pearson 相關(guān)系數(shù)的公式[25]:

式中:xb和yb分別為向量x和向量y在位置b上的值;和分別為向量x和向量y中所有值的平均值。

皮爾遜相關(guān)系數(shù)Rxy是一個介于[-1,1]之間的實數(shù)。Rxy>0 則這2 個變量是正相關(guān)的,否則它們是負相關(guān)的。較大的 |Rxy|表明x和y之間的相關(guān)性越高。部分特征的皮爾遜相關(guān)系數(shù)如表2 所示。表2 中P為當前時段用電量,其中P為當前時段的用電量,Second,Minute 和Hour 分別為當前時段的秒、分和時的時間特征,LP為上一時段采集的電量信息,LPD為當前時段與上一時段用電量的差值。

表2 皮爾遜相關(guān)系數(shù)Table 2 Pearson correlation coefficient

由表2 中可知用電量P與上一時段用電量LP呈強相關(guān)性,因此我們對LP進行下一步特征構(gòu)造。

接著對原始變量進行特征構(gòu)造,選擇合適的輸入特征變量對模型預測結(jié)果的優(yōu)劣有極大的影響,根據(jù)特征之間的相關(guān)性,本文選取臺區(qū)前幾個時刻的時段用電量構(gòu)造滑動窗口特征,包括前10 個時段的用電量、10 個時段用電量的統(tǒng)計數(shù)據(jù)(最大值,最小值,標準差,中位數(shù))以及后9 個時段與第一個時段的用電量差值dc,差值dc為:

式中:pc為第c個時段的用電量;p1為第1 個時段的用電量;Z為選取的時段總數(shù)。

4.2 網(wǎng)格搜索法調(diào)參

LightGBM 和XGBoost 都包括多個參數(shù),稱之為超參數(shù)。超參數(shù)對LightGBM 和XGBoost 算法的性能有重大影響。它們通常是手動設置的,然后在連續(xù)的反復試驗過程中進行調(diào)整。在算法參數(shù)設置中,本文使用網(wǎng)格搜索的方法,即設置特定參數(shù)的范圍和參數(shù)搜索的步長,連續(xù)迭代,并根據(jù)分數(shù)獲得最佳結(jié)果。使用網(wǎng)格搜索法以調(diào)整LightGBM 和XGBoost 算法的超參數(shù),調(diào)整的超參數(shù)包括:num_leaves(每棵樹的葉子數(shù))、max_depth(樹的最大深度)、n_estimators(樹的棵數(shù))和learning_rate(學習率),其余參數(shù)均使用默認參數(shù)。表3 顯示了訓練過程中算法的參數(shù)設置,均為無量綱參數(shù)。表3 中的斜杠表示無此參數(shù)。

表3 算法參數(shù)Table 3 Model parameters

4.3 結(jié)果分析與對比

為了驗證算法的精度,分別使用XGBoost、LightGBM,傳統(tǒng)隨機森林(RandomForest)以 及XGBoost-LightGBM 交叉算法來預測臺區(qū)用電量。為了體現(xiàn)算法的公平性,本文算法模型和對比算法模型均已經(jīng)過調(diào)參,達到了最優(yōu)效果。圖4 是4 種算法的仿真對比結(jié)果,展示了4 種算法擬合10 月20 日這一天的用電情況。由圖4 中可以看出4 種算法的用電量都與真值變化趨勢一致,具有較高的準確性,說明構(gòu)造的特征對算法有較大增益。

圖4 算法用電量預測結(jié)果Fig.4 Power consumption prediction results with different algorithms

圖5 是4 種算法預測結(jié)果與10 月20 日這一天的用電量絕對誤差對比結(jié)果,由圖5 中可看出,RandomForest 算法與XGBoost 算法、LightGBM 算法以及本文提出的交叉算法相比誤差更大,說明本文提出的算法較傳統(tǒng)算法有較大提升。

圖5 算法預測結(jié)果絕對誤差分析Fig.5 Absolute error analysis of prediction results with different algorithms

為了驗證算法的交叉次數(shù)是否最優(yōu),本文將不同交叉次數(shù)對結(jié)果的影響進行了對比驗證,結(jié)果如圖6 所示。從圖6 中可見,交叉次數(shù)的增加并不會提升模型的精度,這是因為每一次交叉的結(jié)果都存在一個額外的誤差,多次交叉會出現(xiàn)誤差累積,影響預測精度?;谏鲜龇治觯瑸榱吮苊庹`差積累,本文對算法進行1 次交叉。

圖6 算法交叉次數(shù)累計絕對誤差分析Fig.6 Analysis of cumulative absolute error of algorithm crossover times

表4 計算了4 種算法在10 月19 日16∶00 到11 月9 日11∶30 共1 000 個時間點的均方根誤差。由表4 中可以得出,本文提出的XGBoost-LightGBM交叉算法優(yōu)于LightGBM 和XGBoost 的單一算法,同時較傳統(tǒng)隨機森林算法有較大的提升。

表4 算法結(jié)果比較Table 4 Algorithm result comparison

圖7 是本文提出的交叉算法預測出的臺區(qū)用電量與實際用電量的比較,由圖7 中可以看出本文提出的算法具有較高的準確性。并且當用電量高于臺區(qū)超負荷用電閾值時,將會自動上報系統(tǒng)為用電的優(yōu)化調(diào)度提供支持,從而提高電網(wǎng)運行可靠性。

圖7 用電量仿真結(jié)果Fig.7 Electricity consumption simulation results

5 結(jié)論

本文提出了一種基于XGBoost-LightGBM 交叉算法的用電預測方案。經(jīng)實際外場實驗表明,本文提出的用電負荷預測算法魯棒性好,準確性高,相較于傳統(tǒng)算法和XGBoost、LightGBM 等單一算法有更高的準確性,在發(fā)生超負荷用電或者當前臺區(qū)發(fā)生大規(guī)模停電時,能夠及時發(fā)出預警,具有較強的實用性。

猜你喜歡
用電量決策樹交叉
02 國家能源局:1~7月全社會用電量同比增長3.4%
01 國家能源局:3月份全社會用電量同比增長3.5%
一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
“六法”巧解分式方程
決策樹和隨機森林方法在管理決策中的應用
電子制作(2018年16期)2018-09-26 03:27:06
1~10月全社會用電量累計56552億千瓦時同比增長8.7%
連一連
基于決策樹的出租車乘客出行目的識別
基于Fast-ICA的Wigner-Ville分布交叉項消除方法
計算機工程(2015年8期)2015-07-03 12:19:54
基于肺癌CT的決策樹模型在肺癌診斷中的應用
彭州市| 辽宁省| 乐山市| 彭阳县| 阿坝| 华宁县| 澄迈县| 江永县| 德惠市| 前郭尔| 蚌埠市| 宁南县| 无极县| 巴林右旗| 孟津县| 河源市| 镇雄县| 色达县| 丹巴县| 铜鼓县| 象山县| 靖宇县| 延寿县| 巴彦淖尔市| 田林县| 高青县| 宁晋县| 南华县| 罗源县| 延安市| 峡江县| 武威市| 望江县| 贵阳市| 通许县| 阿勒泰市| 武穴市| 石棉县| 冕宁县| 张家界市| 洛扎县|