廣東電網(wǎng)有限責(zé)任公司客戶服務(wù)中心 覃 浩
電費差錯是指電網(wǎng)公司在運輸、分配電力過程中的異常計量信息錯誤或者配電側(cè)用戶的竊電行為造成的電費數(shù)據(jù)異常,這類異常數(shù)據(jù)會給電網(wǎng)公司造成嚴(yán)重的損失甚至對國民經(jīng)濟的發(fā)展也十分不利。所以更新當(dāng)前的計量系統(tǒng)平臺并且高效的稽查出非法竊電用戶一直是國內(nèi)外學(xué)者研究的重點。
目前智能電表的普及使得各用戶用電信息采集完善,積累的數(shù)據(jù)也越來越多,在近年機器學(xué)習(xí)以及人工智能技術(shù)的趨勢下研究者們從數(shù)據(jù)挖掘的角度出發(fā)來進(jìn)行反竊電行為的研究,利用歷史用電數(shù)據(jù)特征建立與竊電行為的聯(lián)系。現(xiàn)有的異常電費檢測方法大致分為三類,即基于距離的方法、基于統(tǒng)計的方法、與基于智能學(xué)習(xí)的方法。目前,基于機器學(xué)習(xí)和深度學(xué)習(xí)的方法,如支持向量機、隨機森林、人工神經(jīng)網(wǎng)絡(luò)等算法模型己取得較好的檢測效果,該類方法對數(shù)據(jù)特征的識別率高符合當(dāng)前的研究思路。
針對電力大數(shù)據(jù)流的異常檢測問題,提出一種基于流式K-means 的聚類算法,在優(yōu)化離線階段聚類算法的同時,提高算法對用戶異常用電行為的準(zhǔn)確識別[1];將疑似竊電判斷中引入Oneclass SVM 算法,提出了一種將電量波動特征和One-class SVM 結(jié)合的竊電識別模型[2],采用電量波動系數(shù)作為指標(biāo)選取訓(xùn)練樣本的方法,訓(xùn)練得到相應(yīng)分類模型,通過該模型分析篩選出竊電用戶;結(jié)合決策樹(Decision Tree,DT)和SVM 進(jìn)行異常用電行為的識別,先排除干擾用戶,再導(dǎo)入處理后的用戶用電量數(shù)據(jù)訓(xùn)練SVM分類算法,從而識別出異常用電行為[3];選擇孤立森林算法應(yīng)用到用戶用電異常檢測問題,該方法優(yōu)點在于規(guī)則簡單易于訓(xùn)練并且速度很快,但是檢測精度并不高[4];在一維用電數(shù)據(jù)上對竊電行為檢測準(zhǔn)確率很低,無法獲取到用電的周期性,因此提出了一種集合廣度與深度的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)來解決上述問題[5]。深度CNN 組件負(fù)責(zé)準(zhǔn)確識別竊電的非周期性和正常用電的周期性。同時,廣義CNN 組件負(fù)責(zé)識別一維用電數(shù)據(jù)的全局特征;還有一種基于主成分分析和深度循環(huán)神經(jīng)網(wǎng)絡(luò)(PCA-RNN)的異常用電行為檢測方法[6]。利用核主成分分析對電力負(fù)荷數(shù)據(jù)進(jìn)行降維處理,提取出主要用電特征該方法具有較高的準(zhǔn)確率和魯棒性。
通過以上的研究進(jìn)行分析,同時為了挖掘出用電用戶信息的特征,本文嘗試采用將深度森林[7]分類算法引入電費差錯檢測領(lǐng)域,深度森林算法是基于決策樹的深度學(xué)習(xí)算法,它的核心思想是對隨機森林進(jìn)行集成相較于其他深度學(xué)習(xí)模型,深度森林方法每一層都自主訓(xùn)練參數(shù),不需要反向傳播過程,因此對于訓(xùn)練數(shù)據(jù)的樣本數(shù)量依賴較低,本文從電費差錯用戶特征提取出發(fā),利用深度森林算法檢測用戶是否存在竊電行為,探究其應(yīng)用在電費差錯檢測領(lǐng)域的可行性并且極大地減少了訓(xùn)練時間。此外,深度森林的最基本單元由決策樹構(gòu)成,使得該模型具有較好的可解釋性。
深度森林模型于2017年提出,該模型是一個非神經(jīng)網(wǎng)絡(luò)式的深度模型,采用多粒度級聯(lián)森林(gcForest,multi-Grained Cascade Forest)方法構(gòu)建。gcForest 主要包含兩個結(jié)構(gòu)多粒度掃描窗口和級聯(lián)森林。先進(jìn)行多粒度掃描計算,采用多個不同尺度的滑動窗口對訓(xùn)練數(shù)據(jù)特征進(jìn)行重新表示。該方法是滑動窗口進(jìn)行掃描特征,所掃描的特征向量作為新的數(shù)據(jù)樣本;然后將掃描得到的結(jié)果用于構(gòu)建級聯(lián)森林;級聯(lián)森林由多種隨機森林組成,其作用為對輸入特征進(jìn)行表征學(xué)習(xí),每個級聯(lián)層均包括兩個隨機森林和兩個完全隨機森林,其中各隨機森林均含有若干棵決策樹,因此每個隨機森林或者完全隨機森林都會輸出一個特征向量預(yù)測結(jié)果。在級聯(lián)森林中,上一個級聯(lián)層的輸出結(jié)果作為下一個級聯(lián)層的輸入,可以將特征向量的特征信息傳至下一層,每一層都可以接收到上一層的特征信息和原始特征信息,最后一層的級聯(lián)層作為結(jié)果輸出;其中完全隨機森林是在完整的特征空間中隨機選取特征來分裂,而普通隨機森林是在一個隨機特征子空間內(nèi)通過基尼系數(shù)來選取分裂節(jié)點。
深度森林本質(zhì)上是基于決策樹和隨機森林來構(gòu)建,可以對離散型與連續(xù)型的數(shù)據(jù)高效的訓(xùn)練,同時為了對模型的預(yù)測精度進(jìn)行提升,構(gòu)建的級聯(lián)森林與深度學(xué)習(xí)中的多層網(wǎng)絡(luò)類似,保證了對數(shù)據(jù)學(xué)習(xí)的深度。本文將深度森林算法引入電力負(fù)荷預(yù)測領(lǐng)域,也解決了深度模型參數(shù)多、收斂速度較慢等問題。綜上所述,深度森林算法非常適合電費數(shù)據(jù)的特點,能夠有效的學(xué)習(xí)電費數(shù)據(jù)的相關(guān)特征以構(gòu)建電費差錯分析模型。
本文的訓(xùn)練數(shù)據(jù)樣本與測試數(shù)據(jù)樣本采用的是中國南方電網(wǎng)公司收集的2020年某月某市的用電數(shù)據(jù)樣本,數(shù)據(jù)規(guī)模為2500 (電費差錯數(shù)據(jù)1139條、非電費差錯數(shù)據(jù)1361條),總共有65個特征字段,如YHLBDM、DSJ、YDLBDM、JLDBH 等,分別表示用戶類別代碼、地市局、用電類別代碼、計量點編號等電費數(shù)據(jù)特征。
由于本文數(shù)據(jù)集是電網(wǎng)公司收集的真實數(shù)據(jù),數(shù)據(jù)中存在著數(shù)據(jù)缺失和重復(fù)以及特征冗余等問題,經(jīng)過對數(shù)據(jù)的探索發(fā)現(xiàn)缺失數(shù)據(jù)主要是多為單個數(shù)值缺失,為了使數(shù)據(jù)對模型的干擾影響最小,本文的數(shù)據(jù)預(yù)處理工作主要包括刪除重復(fù)值及冗余特征、缺失值填充、特征歸一化。
在原始的用電用戶數(shù)據(jù)中經(jīng)人工判斷存在大量與電費差錯無關(guān)的特征,如計量點編號、用戶編號等,直接刪除這類無關(guān)特征字段,降低模型訓(xùn)練的特征維度至45維。再針對連續(xù)多個以上的負(fù)荷值為0的重復(fù)數(shù)據(jù),同樣直接刪除。在刪除冗余特征和重復(fù)數(shù)據(jù)后對模型的訓(xùn)練速率有所提升且對模型的訓(xùn)練效果沒有影響。
針對樣本數(shù)據(jù)中的缺失值采用以下方式進(jìn)行填充:

上式中,xt為用戶在第t天的數(shù)據(jù)量,f(xt)為填充值,NaN 表示數(shù)據(jù)未定義或不可表示的值,即利用缺失值前后兩天的數(shù)據(jù)量的平均值來進(jìn)行填充。
在完成以上對重復(fù)值缺失值的處理后,為了使得深度森林模型在分類時具有更好的泛化能力,再對電費數(shù)據(jù)進(jìn)行均值歸一化處理。

其中,X為待歸一化數(shù)據(jù),Xscaled為均值歸一化獲得的數(shù)據(jù),mean(X)為數(shù)據(jù)樣本的均值,std(X)為數(shù)據(jù)樣本的標(biāo)準(zhǔn)差。
基于深度森林的電費差錯分析實驗中,目標(biāo)是為了區(qū)別出電費差錯數(shù)據(jù)與非電費差錯數(shù)據(jù)屬于二分類問題,采用準(zhǔn)確率、召回率、F1值以及AUCROC 曲線來評估實驗性能。
本文使用混淆矩陣評估深度森林分類模型在測試樣本上的效果,對于竊電用戶與正常用戶的分類問題,其混淆矩陣如下表1,這其中,TP 是指被深度森林模型正確分類的電費正常用戶;FN 是指被錯誤標(biāo)記為電費異常用戶的電費正常用戶;FP 是指被錯誤分類為電費正常用戶的電費異常用戶;TN 是指被正確分類的電費異常用戶。

表1 電費差錯分析模型混淆矩陣
在電力客戶用電數(shù)據(jù)中,電費差錯與非電費差錯用戶數(shù)據(jù)量極度不均衡,因此采用如下評估標(biāo)準(zhǔn):
查準(zhǔn)率,代表模型預(yù)測為正常數(shù)據(jù)的樣本中真正常數(shù)據(jù)占的比例:

F1值,綜合了查準(zhǔn)率和召回率的調(diào)和平均結(jié)果:

AUC-ROC 曲線是針對各種閾值設(shè)置下的分類問題的性能度量。ROC 是概率曲線,AUC 表示可分離的程度或測度,表明我們多少模型能夠區(qū)分類別。AUC 越高,模型預(yù)測的效果越好。根據(jù)學(xué)習(xí)器的預(yù)測結(jié)果對樣例進(jìn)行排序,按此順序逐個把樣本作為正例進(jìn)行預(yù)測,每次計算出兩個重要量的值,分別以它們?yōu)闄M、縱坐標(biāo)作圖就得到了ROC 曲線該曲線的縱軸是“真正例率”(True Positive Rate,TPR),橫軸是“假正例率”(False Positive Rate,F(xiàn)PR),基于表1中的符號,兩者分別定義為:

其中AUC 定義計算是ROC 曲線下與坐標(biāo)軸圍成的面積,該數(shù)值范圍為0至1.0之間。又因為ROC曲線一般都處于y=x 這條直線的上方,則AUC 的取值范圍在0.5和1.0之間。AUC 越接近1.0,表明檢測方法可靠性越高。
本文將預(yù)處理后的電費數(shù)據(jù)訓(xùn)練樣本與測試樣本以8:2劃分,訓(xùn)練樣本與測試樣本分別為2000條和500條,其中訓(xùn)練樣本中包含電費差錯數(shù)據(jù)911條,測試樣本中包含電費差錯數(shù)據(jù)228條。將訓(xùn)練樣本導(dǎo)入深度森林模型進(jìn)行訓(xùn)練,再使用測試樣本進(jìn)行預(yù)測,測試結(jié)果如下表2所示:

表2 電費差錯分析模型測試結(jié)果
綜合以上所有實驗結(jié)果,本模型的三項評估指標(biāo)均達(dá)到了0.89以上,其中準(zhǔn)確率和F1值較好的表現(xiàn)說明該模型對本電費差錯分類效果良好,在圖1中AUC-ROC 曲線中可以判斷出AUC 是0.904屬于0.85以上也證明了本算法的可行性,綜合三項評估指標(biāo),可以看出本文基于深度森林的電費差錯分析模型較好的完成了電費差錯分析的任務(wù)。

圖1 電費差錯分析模型AUC-ROC 曲線
本文提出了基于深度森林的電費差錯分析方法,在電網(wǎng)公司的真實數(shù)據(jù)樣本上取得了準(zhǔn)確率、F1值均大于0.89的良好效果,AUC 曲線的數(shù)值為0.904也證實了本分類算法能夠有效挖掘用電數(shù)據(jù)特征,區(qū)分電費差錯用戶與非電費差錯用戶??傮w而言,基于深度森林的電費差錯分析方法能夠幫助電網(wǎng)公司更新當(dāng)前的計量系統(tǒng)平臺并且高效的稽查出非法竊電用戶,大幅度的提升電網(wǎng)工作人員在電費差錯方面的工作效率。