游文霞,李清清,楊 楠,申 坤,李文武,吳澤黎
(三峽大學(xué)電氣與新能源學(xué)院,湖北省宜昌市 443002)
電力的傳輸和分配涉及技術(shù)損耗(technical loss,TL)和非技術(shù)損耗(non-technical loss,NTL),而NTL 中絕大多數(shù)損失與欺詐和能源盜竊有關(guān)[1-2]。竊電通過(guò)對(duì)用電數(shù)據(jù)進(jìn)行惡意的攻擊,給供電企業(yè)帶來(lái)了巨大的經(jīng)濟(jì)損失[3]。隨著供電公司對(duì)竊電檢測(cè)重視程度的增加,傳統(tǒng)通過(guò)諸如線路竊聽(tīng)或電表篡改之類(lèi)的物理攻擊的檢測(cè)方法難以有效檢測(cè)出竊電的行為[4]。同時(shí),智能電表和用電信息采集系統(tǒng)的普及使得越來(lái)越多的研究者可以更有效地采集用戶用電數(shù)據(jù),這是利用機(jī)器學(xué)習(xí)進(jìn)行竊電檢測(cè)的基礎(chǔ)[5]。
目前,應(yīng)用于竊電檢測(cè)的技術(shù)主要分為3 種,即基于系統(tǒng)狀態(tài)、基于博弈論和基于分類(lèi)[6]。其中,基于系統(tǒng)狀態(tài)的檢測(cè)技術(shù)利用配電網(wǎng)狀態(tài)估計(jì)與用戶計(jì)量數(shù)據(jù)之間的矛盾進(jìn)行竊電檢測(cè),但帶來(lái)了附加的投資[7];基于博弈論的檢測(cè)技術(shù)根據(jù)竊電者和檢測(cè)者的行為分析相應(yīng)的博弈均衡,但難以確定參與人的效用水平[8];基于分類(lèi)的檢測(cè)技術(shù)根據(jù)用戶的電量以及用電曲線分布等特征采用數(shù)據(jù)驅(qū)動(dòng)的方法進(jìn)行竊電檢測(cè),目前已開(kāi)展了廣泛研究[9-17]。
對(duì)于竊電檢測(cè)二分類(lèi)問(wèn)題,大部分都采用了單一學(xué)習(xí)方法[9-13]。而單一學(xué)習(xí)方法只能從單個(gè)角度觀測(cè)用電數(shù)據(jù),檢測(cè)性能的提升空間有限。為了改善單一學(xué)習(xí)方法的局限性,近些年來(lái)在竊電檢測(cè)中開(kāi)展了集成學(xué)習(xí)方法研究。文獻(xiàn)[14]采用日用電量為特征指標(biāo),提出一種基于稀疏隨機(jī)森林(random forest,RF)的用電側(cè)異常檢測(cè)方法。文獻(xiàn)[15]提出了一種采用決策樹(shù)作為弱分類(lèi)器的自適應(yīng)提升(adaptive boosting,AdaBoost)樹(shù)的竊電檢測(cè)方法。文獻(xiàn)[16]提出了一種特征工程的新框架,在該框架內(nèi)應(yīng)用梯度提升機(jī)(gradient boosting machine,GBM)算法進(jìn)行竊電檢測(cè)。文獻(xiàn)[17]提出使用監(jiān)督學(xué)習(xí)方法進(jìn)行非技術(shù)損失檢測(cè),其中,極限梯度提升(eXtreme gradient boosting,XGBoost)樹(shù)優(yōu)于其他分類(lèi)器。但是,這些集成學(xué)習(xí)方法一般采用投票法結(jié)合相同的學(xué)習(xí)器,不能體現(xiàn)出不同學(xué)習(xí)器的差異性。
上述研究為竊電檢測(cè)領(lǐng)域提供了有效的解決方法,但依舊存在著以下不足:一是采用投票法作為結(jié)合策略的集成學(xué)習(xí)方法無(wú)法充分發(fā)揮不同學(xué)習(xí)器的優(yōu)勢(shì);二是用戶用電數(shù)據(jù)集中存在數(shù)據(jù)類(lèi)別不平衡問(wèn)題,導(dǎo)致分類(lèi)結(jié)果出現(xiàn)偏倚。針對(duì)以上問(wèn)題,本文提出一種利用元學(xué)習(xí)器融合多個(gè)不同初級(jí)學(xué)習(xí)器優(yōu)勢(shì)和差異的Stacking 集成學(xué)習(xí)方法。首先,采用合成 少 數(shù) 類(lèi) 過(guò) 采 樣 技 術(shù)(synthetic minority oversampling technique,SMOTE)算法處理類(lèi)別不平衡的用電數(shù)據(jù),實(shí)現(xiàn)訓(xùn)練數(shù)據(jù)樣本分布均衡;然后,利用評(píng)價(jià)指標(biāo)和多樣性度量?jī)?yōu)選融合的不同初級(jí)學(xué)習(xí)器和元學(xué)習(xí)器,并采用K折交叉驗(yàn)證的方法對(duì)訓(xùn)練集進(jìn)行劃分以減小過(guò)擬合;最后,使用愛(ài)爾蘭智能電表數(shù)據(jù)集驗(yàn)證模型的有效性。
用戶用電數(shù)據(jù)集大多存在數(shù)據(jù)傾斜方面的問(wèn)題,即竊電用戶所占比例遠(yuǎn)低于正常用戶。為達(dá)到少數(shù)類(lèi)和多數(shù)類(lèi)樣本的平衡,提高檢測(cè)竊電用戶的性能,本文采用SMOTE 算法進(jìn)行無(wú)重復(fù)的新的少數(shù)類(lèi)樣本的生成[18]。
供電企業(yè)進(jìn)行竊電檢測(cè)的目的主要是識(shí)別竊電用戶,采用SMOTE 算法可以增加竊電用戶的數(shù)量,使正常用戶和竊電用戶的比例為1∶1。
1.2.1 集成學(xué)習(xí)的結(jié)合策略
集成學(xué)習(xí)的思想就是利用多個(gè)學(xué)習(xí)器來(lái)解決某一問(wèn)題,使用不同的學(xué)習(xí)器和不同的結(jié)合策略會(huì)產(chǎn)生不同的集成學(xué)習(xí)方法[19]。其中,結(jié)合策略是集成學(xué)習(xí)中最為關(guān)鍵的部分。
針對(duì)分類(lèi)問(wèn)題,常用的結(jié)合策略有投票法和學(xué)習(xí)法。其中,投票法又包括多數(shù)投票法和加權(quán)投票法,而它們僅是簡(jiǎn)單地對(duì)學(xué)習(xí)器的預(yù)測(cè)結(jié)果進(jìn)行邏輯加工,通過(guò)某種特定的方式為學(xué)習(xí)器尋求權(quán)重,并未有效利用數(shù)據(jù)空間。因此,一種更為強(qiáng)大的結(jié)合策略是學(xué)習(xí)法,即通過(guò)另一個(gè)學(xué)習(xí)器進(jìn)行結(jié)合[20]。
1.2.2 Stacking 結(jié)合策略
Stacking 是學(xué)習(xí)法的典型代表,可利用某一學(xué)習(xí)器來(lái)集成不同學(xué)習(xí)器的分類(lèi)結(jié)果,其中,不同學(xué)習(xí)器的多樣性通過(guò)學(xué)習(xí)器的差異性來(lái)保證。它是一種有層次的集成學(xué)習(xí),其層數(shù)可自由設(shè)置,但從各個(gè)領(lǐng)域的研究和應(yīng)用來(lái)看,一般兩層結(jié)構(gòu)的Stacking 既能強(qiáng)化學(xué)習(xí)效果又不至于造成模型過(guò)于復(fù)雜[21-22]。因此,本文以兩層的Stacking 集成學(xué)習(xí)為例進(jìn)行說(shuō)明。
Stacking 第1 層中的學(xué)習(xí)器稱(chēng)為初級(jí)學(xué)習(xí)器,第2 層中的學(xué)習(xí)器稱(chēng)為元學(xué)習(xí)器。其基本思想是:首先,根據(jù)合適的比例,將原始的數(shù)據(jù)集依次劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集;然后,在平衡訓(xùn)練集D上,采用K折交叉驗(yàn)證法訓(xùn)練不同的初級(jí)學(xué)習(xí)器,將它們的分類(lèi)結(jié)果輸入元學(xué)習(xí)器,而D的初始標(biāo)記作為元學(xué)習(xí)器的標(biāo)記,結(jié)合起來(lái)形成新的訓(xùn)練集來(lái)訓(xùn)練元學(xué)習(xí)器;最后,由元學(xué)習(xí)器輸出最終的分類(lèi)結(jié)果,如圖1 所示。
圖1 Stacking 結(jié)合策略示意圖Fig.1 Schematic diagram of Stacking combination strategy
用電用戶包括正常用戶和竊電用戶?;诜诸?lèi)的竊電檢測(cè)機(jī)理是利用機(jī)器學(xué)習(xí)中分類(lèi)問(wèn)題的相關(guān)方法來(lái)學(xué)習(xí)用戶歷史用電數(shù)據(jù)中蘊(yùn)藏的規(guī)律,并以該規(guī)律來(lái)擬合大量未知的用電數(shù)據(jù)。
用戶用電行為和用來(lái)判別異常的特征指標(biāo)項(xiàng)是竊電檢測(cè)的核心問(wèn)題。在正常情況下,用戶用電所形成的用電曲線分布具有較強(qiáng)的相似性。但是,在實(shí)際系統(tǒng)中,居民的用電行為更為多樣化,由于住戶旅游度假、改換工作、房屋更換租客等情況都可能導(dǎo)致用電行為習(xí)慣的突變。因此,本文在分析用戶用電行為的基礎(chǔ)上,從居民用戶一天的用電量特征中提取出最大值、最小值、平均值和標(biāo)準(zhǔn)差這4 個(gè)綜合特征用于輔助模型進(jìn)行竊電行為的判別[23-24]。
竊電是指非法使用電能的行為。竊電用戶會(huì)通過(guò)破壞智能電表來(lái)發(fā)起竊電攻擊,使電量減少或不計(jì)[25]。在用戶計(jì)量準(zhǔn)確的情況下,用戶電量主要與電壓、電流、功率因數(shù)和用電時(shí)間有關(guān),竊電用戶可以根據(jù)這4 個(gè)影響電量的因素來(lái)進(jìn)行竊電。竊電方法通常可分為5 種:欠壓法竊電、欠流法竊電、移相法竊電、擴(kuò)差法竊電以及無(wú)表法竊電[26]。欠壓法竊電通過(guò)減小電表電壓線圈上兩端的電壓而使電量減少;欠流法竊電以減小電表電流線圈上的電流來(lái)進(jìn)行竊電;移相法竊電通過(guò)改變電壓與電流之間正常的相位使有功功率減少?gòu)亩鴮?shí)現(xiàn)竊電;擴(kuò)差法竊電改變電表內(nèi)的構(gòu)造使電表的誤差發(fā)生變化從而使電量少記;無(wú)表法竊電繞開(kāi)電表直接從供電企業(yè)的公共線路上接線來(lái)實(shí)現(xiàn)竊電[27]。根據(jù)現(xiàn)有竊電的方法[28],可模擬為以下6 種竊電模式。
1)按照固定比例α減小t時(shí)段的電量wt,可通過(guò)欠壓法、欠流法和擴(kuò)差法來(lái)實(shí)現(xiàn)。函數(shù)表達(dá)式為:
2)按照隨機(jī)閾值γ削減電量wt,高于閾值γ的電量固定為γ,可通過(guò)擴(kuò)差法實(shí)現(xiàn)。函數(shù)表達(dá)式為:
3)將隨機(jī)時(shí)間段(t1,t2)內(nèi)的所有電量wt置0,可通過(guò)欠壓法、欠流法和無(wú)表法實(shí)現(xiàn)。函數(shù)表達(dá)式為:
6)取一天各時(shí)段用電量w的平均值,可通過(guò)欠流法、欠壓法和移相法來(lái)實(shí)現(xiàn),函數(shù)表達(dá)式為:
式中:mean(·)表示求平均值。
基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)本質(zhì)上是將用戶歷史用電數(shù)據(jù)作為輸入,正常用戶或竊電嫌疑用戶作為輸出的二分類(lèi)模型,如圖2 所示。
圖2 基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)Fig.2 Electricity theft detection based on multiple different learners fusion based on Stacking ensemble learning
2.2.1K折交叉驗(yàn)證
模型在訓(xùn)練集上表現(xiàn)良好,但在測(cè)試集上表現(xiàn)卻不理想,表明模型可能出現(xiàn)了過(guò)擬合。對(duì)于訓(xùn)練集D={(xm,ym),m=1,2,…,N},其中xm為第m個(gè)示例,ym為對(duì)應(yīng)示例的標(biāo)記,N為示例總數(shù)。如果將該數(shù)據(jù)集同時(shí)用來(lái)訓(xùn)練初級(jí)學(xué)習(xí)器和元學(xué)習(xí)器,就會(huì)因用電數(shù)據(jù)被兩層的學(xué)習(xí)器重復(fù)學(xué)習(xí)而造成很高的過(guò)擬合風(fēng)險(xiǎn),導(dǎo)致對(duì)居民用戶的用電行為判別不準(zhǔn)確。因此,需要對(duì)平衡訓(xùn)練集D進(jìn)行K折交叉驗(yàn)證。
2.2.2 初級(jí)學(xué)習(xí)器和元學(xué)習(xí)器的選擇
初級(jí)學(xué)習(xí)器的選擇不僅可以從不同的空間和結(jié)構(gòu)角度對(duì)居民用戶歷史用電數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,也會(huì)在實(shí)際的竊電檢測(cè)中針對(duì)用電數(shù)據(jù)類(lèi)別不平衡以及模型易陷入過(guò)擬合等問(wèn)題實(shí)現(xiàn)不同學(xué)習(xí)器之間的優(yōu)勢(shì)互補(bǔ),提高模型在竊電檢測(cè)中的適應(yīng)性。而相比于初級(jí)學(xué)習(xí)器的選取,單個(gè)元學(xué)習(xí)器的選取更加偏向于其分類(lèi)過(guò)程中全方位的優(yōu)化。附錄A 闡述了不同學(xué)習(xí)器在竊電檢測(cè)中的分類(lèi)機(jī)理以及優(yōu)缺點(diǎn)。
采用Stacking 集成學(xué)習(xí)融合多異學(xué)習(xí)器的竊電檢測(cè)流程如下。
步驟1:根據(jù)“好而不同”的原則確定模型的初級(jí)學(xué)習(xí)器。初級(jí)學(xué)習(xí)器中的單一學(xué)習(xí)器初步考慮為分別來(lái)自機(jī)器學(xué)習(xí)里符號(hào)主義、連接主義和統(tǒng)計(jì)學(xué)習(xí)中常見(jiàn)的5 種單一學(xué)習(xí)器k-最鄰近(KNN)[9]、邏輯回歸(LR)[10]、決策樹(shù)(DT)[13]、反向傳播(BP)[12]和支持向量機(jī)(SVM)[11]。集成學(xué)習(xí)器初步考慮為分別來(lái)自集成學(xué)習(xí)中用于降低方差的Bagging 并行集成方式和用于減小偏差的Boosting 串行集成方式為代表的4 種集成學(xué)習(xí)器RF[14]、AdaBoost[15]、梯度提 升 樹(shù)(GBDT)[16]和XGBoost[17]。在 包 含 正 常 樣本和竊電樣本的多個(gè)測(cè)試集上使用評(píng)價(jià)指標(biāo)和多樣性度量對(duì)比分析這9 個(gè)學(xué)習(xí)器,充分考慮預(yù)測(cè)能力較強(qiáng)和差異度較大的學(xué)習(xí)器,確定最終的初級(jí)學(xué)習(xí)器。
步驟2:在步驟1 的基礎(chǔ)上,將以上9 個(gè)學(xué)習(xí)器分別作為元學(xué)習(xí)器進(jìn)行對(duì)比分析,確定最終的元學(xué)習(xí)器。
步驟3:基于步驟1 和步驟2 確定最終用于融合的初級(jí)學(xué)習(xí)器和元學(xué)習(xí)器,訓(xùn)練出基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)模型。
步驟4:在訓(xùn)練好的模型中輸入用戶用電數(shù)據(jù),輸出正常用戶和竊電用戶的分類(lèi)結(jié)果。
本文采用混淆矩陣衍生出來(lái)的準(zhǔn)確率eACC、F1分?jǐn)?shù)eF1和受試者工作特征(ROC)曲線下面積eAUC對(duì)模型的性能進(jìn)行對(duì)比分析[1],見(jiàn)附錄B。同時(shí),利用成對(duì)度量指標(biāo)——雙誤(double failure,DF)度量和Q 統(tǒng)計(jì)量從不同的角度衡量集成中學(xué)習(xí)器的多樣性[30],見(jiàn)附錄C。
本試驗(yàn)數(shù)據(jù)集采用愛(ài)爾蘭智能電表數(shù)據(jù)集,其中包括愛(ài)爾蘭地區(qū)6 000 多戶居民和企業(yè)用戶長(zhǎng)達(dá)535 d 的連續(xù)用電數(shù)據(jù),每條數(shù)據(jù)以30 min 為單位記錄了用戶一天中48 個(gè)時(shí)段的用電量[31],單位為kW·h。從剔除了異常數(shù)據(jù)和缺失數(shù)據(jù)后的數(shù)據(jù)集中選取具有良好數(shù)據(jù)質(zhì)量的1 000 名居民用戶的用電數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。由于每個(gè)用戶家中都裝有智能電表,并且愿意提供他們的用電數(shù)據(jù)以用作研究,本文認(rèn)為所有的用電數(shù)據(jù)均為正常數(shù)據(jù)。
為提供足夠的竊電數(shù)據(jù),按照2.1 節(jié)中的6 種竊電模式將隨機(jī)選擇10%的正常數(shù)據(jù)修改為竊電數(shù)據(jù)。將生成的這6 種竊電數(shù)據(jù)分別與正常數(shù)據(jù)進(jìn)行混 合,得 到ET1、ET2、ET3、ET4、ET5 和ET6 共6 種混合數(shù)據(jù)集,數(shù)據(jù)樣本已共享。同時(shí),從中任意選取正常數(shù)據(jù)和竊電數(shù)據(jù)混合,得到MIX 混合數(shù)據(jù)集(即包含6 種竊電數(shù)據(jù))。本文提出的竊電檢測(cè)方法適用于包含這6 種竊電模式的數(shù)據(jù)集。
對(duì)于以上7 個(gè)混合數(shù)據(jù)集中的每一個(gè)數(shù)據(jù)集,將其中的全部數(shù)據(jù)按6∶2∶2 的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。采用SMOTE 算法對(duì)用電數(shù)據(jù)進(jìn)行過(guò)采樣,使正常用戶和竊電用戶兩個(gè)類(lèi)別的用電數(shù)據(jù)平衡,再用平衡的訓(xùn)練集訓(xùn)練模型,用驗(yàn)證集調(diào)整參數(shù),而用測(cè)試集進(jìn)行模型的評(píng)估。附錄D 為驗(yàn)證采用SMOTE 算法前后基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)模型在MIX 混合數(shù)據(jù)集上的對(duì)比分析,由結(jié)果可知,采用SMOTE 處理不平衡數(shù)據(jù)集可使竊電檢測(cè)性能得到提升。同時(shí),從居民用戶一天48 個(gè)用電量特征中提取最大值、最小值、平均值和標(biāo)準(zhǔn)差4 個(gè)綜合特征。附錄E 所示為最終基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)模型在增加這4 個(gè)綜合特征前后的性能變化,模型性能提升得到了驗(yàn)證。
本文采用的樣本數(shù)據(jù)以及研究分析結(jié)果數(shù)據(jù)已共享,見(jiàn)支撐數(shù)據(jù)。
為構(gòu)建基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)模型,需要利用評(píng)價(jià)指標(biāo)和多樣性度量從初步考慮的初級(jí)學(xué)習(xí)器中選出最終用于模型融合的初級(jí)學(xué)習(xí)器。因此,首先考慮上述9 個(gè)學(xué)習(xí)器在7 個(gè)混合數(shù)據(jù)集上的eACC、eF1和eAUC值,如圖3 所示。圖4 為這9 個(gè)學(xué)習(xí)器在MIX 混合數(shù)據(jù)集上的ROC曲線。其中,eTPR和eFPR分別為命中率和誤檢率,具體含義見(jiàn)附錄B。
圖3 9 個(gè)學(xué)習(xí)器在7 個(gè)混合數(shù)據(jù)集上的評(píng)價(jià)指標(biāo)Fig.3 Evaluation indices of nine learners for seven mixed data sets
圖4 9 個(gè)學(xué)習(xí)器在MIX 混合數(shù)據(jù)集上的ROC 曲線Fig.4 ROC curves of nine learners on MIX data set
從圖3(a)和(b)可明顯看出,SVM 在7 個(gè)混合數(shù)據(jù)集上表現(xiàn)最不佳,其eACC和eF1在部分?jǐn)?shù)據(jù)集上低于0.5,而其余8 個(gè)學(xué)習(xí)器的eACC和eF1均超過(guò)了0.5。同 時(shí),除SVM 外,BP 的eACC和eF1均 最 小。從圖3(c)可知,SVM 在7 個(gè)混合數(shù)據(jù)集上的eAUC均不高(在0.4~0.6 之間)。而B(niǎo)P 的eAUC在7 個(gè)混合數(shù)據(jù)集上的浮動(dòng)很大,在ET5 上甚至低于0.6,說(shuō)明其在這7 個(gè)數(shù)據(jù)集上表現(xiàn)不穩(wěn)定。此外,由于MIX 數(shù)據(jù)集包含了6 種類(lèi)型的竊電樣本,故相對(duì)于只含一種類(lèi)型的竊電樣本數(shù)據(jù)集而言,其觀測(cè)結(jié)果更具說(shuō)服力。因此,通過(guò)在MIX 混合數(shù)據(jù)集上的ROC 曲線可知,SVM 的ROC 曲線幾乎與對(duì)角線重合,而其余8 個(gè)學(xué)習(xí)器的曲線都在對(duì)角線上方,這說(shuō)明SVM 的性能與隨機(jī)猜測(cè)的學(xué)習(xí)器的性能基本無(wú)異。
綜上所述,SVM 和BP 識(shí)別竊電用戶的效果差,既會(huì)將竊電用戶判別為正常用戶,又會(huì)將正常用戶判別為竊電用戶,即誤判的概率很大,這樣不僅會(huì)遺漏竊電用戶而且會(huì)干擾正常用戶。因此,初步考慮的初級(jí)學(xué)習(xí)器首先排除SVM 和BP。
其次,對(duì)于Stacking 集成學(xué)習(xí)來(lái)說(shuō),不同學(xué)習(xí)器的差異程度越大,元學(xué)習(xí)器可以改進(jìn)的地方就越多,因此模型的分類(lèi)性能就越好。所以在選出分類(lèi)性能優(yōu)異的學(xué)習(xí)器后,還需考察各個(gè)學(xué)習(xí)器的多樣性,盡可能選擇差異性大的學(xué)習(xí)器。圖5 是7 個(gè)學(xué)習(xí)器在MIX 數(shù)據(jù)集上的DF 值和Q 值。
圖5 7 個(gè)學(xué)習(xí)器的多樣性度量Fig.5 Diversity measurement of seven learners
由于KNN 和LR 與其他學(xué)習(xí)器的訓(xùn)練機(jī)理差距較大,從而相關(guān)性較小,因此它們的DF 值和Q 值較其他學(xué)習(xí)器要小得多。并且對(duì)于單一學(xué)習(xí)器而言,雖 然DT 的eACC、eF1和eAUC值 大 部 分 都 為 最 高,但是它的DF 值和Q 值也最高。同時(shí),與RF、AdaBoost、GBDT 和XGBoost 集成學(xué)習(xí)器相比,DT的分類(lèi)性能相對(duì)較差。因此,單一學(xué)習(xí)器中選擇KNN 和LR 作為模型的初級(jí)學(xué)習(xí)器。
RF、AdaBoost、GBDT 和XGBoost 這4 種集成學(xué)習(xí)器都是以DT 作為基學(xué)習(xí)器,數(shù)據(jù)觀測(cè)方式存在較強(qiáng)相似性,所以DF 值和Q 值都較高。其中,RF 使用了用于減少方差的并行集成方式,AdaBoost、GBDT 和XGBoost 使 用 了 用 于 降 低 偏 差的串行集成方式。從圖3 至圖5 來(lái)看,XGBoost 的預(yù)測(cè)性能和多樣性表現(xiàn)的都比AdaBoost 和GBDT 要好,故集成學(xué)習(xí)器中選擇RF 和XGBoost 作為模型的初級(jí)學(xué)習(xí)器。
綜上所述,DT 在識(shí)別竊電用戶的效果不如其他集成學(xué)習(xí)器的同時(shí)相關(guān)性也很高,而AdaBoost 和GBDT 在相關(guān)性高的同時(shí)分類(lèi)性能也不如XGBoost,這樣容易造成融合后的模型多樣性較低從而不能更加準(zhǔn)確地識(shí)別竊電用戶。因此,基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)模型最終采用了KNN、LR、RF 和XGBoost 作為初級(jí)學(xué)習(xí)器。表1 為選擇性集成前后各個(gè)學(xué)習(xí)器和系統(tǒng)的多樣性度量指標(biāo)值的表現(xiàn)情況。
表1 選擇性集成前后各個(gè)學(xué)習(xí)器和系統(tǒng)的多樣性度量指標(biāo)值Table 1 Diversity measurement indices of each learner and system before and after selective ensemble
由表1 可知,KNN、LR、RF 和XGBoost 這4 個(gè)學(xué)習(xí)器在選擇性集成后的DF 值和Q 值較之前均有所減小,即選擇性集成后的多樣性程度更大。因此,通過(guò)評(píng)價(jià)指標(biāo)和多樣性度量?jī)?yōu)選好而不同的初級(jí)學(xué)習(xí)器能夠使基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)模型更加有效地從多個(gè)視角開(kāi)展竊電識(shí)別。
Wolpert 早在提出Stacking 時(shí)就認(rèn)為元學(xué)習(xí)器的類(lèi)型非常重要,因?yàn)樵獙W(xué)習(xí)器既可以改善各個(gè)學(xué)習(xí)器的偏差,又可以保證一定的泛化能力以緩解過(guò)擬合。所以針對(duì)竊電檢測(cè)二分類(lèi)問(wèn)題,需要選擇用于結(jié)合多異初級(jí)學(xué)習(xí)器的元學(xué)習(xí)器。
由于初級(jí)學(xué)習(xí)器的預(yù)測(cè)各不相同且各有優(yōu)缺點(diǎn),這時(shí)需要選擇合適的元學(xué)習(xí)器才能使最終Stacking 集成學(xué)習(xí)的分類(lèi)效果達(dá)到最優(yōu)。因此,本文在選定的初級(jí)學(xué)習(xí)器的基礎(chǔ)上,將最初進(jìn)行對(duì)比的9 個(gè)學(xué)習(xí)器分別作為元學(xué)習(xí)器進(jìn)行訓(xùn)練,驗(yàn)證訓(xùn)練得到的模型在7 個(gè)混合數(shù)據(jù)集上指標(biāo)eACC、eF1、eAUC的平均值和平均運(yùn)行時(shí)間,結(jié)果見(jiàn)表2。
表2 9 個(gè)學(xué)習(xí)器分別作為元學(xué)習(xí)器在7 個(gè)混合數(shù)據(jù)集上指標(biāo)的平均值Table 2 Averages of indices on seven mixed data sets by using nine learners as meta-learner respectively
在選定初級(jí)學(xué)習(xí)器后,當(dāng)元學(xué)習(xí)器分別為KNN、LR、SVM、BP、DT、RF、AdaBoost、GBDT 和XGBoost 時(shí),Stacking 融合后的eACC和eF1值都超過(guò)了0.93,由此可見(jiàn)元學(xué)習(xí)器可以充分發(fā)揮不同學(xué)習(xí)器的優(yōu)勢(shì)。但是針對(duì)竊電檢測(cè)二分類(lèi)問(wèn)題,為了使初級(jí)學(xué)習(xí)器的優(yōu)勢(shì)發(fā)揮至極致,元學(xué)習(xí)器應(yīng)選擇使最終的融合結(jié)果達(dá)到最佳的學(xué)習(xí)器。由表2 可知,當(dāng)元學(xué)習(xí)器為XGBoost 時(shí),Stacking 集成模型表現(xiàn)最好,其eACC、eF1和eAUC值最高。
由表2 可以看到,除了XGBoost 外,集成學(xué)習(xí)器作為元學(xué)習(xí)器的運(yùn)行時(shí)間都比單一學(xué)習(xí)器的要長(zhǎng),特別是以AdaBoost 和GBDT 作為元學(xué)習(xí)器的運(yùn)行時(shí)間都超過(guò)了700 s,這是因?yàn)榧蓪W(xué)習(xí)器的內(nèi)部結(jié)構(gòu)比單一學(xué)習(xí)器要復(fù)雜。但當(dāng)XGBoost 作為元學(xué)習(xí)器時(shí),運(yùn)行時(shí)間僅有440.71 s,這比將單一學(xué)習(xí)器作為元學(xué)習(xí)器時(shí)的運(yùn)行時(shí)間還要短,證明了當(dāng)XGBoost 作為元學(xué)習(xí)器時(shí),模型的復(fù)雜程度被降低。所以,基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)模型最終采用XGBoost 作為元學(xué)習(xí)器。這樣不僅能最大限度地避免誤判和漏判,還能快速精準(zhǔn)檢測(cè)出竊電用戶,減少供電公司的經(jīng)濟(jì)損失并提高檢測(cè)效率。因此,通過(guò)選擇最優(yōu)的元學(xué)習(xí)器可以使基于多異學(xué)習(xí)器融合Stacking 集成學(xué)習(xí)的竊電檢測(cè)模型的分類(lèi)性能達(dá)到最優(yōu),從而輔助供電企業(yè)進(jìn)行用電稽查工作。附錄F 為在保證“好而不同”的條件以及元學(xué)習(xí)器不變的基礎(chǔ)上,當(dāng)初級(jí)學(xué)習(xí)器的數(shù)量分別為2、3 和4 時(shí)不同初級(jí)學(xué)習(xí)器組合方式在MIX 混合數(shù)據(jù)集上的對(duì)比分析。由結(jié)果可知,本文所提出的方法能夠使模型的檢測(cè)性能得到較大的提升。
為了驗(yàn)證Stacking 結(jié)合策略下融合多異學(xué)習(xí)器的有效性,對(duì)于每種竊電方式將Stacking 集成學(xué)習(xí)方法分別與采用多數(shù)投票法(majority voting,MV)、加權(quán)投票法(weighted voting,WV)和改進(jìn)加權(quán)投票法(improved weighted voting,IWV)[28]作為結(jié)合策略的集成學(xué)習(xí)方法進(jìn)行比較,結(jié)果如表3 所示。
表3 不同結(jié)合策略的對(duì)比Table 3 Comparison of different combination strategies
如表3 所示,雖然在ET6 數(shù)據(jù)集上采用IWV 的集成學(xué)習(xí)方法的eACC與Stacking 集成學(xué)習(xí)方法一樣,但是在其余數(shù)據(jù)集上其eACC和eF1都比Stacking集成學(xué)習(xí)方法要低。針對(duì)每種竊電方式,分別采用MV、WV 以及IWV 的集成學(xué)習(xí)方法,各方法對(duì)應(yīng)eACC、eF1和eAUC的大小關(guān)系均為:IWV>WV>MV。由此看來(lái),對(duì)于竊電檢測(cè)分類(lèi)問(wèn)題,IWV 比MV 和WV 效果更好。
同時(shí),由于Stacking 是利用元學(xué)習(xí)器XGBoost將不同學(xué)習(xí)器的優(yōu)勢(shì)發(fā)揮至極致,既能歸納并糾正不同學(xué)習(xí)器對(duì)于用電數(shù)據(jù)的偏置情況,又能保持較高的泛化能力來(lái)防止過(guò)擬合。所以,采用XGBoost作為元學(xué)習(xí)器的Stacking 集成學(xué)習(xí)方法在除ET6 外的6 個(gè)數(shù)據(jù)集上的eACC、eF1和eAUC都比采用MV、WV以及IWV 的集成學(xué)習(xí)方法要高,即有Stacking>IWV>WV>MV。特別地,對(duì)于采用IWV 的集成學(xué)習(xí)方法而言[28],本文所提出的Stacking 集成學(xué)習(xí)方法不僅可以充分發(fā)揮不同學(xué)習(xí)器的優(yōu)勢(shì),還可以利用另一個(gè)學(xué)習(xí)器有效地綜合這些優(yōu)勢(shì)。因此,通過(guò)選擇最優(yōu)的融合方式可以使不同學(xué)習(xí)器的優(yōu)勢(shì)發(fā)揮至極致,從而提升模型的檢測(cè)性能。
綜上所述,針對(duì)竊電檢測(cè)二分類(lèi)問(wèn)題,本文所提出的利用Stacking 集成學(xué)習(xí)融合多個(gè)不同學(xué)習(xí)器的竊電檢測(cè)模型有以下幾個(gè)方面的優(yōu)勢(shì):一是對(duì)于數(shù)據(jù)而言,通過(guò)SMOTE 算法平衡用電數(shù)據(jù)以避免分類(lèi)結(jié)果出現(xiàn)偏倚;二是對(duì)于模型構(gòu)建而言,采用K折交叉驗(yàn)證方法訓(xùn)練各個(gè)學(xué)習(xí)器以防止模型出現(xiàn)過(guò)擬合;三是對(duì)于融合對(duì)象而言,利用評(píng)價(jià)指標(biāo)和多樣性度量選擇好而不同的多個(gè)學(xué)習(xí)器可以使模型能從多個(gè)視角識(shí)別竊電用戶;四是對(duì)于融合方式而言,采用Stacking 集成學(xué)習(xí)方式可以利用優(yōu)選的元學(xué)習(xí)器有效融合多個(gè)不同的學(xué)習(xí)器以充分發(fā)揮它們的優(yōu)勢(shì),提升模型檢測(cè)性能。
本文提出了一種基于多異學(xué)習(xí)器融合Stacking集成學(xué)習(xí)的竊電檢測(cè)模型。針對(duì)用電數(shù)據(jù)類(lèi)別不平衡以及采用投票法作為結(jié)合策略的集成學(xué)習(xí)方法無(wú)法充分發(fā)揮多個(gè)不同學(xué)習(xí)器優(yōu)勢(shì)等問(wèn)題,本文利用SMOTE 算法構(gòu)造平衡的數(shù)據(jù)集,并采用Stacking結(jié)合策略融合多個(gè)不同學(xué)習(xí)器的優(yōu)勢(shì)和差異。在愛(ài)爾蘭智能電表數(shù)據(jù)集上進(jìn)行了驗(yàn)證,算例表明該模型可有效解決類(lèi)別不平衡問(wèn)題,且能夠充分發(fā)揮不同學(xué)習(xí)器的優(yōu)勢(shì)。進(jìn)一步將研究以下問(wèn)題:一是竊電檢測(cè)中的數(shù)據(jù)質(zhì)量問(wèn)題;二是利用電壓等新特征開(kāi)展竊電檢測(cè);三是當(dāng)正常用戶的用電行為模式和按竊電模式生成的用戶用電模式相似時(shí)所造成的誤判問(wèn)題。
支撐數(shù)據(jù)和附錄見(jiàn)本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。