況 華, 何 鑫, 何 覓, 覃日升*, 姜 訸
(1.云南電網(wǎng)有限責任公司,昆明 650011;2.云南電網(wǎng)有限責任公司電力科學研究院,昆明 650217;3.云南電網(wǎng)有限責任公司昆明供電局,昆明 650011)
電力系統(tǒng)運行方式日益復雜,給電力系統(tǒng)安全穩(wěn)定運行帶來諸多困擾,也對調(diào)度中心提出了更高要求。數(shù)據(jù)可信是保障調(diào)度可靠性的重要前提,但由于自然環(huán)境、計量儀器等因素的影響,量測數(shù)據(jù)會出現(xiàn)異常,導致調(diào)度人員錯誤決策,對電力系統(tǒng)可靠性和經(jīng)濟性造成影響[1-2]。異常數(shù)據(jù)檢測作為提高量測數(shù)據(jù)質(zhì)量的重要方法,可為配電網(wǎng)調(diào)度決策提供可靠數(shù)據(jù)支持,對電力系統(tǒng)安全穩(wěn)定運行十分重要[3]。
電力系統(tǒng)異常數(shù)據(jù)檢測方法主要分為傳統(tǒng)方法和智能方法,傳統(tǒng)方法包括最大標準化殘差、非二次準則等,智能方法主要為基于數(shù)據(jù)挖掘技術(shù)的聚類分析、神經(jīng)網(wǎng)絡等[4]。近年來,智能方法因能有效解決電力系統(tǒng)拓撲結(jié)構(gòu)和網(wǎng)絡參數(shù)未知場景而受到重視。基于數(shù)據(jù)挖掘的異常數(shù)據(jù)檢測是通過算法挖掘隱藏在大量數(shù)據(jù)中的有用信息,識別不符合數(shù)據(jù)集的異常數(shù)據(jù)。聚類分析是數(shù)據(jù)挖掘的經(jīng)典方法,常用來做異常數(shù)據(jù)檢測[5-6]。文獻[7]基于Spark運行框架,提出了并行K-means聚類算法對不良數(shù)據(jù)進行檢測和辨識,提高了狀態(tài)估計的速度和準確性。文獻[8]先后通過并行化最小生成樹方法和并行K-means方法對數(shù)據(jù)進行聚類來辨識異常數(shù)據(jù),最后基于Spark框架設(shè)計徑向基函數(shù)(radical basis function, RBF)神經(jīng)網(wǎng)絡對異常數(shù)據(jù)進行修正。文獻[9]利用極限學習機提取數(shù)據(jù)特征,通過帶有噪聲的基于密度的空間聚類(density-based spatial clustering of applications with noise, DBSCAN)算法進行特征識別,最終實現(xiàn)微電網(wǎng)異常數(shù)據(jù)檢測。然而,聚類分析方法不能反映動態(tài)數(shù)據(jù)間的變化規(guī)律,且動態(tài)數(shù)據(jù)的正常值和異常值間的差距較小,因而對動態(tài)數(shù)據(jù)的檢測效果不理想。神經(jīng)網(wǎng)絡方法是數(shù)據(jù)挖掘領(lǐng)域中的新突破,它具有處理海量數(shù)據(jù)的強大泛化能力,在異常數(shù)據(jù)檢測方面應用潛力大。值得注意的是,長短期記憶(long short-term memory, LSTM)神經(jīng)網(wǎng)絡對時序數(shù)據(jù)有獨特的記憶能力,被廣泛應用于時序數(shù)據(jù)異常檢測任務中[10-11]。文獻[12]基于LSTM神經(jīng)網(wǎng)絡對原始量測數(shù)據(jù)進行分解重構(gòu),實現(xiàn)對不良數(shù)據(jù)的有效檢測。文獻[13]提出基于LSTM神經(jīng)網(wǎng)絡和滑動窗口對流數(shù)據(jù)進行異常檢測。文獻[14]利用LSTM神經(jīng)網(wǎng)絡提取時間序列的序列特征,結(jié)合全連接網(wǎng)絡對異常用電數(shù)據(jù)檢測。文獻[15]基于集成LSTM神經(jīng)網(wǎng)絡對航天器遙測數(shù)據(jù)進行異常檢測。然而,LSTM神經(jīng)網(wǎng)絡僅考慮正向序列信息,忽略了反向序列信息的作用,在實際異常數(shù)據(jù)檢測場景中效果不夠理想,因而雙向長短期記憶(bidirectional long short-term memory, Bi-LSTM)神經(jīng)網(wǎng)絡被提出運用到異常數(shù)據(jù)檢測中。Bi-LSTM神經(jīng)網(wǎng)絡包含正向LSTM神經(jīng)網(wǎng)絡和反向LSTM神經(jīng)網(wǎng)絡,在LSTM神經(jīng)網(wǎng)絡的基礎(chǔ)上,充分利用反向序列信息,挖掘序列信息間的聯(lián)系,在異常數(shù)據(jù)檢測方面優(yōu)勢明顯。文獻[16]基于Bi-LSTM神經(jīng)網(wǎng)絡對變壓器故障進行診斷,充分考慮特征序列間的復雜關(guān)聯(lián)關(guān)系,挖掘變壓器監(jiān)測數(shù)據(jù)的時序規(guī)律。文獻[17]基于Bi-LSTM神經(jīng)網(wǎng)絡對船舶軌跡異常點進行檢測,充分考慮軌跡點之間的運動關(guān)系,輸出軌跡點的分類檢測結(jié)果。但上述文獻基于Bi-LSTM神經(jīng)網(wǎng)絡的檢測方法是應用于有標簽的數(shù)據(jù),實際配網(wǎng)電壓數(shù)據(jù)往往沒有數(shù)據(jù)標簽。
針對上述問題,為適用于實際配網(wǎng)電壓數(shù)據(jù)的場景,并充分挖掘配網(wǎng)電壓時序數(shù)據(jù)間的規(guī)律,提高配網(wǎng)電壓異常數(shù)據(jù)檢測效果,提出一種基于Bi-LSTM神經(jīng)網(wǎng)絡的配網(wǎng)電壓無監(jiān)督異常數(shù)據(jù)檢測方法。利用Bi-LSTM神經(jīng)網(wǎng)絡處理時序數(shù)據(jù)的優(yōu)勢,構(gòu)建時序數(shù)據(jù)預測模型,通過對比預測值和實際值的誤差檢測異常數(shù)據(jù)。最后,利用某實際配網(wǎng)電壓數(shù)據(jù)驗證所提方法的有效性。
配電電壓數(shù)據(jù)屬于時序數(shù)據(jù),其異常數(shù)據(jù)具有突然上升、突然下降等特點。異常數(shù)據(jù)檢測主要分為有監(jiān)督、半監(jiān)督和無監(jiān)督。
有監(jiān)督異常數(shù)據(jù)檢測方法需劃分好數(shù)據(jù)標簽,用分類算法進行數(shù)據(jù)分類,以此檢測異常數(shù)據(jù)。常用分類算法有決策樹、K近鄰和支持向量機等,但分類算法在配電網(wǎng)中往往不太適用,因為數(shù)據(jù)本身存在噪聲,且無法明確定義正常和異常,因而很難人為劃分數(shù)據(jù)標簽。此外,時序數(shù)據(jù)分類不同于其他數(shù)據(jù),因為時序數(shù)據(jù)每個時間點不是獨立存在的,其前后時間點聯(lián)系密切?;诜诸愃惴ǖ挠斜O(jiān)督異常數(shù)據(jù)檢測方法主要檢測數(shù)據(jù)在空間上的離散點,忽視了數(shù)據(jù)時序特性,導致分類算法難以找到合適的劃分邊界[18]。
半監(jiān)督異常數(shù)據(jù)檢測方法本質(zhì)上是通過少量有標簽數(shù)據(jù)引導大量無標簽數(shù)據(jù)進行異常檢測。該方法仍需劃分好少量數(shù)據(jù)標簽,存在和有監(jiān)督異常數(shù)據(jù)檢測方法一樣的缺點,實際難以滿足該前提,應用范圍有限。
無監(jiān)督異常數(shù)據(jù)檢測方法不需提前對數(shù)據(jù)劃分標簽,克服了人為劃分數(shù)據(jù)標簽困難,比有監(jiān)督異常檢測方法更實用,更符合實際應用情況。無監(jiān)督異常數(shù)據(jù)檢測方法主要有以下幾種。
1.3.1 基于統(tǒng)計的異常數(shù)據(jù)檢測方法
在統(tǒng)計學中,異常數(shù)據(jù)不屬于特定族群的數(shù)據(jù)點,是與其他值相距甚遠的觀測值。基于統(tǒng)計的異常數(shù)據(jù)檢測方法假設(shè)數(shù)據(jù)服從某種分布,如高斯分布、韋布爾分布、指數(shù)分布等,并比較待檢測數(shù)據(jù)是否符合該分布,若不符合,則判斷為異常數(shù)據(jù)。這種方法檢測過程相對簡單、處理速度較快,但高度依賴數(shù)據(jù)統(tǒng)計分布假設(shè)是否成立,應用范圍有限。
1.3.2 基于聚類的異常數(shù)據(jù)檢測方法
基于聚類的異常數(shù)據(jù)檢測方法是將數(shù)據(jù)聚為多個類,將與類中心比較遠的某個數(shù)據(jù)或數(shù)據(jù)量較少某類判斷為異常數(shù)據(jù),因為通常數(shù)據(jù)集中異常數(shù)據(jù)遠少于正常數(shù)據(jù)。當數(shù)據(jù)集中的正常數(shù)據(jù)和異常數(shù)據(jù)的值相差不明顯時,該方法檢測效果不理想,且該方法也沒有考慮數(shù)據(jù)的時序特性。
1.3.3 基于預測的異常數(shù)據(jù)檢測方法
基于預測的異常數(shù)據(jù)檢測方法是先訓練模型,然后通過訓練好的模型對數(shù)據(jù)進行預測,如果預測值與實際值之間誤差較大,說明數(shù)據(jù)不符合正常數(shù)據(jù)分布規(guī)律,判為異常數(shù)據(jù)[19]。該方法需構(gòu)建準確預測模型,預測待檢測時刻的數(shù)值,通過對比預測值與實際值之間誤差是否超過閾值檢測異常數(shù)據(jù),不僅能找出空間上的異常數(shù)據(jù),也能找出時序上偏離正常分布規(guī)律的異常數(shù)據(jù)。
LSTM神經(jīng)網(wǎng)絡是循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network, RNN)的變形結(jié)構(gòu),其結(jié)構(gòu)如圖1所示。
圖1 LSTM神經(jīng)網(wǎng)絡結(jié)構(gòu)
RNN能處理的時序信息范圍有限,當面對時間序列較長的信息時,容易出現(xiàn)梯度消失問題。因此,LSTM神經(jīng)網(wǎng)絡在原RNN隱含層單元基礎(chǔ)上設(shè)計了遺忘門、輸入門和輸出門,通過這些門結(jié)構(gòu)判斷哪些輸入信息該遺忘和保留,從而記住長序列的信息,避免RNN的梯度消失問題。
首先,LSTM神經(jīng)網(wǎng)絡通過遺忘門決定遺忘哪些信息,遺忘門會讀取當前細胞的輸入xt和上一個細胞的信息ht-1,通過式(1)決定遺忘門的輸出。
ft=σ(Wf[ht-1,xt]+bf)
(1)
式(1)中:ft為遺忘門的輸出;ht-1為上一個細胞的輸出;xt為當前細胞的輸入;σ為sigmoid激活函數(shù);Wf和bf分別為遺忘門的權(quán)重和偏置。
然后,通過輸入門決定讓多少新的信息進入細胞狀態(tài)中,可表示為
it=σ(Wi[ht-1,xt]+bi)
(2)
式(2)中:it為輸入門的輸出;Wi和bi分別為輸入門的權(quán)重和偏置。
此時,細胞的狀態(tài)更新為Ct,如式(3)所示:
Ct=Ct-1ft+ittanh(Wc[ht-1,xt]+bc)
(3)
式(3)中:Ct-1為上一個細胞的狀態(tài);tanh為激活函數(shù);Wc和bc分別為狀態(tài)的權(quán)重和偏置。
最后,輸出門的輸出ot和細胞狀態(tài)Ct相乘,得細胞的最終輸出ht,可表示為
(4)
式(4)中:ot為輸出門的輸出;Wo和bo分別為輸出門的權(quán)重和偏置。
Bi-LSTM神經(jīng)網(wǎng)絡由兩個LSTM神經(jīng)網(wǎng)絡組成,一個是正向LSTM神經(jīng)網(wǎng)絡,利用過去信息;一個是反向,利用未來信息。因此,Bi-LSTM神經(jīng)網(wǎng)絡可同時利用過去時刻和未來時刻信息,在處理時間序列問題上,具有很大的優(yōu)勢。Bi-LSTM神經(jīng)網(wǎng)絡的結(jié)構(gòu)如圖2所示。
圖2 Bi-LSTM神經(jīng)網(wǎng)絡結(jié)構(gòu)
圖2中,實線表示正向LSTM神經(jīng)網(wǎng)絡的運算過程,虛線表示反向LSTM神經(jīng)網(wǎng)絡的運算過程,其表達式為
(5)
將正向LSTM神經(jīng)網(wǎng)絡和反向LSTM神經(jīng)網(wǎng)絡拼接在一起,即可得Bi-LSTM神經(jīng)網(wǎng)絡的輸出,其表達式為
(6)
式(6)中:g為激活函數(shù);yt為Bi-LSTM神經(jīng)網(wǎng)絡的輸出;U和c分別為相應的權(quán)重和偏置。
利用Bi-LSTM神經(jīng)網(wǎng)絡,構(gòu)建配網(wǎng)電壓異常數(shù)據(jù)檢測模型,通過對比模型預測值和配網(wǎng)電壓實際值檢測異常數(shù)據(jù),若模型預測值與配網(wǎng)電壓實際值相近,則表明該數(shù)據(jù)為正常數(shù)據(jù);反之,若兩者相差甚遠,則被判定為異常數(shù)據(jù)。所提方法的流程圖如圖3所示。具體步驟如下。
圖3 所提方法的流程圖
步驟1 將數(shù)據(jù)樣本做歸一化預處理,按8∶2的比例劃為訓練集和測試集。
步驟2 構(gòu)建Bi-LSTM神經(jīng)網(wǎng)絡模型,輸入訓練集進行訓練。
步驟3 向訓練好的Bi-LSTM神經(jīng)網(wǎng)絡模型,輸入t-1、t-2時刻的實際數(shù)據(jù)值xt-1和xt-2,得t時刻的預測值yt,以此類推。
步驟4 計算待檢測時刻的預測值與實際值的誤差,t時刻的誤差記為st,待檢測時刻的誤差序列記為集合S。
步驟5 通常模型預測誤差不可避免,其由很多不可預料的影響因子組成,在大多數(shù)定理下,多種不可預料的影響因子疊加在一起,模型預測誤差服從高斯分布[20]。因此,將集合S建模為服從均值為μ和標準差為σ的高斯分布。均值μ和標準差σ計算公式分別為
(7)
(8)
式中:m為集合S的個數(shù);st為t時刻預測值與實際值的誤差。
步驟6 根據(jù)高斯分布的3σ原則,集合S落入(μ-3σ,μ+3σ)區(qū)間的概率為99.74%,因此設(shè)定檢測異常數(shù)據(jù)的閾值為3σ,即當t時刻的誤差st大于3σ時,t時刻的數(shù)據(jù)記為異常數(shù)據(jù);反之,記為正常數(shù)據(jù)。
步驟7 計算檢測結(jié)果。
采用某實際配網(wǎng)的電壓數(shù)據(jù)作為數(shù)據(jù)集,為驗證所提方法的普適性,選取3個電壓數(shù)據(jù)集進行實驗,每個電壓數(shù)據(jù)集分別記為A、B和C。在每個數(shù)據(jù)集選取1 000個數(shù)據(jù),按8∶2的比例劃分訓練集和測試集,即訓練集為800個,測試集為200個。為驗證所提方法的有效性,在測試集樣本中加入10%的異常數(shù)據(jù),即加入20個異常數(shù)據(jù)。注意:在測試集中隨機抽取20個正常數(shù)據(jù),并加上1%~3%噪聲,形成異常數(shù)據(jù)。
配網(wǎng)電壓異常數(shù)據(jù)檢測屬于二分類問題,可根據(jù)實際情況和檢測情況,將檢測結(jié)果分為TN(true negatives)、FP(false positives)、FN(false negatives)和TP(true positives),具體如表1所示。
如表1所示,TN指實際為正常且檢測為正常的數(shù)據(jù)個數(shù);FP指實際為正常且檢測為異常的數(shù)據(jù)個數(shù);FN指實際為異常且檢測為正常的數(shù)據(jù)個數(shù);TP指實際為異常且檢測為異常的數(shù)據(jù)個數(shù)。
表1 檢測結(jié)果說明
這里采用準確率(Accuracy)、召回率(Recall)、辨識率(Precision)和F1分數(shù)作為評價指標。準確率指檢測正確的樣本數(shù)占所有檢測樣本的比值,其值越大,表明檢測效果越好,其計算公式為
(9)
召回率指正確檢測出來的異常數(shù)據(jù)個數(shù)與實際異常數(shù)據(jù)個數(shù)的比值,由式(10)計算。辨識率指正確檢測異常數(shù)據(jù)個數(shù)與被檢測出來異常數(shù)據(jù)個數(shù)的比值,由式(11)計算。理想情況下,召回率和辨識率越
大,檢測效果越好。但有些情況下二者是矛盾的,召回率大而辨識率小,或召回率小而辨識率大。
(10)
(11)
F1分數(shù)同時考慮了召回率和辨識率,是召回率和辨識率的調(diào)和平均數(shù),其值越大說明檢測效果越好,其計算公式為
(12)
建立Bi-LSTM神經(jīng)網(wǎng)絡預測模型,包括Bi-LSTM層和全連接層,其中:Bi-LSTM層設(shè)置50個隱藏神經(jīng)元,網(wǎng)絡學習算法采用Adam優(yōu)化算法,最小訓練批次為50,總迭代次數(shù)為100?;赥ensorFlow深度學習框架,在PyCharm集成開發(fā)環(huán)境上編寫計算程序。計算環(huán)境為:計算機CPU為Core i7-10700,主頻為2.90 GHz,內(nèi)存為16 GB,操作系統(tǒng)為Windows 10(64 bit)。
為驗證所提方法的有效性,針對數(shù)據(jù)集A、B、C,將所提方法與決策樹、K近鄰、支持向量機和LSTM神經(jīng)網(wǎng)絡4種方法進行比較,異常數(shù)據(jù)檢測結(jié)果如圖4所示。
由圖4可見,Bi-LSTM和LSTM神經(jīng)網(wǎng)絡比決策樹、K近鄰和支持向量機檢測出的異常數(shù)據(jù)更多,這是因為Bi-LSTM和LSTM神經(jīng)網(wǎng)絡考慮了配網(wǎng)電壓的時序特性。由圖4(b)、圖4(c)可見,Bi-LSTM神經(jīng)網(wǎng)絡比LSTM神經(jīng)網(wǎng)絡檢測出更多異常數(shù)據(jù),這是因為與LSTM神經(jīng)網(wǎng)絡相比,Bi-LSTM神經(jīng)網(wǎng)絡考慮了配網(wǎng)電壓反向時序信息。
*表示異常點;D表示決策樹;K表示K近鄰;S表示支持向量機;L表示LSTM神經(jīng)網(wǎng)絡;B表示Bi-LSTM神經(jīng)網(wǎng)絡
為更全面地展示所提檢測方法性能的優(yōu)勢,從準確率、召回率、辨識率和F1分數(shù)等性能指標進行比較,如表2所示。
由表2可知,Bi-LSTM和LSTM神經(jīng)網(wǎng)絡在準確率、召回率、辨識率和F1分數(shù)均優(yōu)于決策樹、K近鄰和支持向量機方法的檢測效果。決策樹、K近鄰和支持向量機3種方法的辨識率和F1分數(shù)均較小,說明這些方法將正常數(shù)據(jù)誤檢為異常數(shù)據(jù),主要原因在于:配網(wǎng)電壓數(shù)據(jù)具有時序相關(guān)性,但決策樹、K近鄰和支持向量機3種有監(jiān)督檢測方法僅利用電壓本身的特征信息,沒有考慮相鄰時刻電壓信息的時序相關(guān)性,因而很難正確檢測正常數(shù)據(jù)和異常數(shù)據(jù)。然而,Bi-LSTM和LSTM神經(jīng)網(wǎng)絡均考慮了相鄰時刻電壓信息的時序相關(guān)性,適合時間序列數(shù)據(jù)檢測,因而各項指標均較高。
表2 數(shù)據(jù)集A、B、C下不同指標對比
由表2的數(shù)據(jù)集A和數(shù)據(jù)集C可知,與LSTM神經(jīng)網(wǎng)絡辨識率接近1相比,Bi-LSTM神經(jīng)網(wǎng)絡的辨識率均為1,因而LSTM神經(jīng)網(wǎng)絡存在誤檢測情況,而Bi-LSTM神經(jīng)網(wǎng)絡沒有將正常數(shù)據(jù)誤檢為異常數(shù)據(jù);由數(shù)據(jù)集B和數(shù)據(jù)集C可知,Bi-LSTM神經(jīng)網(wǎng)絡的召回率比LSTM神經(jīng)網(wǎng)絡大,說明Bi-LSTM神經(jīng)網(wǎng)絡能檢測出更多異常數(shù)據(jù);Bi-LSTM神經(jīng)網(wǎng)絡的準確率和F1分數(shù)均比LSTM神經(jīng)網(wǎng)絡大,因而Bi-LSTM神經(jīng)網(wǎng)絡的檢測效果更好。
提出一種基于Bi-LSTM神經(jīng)網(wǎng)絡的配網(wǎng)電壓無監(jiān)督異常數(shù)據(jù)檢測方法,適用于實際配網(wǎng)電壓數(shù)據(jù)的場景,并可以充分挖掘配網(wǎng)電壓時序數(shù)據(jù)間的規(guī)律。利用Bi-LSTM神經(jīng)網(wǎng)絡構(gòu)建預測模型,對配網(wǎng)電壓進行預測,通過對比預測值與實際值的誤差檢測異常數(shù)據(jù)。得出如下主要結(jié)論。
(1)與決策樹、K近鄰、支持向量機3種檢測方法相比,Bi-LSTM神經(jīng)網(wǎng)絡克服了僅利用電壓本身特征信息的局限性,同時考慮了相鄰時刻電壓信息的時序相關(guān)性,因而更適合具有時序相關(guān)性數(shù)據(jù)檢測。
(2)與LSTM神經(jīng)網(wǎng)絡相比,Bi-LSTM神經(jīng)網(wǎng)絡在考慮正向序列信息的基礎(chǔ)上引入反向序列信息,深入挖掘時序電壓信息間的規(guī)律,能更好地處理了正常數(shù)據(jù)和異常數(shù)據(jù)在時間序列的差異性,提高了配網(wǎng)電壓異常數(shù)據(jù)的檢測效果。