游文霞 趙 迪 吳永華 黃瑤鈺 申 坤 李文武
(1. 三峽大學(xué) 電氣與新能源學(xué)院, 湖北 宜昌 443002; 2. 國(guó)網(wǎng)湖北省電力公司 孝感供電公司, 湖北 孝感 432000)
電力系統(tǒng)臺(tái)區(qū)一般指配電變壓器的供電范圍或區(qū)域[1].配變臺(tái)區(qū)作為面向低壓用戶的最末一級(jí)供電單位,其變壓器運(yùn)行狀態(tài)直接影響臺(tái)區(qū)供電質(zhì)量.近年夏季和冬季空調(diào)負(fù)荷的快速增長(zhǎng)給臺(tái)區(qū)供電帶來巨大壓力,過載現(xiàn)象時(shí)有發(fā)生.配電臺(tái)區(qū)規(guī)劃對(duì)用電負(fù)荷一般根據(jù)經(jīng)驗(yàn)估算,準(zhǔn)確度不高,導(dǎo)致配電臺(tái)區(qū)剛剛進(jìn)行增容后不久就發(fā)生重載現(xiàn)象[2].
臺(tái)區(qū)變壓器過載時(shí)間過長(zhǎng)會(huì)導(dǎo)致故障停電、三相不平衡、電壓偏移等問題[3].降低臺(tái)區(qū)變壓器過載運(yùn)行時(shí)間,需準(zhǔn)確預(yù)測(cè)臺(tái)區(qū)最大負(fù)荷[4].同時(shí)臺(tái)區(qū)最大負(fù)荷預(yù)測(cè)也是臺(tái)區(qū)擴(kuò)容規(guī)劃的重要基礎(chǔ)[5].臺(tái)區(qū)負(fù)荷預(yù)測(cè)屬于電力負(fù)荷預(yù)測(cè),目前以機(jī)器學(xué)習(xí)為主的相關(guān)技術(shù)已經(jīng)應(yīng)用于負(fù)荷預(yù)測(cè)領(lǐng)域[6],主要包括決策樹、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等.文獻(xiàn)[7]提出CART決策樹(classification and regression tree)預(yù)測(cè)算法,適合較少訓(xùn)練數(shù)據(jù)集和簡(jiǎn)單關(guān)系預(yù)測(cè).文獻(xiàn)[8]提出利用K最近鄰算法(k-nearest neighbor,KNN)進(jìn)行負(fù)荷預(yù)測(cè),適合對(duì)非線性動(dòng)態(tài)系統(tǒng)進(jìn)行非參數(shù)回歸,但該算法計(jì)算效率和對(duì)訓(xùn)練數(shù)據(jù)的容錯(cuò)率均較低.文獻(xiàn)[9-10]運(yùn)用SVM算法,搭建負(fù)荷預(yù)測(cè)模型.結(jié)果表明,SVM具有較好的泛化性能,但隨著影響負(fù)荷的相關(guān)因素增多,特征維度變高,SVM預(yù)測(cè)算法訓(xùn)練時(shí)間變長(zhǎng),精度變低.
臺(tái)區(qū)負(fù)荷最大值預(yù)測(cè)中所采集的數(shù)據(jù)普遍存在特征維數(shù)較低且各特征之間關(guān)系不明顯的特點(diǎn)[11].目前針對(duì)臺(tái)區(qū)負(fù)荷最大值預(yù)測(cè)基本都是采用單一模型算法,而使用單一模型對(duì)特征抽取不足且影響預(yù)測(cè)結(jié)果.集成學(xué)習(xí)將多個(gè)學(xué)習(xí)器集成在一起,常可獲得比單一學(xué)習(xí)器更顯著的預(yù)測(cè)能力,已經(jīng)在用戶用電行為分析等領(lǐng)域得到應(yīng)用[12-13].
本文首次將集成學(xué)習(xí)算法運(yùn)用于臺(tái)區(qū)負(fù)荷最大值預(yù)測(cè)中,考慮年、月份、氣溫以及歷史負(fù)荷值等特征因素,并提出基于AdaBoost集成學(xué)習(xí)的負(fù)荷預(yù)測(cè)算法.
集成學(xué)習(xí)通過構(gòu)建并結(jié)合多個(gè)學(xué)習(xí)器來完成學(xué)習(xí)任務(wù)以期得到一個(gè)更好更全面的強(qiáng)學(xué)習(xí)器.集成學(xué)習(xí)的一般結(jié)構(gòu)如圖1所示.
圖1 集成學(xué)習(xí)的一般結(jié)構(gòu)
給定一組個(gè)體學(xué)習(xí)器,首先經(jīng)過訓(xùn)練,再利用某種策略將它們集成起來.個(gè)體學(xué)習(xí)器一般為一個(gè)已知的機(jī)器學(xué)習(xí)算法,例如決策樹、BP神經(jīng)網(wǎng)絡(luò)等.由同種類型的個(gè)體學(xué)習(xí)器進(jìn)行集成稱為同質(zhì)集成.同質(zhì)集成中的個(gè)體學(xué)習(xí)器也稱為基學(xué)習(xí)器,相應(yīng)的學(xué)習(xí)算法稱為基學(xué)習(xí)算法.本文主要討論同質(zhì)集成算法.
根據(jù)個(gè)體學(xué)習(xí)器生成方式的不同,集成學(xué)習(xí)方法大致可分為兩類:一類是各個(gè)體學(xué)習(xí)器串行生成,個(gè)體學(xué)習(xí)器間存在強(qiáng)依賴關(guān)系;另一類是各個(gè)體學(xué)習(xí)器并行生成,個(gè)體學(xué)習(xí)器間不存在強(qiáng)依賴關(guān)系.前者的代表是Boosting,后者的代表是Bagging和“隨機(jī)森林”(Random Forest).
目前決策樹、神經(jīng)網(wǎng)絡(luò)等常用的單一預(yù)測(cè)算法對(duì)樣本敏感.基于Boosting的集成學(xué)習(xí)算法中最常用的是自適應(yīng)提升(adaptive boosting,AdaBoost)集成學(xué)習(xí)算法,其核心思想是訓(xùn)練一系列個(gè)體學(xué)習(xí)器,然后把這些個(gè)體學(xué)習(xí)器集合起來,構(gòu)成一個(gè)更強(qiáng)的最終學(xué)習(xí)器(強(qiáng)學(xué)習(xí)器)[14].AdaBoost集成學(xué)習(xí)算法具有較高學(xué)習(xí)效率,且不易出現(xiàn)過適應(yīng)現(xiàn)象.該算法本質(zhì)是簡(jiǎn)單個(gè)體學(xué)習(xí)算法提升過程,通過不斷訓(xùn)練來提高學(xué)習(xí)能力.
目前回歸預(yù)測(cè)中較為常用的個(gè)體學(xué)習(xí)器包括:CART決策樹、KNN以及SVM等.CART決策樹算法易于理解和實(shí)現(xiàn),并且不需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,對(duì)于異常點(diǎn)的容錯(cuò)能力好,適合進(jìn)行預(yù)測(cè)所需的回歸分析.本文選擇CART決策樹作為個(gè)體學(xué)習(xí)器.
CART決策樹基于樹結(jié)構(gòu)進(jìn)行決策.其結(jié)構(gòu)一般由一個(gè)根節(jié)點(diǎn)、若干中間節(jié)點(diǎn)和若干葉節(jié)點(diǎn)3部分組成,葉節(jié)點(diǎn)對(duì)應(yīng)決策結(jié)果.決策樹學(xué)習(xí)的目的是產(chǎn)生一棵對(duì)新鮮樣本適應(yīng)能力強(qiáng)的決策樹,學(xué)習(xí)過程是遵循分而治之的策略,其生成是一個(gè)遞歸過程[15].
臺(tái)區(qū)負(fù)荷預(yù)測(cè)是研究負(fù)荷值與各影響因素(特征)之間相關(guān)關(guān)系的多元非線性回歸問題,因此本文采用適合于回歸預(yù)測(cè)的CART決策樹算法.CART決策樹按照某幾個(gè)特征對(duì)數(shù)據(jù)集進(jìn)行遞歸式劃分以形成二叉樹,通過平方誤差最小化準(zhǔn)則計(jì)算出各節(jié)點(diǎn)的最優(yōu)切分點(diǎn),使得劃分后的數(shù)據(jù)集葉子結(jié)點(diǎn)的輸出盡可能接近訓(xùn)練樣本的y值.
CART決策樹具體生成步驟如下:
Step1:獲得訓(xùn)練數(shù)據(jù)集,根據(jù)數(shù)據(jù)集第一個(gè)特征的第一個(gè)分量將數(shù)據(jù)集分為大于該分量和小于該分量的兩個(gè)數(shù)據(jù)集R1和R2;
Step2:根據(jù)兩個(gè)數(shù)據(jù)集對(duì)應(yīng)y值的平均值計(jì)算兩個(gè)數(shù)據(jù)集的平方誤差和;
Step3:重復(fù)Step1~2,遍歷整個(gè)數(shù)據(jù)集的所有特征所有分量,計(jì)算出各特征及分量對(duì)應(yīng)的平方誤差和的矩陣;
Step4:根據(jù)矩陣尋找平方誤差和最小的分割方案,將該分割點(diǎn)作為樹的節(jié)點(diǎn),將分割后的數(shù)據(jù)集分別賦值給該節(jié)點(diǎn)左子樹和右子樹;
Step5:重復(fù)Step1~4,遞歸地將數(shù)據(jù)集分割為更小的部分,直到平方誤差和小于某閾值或者數(shù)據(jù)集中只剩下一個(gè)數(shù)據(jù)樣本為止,并最終得到一個(gè)特定的輸出值.
1)首先遍歷所有的輸入特征,根據(jù)平方誤差最小化準(zhǔn)則選擇使平方誤差取得最小值時(shí)的第j個(gè)特征變量以及其對(duì)應(yīng)的取值s,并以此作為根節(jié)點(diǎn)的切分特征和切分點(diǎn).
2)用選定的特征j及其對(duì)應(yīng)的取值s將訓(xùn)練樣本劃分兩個(gè)子區(qū)域.
3)繼續(xù)對(duì)兩個(gè)子區(qū)域調(diào)用上述兩個(gè)步驟并確定出CART決策樹各個(gè)內(nèi)部節(jié)點(diǎn)的切分特征和切分點(diǎn),直至總均方差的下降值小于某閾值或者數(shù)據(jù)集中只剩下一個(gè)數(shù)據(jù)樣本為止,并得到一個(gè)特定的輸出值,該輸出值為最終劃分區(qū)域的輸出負(fù)荷值的均值.
針對(duì)配電臺(tái)區(qū)負(fù)荷數(shù)據(jù)與日期、氣象及歷史負(fù)荷等因素相關(guān)的特點(diǎn),為了更精準(zhǔn)預(yù)測(cè)未來臺(tái)區(qū)負(fù)荷值,本文基于AdaBoost集成學(xué)習(xí)算法將若干CART決策樹結(jié)合生成強(qiáng)學(xué)習(xí)器.
首先將訓(xùn)練樣本數(shù)據(jù)初始化權(quán)值分布后輸入到初始CART決策樹訓(xùn)練該學(xué)習(xí)器;隨后通過計(jì)算樣本偏差以及CART決策樹的回歸誤差率來更新訓(xùn)練集的樣本權(quán)重分布并計(jì)算初始CART決策樹的權(quán)重系數(shù),增加偏差較大的訓(xùn)練樣本的權(quán)值并減小偏差較小的訓(xùn)練樣本權(quán)值,迫使下一個(gè)學(xué)習(xí)器在隨后的訓(xùn)練過程中關(guān)注誤差較大的訓(xùn)練樣本,并使得訓(xùn)練誤差小的個(gè)體學(xué)習(xí)器占據(jù)更大的權(quán)重;最后通過計(jì)算出權(quán)重系數(shù)的各CART決策樹構(gòu)建個(gè)體學(xué)習(xí)器的線性組合得到強(qiáng)學(xué)習(xí)器.基于AdaBoost算法的負(fù)荷預(yù)測(cè)框架如圖2所示.
圖2 基于AdaBoost算法的臺(tái)區(qū)最大負(fù)荷預(yù)測(cè)框架圖
基于AdaBoost集成學(xué)習(xí)的臺(tái)區(qū)最大負(fù)荷預(yù)測(cè)流程如下:
Step1:初始化CART決策樹的相關(guān)參數(shù),設(shè)定個(gè)體學(xué)習(xí)器的個(gè)數(shù)T,對(duì)訓(xùn)練樣本數(shù)據(jù)進(jìn)行權(quán)值初始化:
(1)
其中:M為樣本容量,w1i表示訓(xùn)練第一個(gè)CART決策樹時(shí)第i個(gè)樣本的權(quán)值;
Step2:對(duì)T個(gè)CART決策樹進(jìn)行訓(xùn)練,當(dāng)訓(xùn)練第t個(gè)個(gè)體學(xué)習(xí)器時(shí),進(jìn)行如下步驟(t=1,2,…,T):
①使用具有當(dāng)前分布Lt的訓(xùn)練數(shù)據(jù)集訓(xùn)練當(dāng)前個(gè)體學(xué)習(xí)器,計(jì)算訓(xùn)練集上每個(gè)樣本的真實(shí)值與個(gè)體學(xué)習(xí)器預(yù)測(cè)結(jié)果之間的最大誤差,式中ht(xi)為第t個(gè)CART決策樹第i個(gè)訓(xùn)練數(shù)據(jù)的負(fù)荷預(yù)測(cè)結(jié)果,yi為第i個(gè)樣本的實(shí)際負(fù)荷值:
Ft=max|yi-ht(xi)|,i=1,2,…,M
(2)
②計(jì)算每個(gè)樣本的相對(duì)誤差值:
(3)
③計(jì)算出第t個(gè)CART決策樹在訓(xùn)練數(shù)據(jù)集上的回歸誤差率:
(4)
④根據(jù)回歸誤差率計(jì)算當(dāng)前個(gè)體學(xué)習(xí)器的權(quán)重系數(shù)αt:
(5)
⑤更新訓(xùn)練集的樣本分布Lt+1=(wt+1,1,…,wt+1,i,…,wt+1,M):
(6)
其中:Zt是規(guī)范化因子:
(7)
Step3:訓(xùn)練出所有的個(gè)體學(xué)習(xí)器并計(jì)算出各個(gè)體學(xué)習(xí)器對(duì)應(yīng)的權(quán)重系數(shù)αt,構(gòu)建個(gè)體學(xué)習(xí)器的線性組合,得到最終的強(qiáng)學(xué)習(xí)器:
(8)
其中:g(x)是所有αtht(x)(t=1,2,…,T)的中位數(shù)[16];
Step4:利用強(qiáng)學(xué)習(xí)器進(jìn)行臺(tái)區(qū)目標(biāo)年份月度最大負(fù)荷預(yù)測(cè)并得到預(yù)測(cè)結(jié)果.
本文以某市的某臺(tái)區(qū)所采集到的歷史負(fù)荷數(shù)據(jù)以及中國(guó)天氣網(wǎng)所提供的氣象數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù).根據(jù)該臺(tái)區(qū)2011年1月至2018年12月真實(shí)數(shù)據(jù)分別建立基于KNN、SVM、CART以及AdaBoost算法的預(yù)測(cè)模型,并對(duì)其預(yù)測(cè)性能進(jìn)行對(duì)比.
實(shí)驗(yàn)以2011年1月至2017年12月數(shù)據(jù)樣本作為訓(xùn)練集來訓(xùn)練負(fù)荷預(yù)測(cè)模型,所用到的特征包括月最大負(fù)荷值、月平均高溫值、月平均低溫值、年份和月份.對(duì)2018年1月至12月月最大負(fù)荷值進(jìn)行預(yù)測(cè),以2018年1月至12月的日期、氣象數(shù)據(jù)、歷史月度最大負(fù)荷值作為輸入數(shù)據(jù),輸出數(shù)據(jù)為2018年各月的最大負(fù)荷預(yù)測(cè)值,考慮前一年當(dāng)前月最大負(fù)荷值為歷史月度最大負(fù)荷值.具體參數(shù)說明見表1.
表1 參數(shù)說明
本文采用Spearman相關(guān)系數(shù)ρ分析年、月份、月平均高溫、月平均低溫以及歷史負(fù)荷值與配電臺(tái)區(qū)月最大負(fù)荷值之間的相關(guān)性.
(9)
計(jì)算該臺(tái)區(qū)月最大負(fù)荷與各影響因素的Spearman相關(guān)系數(shù),得到相關(guān)性結(jié)果見表2.
表2 相關(guān)性結(jié)果
由結(jié)果可以看出,年份、月平均高溫以及歷史負(fù)荷值與臺(tái)區(qū)月最大負(fù)荷有較強(qiáng)的相關(guān)性,說明這3種影響因素對(duì)臺(tái)區(qū)負(fù)荷的影響較大.月份以及月平均低溫對(duì)臺(tái)區(qū)負(fù)荷的影響相對(duì)較弱.
為了衡量算法的預(yù)測(cè)性能,分別使用平均絕對(duì)誤差百分比(mean absolute percent error,MAPE)以及決定系數(shù)R2作為模型預(yù)測(cè)效果的評(píng)價(jià)指標(biāo):
(10)
(11)
為了驗(yàn)證基于AdaBoost集成學(xué)習(xí)的預(yù)測(cè)效果,將KNN、CART決策樹以及SVM與基于AdaBoost集成學(xué)習(xí)算法分別進(jìn)行對(duì)比分析.為避免偶然因素影響及提高預(yù)測(cè)準(zhǔn)確性,所有對(duì)比算法所運(yùn)用的訓(xùn)練數(shù)據(jù)集相同.預(yù)測(cè)結(jié)果如圖3所示.
圖3 不同算法預(yù)測(cè)結(jié)果對(duì)比
將圖中各個(gè)模型的負(fù)荷預(yù)測(cè)值曲線與實(shí)際負(fù)荷值曲線對(duì)比可以看出,采用AdaBoost集成學(xué)習(xí)算法的負(fù)荷預(yù)測(cè)值更貼近真實(shí)值,其效果優(yōu)于CART決策樹、SVM以及KNN算法的負(fù)荷預(yù)測(cè)值.通過負(fù)荷預(yù)測(cè)曲線也可以看出在氣溫較高的夏季以及氣溫較低的冬季臺(tái)區(qū)最大負(fù)荷值較高,說明了氣溫對(duì)于居民用電存在著較大影響.
負(fù)荷預(yù)測(cè)值曲線圖只能看出曲線趨勢(shì),本文通過計(jì)算通用評(píng)價(jià)指標(biāo)MAPE和R2來對(duì)比各個(gè)模型的效果,其預(yù)測(cè)結(jié)果與本文方法對(duì)比見表3.
表3 預(yù)測(cè)結(jié)果對(duì)比
通過對(duì)比可以看出,CART決策樹算法相較于其他兩種單一模型算法的預(yù)測(cè)誤差更小,結(jié)果更精確,體現(xiàn)了本文選取CART決策樹作為個(gè)體學(xué)習(xí)器的合理性.基于AdaBoost集成學(xué)習(xí)方式的預(yù)測(cè)方法的平均絕對(duì)誤差百分比(MAPE)只有4.3%且決定系數(shù)值最高,相對(duì)于其他3種單一模型的人工智能負(fù)荷預(yù)測(cè)方法的精度更高,其結(jié)果證明該預(yù)測(cè)方法可以滿足配電臺(tái)區(qū)這種非線性系統(tǒng)的預(yù)測(cè)要求,體現(xiàn)了本文所提出的負(fù)荷預(yù)測(cè)方法的優(yōu)越性.
本文針對(duì)臺(tái)區(qū)年最大負(fù)荷預(yù)測(cè)問題,提出基于AdaBoost集成學(xué)習(xí)的預(yù)測(cè)方法,并與單一預(yù)測(cè)方法對(duì)比驗(yàn)證其預(yù)測(cè)的有效性,豐富了臺(tái)區(qū)負(fù)荷預(yù)測(cè)的方法,對(duì)于保證臺(tái)區(qū)檢修和擴(kuò)充具有重要意義.未來還需要在臺(tái)區(qū)最大負(fù)荷預(yù)測(cè)問題中個(gè)體學(xué)習(xí)器的集成策略等方面做進(jìn)一步研究.