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