嚴 莉,張 凱,徐 浩,韓圣亞,劉珅岐
(國網山東省電力公司信息通信公司,山東濟南 250013)
隨著電力系統(tǒng)自動化水平提高,電網運行對實時數據質量要求增高,通過電力數據進行異常檢測在電力市場發(fā)展中具有重要意義。異常檢測可提高電網服務水平,節(jié)約人力資源,降低運營成本,保證電力系統(tǒng)穩(wěn)定運行。
傳統(tǒng)異常檢測方法包括回歸分析法[1]、時間序列分析法[2]等。雖然該方法在電力行業(yè)應用廣泛,但對不確定因素考慮不夠全面,并且未能有效利用序列數據信息。隨著人工智能技術飛速發(fā)展,機器學習[3]、神經網絡[4]和深度學習檢測方法[5]等智能方法逐漸被應用于異常檢測中,開始深入挖掘各影響因素與異常目標的關系。例如,基于神經網絡模型對電力序列數據進行建模檢測用戶異常[6-7]。雖然以上方法取得了良好的檢測效果,但忽略了數據本身對異常檢測性能的影響。
由于電力系統(tǒng)傳感器異常、輸電線路故障等原因,電力數據存在大量數據缺失,直接影響智能電力系統(tǒng)的分析與決策。目前,主要依靠數據專家、業(yè)務專家補全數據缺失值,但隨著電力數據規(guī)模逐漸擴大,人工將難以實時補全數據,還會發(fā)生錯漏現象。此外,人工進行缺失值補全的成本較高、耗時長,嚴重影響智能化電力系統(tǒng)的運行與維護效率。
為此,不少學者提出智能化插補方法解決數據缺失問題[8-9]。例如,Zhang 等[10]在標準生成對抗網絡(Generative Adversarial Networks,GAN)架構中引入編碼器網絡,估算多元時間序列的缺失值。Luo 等[11]將缺失值插補轉化為數據生成問題,并在GAN 中使用改進門循環(huán)單元模擬不完整時間序列的時間不規(guī)則性,實現缺失值插補。然而,這些方法忽略電設備描述、用戶地址等文本信息,對缺失值插補性能造成了一定的影響。
針對上述問題,本文提出一種基于缺失值補全和雙向長短期記憶神經網絡(Bidirectional Long Short-Term Memory,BiLSTM)的異常檢測模型。首先,采用深度學習方法對電力數據進行缺失值補全。然后,基于補全后的數據集,采用BiLSTM 實現用電行為異常檢測。
本文主要貢獻包括:①提出一種基于缺失值補全和BiLSTM 的用電行為異常檢測模型,解決電力數據中的數據缺失問題及充分捕獲電力數據間復雜的關聯關系,提高電力異常檢測性能;②采用卡爾曼濾波器和一維卷積神經網絡相結合的方法學習電力數據文本信息表示,并通過圖注意力網絡捕獲電力數據間復雜的關聯關系,然后以Transformer 為生成器,支持向量機(Support Vector Machine,SVM)為判別器,構建生成對抗網絡模型,通過兩者相互對抗補全電力數據缺失值;③采用BiLSTM 捕獲電力數據間的依賴關系,實現用電行為異常檢測。
隨著神經網絡發(fā)展,深度學習技術在用電行為異常檢測任務中逐漸得到重視。Buzau 等[12]使用長短期記憶網絡和多層感知器混合的深度神經網絡檢測用電異常,相較于傳統(tǒng)分類器精度更高。Chahla 等[13]提出一種基于長短期記憶和注意力機制的異常檢測方法,從單變量時間序列數據中進行不和諧搜索,根據觀測數據預測誤差,通過統(tǒng)計策略檢測異常。Rouzbahani 等[14]提出一種用于智能電網(Electricity Theft Detection,ETD)的集合深度卷積神經網 絡(Ensemble Deep Convolutional Neural Network,EDCNN)。首先采用隨機下采樣技術處理不平衡數據,然后利用深度卷積神經網絡(Deep Convolutional Neural Network,DCNN)挖掘數據間的相互依賴性,最后嵌入投票機制實現用電異常檢測。雖然以上方法均取得了不錯的效果,但忽視了數據本身特點對異常檢測性能的影響。
近年來,各學者提出基于深度學習的插補方法解決缺失值補全問題。Yao 等[15]在關系圖卷積網絡模型基礎上,提出空間交互圖卷積網絡模型估計缺失的空間交互數據。Buzau 等[16]利用智能電表記錄的信息深入分析客戶消費行為,采用有監(jiān)督學習方法實現用電異常檢測。Zhao等[17]使用長短期記憶網絡提取序列特征,通過全連接網絡(Full Connect Network,FCN)對序列特征進行分類以判斷用電異常用戶。Liu 等[18]提出一種基于注意力機制的卷積神經網絡—長短期記憶模型檢測工業(yè)物聯網異常。Yang等[19]提出一種時空可學習的雙向注意力生成對抗網絡插補缺失數據。
基于上述方法,本文提出的模型考慮了電力數據間的復雜關聯關系對異常檢測性能造成的影響,通過構建生成對抗網絡補全缺失數據,采用BiLSTM 捕獲電力數據間的依賴關系,從而提高電力異常檢測性能。
圖1 為本文模型架構圖。該模型主要包括缺失值補全和用電行為異常檢測兩大模塊。其中,對于缺失值補全模塊而言,首先基于用戶歷史電力數據構建用戶用電行為的知識圖譜,采用圖注意力網絡(Graph Attention Networks,GAT)捕獲電力數據間的復雜關系,獲得用戶用電行為表示向量;然后基于電力數據文本信息,結合卡爾曼濾波和一維卷積神經網絡對文本信息進行表示學習,獲得文本信息表示向量;最后以Transformer 為生成器,SVM 為判別器,構建生成對抗網絡模型,通過兩者相互對抗補全數據缺失值,增強數據表示能力。對于用電行為異常檢測模塊而言,在補全缺失值的基礎上,通過雙向長短期記憶網絡實現用電行為異常檢測,提高檢測精度。
為解決電力數據中存在大量缺失值,本文從文本信息、電力數據間的關聯關系進行用電數據的表示學習,構建生成對抗網絡補全電力數據缺失值。
2.1.1 文本信息表示學習
Fig.1 Anomaly detection model based on missing value completion and BiLSTM圖1 基于缺失值補全和BiLSTM 的異常檢測模型
考慮到電力數據中文本描述信息對缺失數據補全性能造成的影響,分別使用一維卷積神經網絡、卡爾曼濾波器捕獲電力數據文本描述的局部、全局信息,并利用注意力機制將兩者進行融合,得到文本信息表示向量,具體流程如下:
采用卡爾曼濾波器提取數據特征,獲得文本數據全局信息表示:
其中,wk-1為服從高斯分布的噪聲,xk-1、uk-1分別為k-1、k時刻后驗狀態(tài)估計值,A為狀態(tài)轉移矩陣,B為輸入轉狀態(tài)矩陣。
采用一維卷積神經網絡提取數據特征,獲得文本數據局部信息表示:
其中,ReLU 表示激活函數,vi為文本信息的嵌入表示,We為權重向量,bc為特征映射的基礎向量,ci為上一層的向量。
其中,max 為使用最大池化操作進行特征降維處理;Z為最終獲得的文本數據局部信息表示向量。
最后,引入注意力機制融合局部、全局信息表示向量,獲得最終的文本信息表示向量x':
2.1.2 用電行為表示學習
為了充分挖掘電力數據間復雜的關聯關系,基于歷史電力數據構建用戶用電行為知識圖譜G=(V,E,A,X)。其中,V∈Rn表示圖G節(jié)點,n表示節(jié)點數量,E為圖G的邊,A∈Rn×n為G鄰接矩陣。對于,如果eij∈E,則Aij=1,否則Aij=0。X∈Rn×m表示節(jié)點屬性信息,m為屬性信息的維數。
基于注意力機制的圖神經網絡(Graph Attention Networks,GAT)學習每個節(jié)點的低維嵌入向量。假設圖中包含N個節(jié)點,每個節(jié)點的特征向量為Ui:
對節(jié)點特征向量U進行線性變換,得到新的特征向量Ui':
其中,Wu為線性變換的矩陣。
引入圖注意力網絡,拼接節(jié)點i、j的特征向量Ui'、Uj',然后將拼接結果與2F'維的向量a計算內積:
其中,W為權重矩陣,σ為采用ReLU 函數的激活函數為用戶用電行為的表示向量。
2.1.3 缺失值補全
基于獲得的文本信息表示向量x'和用戶用電行為表示向量,以Transformer 為生成器,SVM 為判別器,構建生成對抗網絡模型,通過兩者相互對抗學習補全數據缺失值。
在生成對抗網絡模型中,Transformer 生成器表示為:
其中,LN 表示層歸一化方法,ReLU 為激活函數,Wf、bf為權重矩陣,H'、H''為Transformer 的隱藏向量,Hfinal為電力數據綜合表示向量。
在分合線圈檢查的過程中要用力矩扳手檢查分合閘線圈安裝板固定螺栓。目測檢查電氣接線插頭及引出線插(電氣接線插頭無銹蝕,引出線插頭能插緊到位);萬用表檢查分合閘線圈電阻值。
最后,將經過Transformer 的Hfinal輸入Softmax 層進行數據缺失補全:
基于生成器的電力數據補全結果,結合真實數據,利用SVM 構建判別器判斷補全結果是否屬于真實數據:
其中,ω、b為權重向量。
將式(19)通過拉格朗日乘子法轉換為:
其中,θ為拉格朗日乘子。
基于歷史電力序列數據,采用循環(huán)神經網絡進行異常行為檢測是目前電力領域中常用的方式。然而,當電力序列長度較大時,RNN 無法有效解決長期依賴問題,導致模型性能下降。因此,本文采用雙向LSTM 檢測用戶用電行為。具體數學表達式如下:
BiLSTM 通過前向和后向LSTM 捕獲電力序列的上下文信息,從而提高異常檢測的性能,具體數學表達式如下:
最后,基于隱藏狀態(tài)Ht,通過Softmax 函數檢測用戶用電行為異常,具體數學表達式如下:
其中,Wh、bh為可學習的參數向量。
本文將損失函數分為缺失值補全損失和異常檢測損失兩個部分。缺失值補全損失函數計算公式如下:
其中,X為真實值為通過缺失值補全方法獲得的數據值。
異常檢測損失函數計算公式如下:
因此,本文的聯合損失函數計算公式如下:
其中,λ為權重參數。本文使用Adam 優(yōu)化器[20]優(yōu)化模型參數。
為驗證模型的有效性,從中國電網公司用電信息采集系統(tǒng)中采集2019 年6-12 月某地區(qū)996 個用戶(其中異常用戶126 個)的用電數據,每隔1 小時采集1 次用戶用電數據。
統(tǒng)計發(fā)現,2019 年9 月1-14 日期間,共有115 個用戶用電異常,占全部異常用戶91.3%。為了高效訓練異常檢測模型,本文選取2019 年9 月1-14 日共334 656 條用電數據進行實驗。
3.2.1 實驗環(huán)境
實驗操作系統(tǒng)為Ubuntu 18.04.3 LTS,內存為128GB DDR4 @ 3 200MHz,CPU 為Intel(R)Core(TM)i9-9980XE CPU@3.00GHz,顯卡為NVIDIA TITAN RTX×2,基于Keras 2.4.3框架Python3.5進行編程。實驗參數如表1所示。
3.2.1 評價指標
為驗證本文模型的優(yōu)勢,選擇準確率(Accuracy)、F1、AUROC 和AUPRC 作為評價指標。其中,準確率、F1 分數、AUROC 和AUPRC 的值越大,表明模型性能越好。此外,選擇均方根誤差(Root Mean Squared Error,RMSE)和平均百分比絕對誤差(Mean Absolute Percentage Error,MAE)評估缺失值補全方法性能,其中RMSE、MAE 值越小,表明插補方法性能越好。
Table 1 Parameter settings表1 參數設置
將本文模型與LR、SVM、LSTM-Attention[21]、BiLSTM、CNN-LSTM、CNN-BiLSTM 和CNN-BiLSTM-Attention[22]等7 個基線模型進行比較,通過Accuracy、F1、AUROC 和AUPRC 指標進行定量分析,如表2所示。
Table 2 Performance comparison of different detection methods表2 不同檢測方法的性能比較
由表2 可見,相較于基線模型,本文模型所有指標分數最高。由于數據集中正負樣本占比差異較大,因此F1、AUROC 與AUPRC 更能反應模型異常用電行為的檢測性能。本文模型相較于CNN-BiLSTM-Attention 模型的Accuary、F1 約提升2.65%和10.04%,在AUROC 和AUPRC 指標上分別提升3.87%和7.66%。由此可見,考慮缺失數據及數據間的復雜關系對異常檢測性能具有積極作用。
為驗證本文模型在數據缺失值補全的性能,將本文模型與線性插值法(Linear Interpolation,LI)、歷史均值法(Historical Average,HA)、LSTM、GAN 和ST-LRAGAN[19]進行比較,并在RMSE、MAE指標上定量分析,如表3、表4所示。
由表3、表4 可知,當數據缺失率為10%、20%、30%、40%、50%和60%時,不同數據缺失值補全方法的RMSE、MAE 指標不同。相較于基線模型,本文模型在RMSE、MAE 的表現最好。由此可見,考慮文本描述信息和電力數據間復雜關系對缺失值插補性能具有積極作用。
本文將按未考慮缺失值補全、未構建生成對抗網絡(GAN)、未考慮文本信息的方法3 種方式對模型進行消融。圖2、圖3 為消融實驗在Accuracy、F1、AUROC 和AUPRC 指標上的比較情況。
Table 3 Performance comparison of different data missing value completion methods on RMSE表3 不同數據缺失值補全方法在RMSE上的性能比較
Table 4 Performance comparison of different data missing value completion methods on MAE表4 不同數據缺失值補全方法在MAE上的性能比較
Fig.2 Performance comparison of different models in accuracy and F1圖2 不同模型在Accuracy和F1上的性能比較
Fig.3 Performance comparison of different models in AUROC and AUPRC圖3 不同模型在AUROC和AUPRC上的性能比較
由圖2 可見,相較于未考慮缺失值補全的方法,本文模型在Accuracy、F1 上分別提升4.64%和5.22%。相較于未構建生成對抗網絡(GAN)的方法,本文模型在Accuracy、F1 上分別提升2.87%、3.89%;相較于未考慮文本信息的方法,本文模型在Accuracy、F1 上分別提升1.61%、1.36%。由圖3 可見,相較于未考慮缺失值補全、未構建生成對抗網絡(GAN)和未考慮文本信息的方法,本文模型AUROC 分別提升3.8%、2.99%和1.33%,AUPRC 分別提升2.49%、1.52%和0.78%。
本文提出基于缺失值補全和BiLSTM 的用電行為異常檢測模型,在解決電力數據缺失問題的同時,捕獲電力數據間復雜的關系,提高電力異常檢測性能。
該模型首先結合卡爾曼濾波器和一維卷積神經網絡學習電力數據的文本信息表示,通過圖注意力網絡捕獲電力數據間的復雜關系;然后以Transformer 為生成器,SVM為判別器,構建生成對抗網絡模型,通過兩者相互對抗補全電力數據的缺失值;最后采用BiLSTM 實現用電行為異常檢測。實驗結果表明,該方法能有效提高電力異常檢測的性能。下一步,將考慮解決缺失值補全所帶來的不確定信息,以進一步優(yōu)化模型異常檢測精度。