嚴(yán) 莉,張 凱,徐 浩,韓圣亞,劉珅岐,史玉良
(1. 國(guó)網(wǎng)山東省電力公司信息通信公司,山東濟(jì)南 250013;2. 山東大學(xué)軟件學(xué)院,山東濟(jì)南 250101)
異常檢測(cè)指出從預(yù)期正常數(shù)據(jù)中檢測(cè)出扭曲或偏差的數(shù)據(jù)[1,3],這些數(shù)據(jù)通常被稱為異常值. 異常檢測(cè)已被用于許多重要領(lǐng)域,如視頻監(jiān)控、網(wǎng)絡(luò)入侵檢測(cè)、信用欺詐檢測(cè)、電力行業(yè)和醫(yī)療保健.
對(duì)于電力行業(yè),隨著電力系統(tǒng)信息化水平的提高,各種電力設(shè)備和系統(tǒng)需要處理大量數(shù)據(jù)[4]. 然而,需要處理的事件信息類型多樣,難以從數(shù)據(jù)中提取有用信息[5]. 此外,由于各種通信故障[6]、設(shè)備故障[7]、電網(wǎng)波動(dòng)[8]和用戶行為異常等原因,出現(xiàn)了大量的異常數(shù)據(jù).這些異常數(shù)據(jù)往往包含電網(wǎng)信息中的重要信息,對(duì)電力數(shù)據(jù)的準(zhǔn)確性和完整性有著重要影響. 因此,基于大規(guī)模電力數(shù)據(jù),研究異常檢測(cè)算法,分析、識(shí)別、處理異常信息,對(duì)電力行業(yè)挖掘事件信息和智能電網(wǎng)的分析具有重要意義[9,10].
目前,傳統(tǒng)數(shù)據(jù)異常檢測(cè)方法主要依靠數(shù)據(jù)專家、業(yè)務(wù)專家等人力進(jìn)行排查[11,12]. 隨著各行業(yè)及各專業(yè)數(shù)據(jù)化建設(shè)規(guī)模的逐漸擴(kuò)大,依靠傳統(tǒng)方法對(duì)海量、實(shí)時(shí)、異構(gòu)的數(shù)據(jù)異常檢測(cè)方法漸顯不足. 主要問題在于人工成本大、時(shí)間周期長(zhǎng),依賴專家經(jīng)驗(yàn)無(wú)法并發(fā)批量工作,人工治理還會(huì)引發(fā)錯(cuò)漏現(xiàn)象等,無(wú)法快速、準(zhǔn)確、低成本地滿足業(yè)務(wù)數(shù)據(jù)的使用需求;同時(shí)缺乏異構(gòu)數(shù)據(jù)環(huán)境下數(shù)據(jù)拓?fù)潢P(guān)系高效管理的手段,無(wú)法實(shí)現(xiàn)復(fù)雜邏輯數(shù)據(jù)管理智能化及數(shù)據(jù)脈絡(luò)關(guān)系可視化和清晰化,與真正實(shí)現(xiàn)“追根溯源”式的數(shù)據(jù)核查理念還存在一定的差距.
近年來(lái),隨著數(shù)據(jù)科學(xué)的進(jìn)步以及人工智能技術(shù)的發(fā)展,提出了一些基于數(shù)據(jù)挖掘和智能優(yōu)化算法的異常檢測(cè)方法[13,14]. Wang 等人[13]采用不同的聚類算法,根據(jù)電表收集的平均損失、線路損耗變化效率和電流表開路記錄來(lái)檢測(cè)10個(gè)kV 非技術(shù)損失,最后對(duì)各種聚類算法的檢測(cè)效果進(jìn)行了分析和比較. 基于異常用戶用電的差異行為特征和正常用戶,Buzau等人[14]使用長(zhǎng)期和短期的記憶網(wǎng)絡(luò)和多層感知器混合的深度神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行異常檢測(cè),它們比其他分類器具有更高的精度. 針對(duì)考慮時(shí)序數(shù)據(jù)的關(guān)聯(lián)性方面,Chahla等人[15]提出了一種基于長(zhǎng)短期記憶的異常檢測(cè)方法,用于從單變量時(shí)間序列數(shù)據(jù)中進(jìn)行不和諧搜索,然后根據(jù)觀測(cè)的數(shù)據(jù)預(yù)測(cè)誤差,最后通過(guò)統(tǒng)計(jì)策略進(jìn)行異常檢測(cè).Barua 等人[16]提出了一個(gè)基于層次時(shí)空記憶(Hierarchical Temporal Memory,HTM)的新型神經(jīng)認(rèn)知啟發(fā)架構(gòu),用于利用微相位測(cè)量單元數(shù)據(jù)進(jìn)行智能電網(wǎng)的實(shí)時(shí)異常檢測(cè). 其關(guān)鍵的技術(shù)思想是,HTM 學(xué)習(xí)連續(xù)數(shù)據(jù)的稀疏性和關(guān)聯(lián)性的時(shí)間表示,這對(duì)于實(shí)時(shí)的異常檢測(cè)非常有用. Rouzbahani 等人[17]提出了一種用于智能電網(wǎng)ETD 的集合深度卷積神經(jīng)網(wǎng)絡(luò)(EDCNN)算法. 該算法首先采用隨機(jī)下采樣技術(shù)來(lái)處理不平衡數(shù)據(jù),然后利用深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)來(lái)挖掘數(shù)據(jù)之間的相互依賴性,最后,通過(guò)嵌入一個(gè)投票機(jī)制來(lái)實(shí)現(xiàn)竊電檢測(cè). 這些方法雖然取得了不錯(cuò)的檢測(cè)效果,但是可能會(huì)忽略掉特定用戶的某些重要信息.
針對(duì)上述問題,本文提出了一種基于圖注意力和Transformer 的異常檢測(cè)模型. 該模型首先根據(jù)數(shù)據(jù)中臺(tái)中收集的電力數(shù)據(jù)構(gòu)建一個(gè)異構(gòu)信息網(wǎng)絡(luò);然后采用圖卷積網(wǎng)絡(luò)(Graph Convdutional Netword,GCN)和非負(fù)矩陣分解(Non-Negathe Matrix Factorization,NNMF)相結(jié)合的方法進(jìn)行相似性分組;最后采用圖注意力機(jī)制和Transformer 相結(jié)合的方式進(jìn)行分組異常檢測(cè).
近年來(lái),隨著信息技術(shù)的不斷發(fā)展,異常用電行為檢測(cè)方法受到了越來(lái)越多的關(guān)注. 異常用電行為檢測(cè)方法主要分為基于統(tǒng)計(jì)模型的檢測(cè)方法、基于分類的檢測(cè)方法和基于聚類的檢測(cè)方法.
基于統(tǒng)計(jì)模型的檢測(cè)方法主要結(jié)合用戶歷史的用電數(shù)據(jù)、配電網(wǎng)電壓、電流、電源等網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)和網(wǎng)絡(luò)拓?fù)?,建立異常用電檢測(cè)的統(tǒng)計(jì)模型. Lo 等人[18]基于電網(wǎng)系統(tǒng)中各節(jié)點(diǎn)電壓和功率等,使用加權(quán)最小二乘法來(lái)估計(jì)系統(tǒng)狀態(tài),并建立異常檢測(cè)的系統(tǒng)目標(biāo)函數(shù). 該方法的檢測(cè)精度高,錯(cuò)誤檢測(cè)率低. 然而,該方法的取決于配網(wǎng)的拓?fù)浜蛥?shù),而配網(wǎng)的拓?fù)浜蛥?shù)并不是恒常的. 大多數(shù)用戶難以進(jìn)行數(shù)據(jù)篡改,實(shí)現(xiàn)數(shù)據(jù)協(xié)調(diào)及異常檢測(cè).
基于分類的方法是利用電力消耗數(shù)據(jù)的特征對(duì)正常和異常進(jìn)行分類. 例如,張承智等人[19]采用實(shí)值深度置信網(wǎng)絡(luò)的檢測(cè)模型,利用螢火蟲算法求解局部最優(yōu),最后通過(guò)分類檢測(cè)異常. Wang 等人[20]提出了一個(gè)名為L(zhǎng)STM-VE 的多分類異常檢測(cè)框架,它使用聚類結(jié)合可視化的方法對(duì)正常數(shù)據(jù)進(jìn)行粗略標(biāo)記,然后使用正常數(shù)據(jù)訓(xùn)練長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)進(jìn)行半監(jiān)督異常檢測(cè). Adil 等人[21]將LSTM 和隨機(jī)下采樣Boost(RUSBoost)技術(shù)相結(jié)合實(shí)現(xiàn)竊電檢測(cè). 該技術(shù)首先使用數(shù)據(jù)歸一化和數(shù)據(jù)插值對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,預(yù)處理后的數(shù)據(jù)被進(jìn)一步交給LSTM模塊進(jìn)行特征提取,最后,精煉的特征被傳遞給RUSBoost 模塊進(jìn)行分類. Buzau 等人[14]使用長(zhǎng)期和短期記憶網(wǎng)絡(luò)和多層感知器混合深度神經(jīng)網(wǎng)絡(luò)進(jìn)行,它們比其他分類器具有更高的精度. Khaledian 等人[23]提出了一個(gè)使用無(wú)監(jiān)督的堆疊集合學(xué)習(xí)算法(隔離森林、KMeans 和LoOP)對(duì)異常數(shù)據(jù)進(jìn)行檢測(cè)和分類的工具,以檢測(cè)異常用電量. Long 等人[22]從無(wú)監(jiān)督學(xué)習(xí)的角度提出了一種多特征融合算法,構(gòu)建了用電模式的特征分類模型,實(shí)現(xiàn)用電異常檢測(cè). 考慮到時(shí)序數(shù)據(jù)間的相互關(guān)聯(lián)性問題,Mishra 等人[24]提出了一種基于注意力的雙向長(zhǎng)短期記憶網(wǎng)絡(luò),用于時(shí)間序列數(shù)據(jù)的異常檢測(cè),它有助于為順序數(shù)據(jù)中的實(shí)例分配最佳權(quán)重.Homayouni 等人[25]提出了一種基于LSTM-Autoencoder的方法,可以檢測(cè)多元時(shí)間序列數(shù)據(jù)中的異常,而且還提出了一種基于自動(dòng)自相關(guān)的窗口方法來(lái)調(diào)整網(wǎng)絡(luò)輸入大小,從而提高約束發(fā)現(xiàn)的正確性和性能. 這些方法雖然取得了不錯(cuò)的檢測(cè)效果,但是可能會(huì)忽略掉特定用戶的某些重要信息.
該方法主要通過(guò)一種特定的算法,根據(jù)其特征將數(shù)據(jù)集劃分為不同的子數(shù)據(jù)集. Wang 等人[13]使用不同的聚類算法檢測(cè)10kV 非技術(shù)損失,并比較各種算法的檢測(cè)效果. Passos Júnior 等人[26]使用一種最優(yōu)路徑森林聚類方法進(jìn)行檢測(cè). Matús 等人[27]首先通過(guò)對(duì)離散時(shí)間序列進(jìn)行聚類來(lái)縮小大型數(shù)據(jù)集中的潛在異??蛻簦缓笫褂媒y(tǒng)計(jì)方法SH-ESD 分析選定的配置文件以計(jì)算最終的異常分?jǐn)?shù). 針對(duì)傳統(tǒng)時(shí)間序列檢測(cè)算法的不足,曾惟如等人[28]對(duì)時(shí)間序列內(nèi)在模式關(guān)系進(jìn)行學(xué)習(xí),建立預(yù)測(cè)模型,通過(guò)比較預(yù)測(cè)值和真實(shí)值的偏離程度來(lái)判斷數(shù)據(jù)是否異常. 周伯陽(yáng)等人[29]提出了一種基于多尺度低秩的電力無(wú)線網(wǎng)異常流量檢測(cè)器,然后采用改進(jìn)的遞歸特征選取和聚焦分類算法實(shí)現(xiàn)異常數(shù)據(jù)的檢測(cè). Peng 等人[30]提出了一種基于聚類和局部離群因子的離群檢測(cè)方法. 該方法首先用k-means 分析負(fù)荷曲線;然后,選擇那些負(fù)荷曲線遠(yuǎn)離聚類中心的客戶作為離群點(diǎn)候選人;最后,利用檢測(cè)方法來(lái)計(jì)算離群值候選人的異常度.
針對(duì)上述討論的異常檢測(cè)方法,本文提出的模型不僅通過(guò)相似性分組來(lái)捕獲特定用戶的信息,而且還考慮序列數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,從而提高檢測(cè)性能.
本文的目的是根據(jù)歷史用電數(shù)據(jù)進(jìn)行異常檢測(cè),即判斷是否存在異常,具體流程如圖1 所示. 首先,根據(jù)歷史用電數(shù)據(jù)構(gòu)建一個(gè)異構(gòu)信息網(wǎng)絡(luò);然后,考慮到構(gòu)建一個(gè)全局模型可能會(huì)忽略掉個(gè)別用戶的重要信息,采用GCN 和NNMF 相結(jié)合的方法進(jìn)行相似性分組,挖掘出具有相似性用電行為的群體;最后,采用圖注意力機(jī)制和Transformer 相結(jié)合的方式進(jìn)行分組異常檢測(cè).
圖1 異常檢測(cè)模型
一個(gè)異構(gòu)信息網(wǎng)絡(luò)是一個(gè)圖G=(V,E,A,X),其中V∈Rn表示的是圖G的節(jié)點(diǎn),n表示的是節(jié)點(diǎn)的數(shù)量;E是圖G的邊;A∈Rn×n為G的鄰接矩陣;對(duì)于Vvi,vj∈V,如果eij∈E,則Aij=1,否則Aij=0;X∈Rn×m表示的是節(jié)點(diǎn)的屬性信息,m是屬性信息的維數(shù).
GCN 可以通過(guò)卷積和聚合算子[16]從鄰居節(jié)點(diǎn)上學(xué)習(xí)每個(gè)節(jié)點(diǎn)的低維嵌入向量. 各層的卷積操作如下:
其中,Hi表示的是第i層的輸出,同時(shí)它也是第l+1層的輸入,?=A+I,I表示的是偏差矩陣;?表示的對(duì)角矩陣;Wi是第i層的參數(shù)集合;δ(·)表示的是一個(gè)激活函數(shù).
在實(shí)際用電行為檢測(cè)模型構(gòu)建過(guò)程中,Hi+1比Hi包含更多的高級(jí)語(yǔ)義信息,然而卻忽略了許多低級(jí)語(yǔ)義信息. 對(duì)于圖,由于低級(jí)語(yǔ)義信息可以反映圖的局部結(jié)構(gòu)信息,因此低級(jí)語(yǔ)義信息在最終嵌入中也起著重要的作用. 此外,如果輸入的尺寸較大,GCN 中產(chǎn)生了更多的參數(shù),容易出現(xiàn)過(guò)擬合現(xiàn)象.
因此,本文在使用GCN 進(jìn)行相似性學(xué)習(xí)過(guò)程中,i-1 層的輸出沒有直接進(jìn)行拼接,而是通過(guò)NNMF 將Hi(i=0,1,2,…,i-1)分解為2 個(gè)低維矩陣,如下所示:
其中,Hi∈Rn×Li,Ui∈Rn×d,Vi∈Rd×Li,Li是第i 層的輸出維度,d是非負(fù)矩陣分解方法的輸出維度,Ui是Hi的低維維度的表示向量. 因此,第i+1層的輸出表示為
其中||表示拼接操作.
通過(guò)GCN 輸出節(jié)點(diǎn)的低維表示向量,然后將低維表示向量輸入一個(gè)具有單個(gè)隱藏層的多層感知機(jī)(MultiLayer Perceptron,MLP)中. 通過(guò)MLP 的輸出結(jié)果Z進(jìn)行相似性分組,即
其中,Z∈Rn×k.
在這一部分中,本文對(duì)不同組分別進(jìn)行用電行為表示學(xué)習(xí). 基于歷史用電行為數(shù)據(jù),利用Transformer機(jī)制對(duì)用電行為數(shù)據(jù)進(jìn)行上下文信息學(xué)習(xí),實(shí)現(xiàn)過(guò)程如下所示:
其中,LN(·)=Layer Normalization(·)表示的是層歸一化方法,F(xiàn)FN(·)=Feed Forward Networks(·)表示的是一層前饋網(wǎng)絡(luò).
利用Transformer 獲得上下文信息向量,并結(jié)合第3.1節(jié)獲得的相似用電行為組的相似性矩陣,采用圖注意力網(wǎng)絡(luò)捕獲用戶行為之間的相互依賴關(guān)系,從而實(shí)現(xiàn)用戶行為表示學(xué)習(xí).
假設(shè)圖中包含N個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)的特征向量為Hi,維度F,如下所示:
對(duì)節(jié)點(diǎn)特征向量H進(jìn)行線性變換,可以得到新的特征向量δ'i,如下所示:
其中,W∈RF'×F為線性變換的矩陣,F(xiàn)'表示的是變換矩陣的維度.
引入圖注意力網(wǎng)絡(luò),把節(jié)點(diǎn)i,j的特征向量δ'i,δ'j拼接在一起,然后和一個(gè)2F'維的向量a計(jì)算內(nèi)積. 激活函數(shù)采用LeakyRelu函數(shù),公式如下:
其中,σ表示的是激活函數(shù).
最后,為了實(shí)現(xiàn)異常檢測(cè),將圖注意力輸出的向量輸入softmax層進(jìn)行異常檢測(cè),檢測(cè)結(jié)果為
其中,Wy和是可以學(xué)習(xí)的參數(shù)向量.
本文采用交叉熵函數(shù)來(lái)計(jì)算模型的損失,計(jì)算公式如下:
其中,N表示樣本數(shù)量;yi表示異常檢測(cè)結(jié)果;y'i表示真實(shí)數(shù)據(jù).
算法1 描述了異常檢測(cè)模型的整體過(guò)程. 第2 行batch_size表示訓(xùn)練批次大小;第4行至第8行表示的是使用GCN 和NNMF 相結(jié)合的方法來(lái)實(shí)現(xiàn)相似性學(xué)習(xí);第9 行至第11 行表示使用Transformer 和圖注意力網(wǎng)絡(luò)來(lái)共同捕獲數(shù)據(jù)間的相互關(guān)聯(lián)關(guān)系,從而獲得用戶的綜合表示向量;第12行至第16行表示通過(guò)softmax函數(shù)進(jìn)行異常檢測(cè),并通過(guò)交叉熵函數(shù)來(lái)計(jì)算損失,最終返回檢測(cè)結(jié)果y.
算法1 基于圖注意力和Transformer的異常檢測(cè)輸入:輸入數(shù)據(jù)樣本X={x1,x2,…,xn},標(biāo)簽Label={0,1}//0表示異常,1表示正常輸出:y 1. Input data preprocess//數(shù)據(jù)預(yù)處理2. Initialize Wi,Wo,W Q i ,W K i ,W V i //初始化參數(shù)和偏置3. For in range(batch_size)//訓(xùn)練批次大小4. #Similarity Learning//相似性學(xué)習(xí)5. G=(V,E,A,X)6. Hi=GCN(X)7. H'i=NNMF(Hi)8. Z=MLP(H'i)9. #User Representation Learning//用戶表示學(xué)習(xí)10. τ=Transformer(X)11. H?'i=GAT(τ⊙Hi)12. 根據(jù)式(17)進(jìn)行異常檢測(cè),得到y(tǒng)//異常檢測(cè)13. Loss=-1 N ×∑i=1 N ( )yi log( )y'i +( )1-yi log( )1-y'i 14. END FOR 15. END FOR 16. RETURN y
為了驗(yàn)證本文提出的模型的有效性,選用從中國(guó)某省級(jí)電網(wǎng)公司的用電信息采集系統(tǒng)中獲取的2019年6 月至2019 年12 月這6 個(gè)月內(nèi)某地區(qū)996 個(gè)用戶(包括126 個(gè)異常用戶,870 個(gè)正常用戶)的用電數(shù)據(jù),每小時(shí)采集一次,每天采集24 個(gè)時(shí)間點(diǎn)的數(shù)據(jù). 經(jīng)過(guò)統(tǒng)計(jì)分析發(fā)現(xiàn),2019 年9 月1 日到2019 年9 月14 日期間,共有115 個(gè)用電異常用戶,占全部異常用戶的91.3%. 為了更加高效地訓(xùn)練異常檢測(cè)模型,本文選取2019年9月1日到2019 年9 月14 日共334 656 條用電數(shù)據(jù)作為本文模型的驗(yàn)證數(shù)據(jù). 在這里要說(shuō)明的是,本文將每一個(gè)時(shí)間點(diǎn)采取的數(shù)據(jù)都作為一條用電數(shù)據(jù). 此外,從中國(guó)氣象數(shù)據(jù)服務(wù)中心網(wǎng)站上獲取了相應(yīng)城市相應(yīng)時(shí)間的天氣數(shù)據(jù).
實(shí)驗(yàn)環(huán)境如表1所示.
表1 實(shí)驗(yàn)環(huán)境
為了驗(yàn)證模型的預(yù)測(cè)性能,本文選用Accuracy,F(xiàn)1,AUROC和AUPRC作為評(píng)價(jià)指標(biāo).
由表2 可知,相較于基線模型,本文所提出的模型在所有指標(biāo)上都取得了最高的分?jǐn)?shù). 在所有基線方法中,SVM 和LR 模型分別在Accuary 和F1 指標(biāo)上取得最高的分?jǐn)?shù),而BiGRU 在AUROC 與AUPRC 取得了最高的分?jǐn)?shù). 由于數(shù)據(jù)集中正負(fù)樣本占比差異較大,因此F1,AUROC與AUPRC更能反映出模型在異常用電行為識(shí)別任務(wù)上的性能表現(xiàn). 綜合來(lái)看,在所有的基線方法中,BiGRU 的綜合性能是最好的. 這是因?yàn)锽iGRU 相較于其他基線方法可以更好地捕獲存在于序列數(shù)據(jù)中的上下文信息,從而達(dá)到了比較好的預(yù)測(cè)效果.
表2 不同檢測(cè)方法的性能比較
對(duì)于Accuary 指標(biāo),本文所提出的模型相較于最好的基線模型——SVM 模型的性能提升約為3.1%;對(duì)于F1 指標(biāo),與次優(yōu)模型相比,本文模型提升幅度為19%;對(duì)于AUROC 和AUPRC 指標(biāo),本模型相較于BiGRU 模型的提升程度分別為17.2%和19.2%.
從以上結(jié)果可以看出,本文模型的綜合性能要好于其他的基線模型. 這是因?yàn)楸疚哪P褪紫葘⒂脩糸g的關(guān)聯(lián)信息進(jìn)行了提取,并使用Transformer 將用戶的用電序列數(shù)據(jù)中的時(shí)序依賴使用自注意力機(jī)制進(jìn)行高效的挖掘,對(duì)用戶本身的用電行為進(jìn)行高效的表示學(xué)習(xí),最后將Transformer 學(xué)習(xí)出的用戶表示與相似性分組信息結(jié)合,使用GAT 網(wǎng)絡(luò)來(lái)學(xué)習(xí)用戶的用電行為模式. 上述的實(shí)驗(yàn)結(jié)果驗(yàn)證了本文所提出模型的有效性.
圖2 展示了本文所提出的模型的損失變化曲線.從圖2(a)中可以看出,隨著訓(xùn)練的進(jìn)行,模型在訓(xùn)練集上的損失與測(cè)試集上的損失逐漸變大,模型的過(guò)擬合現(xiàn)象加重. 為了解決這一問題,本文使用了提前停止策略來(lái)監(jiān)督模型的訓(xùn)練過(guò)程,其結(jié)果如圖2(b)所示. 使用該策略后,可以在模型過(guò)擬合現(xiàn)象即將加重之前停止訓(xùn)練,并保存訓(xùn)練期間的最好參數(shù),這大大地提高了模型的泛化能力.
圖2 異常用電行為檢測(cè)模型損失變化曲線
為了研究模型的參數(shù)敏感性,探索模型在不同的超參數(shù)組合下的異常行為識(shí)別性能,本文進(jìn)行了超參數(shù)搜索實(shí)驗(yàn). 結(jié)果如圖3所示,其中d=dmodel(d表示模型的嵌入維度). 從圖中的結(jié)果可以看出,當(dāng)d>64 時(shí),模型的性能提升幅度較為有限. 為了平衡模型的復(fù)雜度與性能,本文將嵌入維度d設(shè)定為64.
圖3 參數(shù)變化對(duì)模型的影響
為了進(jìn)一步驗(yàn)證所提模型的性能,本文進(jìn)行了消融實(shí)驗(yàn). 本文所提模型的變體如下.
(1)Without Similarity Learning. 該變體沒有考慮相似性信息學(xué)習(xí).
(2)Without User Representation Learning. 該變體沒有考慮到使用Transformer進(jìn)行用戶表示學(xué)習(xí).
(3)Without GAT. 該變體沒有使用圖注意力網(wǎng)絡(luò)(GAT)來(lái)捕獲相似性向量與用戶表示向量間的相互依賴關(guān)系.
圖4 描述了本文所提模型變體之間的比較情況.圖4(a)展示的是模型在Accuracy 和F1 指標(biāo)上的性能比較,圖4(b)展示的是模型在AUROC 和AUPRC 上的性能比較. 從圖4可以得出,本文提出的模型性能要優(yōu)于模型的變體. 同時(shí),這也說(shuō)明了所提模型中的每一部分對(duì)異常檢測(cè)都是有意義的.
圖4 本文所提模型的變體在不同評(píng)價(jià)指標(biāo)上的性能比較
為提高異常檢測(cè)的性能,本文提出了一種基于GAT 和Transformer 的復(fù)合模型用于異常檢測(cè). 該模型首先根據(jù)數(shù)據(jù)中臺(tái)中收集的電力數(shù)據(jù)(主要包括用戶ID、電能表ID、用戶類型、電流、電壓、功率等數(shù)據(jù))構(gòu)建一個(gè)異構(gòu)信息網(wǎng)絡(luò);然后采用GCN 與NNMF 相結(jié)合的方法進(jìn)行相似性學(xué)習(xí),并使用GAT 和Transformer 共同學(xué)習(xí)用戶的異常用電行為模式. 實(shí)驗(yàn)結(jié)果證明:相較于基線模型,本文所提出的復(fù)合模型能夠更好地建模用戶的用電行為模式,能夠利用用戶自身的用電行為信息與用戶群組間的相似性信息來(lái)進(jìn)行高效的表示學(xué)習(xí),從而取得更好的識(shí)別性能.
此外,模型結(jié)果的可解釋性以及如何對(duì)模型進(jìn)行進(jìn)一步優(yōu)化和改進(jìn),從而提高預(yù)測(cè)精度,將是本課題組或筆者后續(xù)的研究方向.