孟宋萍,彭 偉,田晨璐
(山東建筑大學 信息與電氣工程學院,濟南 250101)
隨著人們生產、生活對電能的依賴性增強,對于其質量與可靠性的需求也在增長。而國內的能源結構及分布制約了我國相關行業(yè)的發(fā)展[1]。為了應對發(fā)展中面臨的問題,大力發(fā)展智能電網成為了其中的解決方案之一。
智能電網的發(fā)展,使得用電過程中的問題尤其是異常用電問題暴露出來。異常用電作為一種非法行為,一直受到相關部門的控制。但是隨著智能電網的發(fā)展,異常用電的技術手段越來越多,越來越不易被發(fā)現,異常用電的檢測問題日益嚴重。
在美國,每年因異常用電損失60億美元[2],而我國每年損失大概200億元[3]。異常用電行為在帶來損失的同時也給電網的安全、穩(wěn)定的運行帶來了一定難度[4]。智能電表的普及,一方面阻止了某些異常用電行為的發(fā)生[5],另一方面提供了大量的用電數據用于分析檢測,一定程度上降低了異常用電造成的損失。但是目前異常用電所造成的能源浪費在經濟損失上仍占很大的比例,對于異常用電的檢測方法也存在一定的提升空間。
隨著智能電表的普及,大量的用電數據為數據驅動的異常用電檢測方法提供了數據支持。數據驅動的異常用電檢測方法主要可以分為基于聚類、基于回歸以及基于分類的三類。其中,回歸和分類屬于有監(jiān)督學習方法,聚類屬于無監(jiān)督學習方法。
基于聚類的異常用電檢測方法是將相似的用電數據通過特定算法劃分成一個類別。文獻[6]通過最優(yōu)路徑森林聚類方法實現對異常用電的檢測,并且與k-均值聚類和高斯混合模型等聚類方法進行了對比,驗證了該方法的優(yōu)越性。文獻[7]采用了模糊C-均值聚類來檢測用戶中的異常用電行為,并且可以根據模糊程度來判斷其異常的程度?;诰垲惖漠惓S秒姍z測方法好處是不需要帶標簽的數據即可實現異常用電檢測。但是,其缺點是聚類方法對參數的依賴性較高,參數選取通常比較困難。
基于回歸的異常用電檢測方法是根據歷史用電數據以及各類用電影響因素對未來用電量進行預測,再根據預測量與實際用電量對比來確定是否存在異常用電行為。文獻[8]使用了差分整合移動平均自回歸模型和神經網絡對天然氣的用量進行了預測并且判斷是否存在異常。文獻[9]中的作者采用基于線性回歸的方法來確定單個房屋的異常,并從房屋數據中清除此類異常,從而提供能源消耗模式的精確評估。但是,在實際生活中,用戶的用電量與各種因素相關比如溫度,天氣狀況等,并且隨機性較強,因此很難依靠基于回歸的方法實現較高精度的檢測。
基于分類的異常用電檢測方法可以將其分為機器學習方法和深度學習方法。經典的機器學習方法在異常用電檢測中發(fā)揮了重要作用。文獻[10-11]中,作者提出了基于K-近鄰(KNN,K-nearest neighbor)的算法來檢測異常用電。文獻[12-13]中,作者使用支持向量機來診斷由竊電而導致的異常。文獻[14]中,作者改進了決策樹模型,利用異常類和正常類的密度來檢測消費數據中的異常。集成方法也為異常用電檢測貢獻了力量。文獻[15]中,作者提出了梯度樹增強(GBT,gradient boosting tree)方法來檢測異常用電行為。文獻[16]中,作者提出了以隨機森林作為分類器的模型來檢測異常用電。
隨著深度學習進入大眾的視野,基于深度學習的方法也被成功應用于異常用電檢測中。在文獻[17]中,作者設計了一種基于循環(huán)神經網絡的異常檢測系統(tǒng),該系統(tǒng)可以從數據中去除季節(jié)性因素,從而能更好地捕捉數據的真實分布。文獻[18]中,作者使用循環(huán)神經網絡和K-均值的混合模型識別異常消費。文獻[19-20]中,作者提出了基于自動編碼器和長短期記憶網絡的方法識別用電數據中的異常。文獻[21]中,作者提出了變分循環(huán)自編碼器來檢測異常。文獻[22]中,作者將隨機森林與卷積神經網絡結合來檢測竊電行為。而在文獻[23-24]中,作者提出了基于卷積神經網絡的模型,并且將用電數據轉成二維數據來學習數據特征。
盡管異常用電檢測已經取得了很多成果,但是仍然存在著很多問題。其中最重要的問題就是用電數據存在嚴重的非均衡性。因為用電數據涉及到用戶的隱私,所以用戶一般不會公開其用電數據。即便公開,可以得到的也是正常的用電數據,異常數據幾乎沒有。如果數據集中正常數據的數量遠遠大于異常數據數量,那么在訓練檢測模型時,模型更傾向于學習正常數據,不能學到異常數據的數據特征,導致檢測效果較差。
合成少數類過采樣技術的廣泛應用為解決該問題提供了思路。合成少數類過采樣技術通過線性插值合成新樣本,實現少數類樣本和多數類樣本數量的均衡。文獻[25]中,作者使用合成少數類過采樣技術生成巖石可灌漿性分類數據。文獻[26]中,作者使用合成少數類過采樣技術擴充冷水機組故障數據。因此,在本文,可以借助上述思想,使用邊界合成少數類過采樣技術(BSMOTE,borderline synthetic minority oversampling technique)對異常數據進行擴充,得到數據平衡的數據集,然后再用于異常用電的檢測中。
另外,由于用電數據是典型的時間序列數據,因此如何選擇分類器也是一個重要問題。門控循環(huán)單元(GRU,gated recurrent units)是循環(huán)神經網絡的變體,通過其內部的門結構可以實現對時間序列數據長期特性的記憶,并且可以緩解梯度消失的問題。文獻[27]中,作者使用門控循環(huán)單元解決時間序列中長時間依賴問題用于手勢識別。在文獻[28]中,作者使用門控循環(huán)單元用于語音識別。受上述工作的啟發(fā),在本文,使用GRU作為用電數據的分類器,實現對異常用電的檢測。
為了解決上述非均衡數據以及時間序列特性問題,提出了基于門控循環(huán)單元和邊界合成少數類過采樣技術的異常用電檢測方法 (GRU-BSMOTE),本文的貢獻及創(chuàng)新點如下。
1)使用BSOMTE解決數據非均衡問題。使用BSMOTE對實現對少數類異常數據的有效擴充,使其數量與正常數據保持一致。該過程能夠有效緩解因異常數據不足導致的模型訓練不佳的問題。
2)為了更好地捕獲用電數據的時間序列特征,使用GRU對用電數據進行分類。GRU能夠有效學習數據的時間特征,在減少訓練時間的情況下解決長時間依賴和梯度消失的問題。
3)為了驗證該方法的有效性,基于非均衡數據集做了詳細的對比實驗。實驗結果表明,該方法能夠實現在不同擴充比例情況下對數據的有效擴充,并且能以更高的準確率實現對異常用電的檢測。
在實際應用中,常見的數據非均衡問題的解決方法有3種,分別是數據過采樣、欠采樣和模型算法的改進。欠采樣是指少數類樣本數量不影響模型訓練的情況下,對多數樣本欠采樣,實現樣本數據的均衡。過采樣是指少數類樣本數量不足以支持模型的訓練時,對少數類樣本過采樣,使其與多數類樣本數量保持一致。模型算法的改進主要是提升模型對于少數類樣本的學習能力?;谏鲜龇椒ňC合考慮后,在本文使用過采樣技術對異常用電數據進行擴充。
在各種過采樣方法中,合成少數類過采樣技術(SMOTE,synthetic minority oversampling technique)是一種常用的方法,通過合成少數類樣本來均衡數據集中各類樣本的分布,提高非均衡數據集的分類精度。合成少數類過采樣技術的原理是在相距較近的少數類樣本之間生成新樣本,沒有充分考慮近鄰樣本的分布特點,存在一定的盲目性,非常容易造成數據類別之間的重復。而位于邊界中的樣本又對于模型進行分類決策有著重要作用。因此,本文使用邊界合成少數類過采樣技術對數據進行處理,實現對于非均衡數據集分類精度的提升。邊界合成少數類過采樣技術是在少數類樣本的邊界樣本中合成新樣本,可以有效避免上述問題的發(fā)生,提高生成新樣本的質量,提高模型學習各類樣本特征的能力,其原理如圖1所示,并且詳細介紹了其步驟。
圖1 邊界合成少數類過采樣技術原理圖
步驟1:計算少數類樣本的每個樣本點pi與所有樣本的歐式距離,得到該樣本的m近鄰。
由于數據各個類別的邊界數據對于模型的訓練分類效果有著重要的作用,因此,邊界合成少數類過采樣技術在邊界樣本中合成新樣本,合成的少數類新樣本的分布更加合理,更加有利于模型區(qū)分各類數據,實現分類準確率及精度的提高。
長短期記憶網絡(LSTM,long short-term memory)作為特殊的循環(huán)神經網絡,主要是為了解決長時間依賴以及梯度消失等問題。長短期記憶網絡擁有3個由Sigmoid和點積操作構成的門結構,通過3個門結構的配合實現對時間序列中信息的丟棄和保留。雖然長短期記憶網絡對于長期記憶問題非常有效,但是因為其引入了很多內容,導致其參數變多,使得訓練過程難度加大。
門控循環(huán)單元是將長短期記憶網絡簡化改進后的處理時間序列數據的模型。門控循環(huán)單元同樣能解決長時間依賴以及梯度消失的問題,并且與長短期記憶網絡不同的是,門控循環(huán)單元只有兩個門結構,在輸出時也取消了二階非線性函數。在保證學習效果的基礎上,門控循環(huán)單元可以有效減少訓練時間。在本文,使用門控循環(huán)單元作為分類器實現對用電數據的分類。門控循環(huán)單元的原理如圖2所示,并且詳細介紹了其原理。
圖2 門控循環(huán)單元原理圖
如圖2所示,門控循環(huán)單元中的門結構都是由點積操作和Sigmoid構成,通過二者的配合可以實現對信息的丟棄和保留。門控循環(huán)單元的兩個門結構分別是重置門和更新門。
首先,重置門rt可以表示為:
rt=Sigmoid(xtWxr+ht-1Whr+br)
(1)
其中:xt是輸入,ht-1是上一節(jié)點的隱藏狀態(tài),Wxr和Whr是權重矩陣,br是偏置。Sigmoid的取值是0~1,因此可以充當門控信號,決定丟棄多少信息保留多少信息。
然后,更新門zt可以寫做:
zt=Sigmoid(xtWxz+ht-1Whz+bz)
(2)
(3)
其中:ht-1包含了過去的信息,rt是重置門,⊙是按元素相乘。tanh激活函數可以將數據縮放到-1~1的范圍內。
最后,最終的隱藏狀態(tài)ht可以表示為:
(4)
其中:zt的取值是0~1,當zt趨于1時,表示長期依賴一直存在。當zt趨于0時,表示忘記隱藏信息中的不重要信息。門控循環(huán)單元的關鍵在于使用了同一個門控zt即可實現對信息的遺忘和選擇記憶。
總之,門控循環(huán)單元中的重置門決定了如何將當前輸入信息與前面的記憶信息結合,更新門決定了前面的記憶有多少保存到當前時間。通過上述操作,可以解決對時間序列數據長期依賴問題,并且可以緩解梯度消失。
異常用電檢測中的數據非均衡問題是指數據集中異常用電數據數量遠遠小于正常數據。在模型訓練時,很難根據少量的異常數據學習到其特征,也就是說模型很難對異常數據進行檢測識別,導致異常用電檢測的效率低。
智能電表收集到的用戶用電數據是典型的時間序列數據,選擇怎樣的模型對其進行分類尤為重要。循環(huán)神經網絡是常用于時間序列數據分類或者預測問題的模型。雖然循環(huán)神經網絡處理時序數據具有一定優(yōu)勢,但是它卻無法解決時間序列中長時間依賴關系的問題,并且存在嚴重的梯度消失問題。
在本文,為了緩解非均衡數據導致的模型訓練不佳的問題,使用BSMOTE對少數類數據進行擴充,得到平衡的數據集對模型進行訓練。然后,為了更好的發(fā)掘時間序列數據的特性,解決時間序列中長期記憶以及梯度消失的問題,使用GRU構建用電數據與用電行為的映射關系。該方法的整體框架如圖3所示,下面介紹了該方法的詳細步驟。
圖3 非均衡數據異常用電檢測流程圖
步驟1:對數據進行清洗,去除其中的異常值并且對使用平均值來代替其中的缺失值。
步驟2:由于用電數據存在嚴重的非均衡問題,即正常用電數據的數量遠遠大于異常用電數據,使用BSMOTE對少數類數據進行擴充,得到平衡數據集。
步驟3:將平衡數據集劃分為訓練數據集和測試數據集。使用訓練數據集對門控循環(huán)單元進行訓練、更新模型參數。測試數據集用于驗證模型的訓練效果。
值得注意的是,由于對異常用電檢測模型訓練使用的是由BSMOTE與真實數據構成的訓練數據集,在測試時,一方面需要測試模型對于異常檢測的準確率,另一方面也需要測試BSMOTE合成的數據是否可以用于異常用電檢測模型的訓練。因此,測試集數據應該全部是由真實數據構成,不僅可以測試模型的性能,還能夠測試合成數據是否符合真實用電數據特性。
在本文使用的數據集來自文獻[29],該數據集來自國外一家省級電力公司,其中包括了正常用電數據以及五類異常用電數據。在數據集中隨機選取正常以及五類異常數據將其繪制在圖4中。
圖4 數據展示
如圖4所示,正方形點所在的線代表了正常用電數據,其余5個線條代表了五類異常數據。其中,異常1表示用電量異常減少;異常2代表用戶的主線路發(fā)生故障;異常3代表用戶的支路線路發(fā)生故障;異常4代表用戶用電量異常增加;異常5代表用戶用電量在任意時間內異常增加。
另外,為了衡量模型應對非均衡數據的能力,使用了準確率(Acc,accuracy),精確度(P,precision),召回率(R,recall),和F1分數(F1,F1-score)4個指標。
準確率是預測正確的樣本數量占總樣本數量的比值,其公式如下:
(5)
其中:TP代表樣本實際是正類,模型將其預測為正類。TN代表樣本實際是負類,模型將其預測為負類。FP代表樣本實際是負類,但是模型卻將其預測為正類。FN代表樣本實際是正類,但是模型將其預測為負類。
精確度是指所有預測為正類的樣本中,實際也為正類的概率,計算公式為:
(6)
召回率是指實際為正類樣本,預測結果也是正類的概率,計算公式為:
(7)
在應用中,精確度和召回率都希望很高,但是實際上二者是存在矛盾的,無法做到二者都最高,因此為了衡量二者的平衡,定義了F1分數。F1分數可以同時考慮精確度和召回率,也就是說精確度和召回率的平衡點是F1分數,其計算公式為:
(8)
在本文,將門控循環(huán)單元與經典分類模型支持向量機(SVM,support vector machine)以及時間序列模型長短期記憶網絡做了對比。
SVM作為典型的分類模型在故障診斷[30]和功率預測[31]方面取得了成功應用。SVM通過尋找最優(yōu)分類面實現對數據的分類。不僅可以對線性數據進行分類,借助核技巧將非線性數據映射到高維空間,使得SVM也可以處理非線性數據。
為了解決循環(huán)神經網絡的無法學習到長期依賴以及梯度消失問題,LSTM被提出[32]。LSTM的優(yōu)點是其擁有3個門結構,分別為遺忘門,輸入門和輸出門。每個門結構都是由一個Sigmoid層和點積操作組成。通過3個門結構的組合可以決定信息被保留多少和被丟棄多少。
本文搭建了循環(huán)層為2的堆疊GRU用于構建用電數據與用電行為的映射關系,其中隱藏層節(jié)點數為32,損失函數設置為交叉熵損失函數,優(yōu)化器設置為Adam。在對比實驗中,構建了一個雙向LSTM模型,隱藏層節(jié)點數設置為72。在使用非線性多維支持向量分類器對用電數據進行分類時,懲罰系數設置為1,核函數設置為高斯徑向基函數(RBF,radial basis function),參數gamma設置為‘auto’。
本文的所有實驗都是在一臺標準PC機上使用Python 3.7實現的,CPU為Intel酷睿i7-7700HQ,運行頻率為2.80 GHz,內存為16.0 GB。
3.3.1 驗證BSMOTE的有效性
為了驗證BSMOTE生成數據是否與真實數據相似可以用于模型的訓練,使用生成數據作為訓練集,真實數據作為測試集做了對比實驗。另外,為了驗證均衡數據集有利于模型的訓練,還將擴充后的均衡數據集與非均衡數據集做了對比,并且考慮了不同數量真實數據的情況下即不同擴充比例的情況下,擴充后的均衡數據集的表現。擴充比例是指訓練數據集中生成數據與真實數據的比值。實驗結果如表1所示。
表1 不同訓練數據集異常用電檢測結果
從表1可以看出,當測試數據是真實數據時,異常用電的檢測結果較好。當擴充比例為11∶1時,4個指標均在99%以上;當擴充比例為5∶1時,4個指標均為98.27%;當擴充比例為3∶1時,檢測準確率為97.97%;當擴充比例為2∶1時,4個指標均在98%以上;當擴充比例為1∶1時,異常用電檢測精確度為98.59%。上述數據說明使用BSMOTE生成的數據與真實數據是非常相似的,BSMOTE在異常用電數據的擴充上是成功的。
另外,也可以看出不論生成數據與真實數據的比值是多少,與非均衡數據集相比,均衡數據集效果優(yōu)于非均衡數據集。
詳細來講,在擴充比例為11∶1時,與非均衡數據集相比,準確率提高了9.38%,精確度提高了16.85%,召回率提高了26.28%,F1分數提高了21.85%。在擴充比例為5∶1時,與非均衡數據集相比,準確率提高了8.56%,精確度提高了9.61%,召回率提高了12.54%,F1分數提高了11.10%。在擴充比例為3∶1時,與非均衡數據集相比,準確率提高了7.51%,精確度提高了7.32%,召回率提高了8.31%,F1分數提高了7.83%。在擴充比例為2∶1時,與非均衡數據集相比,準確率提高了6.75%,精確度提高了6.34%,召回率提高了5.91%,F1分數提高了6.12%。在擴充比例為1∶1時,與非均衡數據集相比,準確率提高了5.38%,精確度提高了4.72%,召回率提高了4.86%,F1分數提高了4.79%。
上述數據說明均衡的數據更有助于模型的訓練,有助于模型容易學習到不同類別數據的特征,提高模型的分類精度。
3.3.2 數據生成方法對比結果
為了驗證BSMOTE方法的有效性,在不同擴充比例下將其與生成對抗網絡(GAN,generative adversarial networks)做了對比。GAN是一種采用對抗的思想來生成數據的方法,已經在圖像生成等多個方面取得了成功應用。GAN是由生成器和判別器構成。生成器負責生成與原始數據相似的數據,判別器負責判斷該數據是生成數據還是真實數據。通過生成器和判別器的博弈,可以得到與原始數據相似的生成數據。
在該實驗中,均衡數據集是由BSMOTE和GAN擴充得到的,且擴充前原始數據保持一致。并且考慮了不同擴充比例后即訓練數據中生成數據與真實數據的比值不同的情況下的分類效果,實驗結果如表2所示。
表2 不同數據生成方法對比結果
從表2中可以看出,BSMOTE生成數據訓練的模型檢測效果優(yōu)于GAN。當擴充比例為11∶1時,BSMOTE與GAN相比4個指標平均提高了6.28%;當擴充比例為5∶1時,BSMOTE與GAN相比4個指標平均提高了5.86%;當擴充比例為3∶1時,BSMOTE與GAN相比4個指標平均提高了4.32%;當擴充比例為2∶1時,BSMOTE與GAN相比4個指標平均提高了5.12%;當擴充比例為1∶1時,BSMOTE與GAN相比4個指標平均提高了5.25%。
3.3.3 驗證GRU的有效性
為了驗證GRU對于用電數據分類的有效性,將其與SVM和LSTM做了對比。在該實驗中,3個模型所使用的數據集是BSMOTE擴充后的均衡數據集。實驗中訓練與測試數據集均一致,驗證在該條件下不同方法的異常用電檢測性能。并且在該實驗中,還考慮了不同擴充比例時的分類效果,實驗結果如表3所示。
表3 不同分類方法檢測結果
從表3中可以得出,本文提出的方法的結果優(yōu)于其他方法。當擴充比例為1∶11時,GRU與LSTM相比4個評價指標提高了3.40%~3.52%,與SVM相比提高了1.52%~3.46%。當擴充比例為1∶5時,GRU與LSTM相比4個評價指標提高了5.4%~5.52%,與SVM相比提高了3.00%~6.49%。當擴充比例為1∶3時,GRU與LSTM相比4個評價指標提高了4.69%~5.20%,與SVM相比提高了2.82%~6.46%。當擴充比例為1∶2時,GRU與LSTM相比4個評價指標提高了5.64%~5.85%,與SVM相比提高了3.00%~6.77%。當擴充比例為1∶1時,GRU與LSTM相比4個評價指標提高了5.60%~5.67%,與SVM相比提高了3.16%~7.54%。
本文提出了基于門控循環(huán)單元的非均衡數據驅動的異常用電檢測方法。使用邊界合成少數類過采樣技術解決實際應用中異常用電數據過少導致的非均衡數據問題。 邊界合成過采樣技術在數據類別邊界生成數據,能夠實現對少數類數據的有效擴充并且能夠使得模型更容易學習不同類別數據的特征。為了更好地捕獲用電數據的時間序列特征,采用GRU實現對用電數據的分類。經過詳細的實驗驗證,表明該方法能夠實現不同擴充比例情況下地數據有效擴充,并且能夠以更高的準確率檢測異常用電行為。在未來的研究中,將會致力于研究如何在保證檢測準確率的基礎上,簡化模型,降低模型參數,并且進一步減少模型的訓練時間。