武亞光,張才俊,程飛飛
(國(guó)家電網(wǎng)有限公司客戶服務(wù)中心,天津 300309)
隨著各種現(xiàn)代化技術(shù)不斷滲透到人們的工作、學(xué)習(xí)和生活中,對(duì)電力能源的需求也隨之不斷增加,因此電力消耗量不斷增加[1]。電力由電力公司提供,通過(guò)收取電費(fèi)來(lái)維持公司運(yùn)營(yíng)。電費(fèi)的收取一般以家庭、單位、團(tuán)體或者組織等為單位進(jìn)行收費(fèi),因此客戶量十分龐大,這使得客戶管理工作量十分龐大。在客戶管理中,發(fā)現(xiàn)用電異常行為是最難的部分。用戶在使用電力時(shí),會(huì)通過(guò)電表記錄下來(lái),以此來(lái)作為收費(fèi)標(biāo)準(zhǔn),然而部分用戶為了一時(shí)貪念,隨意搭接線路、篡改電表等,進(jìn)行電力竊取。這種異常用電行為屬于犯罪行為,且隨著高科技的更新,異常用電更難以發(fā)現(xiàn)[2]。
基于上述背景,關(guān)于用電異常行為檢測(cè)研究有很多,如嚴(yán)勤等人[3]以采集到的用電量數(shù)據(jù)為基礎(chǔ),提取其時(shí)序特征,將特征輸入到深度循環(huán)神經(jīng)網(wǎng)絡(luò)當(dāng)中進(jìn)行分類檢測(cè),尋找存在異常行為的用戶。鄭思達(dá)等人[4]在其研究中從智能電表中采集數(shù)據(jù),然后提取四個(gè)特征指標(biāo),將提取到的特征構(gòu)成數(shù)據(jù)集,基于聚類技術(shù)計(jì)算樣本之間的相似性,以此區(qū)分異常和正常。冉哲等人[5]在其研究中采集用戶用電數(shù)據(jù),然后利用RFE 算法提取用電特征,得到五個(gè)代表性特征,利用CatBoost 模型進(jìn)行分類識(shí)別,完成異常用電檢測(cè)。
前人研究面對(duì)一些表現(xiàn)不明顯的小用戶竊電行為檢測(cè)結(jié)果差強(qiáng)人意,因此提出基于FP-growth 算法的多尺度用電異常行為檢測(cè)。通過(guò)該研究以期提高小用戶異常用電行為排查準(zhǔn)確性,保證用電可靠性。
隨著各種竊電技術(shù)的層出不窮,異常用電行為更加難以察覺和發(fā)現(xiàn),尤其是單個(gè)居民用戶竊電規(guī)模不大,且不是持續(xù)竊電,很難檢查出用電數(shù)據(jù)異常[6]。針對(duì)上述問(wèn)題,提出一種基于FP-growth 算法的多尺度用電異常行為檢測(cè)方法,該方法利用FP-growth 算法挖掘異常用電行為與特征之間的關(guān)聯(lián)規(guī)則,通過(guò)計(jì)算二者之間的支持度和置信度來(lái)判斷竊電行為是否發(fā)生。
對(duì)用戶用電異常行為檢測(cè)的實(shí)質(zhì)是一個(gè)數(shù)據(jù)挖掘過(guò)程,而數(shù)據(jù)挖掘的前提是有大量的樣本數(shù)據(jù)[7]?;诖耍秒姅?shù)據(jù)采集至關(guān)重要,具體過(guò)程如下:
步驟1:遠(yuǎn)程采集檢測(cè)中心發(fā)布采集任務(wù);
步驟2:HTTP 服務(wù)器對(duì)用電數(shù)據(jù)采集任務(wù)進(jìn)行解析;
步驟3:將解析結(jié)果存入數(shù)據(jù)庫(kù);
步驟4:返回入庫(kù)結(jié)構(gòu)給HTTP 服務(wù)器,并轉(zhuǎn)發(fā)給監(jiān)控中心;
步驟5:遍歷數(shù)據(jù)庫(kù),獲取滿足條件的采集任務(wù);
步驟6:將任務(wù)進(jìn)行分解,得到若干子任務(wù),并將其存入數(shù)據(jù)庫(kù);
步驟7:輪詢數(shù)據(jù)庫(kù),獲取需要執(zhí)行的子任務(wù);
步驟8:通過(guò)消息總線轉(zhuǎn)發(fā)給協(xié)議棧;
步驟9:解析消息并轉(zhuǎn)發(fā)給協(xié)議模塊;
步驟10:組成相應(yīng)報(bào)文,并發(fā)送給集中器;
步驟11:集中器獲取用電數(shù)據(jù);
步驟12:轉(zhuǎn)化集中器上報(bào)的數(shù)據(jù)報(bào)文為JSON 格式的執(zhí)行結(jié)果;
步驟13:通過(guò)消息總線將結(jié)果發(fā)送給任務(wù)執(zhí)行模塊;
步驟14:在任務(wù)執(zhí)行模塊當(dāng)中將結(jié)果轉(zhuǎn)換為DB文件;
步驟15:將DB 文件反饋給檢測(cè)中心。
上述步驟為采集器采集用電數(shù)據(jù)的具體流程,為后續(xù)異常檢測(cè)提供可利用和可挖掘的基礎(chǔ)數(shù)據(jù)[8]。
基于上述采集到的用電數(shù)據(jù),進(jìn)行預(yù)處理,以提高數(shù)據(jù)質(zhì)量。
1)缺失數(shù)據(jù)填補(bǔ)
采集到的用電數(shù)據(jù)中難以避免地會(huì)出現(xiàn)部分缺失的情況,若是該數(shù)據(jù)是關(guān)鍵數(shù)據(jù),一旦缺失將直接影響異常檢測(cè)的準(zhǔn)確性[9]。面對(duì)這一情況,通過(guò)下述插值公式進(jìn)行填補(bǔ):
式中,Xi代表缺失的用電數(shù)據(jù);Xj代表樣本中第j個(gè)數(shù)據(jù);n代表樣本中數(shù)據(jù)數(shù)量。
2)數(shù)據(jù)標(biāo)準(zhǔn)化
數(shù)據(jù)標(biāo)準(zhǔn)化的作用是方便不同量綱數(shù)據(jù)之間可以進(jìn)行同一運(yùn)算而進(jìn)行的處理[10]。計(jì)算公式如下:
最后的異常行為檢測(cè)與識(shí)別是以用戶用電數(shù)據(jù)特征作為輸入的,因此選取的特征越具有代表性,檢測(cè)結(jié)果越準(zhǔn)確[11]?;诖?,進(jìn)行多尺度特征選取研究,具體過(guò)程如下:
步驟1:列舉所有用電數(shù)據(jù)特征,包括用電量標(biāo)準(zhǔn)差、負(fù)荷、線損、用電模式、不平衡率等,具體如表1所示[12];
表1 用電數(shù)據(jù)特征表
步驟2:對(duì)指標(biāo)進(jìn)行向量化;
步驟3:計(jì)算每個(gè)特征向量的重要性指數(shù),計(jì)算公式如下:
式中,Pi代表第i個(gè)特征向量的重要性指數(shù);wi代表權(quán)重;Si代表第i個(gè)特征向量;m代表特征向量數(shù)量,在這里取值m=14;
步驟4:按照重要性指數(shù)從大到小的順序進(jìn)行特征向量排序;
步驟5:選取重要性指數(shù)排名前K的特征向量組成新的特征集合;
步驟6:按照下述公式計(jì)算特征集合中每個(gè)特征的貢獻(xiàn)率,計(jì)算公式如下:
式中,Ri代表第i個(gè)特征向量的貢獻(xiàn)率;Qi代表i個(gè)特征向量的排名;K代表特征集合中特征向量的數(shù)量。
步驟7:根據(jù)貢獻(xiàn)率選取大于1.0 的特征向量作為最優(yōu)特征指標(biāo)[13]。
基于上述過(guò)程完成多尺度特征選取工作,為后續(xù)研究奠定基礎(chǔ)。
將上一節(jié)選出的特征參量作為基礎(chǔ),利用FP-growth 算法挖掘關(guān)聯(lián)規(guī)則,實(shí)現(xiàn)用電異常行為檢測(cè)[14]。
FP-growth 算法中涉及兩個(gè)關(guān)鍵概念,即支持度和置信度。
1)支持度
支持度是指項(xiàng)集A和項(xiàng)集B同時(shí)出現(xiàn)的概率[15]。計(jì)算公式如下:
式中,Support(A?B)代表支持度;Num(A?B)代表A和B同時(shí)出現(xiàn)的次數(shù);Num(Z)代表總事務(wù)集中事務(wù)數(shù)量。
2)置信度
置信度是指同時(shí)包含A和B的事務(wù)占包含A的事務(wù)的比例[16]。計(jì)算公式如下:
式中,Confidence(A|B)代表置信度;Num(A) 代表包含A的事務(wù)數(shù)量。
基于FP-growth 算法進(jìn)行關(guān)聯(lián)多尺度用電異常行為檢測(cè),具體過(guò)程如下:
步驟1:掃描事務(wù)數(shù)據(jù)庫(kù)Z;
步驟2:設(shè)置最小支持度閾值,記為φ為最小置信度閾值;
步驟3:從Z中挖掘滿足條件的頻繁項(xiàng)集,具體過(guò)程如下:
1)按照式(5)計(jì)算Z中每個(gè)項(xiàng)的支持度Support(A?B);
2)判斷Support(A?B)是否不小于φ?若是,將該項(xiàng)加入頻繁項(xiàng)集;否則,刪除該項(xiàng);
步驟4:再次掃描事務(wù)數(shù)據(jù)庫(kù),生成項(xiàng)頭表。
1)按照式(6)計(jì)算Z中每個(gè)項(xiàng)的置信度;
2)判斷每個(gè)項(xiàng)的置信度是否不小于φ。若大于,將該項(xiàng)加入項(xiàng)頭集;否則,刪除該項(xiàng);
3)按照置信度大小進(jìn)行降序排列,生成項(xiàng)頭表。步驟5:構(gòu)造FP-tree 結(jié)構(gòu)。
1)創(chuàng)建根節(jié)點(diǎn);
2)遍歷頻繁項(xiàng)集中的每項(xiàng)事務(wù);
3)把每項(xiàng)事務(wù)一一映射到FP-tree 結(jié)構(gòu)中。
步驟6:構(gòu)造條件FP-tree;
步驟7:基于條件遞歸挖掘,產(chǎn)生頻繁項(xiàng)集;
步驟8:從頻繁項(xiàng)集中產(chǎn)生關(guān)聯(lián)規(guī)則,即挖掘特征與用電行為之間的關(guān)聯(lián)規(guī)則。
基于以上分析可知,基于關(guān)聯(lián)規(guī)則實(shí)現(xiàn)用電異常行為檢測(cè),即當(dāng)特征與用電行為之間的支持度大于1 時(shí),則認(rèn)為存在用電異常。
以基于深度循環(huán)神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法、基于模糊聚類的檢測(cè)方法以及基于RFE+CatBoost 的檢測(cè)方法為對(duì)比項(xiàng),進(jìn)行用電異常行為檢測(cè)分析與測(cè)試。
該測(cè)試中所使用的樣本來(lái)自愛爾蘭社會(huì)科學(xué)數(shù)據(jù)檔案館,該樣本分布情況如圖1 所示。
圖1 樣本分布圖
檢測(cè)方法的評(píng)價(jià)指標(biāo)為F1 指標(biāo),計(jì)算公式如下:
式中,P代表查準(zhǔn)率;R代表查全率,其余指標(biāo)來(lái)自混淆矩陣,如表2 所示。
表2 混淆矩陣
相同測(cè)試條件下,利用所研究方法、基于深度循環(huán)神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法、基于模糊聚類的檢測(cè)方法以及基于RFE+CatBoost 的檢測(cè)方法進(jìn)行用電異常行為檢測(cè),根據(jù)檢測(cè)結(jié)果計(jì)算F1 值,結(jié)果如圖2 所示。
圖2 方法異常檢測(cè)結(jié)果
從圖2 可以看出,該文方法的F1 值大于基于深度循環(huán)神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法、基于模糊聚類的檢測(cè)方法以及基于RFE+CatBoost 的檢測(cè)方法檢測(cè)結(jié)果的F1 值,說(shuō)明該方法的檢測(cè)更為準(zhǔn)確。
該文研究了基于FP-growth 算法的多尺度用電異常行為檢測(cè)方法,通過(guò)測(cè)試證明了該研究方法的檢測(cè)準(zhǔn)確性,即F1 值更大。后續(xù)工作中,在測(cè)試環(huán)節(jié)需要進(jìn)一步將方法應(yīng)用到實(shí)際當(dāng)中,以測(cè)試方法的實(shí)際應(yīng)用性。