萬磊,陳成,黃文杰,盧濤,劉威
(1.國網湖北省電力有限公司,武漢市 430077;2. 武漢工程大學計算機科學與工程學院,武漢市 430205;3.湖北華中電力科技開發有限責任公司,武漢市 430077)
近年來,隨著“智能電網”的興起和普及,其運行中的輸配電損失受到越來越多的關注,而輸配電損失大致可分為技術性損失(technical loss, TL)和非技術性損失(non-technical loss, NTL)兩大類[1]。其中,嚴重的NTL,即用戶異常竊電行為,給電網行業帶來了巨大的經濟損失。因此,如何從大量的電力數據中高效、快速地檢測出用戶的異常用電行為,以供電網人員決策,對提高經濟效益、促進電網的發展和進步有著重要的研究意義。
在電力大數據中,對于NTL的異常檢測一直是該領域的熱點及難點問題。目前針對電力大數據的NTL異常檢測方法大多基于數據驅動的檢測方法,其中包括基于聚類的方法、基于深度學習的方法等。文獻[2]針對電力大數據流的異常檢測問題,提出一種基于流式K-means的聚類算法,在優化離線階段聚類算法的同時,提高算法對用戶用電異常行為的有效識別。文獻[3]在基于電量數據波動系數特征的基礎上,提出一種基于樣本優化選取的支持向量機竊電識別方法,該方法能夠有效識別用戶的竊電行為,具有一定的實用性。文獻[4]提出了一種集合廣度和深度的卷積神經網絡(convolutional neural networks, CNN)來完成對電力大數據中用戶竊電行為的有效檢測。其中基于二維用電數據,深度的CNN分量可以準確識別竊電的非周期性和正常用電的周期性;而基于一維的用電數據,廣度的CNN分量可以有效捕獲該數據的全局特征。
上述算法雖然能夠較好地完成對NTL的異常檢測,但是這些方法都需要大量的用戶用電量數據樣本作為支撐,特別是對于基于深度學習的方法來說,對于正負樣本集的標定是異常檢測準確率的關鍵。尤其對于有監督學習來說,好的數據標定,即故障數據樣本與正常數據樣本的正確標定,可以約束網絡更加有效地提取故障樣本的特征,從而提高網絡的檢測準確率。然而,在實際的應用中,對于數據的標定通常采用人工標定的方法,不僅耗時且成本高昂。因此,為了提高數據標定的效率,本文首先將置信規則推理(belief rule-based,BRB)方法引入到對電力大數據的異常檢測中,提出一種基于用戶用電量波動特征和用電曲線異常特征的置信規則推理的方法來檢測用戶用電量是否異常,自動快速地獲取可信度高、魯棒性強的正負樣本集。接著,以此樣本集為基礎,采用長短記憶網絡模型(long short-term memory, LSTM)網絡來有效提取NTL異常特征,最終完成對用戶用電行為異常的檢測。
用戶異常用電行為是一個時效性問題,通常會在某一時段內完成對電量的竊取。因此,本文所提到的異常特征,通常指的是一段時間內的有效特征,而特征的選取是NTL異常檢測成功的關鍵。基于此,本文首先選取的特征為用戶用電量波動信息指標。另外,考慮到用戶可能在不改變用電總量的情況下,對用電曲線的峰值進行篡改,故本文選取的另一個特征為用戶的曲線異常特征,通常稱之為毛刺[5]。
對一定時間范圍內的用戶用電量進行分析,采用傳統的平均值或方差等指標無法反映時間段內的電量波動情況,故無法表征當前數據異常信息。因此,為了更加有效地反映用電數據特征,本文選取電量波動系數CV來分析統計時間范圍內的用電量數據異常波動,其定義[3]為:
(1)

為了描述用電曲線被移峰的異常特征,本文引入毛刺特征。毛刺指的是將電表的讀數繪制成曲線后出現的向上的尖峰[5],其中毛刺寬度是最直觀的衡量異常數量的一個標量,在這里毛刺寬度指的是其周圍邊界值對應的時間的差值。用戶異常用電曲線如圖1所示,圖中曲線為某用戶一個月的用電量情況,其數據來源于文獻[4]。從圖中可以看到,該用戶在1月19日到1月22日的用電量曲線出現了一個毛刺,且曲線的上下波動幅度較大,因此,有理由認為此時間段的用電量異常。然而,在智能電網的實際運行過程中,通常類似的異常數量較多,但是毛刺寬度較少。因此,單個毛刺寬度不足以表征數據的異常性,本文采用毛刺寬度總和M來表征用電曲線異常的特性,其定義為:

圖1 用戶異常用電曲線Fig.1 Abnormal power consumption curve
(2)
式中:di和dj分別代表周圍邊界值對應時間的下界節點和上界節點,其中n>m,i>j。

對一個前提屬性值進行輸入轉換,首先自定義轉換規則,然后按照規則將該值轉換成不同的置信度,最后將這些置信度再分配給各前提屬性以作為決策時的參考值。一個前提屬性Bi的輸入值通過以下公式來進行轉換[7]:
S(Bi,αi)={(lim,βim),m=1,…,mi},
i∈{1,…,N}
(3)

本文選取電量波動系數CV和毛刺寬度總和M作為BRB系統的前提屬性,從國家電網公司獲取歷史用電量數據[4]來計算輸入值CV和M,同時將這些輸入值轉換為相應的前提屬性參考值的隸屬度[6-7]。一般地,當0 因此,上述輸入轉換的過程為: (4) (5) 從上面的轉換過程可以看出,為了完成前提屬性的輸入轉換,之前還需要對其進行參考值的確定。假設兩個前提屬性參考值的分布為:CV= {(Big,0.8),(Normal,0.15), (Small,-0.5)};M= {(Large,15),(Normal,5), (Small,3)}。結合式(3)和(4),對于一個樣本數據,CV=0.5,M=8,則該樣本的CV隸屬于{(Big,0.8),(Normal,0.15), (Small,-0.5)}的程度為(0.538 5,0.461 5,0),即MR=(0.8-0.5)/(0.8-0.15)=0.461 5,HR=1-0.461 5,LR=0;同理該樣本的M隸屬于{(Large,15),(Normal,5), (Small,3)}的程度為(0.300,0.700,0)。 在得到上述置信分布后,需要激活所有規則下前置屬性的權重,只有這樣所得到的結果才具有可信度。通常,對于第k條規則下的激活權重ωk的計算可以用以下公式來獲取[7]: (6) 本文采用ER[8]算法來集合所有置信規則下的前提屬性輸入值,以此獲取針對用戶用電量NTL結果屬性中每一個參考值的信任程度。該算法所產生的輸出結果如公式(7)所示: O(X)=S(Bj)={(Cj,χj),j=1,…,N} (7) 式中:χj代表參考值Cj的最終置信度,計算公式如(8)所示。 (8) 式中:χjk代表第k條規則中第j個等級的置信度。 本文中,選取的輸出結果分布分別是NTL異常、電量正常,且將NTL異常的數據標定為0,電量正常的數據標定為1。綜上所述,本文所提數據標定方法的總體流程如圖2所示。 圖2 總體流程Fig.2 Overall flow chart 傳統神經網絡在處理長時間序列時,容易產生梯度消失的問題,比如循環神經網絡(recurrent neural networks,RNN)[9]。為了解決這個問題,提出了LSTM[10]。它主要是在RNN的隱藏層中加入了元件單元和三個控制門,即輸入門、遺忘門和輸出門,其結構如圖3所示。其中,輸入門的主要作用為更新元件單元中的信息,遺忘門的主要作用為過濾或保留元件單元中上一時刻的信息,輸出門主要負責控制信息的流出,而元件主要負責存儲網絡先前時刻的信息。 圖3中,Z代表神經元的加權和,其中t為當前網絡的時刻,下標l、c、y和o分別代表輸入門、元件 圖3 LSTM結構Fig.3 Structure of LSTM (9) (10) (11) (12) (13) (14) (15) (16) (17) 正是因為在LSTM網絡中,加入了三個控制門和元件單元,從而使得該網絡對特征信息具有很好的記憶功能,解決梯度消失問題的同時提高了網絡的穩定性。該網絡不僅適用于處理長時間序列問題,而且在故障的檢測和識別方面取得了不少成果。文獻[11]提出了一種基于主成分分析(principal components analysis, PCA)和LSTM網絡的海底觀測網電力系統供電海纜的故障定位方法,該方法利用PCA強大的數據特征提取功能,結合LSTM來有效捕獲多源數據的時間特征,從而建立電力系統故障特征與電氣參數之間的對應關系,實現海纜故障的精確定位。文獻[12]提出了一種基于LSTM網絡的短期交通預測智能系統,與其他傳統的預測模型不同,該文提出的LSTM網絡通過一個由許多存儲單元組成的二維網絡來考慮交通系統中的時空相關性,從而提高預測的準確性。文獻[13]提出了一種基于LSTM遞歸神經網絡和常用測量信號的檢測方法,來實現對鐵路軌道電路故障的檢測與識別。實驗結果表明,與卷積網絡相比,LSTM網絡體系結構更適合于用來對時間序列的故障進行檢測與識別。 然而上述方法雖然能夠在一定程度上提高模型對故障的檢測率,但是它們普遍存在的一個問題是沒有對數據樣本進行相應的自動標定處理,不能為模型提供穩定可靠的訓練樣本,從而導致模型訓練不充分,降低了網絡的普適性。因此,本文借助BRB系統強大的決策能力和LSTM網絡對時間序列故障檢測的優勢,提出一種基于BRB和LSTM網絡的NTL檢測方法,該網絡的訓練建立在BRB標定數據的基礎上,提供魯棒性更好的訓練樣本的同時,提高網絡的普適性和檢測的準確性。其整體流程如圖4所示。 如圖4所示,本文所提檢測方法的主要步驟為: 圖4 基于BRB和LSTM網絡的NTL異常用電檢測總體流程Fig.4 Overall flow chart of NTL abnormal power consumption detection based on BRB and LSTM network 1)通過BRB模型對真實用電量數據進行數據標定,其標定的類別為NTL異常用電和正常用電,從而分組得到訓練集和測試集; 2)建立兩個LSTM子網絡分別處理異常用電序列和正常用電序列,并根據LSTM的輸入維度,將訓練集和測試集以時間序列為單位進行分割,作為網絡的輸入,以獲取故障特征; 3)為了得到最終的NTL異常用電檢測結果,本文采用Softmax回歸分類模型來對LSTM子網絡的輸出特征進行分類。 注意,圖4中的LSTM單元代表的是LSTM的網絡基本結構。特別地,在步驟2)中,之所以設計兩個LSTM子網絡,是為了增強模型對不同樣本數據提取特征的能力,從而為Softmax分類器提供魯棒性更強的類別信息,提高其對用電異常類別的檢測準確率。其中,Softmax回歸模型的損失函數為: (18) 本文采用國家電網公司發布的真實用電量數據[4],該數據集包含1 035天內(2014年1月1日至2016年10月31日)42 372個用電客戶的用電量數據,并且國家電網公司公布了這個數據集中包含有3 615個偷電者,異常用戶比例接近9%。本文選取其中1 000個用戶在2014年1—12月的實際用電數據作為網絡的訓練數據集,如表1所示。同時,選取100個用戶在2015—2016年間的無標簽實際用電數據作為網絡的測試集。另外,為了驗證BRB模型的性能,本文選取2015年1—12月某一電表的數據為測試標定樣本集,如表2所示。 表1 用電訓練樣本集Table 1 Training sample set of electric power consumption kW·h 表2 用電測試樣本集Table 2 Test sample set of electric power consumption 對于圖4中帶有Softmax分類器的LSTM檢測模型,本文選取的輸入時間步長為20,輸入步長為15,每批次樣本數量為32,學習率設置為0.001,采用自適應矩估計(adaptive moment estimation,ADAM)[14]的優化方法。 在進行BRB訓練之前,為了進一步減少數據樣本的差異性,提高模型的診斷效率,首先需要對樣本數據進行預處理。本文采用最大-最小尺度法來歸一化樣本數據,即: (19) 式中:v(xi)表示歸一化之后的樣本數據;xi代表任意一個樣本值;X為總體數據樣本;min(X)代表樣本集的最小值;max(X)代表樣本集的最大值。當數據歸一化后,接下來根據式(1)和式(2)對樣本數據進行特征提取,分別為測試樣本數據的電量波動系數CV和毛刺寬度總和M,如圖5和圖6所示。 圖5 測試樣本每月電量波動系數Fig.5 Monthly power fluctuation coefficient of test samples 圖6 測試樣本每月毛刺寬度系數 Fig.6 Monthly burr width coefficient of test sample 4.3.1 異常用電數據標定 結合圖5和圖6可得,該電表的電量波動系數CV在3月份和9月份明顯比其他月份大,同時其在當月的毛刺寬度總和系數M也相對較高,因此,可以初步判定該用戶存在竊電行為。然而,該電表在4月、7月和8月的電量波動系數也相對較高,但是各自月份中的毛刺寬度總和系數又相對較小,這就無法判斷該用戶是否存在竊電行為。因此,僅采用本文所提的用電量異常特征,不足以判斷用戶是否存在竊電行為。為了驗證本文所提方法的有效性,首先根據式(4)和式(5)將訓練樣本數據進行輸入轉換;接著,結合式(6)—(8),訓練BRB系統;最后,將測試樣本數據的用電量異常特征輸入轉換到系統中,得到的最終置信規則庫如表3所示。 表3 訓練后的置信規則庫Table 3 Confidence-rule base after training 表3中的置信度結果反映了測試樣本在圖5和圖6中的特征值與真實用電行為之間的因果關系,能夠準確地標定出異常用電數據。比如,圖5和圖6中3月份的電量波動系數和毛刺寬度總和系數都很高,對應于表3中的規則1,其含義是:在當前時間范圍內,電量波動系數較大(Big),毛刺寬度總和系數也較大(Large),其確定的NTL異常的置信度為98.32%,用電量正常的置信度為1.68%,且該條規則的可信度為1,即100%相信在此規則下所預測的異常結果。對于4月份用戶的用電行為診斷同樣可以采用這種方法來解釋:該時間范圍內,電量波動系數較大(Big),毛刺寬度總和系數正常(Normal),其確定的NTL異常的置信度為88.69%,用電量正常的置信度為11.31%,且90%相信在此規則下所預測的異常結果。因此,本文所提的用電量波動系數CV和毛刺寬度總和M,結合BRB方法來進行異常用電量數據的標定具有較高的可靠性,同時可以大大提高數據標定效率。 4.3.2 NTL異常用電檢測結果對比 為了進一步驗證本文所提方法的有效性,將本文方法與其他先進的基于數據驅動的網絡檢測方法進行比較,其中包括稀疏自動編碼器(sparse auto encoder,SAE)[15]、RNN[16]、深度信念網絡(deep belief network,DBN)[17]、反向傳播神經網絡(back propagation neural networks,BPNN)[18]等。另外,在對比實驗中,本文也進行一些消融實驗驗證,比如不采用BRB模型,只采用LSTM+Softmax分類器等。另外,本文采用K層交叉檢驗(K-fold cross validation,K-CV)方法來評估各網絡的性能,其中K在本文中設置為6。實驗中,對每個模型進行15次的重復性實驗,取平均準確率為各模型的NTL異常用電檢測準確率。實驗結果如表4所示。 表4 本文所提方法與其他方法的檢測準確率對比Table 4 Accuracy of the proposed method compared with other methods 從表4中可以看到,本文所提方法(BRB+LSTM2)相較于其他的方法,具有最高的準確率(92.56%),緊隨其后的是BRB+LSTM1(88.74%)、LSTM(86.62%)、DBN(85.16%)、RNN(82.48%)、SAE(76.39%)和BPNN(74.53%)。特別地,相較于LSTM,本文方法在加入BRB模型后,其準確率提高了5.94%;并且相較于只采用一個LSTM網絡結構的檢測率(88.74%),采用兩個LSTM網絡將準確率提高了3.82%。由此可見本文所提的基于BRB的數據標定方法能夠提供更加魯棒的正負樣本訓練集,從而較好地提升網絡對于NTL異常用電的檢測準確率。最后,本文以2016年上半年數據作為測試集,對本文所提方法進行實驗驗證,結果如表5所示,可以看到其準確率維持在90%以上,從而驗證了本文所提的基于BRB和LSTM網絡的用電異常檢測模型在檢測用戶的NTL異常用電上是有效的。 表5 2016年上半年國家電網公司用戶用電數據[4]異常檢測實驗結果Table 5 Experimental results of abnormality detection of power consumption data of state grid users in the first half of 2016[4] 針對智能輸配電損失中的NTL異常檢測困難,本文在原始用電量數據的基礎上,提出一種以電量波動系數和毛刺寬度總和特征相結合的用戶異常用電行為檢測方法,同時首次在電力用電異常檢測上采用BRB方法來量化上述特征,以此來自動標定正負樣本集,為網絡的訓練提供真實可靠、魯棒性高的有標簽數據訓練集。接著,以此為基礎,本文又提出了采用LSTM+Softmax分類器的異常用電檢測網絡模型。實驗結果表明,基于BRB和LSTM的網絡檢測模型具有很好的魯棒性,能夠較準確地診斷出NTL異常情況,且具有很好的泛化功能,為電力大數據中用戶用電行為的分析與決策提供了一種新思路。2.2 激活權重計算

2.3 NTL異常性結果輸出

3 基于LSTM網絡的NTL異常檢測方法
3.1 LSTM網絡


3.2 基于BRB和LSTM的NTL異常檢測方法


4 實驗結果
4.1 實驗數據及參數設定


4.2 數據預處理


4.3 方法驗證



5 結 論