仲立軍, 楊玉銳, 周曉琴, 牛中偉, 周子譽(yù)
(國(guó)網(wǎng)嘉興供電公司,浙江 嘉興 314000)
在企業(yè)工業(yè)用電以及用戶的用電中,電費(fèi)的整體架構(gòu)通常包括基本電費(fèi)、電度電費(fèi)和功率因數(shù)調(diào)整電費(fèi)等不同的形式?;て髽I(yè)多數(shù)實(shí)行24 h連續(xù)生產(chǎn),對(duì)供電可靠性要求高,多數(shù)采用雙電源以保證供電質(zhì)量[1],因此無(wú)法有效通過(guò)生產(chǎn)負(fù)荷分時(shí)段調(diào)整,以利用分時(shí)電價(jià)差降低電度電費(fèi)?,F(xiàn)有技術(shù)中的企業(yè)功率因數(shù)在一定程度上雖然能夠滿足企業(yè)用電的需求,但是無(wú)功率太多,電費(fèi)的優(yōu)化空間相對(duì)比較小[2]。在計(jì)算基本電費(fèi)時(shí),需要根據(jù)企業(yè)用戶的實(shí)際用電容量或者最大用電需量進(jìn)行計(jì)算。在眾多用電過(guò)程中,企業(yè)用戶難以對(duì)未來(lái)的用電負(fù)荷情況進(jìn)行判斷,使得在選擇基本電費(fèi)計(jì)收方式時(shí),難免與自身實(shí)際用電負(fù)荷存在偏差,容易引起基本電費(fèi)虛高。這就需要一種方法實(shí)現(xiàn)企業(yè)電費(fèi)優(yōu)化。
本文通過(guò)研究浙江某工業(yè)園區(qū)化工企業(yè)用電負(fù)荷特征,根據(jù)企業(yè)月度用電最大需量波動(dòng)率分組,采用改進(jìn)型XGBoost算法模型[3],構(gòu)建化工企業(yè)月度用電最大需量精準(zhǔn)預(yù)測(cè)模型。為企業(yè)合理選擇基本電費(fèi)計(jì)算方式提供指導(dǎo),幫助企業(yè)合理降低用電成本。采用的大數(shù)據(jù)模型如圖1所示,下面分別對(duì)不同的算法模型進(jìn)行說(shuō)明。
圖1 負(fù)荷預(yù)測(cè)大數(shù)據(jù)模型設(shè)計(jì)
本文采用改進(jìn)型XGBoost算法模型,在傳統(tǒng)XGBoost算法模型的基礎(chǔ)上加入逐步回歸算法模型[4],具有以下技術(shù)優(yōu)勢(shì)。
(1) 對(duì)大量的負(fù)荷數(shù)據(jù)比較敏感,計(jì)算速度比較快,數(shù)據(jù)效率輸出比較高。
(2) 模型構(gòu)建較為快捷,適用范圍廣,在電力負(fù)荷電費(fèi)預(yù)測(cè)和計(jì)算過(guò)程中表現(xiàn)出較好的適應(yīng)性。
(3) 克服了現(xiàn)有技術(shù)分類(lèi)算法效率低和分類(lèi)性差的問(wèn)題,提高了評(píng)估企業(yè)電力負(fù)荷電費(fèi)的能力。
本文采用改進(jìn)型XGBoost算法模型的核心意義在于使用CART模型。首先對(duì)負(fù)荷預(yù)測(cè)模型進(jìn)行定義,設(shè)定其輸出的目標(biāo)函數(shù),目標(biāo)函數(shù)由訓(xùn)練損失L(Θ)、正則化Ω(Θ)兩種不同的函數(shù)表示式構(gòu)成,數(shù)學(xué)表達(dá)式如式(1)所示。
Obj(Θ)=L(Θ)+Ω(Θ)
(1)
對(duì)上述函數(shù)求最小化,其本質(zhì)是對(duì)訓(xùn)練損失L(Θ)和正則化Ω(Θ)求最小化。通過(guò)圖形使擬合曲線達(dá)到最佳,最終預(yù)測(cè)的負(fù)荷方差最小[5],輸出的結(jié)果較為穩(wěn)定。
評(píng)估目標(biāo)為:將出現(xiàn)的損失函數(shù)在擬合曲線圖中呈現(xiàn)欠擬合的形態(tài),輸出的優(yōu)化正則化項(xiàng)圖形表現(xiàn)為過(guò)擬合形態(tài),使最后的輸出函數(shù)達(dá)到最小值。這樣就能夠使用輸出函數(shù)的模型實(shí)現(xiàn)較佳的評(píng)估效果。流程示意圖如圖2所示。
圖2 改進(jìn)型XGBoost模型構(gòu)建流程示意圖
下面分步驟說(shuō)明上述函數(shù)。
(1) 構(gòu)建多個(gè)決策樹(shù),反復(fù)進(jìn)行迭代計(jì)算,將每個(gè)決策樹(shù)通過(guò)設(shè)置根節(jié)點(diǎn)和葉結(jié)點(diǎn)的方式,構(gòu)建出最佳決策樹(shù)模型。
(2) 在每次迭代開(kāi)始之前,計(jì)算損失函數(shù)在每個(gè)訓(xùn)練樣本點(diǎn)的一階導(dǎo)數(shù)gi和二階導(dǎo)數(shù)hi。
(3) 采用貪心算法將不同的決策樹(shù)模型對(duì)不同的葉節(jié)點(diǎn)和根節(jié)點(diǎn)的計(jì)算輸出的預(yù)測(cè)值進(jìn)行評(píng)價(jià)。
(4) 將每次計(jì)算輸出的決策樹(shù)ft(x)通過(guò)迭代模型進(jìn)行計(jì)算,迭代模型公式為:
(2)
當(dāng)出現(xiàn)多個(gè)決策樹(shù)時(shí),為了提高決策樹(shù)的精度,通過(guò)以下函數(shù)進(jìn)行優(yōu)化:
(3)
(4)
改進(jìn)型XGBoost算法模型的負(fù)荷預(yù)測(cè)模型可以用以下公式表示。
(5)
通常,在進(jìn)行負(fù)荷評(píng)估時(shí),將改進(jìn)型XGBoost算法模型內(nèi)的各種決策樹(shù)模型進(jìn)行固定設(shè)置,令q(x)=K,對(duì)Obj(t)進(jìn)行求導(dǎo),其輸出的一階導(dǎo)數(shù)等于0,決策樹(shù)上的葉子節(jié)點(diǎn)j的參數(shù)值可通過(guò)以下函數(shù)表示。
(6)
式中:Gj為葉子節(jié)點(diǎn)j的所有輸入樣本的一階導(dǎo)之和;Hj為葉子節(jié)點(diǎn)j所有輸入樣本的二階導(dǎo)之和;λ為正則化系數(shù)。ω為構(gòu)建出的決策樹(shù)輸出的分?jǐn)?shù)向量。
則對(duì)電力負(fù)荷電費(fèi)評(píng)估和優(yōu)化的目標(biāo)函數(shù)為:
(7)
式中:T為構(gòu)建出的決策樹(shù)中每個(gè)葉的節(jié)點(diǎn)數(shù)量。
通過(guò)該方法,能夠?qū)㈦娏ω?fù)荷運(yùn)行情況轉(zhuǎn)化為大數(shù)據(jù)模型的方式表示,提高了數(shù)據(jù)計(jì)算的直觀能力。通過(guò)不斷地調(diào)整數(shù)據(jù)權(quán)重能夠不斷地訓(xùn)練單個(gè)弱學(xué)習(xí)器,有助于糾正和調(diào)整弱學(xué)習(xí)器輸出的數(shù)據(jù)殘差,將原始構(gòu)建出的多個(gè)不同決策樹(shù)學(xué)習(xí)器進(jìn)行加權(quán)求和,最終輸出較為準(zhǔn)確的預(yù)測(cè)數(shù)值。
為了進(jìn)一步提高上述計(jì)算精度,本文采用逐步回歸算法模型對(duì)上述算法進(jìn)一步修正,以提高評(píng)估精度。
對(duì)逐步回歸算法模型的構(gòu)建方法進(jìn)行說(shuō)明,假設(shè)存在n個(gè)不同的企業(yè)基本電費(fèi)類(lèi)型。企業(yè)基本電費(fèi)類(lèi)型中的種類(lèi)為m,每種m個(gè)數(shù)據(jù)類(lèi)型中的數(shù)據(jù)量為p,反映用戶實(shí)際用電情況的矩陣為An×p,用戶理論用電矩陣為Cn×m,評(píng)估誤差矩陣為En×m,則引出關(guān)系式為:
Cn×m=An×pPp×m+En×m
(8)
(9)
在對(duì)個(gè)別企業(yè)基本電費(fèi)進(jìn)行數(shù)據(jù)分析時(shí),可以令m=1,此時(shí),式(10)可以轉(zhuǎn)化為:
(10)
式中:aki為企業(yè)基本電費(fèi)的變量數(shù)據(jù)之間是相關(guān)系數(shù)為1的線性相關(guān)量。當(dāng)r(ATA)
通過(guò)上述模型的構(gòu)建,逐步回歸算法模型內(nèi)的總離差平方和與上述回歸方差平方和關(guān)系可以用以下關(guān)系式表示。
S總(t)=S回(t)+S殘(t)
(11)
S回(t)=S總(t)-S殘(t)
(12)
其中:
(13)
當(dāng)在企業(yè)基本電費(fèi)的數(shù)據(jù)信息中剔除一個(gè)數(shù)據(jù)ai,則函數(shù)中的S回(t)轉(zhuǎn)變?yōu)镾回(t-1),再通過(guò)公式Δi(t)=S回(t)-S回(t-1)表示異常的數(shù)據(jù)信息ai對(duì)分類(lèi)屬性c的總方差貢獻(xiàn)值。然后調(diào)取數(shù)據(jù)統(tǒng)計(jì)量:
(14)
本文主要驗(yàn)證改進(jìn)型XGBoost算法模型的工作效率。仿真試驗(yàn)時(shí),工作環(huán)境為Python3.5。該算法模型的參數(shù)為:每個(gè)決策樹(shù)的樹(shù)深度取6,學(xué)習(xí)效率為0.43,進(jìn)行400次迭代計(jì)算[10]。決策樹(shù)剪枝后的數(shù)值為0.3,決策樹(shù)每個(gè)葉子輸出的權(quán)重值為6,其中對(duì)決策樹(shù)進(jìn)行隨機(jī)采樣輸出的數(shù)值比例為0.7。改進(jìn)型XGBoost算法模型的正則化被命名為L(zhǎng)2, 將本文的改進(jìn)型XGBoost算法模型與BP、GRNN算法分別進(jìn)行對(duì)比驗(yàn)證。
本文實(shí)例數(shù)據(jù)為浙江某工業(yè)園區(qū)內(nèi)化工企業(yè)2015年1月至2018年8月最大需量及影響因素指標(biāo)數(shù)據(jù)。以需量變異系數(shù)0.08為閾值,變異系數(shù)>0.08為波動(dòng)較大組,變異系數(shù)≤0.08為波動(dòng)較小組。園區(qū)兩組類(lèi)型企業(yè)2018年8月需量數(shù)據(jù)如表1所示。
表1 樣本1園區(qū)部分企業(yè)2018年8月最大需量數(shù)據(jù)
通過(guò)設(shè)置如表1所示的數(shù)據(jù)信息,進(jìn)行數(shù)據(jù)分析。
本文以園區(qū)企業(yè)2015年1月至2017年12月的需量及其相關(guān)影響指標(biāo)數(shù)據(jù)作通過(guò)數(shù)據(jù)采集和設(shè)置,首先需要對(duì)獲取的數(shù)據(jù)信息進(jìn)行預(yù)處理,歸一化處理函數(shù)為:
為訓(xùn)練集,進(jìn)行模型訓(xùn)練;以2018年1月至8月的數(shù)據(jù)為驗(yàn)證集,對(duì)模型效果進(jìn)行評(píng)價(jià)。樣本數(shù)據(jù)表如表2所示。
表2 樣本2 試驗(yàn)數(shù)據(jù)表
(15)
在進(jìn)行精確度評(píng)價(jià)時(shí),采用均方根誤差(root mean square error,RMSE)和平均絕對(duì)誤差百分比(mean absolute percent error,MAPE),其中均方根RMSE誤差數(shù)據(jù)模型為:
(16)
平均絕對(duì)誤差百分比MAPE模型可以為:
(17)
通過(guò)對(duì)改進(jìn)型XGBoost算法模型進(jìn)行參數(shù)設(shè)置,在具體應(yīng)用時(shí),需要調(diào)用XGBoost函數(shù)庫(kù)中的CV函數(shù)進(jìn)行數(shù)據(jù)信息計(jì)算,通過(guò)400次的迭代計(jì)算,輸出如圖3所示的誤差曲線示意圖。
通過(guò)圖3可以看到,在經(jīng)歷一段時(shí)間的運(yùn)行后,為了避免模型在運(yùn)行過(guò)程中出現(xiàn)過(guò)擬合現(xiàn)象,將改進(jìn)型XGBoost算法模型的迭代次數(shù)取值230。
圖3 負(fù)荷預(yù)測(cè)均方根誤差曲線示意圖
下面以幾種簡(jiǎn)單的影響因素作為示例性分析,如圖4所示。
通過(guò)圖4可以看到,負(fù)荷影響因素不同,則均方根值不同,各個(gè)影響因素的分布比例都不相同。進(jìn)而可以直觀地看出不同因素的影響。
圖4 改進(jìn)型XGBoost算法模型中不同影響因素的特征重量級(jí)分布圖
將BP、GRNN算法分別與本文的改進(jìn)型XGBoost算法模型進(jìn)行對(duì)比分析,得出如圖5所示的對(duì)比示意圖。
分析圖5可知,改進(jìn)型XGBoost算法模型預(yù)測(cè)準(zhǔn)確度較高,且較為穩(wěn)定,更適用于電力超短期負(fù)荷預(yù)測(cè)。
圖5 不同方法的預(yù)測(cè)準(zhǔn)確性分析對(duì)比示意圖
本文根據(jù)當(dāng)前電力負(fù)荷預(yù)測(cè)的需要,提出了新型的負(fù)荷預(yù)測(cè)模型,應(yīng)用了改進(jìn)型XGBoost算法模型,通過(guò)調(diào)整權(quán)值的方式實(shí)現(xiàn)弱分類(lèi)器和學(xué)習(xí)器的訓(xùn)練和學(xué)習(xí),提高了數(shù)據(jù)輸出的精確度。通過(guò)試驗(yàn),本文方法能夠直觀地看出負(fù)荷影響因素,誤差低,能為企業(yè)電力負(fù)荷的預(yù)測(cè)做出一定的貢獻(xiàn),但是尚且存在其他不足,需要進(jìn)行進(jìn)一步的研究。