張 震,彭 坤,孔帥華
(鄭州大學電氣工程學院,河南 鄭州 450001)
功率損耗通常分為技術性損耗和非技術性損耗。非技術損耗是指在變電、輸電和配電過程中造成的電能損失,主要是由用戶側的竊電引起的[1]。竊電主要發生在中低壓電網,其損失占總電力損失的絕大部分。竊電不僅會降低電網的穩定性、安全性和可靠性,還會增加不必要的資源消耗。傳統的人工篩查方法效率低下,不能滿足竊電檢測的需求[2]。因此,研究先進的竊電檢測技術變得至關重要,因為它對節能降耗具有重要意義。
目前國內外研究人員開展了很多關于機器學習的研究[3-6],通過分析智能電表采集的數據進行分類,將提取到的用電量信息特征輸送給分類器,從而實現竊電用戶和正常用戶的辨識。文獻[3]將決策樹(decision tree,DT)的計算結果輸入到支持向量機中,從而發現竊電用戶,但沒有對DT提取的特征進行篩選。文獻[4]提出了一種基于卷積神經網絡和隨機森林(random forest, RF)的竊電檢測模型,充分發揮了卷積特征提取的優勢,但未考慮到用電數據存在的不平衡問題,這會導致模型的泛化能力變弱,且易忽略少數類樣本包含的重要信息,從而降低檢測的精度。
不平衡數據分類已成為數據挖掘領域的研究主題[7],竊電檢測就是典型的不平衡數據分類問題[8]。竊電用戶的數量遠遠少于正常用戶,使得竊電數據集變得不平衡。文獻[9]組合K-SMOTE算法與改進隨機森林,將生成的平衡數據集用于改進的RF進行訓練,但忽視了過采樣算法生成少數類樣本時存在的噪聲問題。單一地采用過采樣方法平衡用電樣本,會產生大量的噪聲樣本,因此結合欠采樣技術可以有效去除樣本中的噪聲[10-11]。
針對上述方法存在的樣本不平衡和過采樣易產生噪聲樣本等問題,本文提出了一種基于混合采樣和改進RF的竊電檢測方法,主要包含基于ESMOTE與Tome Links的混合采樣和對RF的改進兩部分。首先,對E-SMOTE和Tome Links算法以及兩種算法結合的原理進行闡述;然后,分別采用基于MCC置換法和卡方檢驗的特征選擇法進行特征選擇,并根據Q統計值計算隨機森林中各個決策樹模型的多樣性指標,選擇差別較大的決策樹進行集成;最后,在國家電網真實數據集上驗證混合采樣算法和RF模型改進的有效性。
SMOTE是一種基于k近鄰算法的經典過采樣算法。它從每個少數類樣本Xm的最近鄰樣本中選擇一個少數類樣本Xn,并根據下式合成一個新的少數類樣本:
式中:Xnew——新合成的樣本;
rand(0,1)——區間(0,1)之間的隨機數。
傳統的SMOTE算法將樣本的不平衡率作為過采樣率,從而設置少數類中需要合成的樣本數量。本文提出的E-SMOTE算法采用樣本的誤分類率作為過采樣率,在迭代采樣過程中,利用RF模型的誤分類率動態更新過采樣權重。將分類錯誤的少數類樣本和多數類樣本的比值作為樣本誤分率,樣本的過采樣率用E表示,如下式所示:
式中:Eerr_min——分類錯誤的少數類樣本的數量;
Eerr_maj——分類錯誤的多數類樣本的數量。
E-SMOTE算法將樣本的錯分率作為過采樣率,能夠充分利用樣本的內在特性,從而使合成的少數類樣本具有更高的識別率,具體步驟如下:
1) 輸入少數類樣本Smin、最近鄰數k、過采樣率Eerr。
2) 構建 RF模型,計算過采樣權重Einc(E×Smin)。
3) 設變量Cinc=0,求取少數類樣本的k個最近鄰樣本,并將其索引儲存在Kmin[]中。
4) 隨機生成一個1~k之間的整數m,用選出的第m個近鄰和原樣本生成新樣本Xnew。
5)Cinc=Cinc+1,若Cinc<Einc,返回步驟 4),否則,輸出平衡數據集S’。
傳統的重采樣算法在對樣本進行平衡時沒有考慮新合成的樣本對于分類器的有效性,本文在ESMOTE和Tome Links混合采樣的過程中,通過RF的分類性能動態調整重采樣過程,從而使最終得到的樣本能很好地適應分類器的性能。在混合采樣時,采用AUC作為迭代停止準則,即一旦樣本的AUC值下降,迭代過程就會停止,可以兼顧各類樣本的分類性能,混合采樣的流程如下:
1) 輸入不平衡數據集,初始化重采樣權重E,將數據集劃分為多數類Smaj和少數類Smin。
2) 執行E-SMOTE過采樣,并運用RF模型更新重采樣權重E,同時評估RF對樣本的分類性能。
3) 比較過采樣前后的AUC指標,若有提升則返回步驟2),否則執行步驟4)。
4) 執行Tome Links欠采樣,并運用RF模型更新重采樣權重E,同時評估RF對樣本的分類性能。
5) 比較欠采樣前后的AUC指標,若有提升則返回步驟2),否則輸出平衡數據集S’。
本算法重復執行過采樣和欠采樣操作,直到樣本完全平衡。不僅可以去除多數類樣本的噪聲和重復信息,還可以通過在少數類中加入少量有效樣本,保留多數類樣本的有用信息,實現平衡采樣。
隨機森林算法隨機選擇樣本的特征用于決策樹的構建,未考慮特征屬性的重要性,會造成少量重要的特征被忽略或選擇到不重要的特征,最終導致模型的欠擬合。
基于MCC置換法的特征選擇方法,通過計算置換特征值前后MCC值的變化度量特征的重要性。MCC計算公式為:
式中:TP(TN)——正確分類的正常(竊電)用戶;
FP(FN)——錯誤分類的正常(竊電)用戶。
傳統基于OBB誤差的方法,在進行重要性評估時,將OBB誤差視為整個樣本的性能,容易受到類別不平衡的影響。基于MCC值的置換法可以綜合考慮模型的性能,在考慮多數類樣本的同時兼顧少數類樣本,采用MCC值能夠較好地反映各類樣本的重要性,其變量重要性評分(variable importance measure,VIM)可由下式計算:
式中:Ntree——決策樹的數量;
MCCit和MCCit′——特征Xi置換前后對應的MCC值。
皮爾遜卡方檢驗通過參考卡方分布來評估特征的重要程度:
式中:Oij——觀測頻率;
Eij——原假設的期望頻率。
在MCC置換法提取特征后,再用卡方檢驗進一步進行特征篩選。特征選擇方法分別應用于每個特征,直到計算出所有特征的重要性指標。此方法不僅考慮了特征之間的關系,而且還考慮了每個特征對每個類標簽的影響。
隨機森林算法是bagging集成學習的典型代表,傳統的隨機森林算法在對多棵決策樹的分類結果進行投票集成時,并沒有考慮各棵決策樹之間的多樣性[12]。研究表明,在訓練完成的學習器中選擇“好而不同”的學習器,能獲得更好的分類效果[13]。作為隨機森林的基學習器,各決策樹對隨機選擇的樣本和特征進行訓練時,得到的分類效果并無很大差別,因此,本文從“不同”的角度出發,差別比較大的決策樹可以從不同的角度學習數據,本文通過計算各棵決策樹的Q統計值,選擇差別最大的決策樹進行集成,能夠減小各決策樹分類結果的相似性,從而使分類器能夠以更加多樣的角度學習樣本的特征。如圖1所示,根據Q統計值大小對決策樹進行排序,在進行投票時,選擇Q統計值較小的決策樹進行集成。
圖1 隨機森林選擇性集成示意圖
其中,Q統計值作為決策樹多樣性的度量,取值范圍為[-1,1][14]。Q統計值的平均值越小,代表該棵決策樹與其他決策樹之間的差異性越大,即多樣性越高。決策樹DTi和DTj的Q統計值可表示為:
式中:N11(N00)——決策樹DTi和DTj都對樣本正確(錯誤)分類的數目;
N10(N01)——決策樹DTi(DTj)正確分類樣本且DTj(DTi)錯誤分類樣本的數目。
本文所使用的數據集包含1 035 d(2014年1月1日-2016年10月31日)內42 372名電力用戶的用電數據。由于智能電表會出現故障、無法讀取的情況,會產生錯誤的零數據,影響模型訓練結果,需要對數據集進行篩選。表1顯示了用電數據為零值的情況。
表1 用戶數量和零值個數的對應關系
2014年和2015年的數據包含較多的零值,不能反映正常用戶的用電規律,相較之下2016年數據更接近用戶真實數據[15]。因此,本文選取2016年的用電記錄作為研究對象。
竊電檢測是一種典型的二分類問題,常用混淆矩陣評價分類模型的性能,如表2所示。
表2 混淆矩陣
對于不平衡數據集,常用的準確度指標不能很好地反映分類器的分類性能,因為準確率只考慮了分類正確的樣本數量,分類器不能夠很好地學習到少數類樣本的特征,因此本文采用精確度(Precision,P)、特異性 (Specificity,S)、召回率 (Recall,R)、F1 得分(F1 Score, F1)、MCC和AUC評估對數據集的分類性能,其中:
在進行混合采樣的過程中,根據樣本誤分率計算出需要進行重采樣的樣本數,并采用隨機森林模型對樣本進行分類,將分類結果轉化為需要重采樣的樣本個數,根據MCC值的變化,依次執行ESMOTE過采樣和Tome Links欠采樣,迭代過程共進行了14次,從而得到最終的平衡數據集,迭代過程如圖2所示。
圖2 混合采樣迭代過程中指標的變化
可以看出隨著迭代次數的增加,各項分類指標呈現出不同的變化趨勢:P整體呈上升趨勢;S在前6次迭代中不斷增加,并在第6次迭代時得到一個較大值,這是因為E-SMOTE過程增加了少數類樣本的數量,提升了RF對少數類樣本的學習能力,并且在第6次迭代時基本實現了樣本數量的平衡;F1在執行過采樣時減小,在欠采樣時增大,這是因為過采樣過程產生的噪聲樣本影響了分類器對少數類樣本的學習;MCC和AUC則隨著采樣次數的增加穩定提高。為了驗證本文采樣方法的有效性,采用了7種常用采樣方法進行對比,包括過采樣、欠采樣和混合采樣算法,其中過采樣方法包括SMOTE(SM)、Borderline-SMOTE(B-SM)和KMeans-SMOTE(K-SM)算法;欠采樣算法包括Instance hardness threshold(IHT)、NearMiss-1(NM-1)和 NearMiss-2(NM-2)算法;混合采樣算法選擇SMOTE-ENN(SM-E)算法。通過比較各采樣方法與隨機森林模型結合所得的多項指標來評價其分類性能,實驗結果如表3所示。由表可知,本文提出的混合采樣算法相較于7種傳統的采樣算法,在多項指標中都有了顯著的提升。這是因為本文算法在迭代的過程中采用RF模型的分類效果實時調整樣本重采樣過程,并引入AUC值作為迭代停止的判斷條件,能夠最大限度地發揮RF模型的分類性能。總的來說,本文算法較優于其他采樣算法。
表3 8種采樣方法的性能對比 %
MCC置換法得出的特征重要性指標值和卡方檢驗得到的屬性特征的卡方值如圖3所示。對于MCC置換法本文設置的特征重要性閾值為1.6×10-3,由結果選擇去除 C93、C98、C121、C139、C144、C245、C262、C268、C293這 9個重要性指標值較低的特征,然后通過卡方特征選擇對屬性特征進一步篩選,選取χ2=1 050為閾值,去除相關性低的特征,最終共篩選出了18個不重要的屬性特征,完成了特征選擇過程。各決策樹分類器的Q統計值如表4所示。此時,隨機森林系統整體的Q統計值為0.383,而第8棵決策樹(DT8)的Q統計值最大(為0.400),說明生成的10個決策樹分類器中,DT8與其他決策樹的相似性最高,即多樣性最差。因此,選擇剔除DT8,選擇另外9棵決策樹進行集成,此時隨機森林分類器的Q統計值降為0.379,即系統的多樣性得到了提升。隨機森林模型改進前后的對比如圖4所示。
圖3 特征選擇指標值
圖4 隨機森林改進前后性能對比
表4 各決策樹分類器在平衡樣本上的Q統計值
改進后的隨機森林模型在各項指標上都有了一定的提升,其中3次實驗測得的AUC值分別91.94%、92.90%、93.79%,相對傳統的隨機森林分類器,AUC值分別提升了0.96%、0.89%,模型整體的AUC指標提升了1.82%。由此可見,本文對隨機森林算法的改進是有效的。圖5比較了不同模型的分類性能。可以看出,改進后的隨機森林模型在各方面的性能都優于Adaboost、XGBoost和DT。由表5可知,本文方法對比以往深度學習方法展現出了更優的性能,AUC值達到了93.79%。
圖5 不同模型分類性能比較
表5 與其他方法對比
本文提出了一種基于混合采樣算法和改進隨機森林的竊電檢測方法,基于國家電網真實數據,采用E-SMOTE和Tome Links結合的混合采樣方法平衡數據集,解決了樣本不平衡問題,并通過特征選擇和選擇性集成對隨機森林算法進行了改進。結果表明,本文提出的竊電檢測方法能夠有效地識別竊電用戶。后續將繼續針對真實用電數據,深入地研究不平衡數據的處理及分類模型的優化問題。