潘磊 楊延 連浩 方龍泉
摘? ?要:異?;蚱墼p造成的非技術(shù)性電力損失是電力公司損失的主要源頭之一。智能電表的廣泛使用,使得運用大數(shù)據(jù)方法實現(xiàn)對非技術(shù)性電力損失的有效檢測成為可能。提出了一種使用監(jiān)督學(xué)習(xí)進行非技術(shù)損失檢測的方法。該方法基于智能儀表記錄的所有信息(耗電量、異常警報等)結(jié)合輔助數(shù)據(jù)庫所提供的有關(guān)每個智能電表的地理位置和技術(shù)參數(shù)的附加信息,使用最優(yōu)的機器算法來深入分析用電客戶的用電行為,生成異常用電客戶列表。通過現(xiàn)場檢查的結(jié)果表明,該方法能夠較為準(zhǔn)確地識別智能電網(wǎng)中所存在異常用電客戶。
關(guān)鍵詞:監(jiān)督學(xué)習(xí);非技術(shù)損失;智能電表;超梯度提升樹
中圖分類號:TP391? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標(biāo)識碼:A
文章編號:1003—6199(2020)02—0177—07
Abstract:Non-technical power loss is one of the main sources of power company abnormal? losses. The wide use of intelligent meters makes it possible to effectively detect non-technical power losses by using big data. A supervised learning method for non-technical loss detection is proposed. Based on all the information recorded by intelligent meters (power consumption,abnormal alarm,etc.) and the additional information about the geographical location and technical parameters of each smart meter provided by the auxiliary database,the method uses the optimal machine algorithm to analyze the power consumption behavior of power customers in depth,and generates a list of abnormal power users. The results of on-site inspection show that this method can accurately identify abnormal customers in smart grid.
Key words:supervised learning;non-technical loss;smart meter;extreme gradient boosted trees
由于電表安裝錯誤、電表參數(shù)化錯誤,電表故障或竊電行為所導(dǎo)致的非技術(shù)電力損失(NTL)不僅會造成電力公司巨大的收入損失,而且還會影響耗電量測量的不確定性以至于影響電力系統(tǒng)的穩(wěn)定運行[1-3]。因此降低NTL是電力公司希望迫切解決的問題,由于智能電表(SM)已經(jīng)得到普及,使得電力公司設(shè)計基于智能電表所采集的大數(shù)據(jù)來檢測NTL成為可能。為此,提出了一種使用SM數(shù)據(jù)和輔助數(shù)據(jù)庫來確定客戶用電行為的各種特征,并結(jié)合有關(guān)SM的地理位置等附加信息,采用監(jiān)督機器學(xué)習(xí)算法對這些特征進行分類,最終生成一個異常用電客戶列表。通過使用實際數(shù)據(jù)對模型進行訓(xùn)練、驗證和測試,表明該NTL檢測數(shù)據(jù)模型具有優(yōu)于其他分類算法的良好性能。
1? ?NTL檢測方法
所述方法的主要目的是根據(jù)電力公司的智能電表出現(xiàn)異常的概率,為用電客戶提供一份異常排名表。該方法中使用SM數(shù)據(jù)進行特征提取的算法流程如圖1所示。所提取的特征主要SM報警數(shù)據(jù)、電能消耗數(shù)據(jù)(EC)和電氣參數(shù)測量數(shù)據(jù),以及從輔助數(shù)據(jù)庫中提取的地理信息和智能電表技術(shù)參數(shù)。在對數(shù)據(jù)集進行預(yù)處理后,將這些特征作為輸入插入到多個機器學(xué)習(xí)(ML)算法中,用于算法選擇和評估。如果評估最優(yōu)的算法性能滿足所需的標(biāo)準(zhǔn),則會保存其參數(shù),并用于預(yù)測新客戶樣本,獲得最終輸出的客戶排名列表。
2? ?智能電表(SM)數(shù)據(jù)
使用北京市供電公司提供的SM數(shù)據(jù)進行模型訓(xùn)練、驗證和測試。所研究的SM數(shù)據(jù)客戶包括工業(yè)和大型商業(yè)客戶。智能電表具備每15分鐘記錄一次EC的性能,但為了減少數(shù)據(jù)處理量以及避免可能出現(xiàn)的侵犯客戶隱私問題,數(shù)據(jù)采樣頻率降低到5次/天。所采集的SM數(shù)據(jù)中包含的測量內(nèi)容如表1所示。
根據(jù)所采集的SM數(shù)據(jù)評估檢測模型的性能。被檢測的客戶用電數(shù)據(jù)則根據(jù)不同采樣周期被分成多個目標(biāo)樣本,如圖2所示。
所使用的監(jiān)督機器學(xué)習(xí)(ML)方法,通過使用這些類型客戶的所有現(xiàn)場檢查結(jié)果來驗證學(xué)習(xí)結(jié)果。訓(xùn)練數(shù)據(jù)集是通過對被檢測客戶的用電數(shù)據(jù)采樣而創(chuàng)建的。該數(shù)據(jù)集被用來訓(xùn)練一個ML算法,以發(fā)現(xiàn)異常用電的特征模式。
排名列表是為從未進行過檢測或上次檢測時間超過90天前的客戶創(chuàng)建的,如圖2所示。這個列表是通過使用一個經(jīng)過訓(xùn)練的模型對那些客戶用電樣本進行預(yù)測而獲得的。目標(biāo)客戶數(shù)量如表2所示。
3? ?SM數(shù)據(jù)的特征提取
使用SM數(shù)據(jù)中質(zhì)量字節(jié)(QB)開發(fā)出可以提取有關(guān)電表故障或數(shù)據(jù)篡改特征的功能;使用SM數(shù)據(jù)中EC測量數(shù)據(jù)提取用電量的異常下降的特征。
3.1? ?從QB中提取的特征
在IEC 870-5-102協(xié)議中,QB使用8位bit來生成智能電表報警信息[4]。表3顯示了QB的警報類型。其中一個二進制字節(jié)被分成八個單獨的bit位,每個bit代表一個警報類型。如果在測量期間(文中是一天)觸發(fā)了警報,則其值將設(shè)置為1;否則,其值將為零。
3.2? ?從EC測量中提取的特征
對于大多數(shù)竊電相關(guān)的異常,通??梢员憩F(xiàn)為EC的突然減少[5]。但是,如果EC的異常減少在檢測之前開始,則無法捕捉。因此需要引入聚類技術(shù)以捕捉這種異常的用電行為。
為了避免測量誤差,測量日類型t分別為工作日、周六和周日,公共假期期間所采集的測量值則被刪除。特征的計算周期n分別為15天、30天、45天、60天和90天。表4顯示了可以使用Zscore所得出的特征。
EC測量還可用于檢測智能電表故障。 每組測量的時間戳可用于計算在最近n天內(nèi)接收的測量數(shù)量。這些數(shù)據(jù)可以向ML模型通知某個SM的最近n天中缺失測量的數(shù)量。此外,SM數(shù)據(jù)還可以用于獲取用電量為0 kW/h的用電客戶。
由于在分析期之前已經(jīng)開始的用電異常減少的情況無法采用上述辦法發(fā)現(xiàn),因此必須采用聚類技術(shù)提取異常用電特征。
為了發(fā)現(xiàn)可能的異常用電客戶,使用每個客戶樣本中的約定功率創(chuàng)建客戶分類。這些分類是使用k-均值聚類算法創(chuàng)建的。所創(chuàng)建的最佳分類簇數(shù)為25。
為了實現(xiàn)對異??蛻舻姆诸?,本文采用了基于距離的分類方法[6]。該方法是基于每個客戶用電量生成基礎(chǔ)用電模式,然后依據(jù)基礎(chǔ)用電模式對客戶進行分類,最后根據(jù)客戶的用電模式和基礎(chǔ)用電模式的距離來生成異常用電特征。在使用每個客戶的用電量實現(xiàn)客戶分類后,為每個月的用電分析創(chuàng)建了基礎(chǔ)用電模式。每個客戶分類的基本用電模式都是使用屬于該分類的所有非異常客戶樣本的EC創(chuàng)建。
式2中Bk? ? ?i,j,t是為t日(工作日、周六、周日)客戶群k的第i個月、第j年的基本用電模式。M表示屬于客戶群k的客戶集合,其具有沒有檢測到異常的檢查,而N是這些客戶的數(shù)量。PIt、PIIt、PIIIt、PIVt和PVt為采樣時間窗期間的t日的平均用電量。
在為每個客戶分類創(chuàng)建基礎(chǔ)用電模式之后,使用基礎(chǔ)模型和客戶用電模型之間的距離,為每個客戶樣本計算了以下幾個特征值。
對于每個客戶樣本,通過平均上個月的工作日和周末的用電量,創(chuàng)建了兩種用電模式。
其中Ct代表用電模式,PIt,PIIt,PIIIt,PIVt和PVt是上個月t日的平均用電量。
通過計算客戶樣本的每種用電模式與其基本用電模式之間的歐幾里德和曼哈頓距離可以得出客戶獨有的用電特征[7,8]。其中曼哈頓距離是針對每個單獨的時間范圍以及整天計算的,而歐幾里德距離是使用所有時間窗口計算的。
其中,Mwt是時間窗w和t日的客戶樣本的曼哈頓距離,MTt是所有時間窗的曼哈頓總距離。
使用所有時間窗計算的歐幾里得距離為:
其中,ETt是所有時間窗的總歐氏距離。使用距離測量獲得的特征如表5所示。
4.3? ?從電氣參數(shù)中提取的特征
使用電氣參數(shù)(EM)開發(fā)的特征旨在主要檢測諸如相位反轉(zhuǎn)和分流(三相客戶)之類的竊電行為。電氣參數(shù)在三個時間范圍(上午9點至下午6點,晚上7點至晚上10點,晚上11點至上午8點)進行采樣。使用每個時間幀內(nèi)的最后一個采樣值來計算特征。表5顯示了使用EM開發(fā)的用電特征。
4? ?從輔助數(shù)據(jù)庫中提取的特征
由地理信息系統(tǒng)(GIS)等相關(guān)的應(yīng)用程序和電力營銷數(shù)據(jù)庫中獲取如表6中所述的客戶用電特征。
地理信息系統(tǒng)(GIS)數(shù)據(jù)不僅提供了客戶的位置信息,還提供了附近地區(qū)的NTL信息。設(shè)備數(shù)據(jù)庫提供有關(guān)智能電表技術(shù)參數(shù)信息。營銷數(shù)據(jù)庫則提供了客戶的用電規(guī)模、用電類型以及計費費率等相關(guān)信息。
5? ?模型的選擇和評估
針對不同的數(shù)據(jù)集需要采用不同的分類模型能夠取得更好的額分類性能。因此本研究在NTL檢測方法中采用基于ML算法的評估選擇最優(yōu)的分類模型。為了評估ML算法的性能,將目標(biāo)訓(xùn)練數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集、驗證數(shù)據(jù)集和測試數(shù)據(jù)集。驗證數(shù)據(jù)集用于調(diào)整模型的超參數(shù),而測試數(shù)據(jù)集用于評估模型的分類效果。
所使用模型選擇和評估方法如圖3中所示。鑒于異常用電樣本的稀缺性,選擇嵌套交叉驗證(NCV)以盡可能多地利用可用數(shù)據(jù)[10,11]。交叉測試用于模型評估階段。
由圖3可以觀察到,與其他傳統(tǒng)方法相比,NCV是一種計算成本較高的方法。然而,該方法的主要優(yōu)勢在于提供了對真實誤差幾乎沒有偏差的估計。
在使用ML算法提取上述特征之前,首先對數(shù)據(jù)集進行如下幾個預(yù)處理步驟:(1)將每個特征標(biāo)準(zhǔn)化為零均值和單位方差;(2)使用一個熱編碼將分類變量轉(zhuǎn)換為數(shù)值變量;(3)連續(xù)特征的缺失值用平均值代替,離散特征的缺失值用最頻繁的值代替。
對于模型選擇和評估,使用5倍嵌套交叉驗證。由于計算的限制,超參數(shù)的模型選擇是利用數(shù)據(jù)集里面所有客戶。SciKit-learn庫[12]用于使用SVM、邏輯回歸和K- Nearest Neighbors(KNN)擬合模型。XGBoost[13]的模型擬合是使用其python API完成的。
5.1? ?模型選擇
在模型選擇過程中,使用NCV的內(nèi)環(huán)來選擇在驗證數(shù)據(jù)集上獲得最佳結(jié)果的超參數(shù)。采用網(wǎng)格搜索方法對超參數(shù)進行了優(yōu)化。
1)K-Nearest Neighbors(KNN)算法:KNN是最簡單的分類算法之一。它在測試時使用訓(xùn)練數(shù)據(jù)來查找最近的鄰居。在測試場景中,為了獲得新客戶的異常概率估計,算法會查看現(xiàn)場檢查的結(jié)果。因此,需要對最近鄰居的現(xiàn)場檢查結(jié)果進行平均,以便計算新客戶的概率。
表7顯示了網(wǎng)格搜索期間使用的超參數(shù)。在聚類(K)為16和冪參數(shù)(p)為2時獲得最佳結(jié)果,該結(jié)果等于歐氏距離。
超參數(shù)C表示正則化強度的倒數(shù),用于控制訓(xùn)練過程中模型的過度擬合。超參數(shù)R表示正則化的類型,取值范圍為L1和L2。用0.01的C值和L2正則化得到了模型驗證的最佳結(jié)果。
3)支持向量機(SVM)算法。SVM是常用的異常檢測分類器。與其他算法不同,SVM不預(yù)測概率估計,而是預(yù)測決策值。
SVM算法將輸入特征引入高維空間,并嘗試尋找最優(yōu)超平面,使兩類向量之間的邊界最大化。這個界限將由類的支持向量決定。支持向量是來自訓(xùn)練數(shù)據(jù)集中最接近決策功能的客戶樣本。
表9顯示了網(wǎng)格搜索SVM時使用的超參數(shù)。超參數(shù)C與邏輯回歸算法參數(shù)相似,表示正則化強度的倒數(shù)。如果客戶聚類在高維空間中不能被超平面線性地分離,那么內(nèi)核參數(shù)是有用的。當(dāng)C為0.001以及使用線性核函數(shù)時得到了模型驗證的最佳結(jié)果。
4)XGBoost(超梯度增強樹,Extreme Gradient Boosted Trees)是常見的ML算法之一。該算法通過結(jié)合許多弱分類器的預(yù)測來實現(xiàn)強分類。文中XGBoost的分類器是CART回歸樹。
該模型僅使用一個回歸樹開始訓(xùn)練過程。此回歸樹正在尋找一組規(guī)則,這些規(guī)則盡可能地將具有和不具有異常的客戶分開。 在構(gòu)建第一棵樹之后,模型會在每輪訓(xùn)練中添加一個新的回歸樹。在每一輪中,模型都會查看前一棵樹預(yù)測不佳的位置,并使用一組規(guī)則構(gòu)建一個新樹,這些規(guī)則將糾正前一個樹的錯誤。
表10顯示了在XGBoost的網(wǎng)格搜索期間使用的超參數(shù)。使用以下超參數(shù)獲得XGBoost的最佳結(jié)果:學(xué)習(xí)率為0.01,最大深度為15,最小子權(quán)重為1和2000個回歸樹。
5.2? ?模型評估
用于評估ML算法模型性能的最常用指標(biāo)之一是準(zhǔn)確性。然而,算法對嚴重不平衡數(shù)據(jù)集的準(zhǔn)確性無法提供對其預(yù)測能力的真實評估。因此本文使用AUC得分作為評估指標(biāo)。該指標(biāo)表現(xiàn)為真正率隨著假正率的增加而增加的速度。通過改變決策閾值,可以在接收器操作特征(ROC)曲線上觀察到真正率和假正率之間的折衷。
圖4顯示了在研究的每個分類模型在評估期間獲得的ROC結(jié)果??梢钥闯觯琗GBoost優(yōu)于其他分類模型,而KNN獲得最低性能。試驗使用樸素貝葉斯分類器的性能作為測試基準(zhǔn)。
為更好地評估每種算法的性能,繪制試驗中每個分類器的精確率-召回率曲線(PRC),如圖5所示。與ROC曲線一樣,通過改變概率估計的判定閾值來獲得PRC。 由圖7可知,與其他分類器相比,XGBoost在RCL達到40%時,其PRC可以達到約70%,因此表現(xiàn)出相對其他分類算法更好的性能。
在配置3.9 GHz Intel Core i7 CPU的電腦進行算法計算效率的評估。四種機器學(xué)習(xí)算法訓(xùn)練和測試期間的執(zhí)行時間如圖6所示??梢钥闯?,邏輯回歸算法是運行最快的算法。
6? ?仿真對比
將所提出的檢測方法與其他四種檢測方法進行對比。試驗數(shù)據(jù)集如表2所示。試驗平臺為配置3.9 GHz Intel Core i7 CPU的電腦。對比結(jié)果如表11所示。
對于從一開始就檢測到NTL的性能是在無法觀察到用電量下降的前提下評估算法對客戶異常用電行為的檢測性能。方法1和方法2是通過ML算法對用電數(shù)據(jù)進行聚類分析實現(xiàn)NTL檢測,并沒有對類似客戶的用電行為進行任何比較,因此無法實現(xiàn)從一開始就檢測到NTL。方法3中的方法在不使用任何集群技術(shù)的情況下,將客戶用電量與平均用電量進行比較,因此具有良好的從一開始就檢測到NTL的性能。方法4通過對地理數(shù)據(jù)、變壓器和消費概況進行k-均值聚類,對客戶進行了徹底的比較,因此也具有較好的從一開始就檢測到NTL的性能。對新類型NTL檢測適應(yīng)性與特征類型的多樣性以及EC度量的粒度有關(guān)。方法1和方法2只使用每月的EC和地理數(shù)據(jù),因此很難檢測到新類型的NTL。方法3和方法4使用更廣泛的異常特征,因此能檢測更多類型的NTL,然而低粒度的EC采樣值使得其難適應(yīng)突發(fā)性的NTL,如間歇性欺詐。本方法采用了更高測量粒度的EC增加了對新類型NTL的檢測適應(yīng)性,縮短了檢測延遲,但是降低了客戶的數(shù)據(jù)隱私。在仿真試驗中,本方法取得了最高的AUC分數(shù),這表明本方法具有最好的檢測準(zhǔn)確性。此外,在現(xiàn)場檢查的準(zhǔn)確性驗證中,所生成的異常客戶列表達到了21%的精度。
7? ?結(jié)? ?論
提出了一種基于智能儀表數(shù)據(jù)和輔助數(shù)據(jù)庫作為原始數(shù)據(jù)的非技術(shù)性損失檢測方法。在模型訓(xùn)練過程中,經(jīng)過檢查的客戶特征被用來訓(xùn)練算法參數(shù)。該方法已經(jīng)在北京供電公司的真實數(shù)據(jù)上進行了測試,獲得了0.91的AUC分數(shù),具有較好的檢測準(zhǔn)確性。
參考文獻
[1]? ? 許立武,李開成,羅奕. 基于不完全S變換與梯度提升樹的電能質(zhì)量復(fù)合擾動識別[J]. 電力系統(tǒng)保護與控制,2019,47(06):24-31.
[2]? ? 李漢巨. 基于非監(jiān)督學(xué)習(xí)的惡意欠費用電客戶識別[J]. 信息技術(shù),2019(03):33-36.
[3]? ? 柳林溪,陳泰屹. 在智能電網(wǎng)中進行用戶異常用電行為辨識的研究[J]. 信息技術(shù),2018,42(12):97-102+107.
[4]? ? 趙文清,沈哲吉,李剛. 基于深度學(xué)習(xí)的用戶異常用電模式檢測[J]. 電力自動化設(shè)備,2018,38(09):34-38.
[5]? ? 李春陽,王先培,田猛. AMI環(huán)境下異常用電檢測研究[J]. 計算機仿真,2018,35(08):66-70.
[6]? ? 陳啟鑫,鄭可迪,康重慶.異常用電的檢測方法:評述與展望[J]. 電力系統(tǒng)自動化,2018,42(17):189-199.
[7]? ? 張小斐,耿俊成,孫玉寶. 圖正則非線性嶺回歸模型的異常用電行為識別[J]. 計算機工程,2018,44(06):8-12.
[8]? ? 郭志民,袁少光,孫玉寶.基于L0稀疏超圖半監(jiān)督學(xué)習(xí)的異常用電行為識別[J]. 計算機應(yīng)用與軟件,2018,35(02):54-59.
[9]? ? 蘇適,李康平,嚴玉廷,等,王飛,董凌. 基于密度空間聚類和引力搜索算法的居民負荷用電模式分類模型[J]. 電力自動化設(shè)備,2018,38(01):129-136.
[10]? 孫毅,李世豪,崔燦. 基于高斯核函數(shù)改進的電力用戶用電數(shù)據(jù)離群點檢測方法[J]. 電網(wǎng)技術(shù),2018,42(05):1595-1606.
[11]? 王守相,劉天宇. 計及用電模式的居民負荷梯度提升樹分類識別方法[J]. 電力系統(tǒng)及其自動化學(xué)報,2017,29(09):27-33.
[12]? 許剛,談元鵬,戴騰輝. 稀疏隨機森林下的用電側(cè)異常行為模式檢測[J]. 電網(wǎng)技術(shù),2017,41(06):1964-1973.
[13]? 田力,向敏. 基于密度聚類技術(shù)的電力系統(tǒng)用電量異常分析算法[J]. 電力系統(tǒng)自動化,2017,41(05):64-70.
[14]? VIEGAS J L,ESTEVES P R,MELCIO R,et al. Solutions for detection of non-technical losses in the electricity grid:a review[J].? Renewable and Sustainable Energy Reviews,2017,80:1256-1268.
[15]? LEITE J B,MANTOVANI J R S. Detecting and locating non-technical losses in modern distribution networks[J].? IEEE Transactions on Smart Grid,2016,9(2):1023-1032.