鄧春宇,吳克河,談元鵬,胡 杰
(1.華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,北京 102206;2.中國電力科學(xué)研究院有限公司 人工智能應(yīng)用研究所,北京 100192;3.華北電力大學(xué) 電氣與電子工程學(xué)院,北京 102206)
國內(nèi)外研究者在時(shí)間序列的異常點(diǎn)檢測方面已經(jīng)做了很多工作,時(shí)間序列分析[1]、馬爾可夫模型、遺傳算法[2]等多種方法均有所應(yīng)用。文獻(xiàn)[3]按異常類型的不同確定不同的數(shù)據(jù)清洗方法,但沒有考慮到多變量之間的相關(guān)性關(guān)系。文獻(xiàn)[4]使用基于Kernel Smoothing技術(shù)和回歸模型的分類方法識(shí)別異常數(shù)據(jù),但是回歸模型的選取需要一定的先驗(yàn)知識(shí)。文獻(xiàn)[5]使用單分類支持向量機(jī)和主動(dòng)學(xué)習(xí)的方法進(jìn)行異常點(diǎn)的檢測,此方法對(duì)主動(dòng)學(xué)習(xí)策略的選擇有較高要求。長短期記憶網(wǎng)絡(luò)作為循環(huán)神經(jīng)網(wǎng)絡(luò)的一種變體,由于解決了RNNs無法完美學(xué)習(xí)的信息長期依賴的問題[6],在異常值檢測領(lǐng)域已經(jīng)有很廣泛的應(yīng)用。在研究過程中,長短期記憶網(wǎng)絡(luò)預(yù)測準(zhǔn)確度的問題是限制其異常檢測準(zhǔn)確度的最主要因素,研究表明預(yù)測精確度可以通過區(qū)分物理狀態(tài)得到提高[7,8],而物理狀態(tài)的區(qū)分可以看作是一個(gè)多元時(shí)間序列分割聚類問題。
提出一種基于多元時(shí)間序列分割聚類和長短期記憶網(wǎng)絡(luò)的TICC-LSTM大數(shù)據(jù)點(diǎn)異常檢測方法。使用多元時(shí)間序列分割聚類算法分析計(jì)算出原始數(shù)據(jù)最優(yōu)分段數(shù)的基礎(chǔ)上,建立多元時(shí)間序列分割聚類的最優(yōu)化模型,確定分割時(shí)間節(jié)點(diǎn)和子序列,使用長短期記憶網(wǎng)絡(luò)對(duì)每個(gè)子序列進(jìn)行數(shù)據(jù)重構(gòu),計(jì)算與原始序列的殘差判斷提取出異常數(shù)據(jù)點(diǎn)。
實(shí)際物理過程是由多個(gè)子過程組合得到的,例如汽車的行駛過程可以分解為3段:加速、勻速行駛和減速停車,其中每個(gè)分段的數(shù)據(jù)均包含多個(gè)變量[9]。多元時(shí)間序列分割算法將原始數(shù)據(jù)在各個(gè)時(shí)間分割點(diǎn)分開,每個(gè)子序列代表一個(gè)實(shí)際的物理過程,認(rèn)為在每個(gè)過程中數(shù)據(jù)的特點(diǎn)均應(yīng)該是一致的,從而可以為異常檢測提供良好的數(shù)據(jù)準(zhǔn)備。
多維時(shí)間序列xorig是按時(shí)間順序排列的多元時(shí)間序列,xorig=[x1,x2x3,…,xT]。其中T代表此時(shí)間序列的長度,xi表示第i個(gè)時(shí)刻的多元變量的觀測值。為了表現(xiàn)時(shí)間序列每個(gè)前后時(shí)刻的數(shù)據(jù)之間的關(guān)聯(lián)性,針對(duì)子序列而不是單個(gè)時(shí)間點(diǎn)進(jìn)行聚類,即以每個(gè)時(shí)間點(diǎn)為基準(zhǔn),向前截取時(shí)間長度為ω的一段作為子序列,記為Xi=[xi-ω+1,…,xi-1,xi],其中i=1,2,…,T。
假設(shè)原始的多元時(shí)間序列可以被劃分為K類,記Pj代表第j類信號(hào)段序號(hào)集合,其中j=1,2,…,K。為了可以表現(xiàn)出每個(gè)時(shí)不變子序列中各個(gè)傳感器之間的關(guān)系,可以將每個(gè)聚類定義為一個(gè)與其它聚類完全不同的馬爾可夫隨機(jī)場。其中,馬爾可夫隨機(jī)場的邊代表兩個(gè)變量之間的偏相關(guān)性。
記每一類信號(hào)的協(xié)方差逆矩陣為Θi,Θi可以用來表示每個(gè)聚類的馬爾可夫隨機(jī)場。這個(gè)矩陣由ω×ω個(gè)子矩陣組成,每個(gè)子矩陣的大小為n×n,其中n代表信號(hào)段的個(gè)數(shù),ω代表時(shí)間窗的大小,由于不同時(shí)刻之間的信號(hào)差別只和時(shí)間差有關(guān),即兩個(gè)不同時(shí)刻之間的逆協(xié)方差矩陣互為轉(zhuǎn)置,因此每一類信號(hào)的逆協(xié)方差矩陣可以表示為
綜上所述,對(duì)多元時(shí)間序列的分割聚類問題可以簡化為一個(gè)優(yōu)化類問題,優(yōu)化目標(biāo)是求解K個(gè)逆協(xié)方差矩陣Θ={Θ1,Θ2,…,ΘK} 和最終結(jié)果的聚類集P={P1,P2,…,PK},其中Pi?{1,2,…,T},因此優(yōu)化問題可以表示為
(1)
(2)
式(2)表示子序列Xt是被分配到序列i的對(duì)數(shù)似然,其中μi是集合i所有數(shù)據(jù)的經(jīng)驗(yàn)均值,logdetΘi表示第i個(gè)逆協(xié)方差矩陣行列式的對(duì)數(shù)。
上述模型是一個(gè)混合組合和連續(xù)優(yōu)化問題,由于兩個(gè)變量:原始信號(hào)類別Pj和各類信號(hào)的逆協(xié)方差矩陣Θj具有深度耦合的特點(diǎn),沒有可行的方法求取其全局最優(yōu)解,為此將求解分成兩個(gè)步驟,首先將源數(shù)據(jù)點(diǎn)進(jìn)行聚類,然后更新聚類參數(shù),迭代計(jì)算直至小于設(shè)置的最小誤差。
假設(shè)序列Xi=[xi-ω+1,…,xi-1,xi] 有K個(gè)潛在聚類信號(hào)段,把信號(hào)段Xi歸入某一類的代價(jià)可以用如下式(3)來表示
(3)
考慮最大化源數(shù)據(jù)的對(duì)數(shù)相關(guān)性并且最小化類別信息在算法中的更改次數(shù),兩個(gè)約束構(gòu)成了一個(gè)典型的流水線調(diào)度問題,如圖1所示。
圖1 源數(shù)據(jù)聚類流水線模型
式(3)所示的問題可以描述為找到從初始時(shí)間1到時(shí)間T的最短成本路徑的問題,其中節(jié)點(diǎn)的成本為該點(diǎn)被聚類到此類別的負(fù)對(duì)數(shù)似然值,路徑的成本為β,表示每次類別變化所造成的成本。
算法流程如圖2所示。
圖2 源數(shù)據(jù)聚類算法流程
以上可以計(jì)算出源數(shù)據(jù)的聚類Pi,逆協(xié)方差矩陣Θi可以使用最小化其負(fù)對(duì)數(shù)似然值之和的方法求取
(4)
其中
(5)
將上述問題進(jìn)行變換并添加一個(gè)正則項(xiàng),可以使用交替方向乘子法(ADMM)進(jìn)行求解
(6)
綜上所述,將原始信號(hào)數(shù)據(jù)輸入程序中并設(shè)定初始參數(shù),對(duì)兩個(gè)存在相互耦合的變量聚類Pi和逆協(xié)方差矩陣Θi交互迭代求解,最終得到多元時(shí)間序列的分割聚類的類別信息。
上述多元時(shí)間序列分割聚類算法保證了每個(gè)子序列均只包含一種物理狀態(tài),因此可以將每個(gè)子序列分別使用長短期記憶網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)重構(gòu),并與原始數(shù)據(jù)樣本進(jìn)行比較,誤差較大的數(shù)據(jù)可以認(rèn)為是異常數(shù)據(jù)點(diǎn)。
長短期記憶網(wǎng)絡(luò)的神經(jīng)元狀態(tài)只產(chǎn)生少量的線性變化,信息從前一狀態(tài)到后一狀態(tài)只產(chǎn)生少量的變化。信息的輸入和修改是通過控制3個(gè)門控單元,即遺忘門、輸入門和輸出門來實(shí)現(xiàn)控制的。
ft=σ(Wf·[ht-1,xt]+bf)
(7)
it=σ(Wi·[ht-1,xt]+bi)
(8)
(9)
狀態(tài)值的更新包含兩部分內(nèi)容:舊隱藏值狀態(tài)的遺忘和新中間變量的更新,則t時(shí)刻狀態(tài)Ct的計(jì)算公式如式(10)所示
(10)
輸出層使用一個(gè)Sigmod函數(shù)決定需要被輸出的神經(jīng)元狀態(tài),然后通過一個(gè)tanh函數(shù)只輸出需要的數(shù)據(jù)
ot=σ(Wo[ht-1,xt]+bo)
(11)
ht=ot*tanh(Ct)
(12)
長短期記憶網(wǎng)絡(luò)的結(jié)構(gòu)如圖3所示。
圖3 長短期記憶網(wǎng)絡(luò)結(jié)構(gòu)
電力系統(tǒng)中采用的大型變壓器多采用油浸紙絕緣結(jié)構(gòu),使用變壓器油進(jìn)行絕緣和散熱。隨著運(yùn)行時(shí)間的增加,絕緣油長期處于強(qiáng)電磁環(huán)境下,會(huì)緩慢的產(chǎn)生乙炔、氫氣、一氧化碳、二氧化碳、甲烷等氣體[10]。在變壓器發(fā)生局部放電或過熱等故障情況時(shí),這些氣體的含量會(huì)發(fā)生明顯的變化,因此根據(jù)這些氣體的含量和變化規(guī)律可以判斷變壓器的老化情況,并且在一定程度上做到預(yù)測故障的發(fā)生。
變壓器的油色譜數(shù)據(jù)包括總烴、氫氣、乙炔、甲烷、乙烷、一氧化碳、二氧化碳等。在實(shí)際運(yùn)行過程中,變壓器的故障主要包括過熱故障、局部放電故障、火花放電故障和電弧放電故障等[11]。各種故障條件下產(chǎn)氣特征情況見表1。
表1 電力變壓器各種故障條件下產(chǎn)氣特征
仿真采用甘肅某變電站一臺(tái)油浸式戶外主變壓器采集到的實(shí)際數(shù)據(jù)。本臺(tái)主變于1992年出廠,在出廠試驗(yàn)中所有數(shù)據(jù)均合格,三相額定電壓等級(jí)為345/121/10.5 kV,額定容量為150/150/50 MVA。在投入運(yùn)行后,該主變所帶負(fù)荷一直較低,且從未出現(xiàn)過載情況,負(fù)荷率基本在50%左右。2007年和2008年負(fù)荷率為30%-74%,原因在于同變電站的另外一臺(tái)主變故障檢修導(dǎo)致本臺(tái)變電站負(fù)載升高。
采用此變壓器2006年6月到2009年6月的油色譜在線監(jiān)測數(shù)據(jù),共10類超過10 000行數(shù)據(jù)。由于多種故障中甲烷、乙炔和氫氣所占比重較大,因此選取這3種氣體進(jìn)行分析。
經(jīng)過上述對(duì)原始數(shù)據(jù)的處理,得到10 000個(gè)時(shí)間點(diǎn)的數(shù)據(jù),其中每個(gè)時(shí)間點(diǎn)均包含甲烷、乙炔和氫氣3種變壓器油色譜氣體含量。使用TICC-LSTM算法將上述時(shí)間序列數(shù)據(jù)進(jìn)行分割聚類,定性分析每種類別的數(shù)據(jù)特征,從而得出變壓器運(yùn)行狀態(tài)。
下面簡要說明TICC-LSTM算法的參數(shù)選擇。使用貝葉斯信息量(Bayesian information criterion,BIC)的方法對(duì)源數(shù)據(jù)進(jìn)行分析,認(rèn)為對(duì)源數(shù)據(jù)分為3類較為合適,即聚類數(shù)K=3,時(shí)間窗ω取5,即每個(gè)待聚類子序列有5個(gè)數(shù)據(jù),初始λ設(shè)置為0.11,可以隨程序的運(yùn)行自動(dòng)進(jìn)行調(diào)整。聚類的經(jīng)驗(yàn)均值隨聚類的變化而發(fā)生變化,每次迭代得到的經(jīng)驗(yàn)均值通常是不同的。
由于得到的各類數(shù)據(jù)的數(shù)據(jù)總量并不相同,傳統(tǒng)的聚類效果比較算法均難以應(yīng)用,動(dòng)態(tài)時(shí)間規(guī)整算法(dynamic time warping,DTW)能夠衡量兩個(gè)序列的相似程度,認(rèn)為類別間相似度大的聚類效果好。分別計(jì)算兩兩類別生成數(shù)據(jù)矩陣的歐氏距離,對(duì)得到的結(jié)果進(jìn)行分析,判斷分割得到的各子序列是否具有高獨(dú)立性,得到的結(jié)果見表2。
表2 源數(shù)據(jù)各類別DTW分析結(jié)果
從分析結(jié)果可以看出,各類別之間的歐氏距離均較大。同時(shí)將源數(shù)據(jù)以折線圖的形式表示,可以看出各類別數(shù)據(jù)之間具有顯著的差異性。
圖4展示了3種氣體需要進(jìn)行異常檢測的原始數(shù)據(jù)的聚類情況,類別1中的數(shù)據(jù)整體呈現(xiàn)下降的趨勢,其中乙炔最為明顯,含量從開始記錄時(shí)刻的27下降到了10.5。查詢本臺(tái)變壓器的履歷變更記錄發(fā)現(xiàn)記錄前因變壓器兩臺(tái)冷卻器發(fā)生故障,因此更換了油枕皮囊并對(duì)調(diào)壓開關(guān)補(bǔ)充了絕緣油,多氣體含量的下降正是此次維修所致。類別2的數(shù)據(jù)整體呈現(xiàn)平穩(wěn)狀態(tài),乙炔、甲烷和氫氣含量整體維持在9 ppm、10 ppm和2.1 ppm,這與變壓器無故障正常運(yùn)行的表現(xiàn)一致,說明這段時(shí)間變壓器未發(fā)生局部放電、過熱、過負(fù)荷等異常運(yùn)行事件。類別3中乙炔和氫氣的含量呈現(xiàn)明顯的上升趨勢,甲烷的含量上升不明顯但數(shù)據(jù)具有一定的波動(dòng)性,這種情況可能有3種原因造成,一種是變壓器本體中某些部位(如引線接頭或繞組匝間)有火花放電現(xiàn)象。無論是繞組長期過熱造成絕緣老化引起匝間絕緣擊穿,還是引線焊接不良引起過熱造成絕緣擊穿或引線燒斷,都必然產(chǎn)生電弧放電,油中必將產(chǎn)生大量的乙炔氣體。第二種可能是變壓器有載開關(guān)的選擇開頭切斷電流,由于要滿足系統(tǒng)運(yùn)行電壓的需要,此主變壓器有載調(diào)壓相對(duì)較為頻繁,這樣經(jīng)過拉弧后變壓器油中也會(huì)產(chǎn)生大量的C2H2氣體。第三種可能是主變油與有載分接開關(guān)切換油室中的變壓器油相通。由于有載切換開關(guān)在變換分接時(shí)要切斷電流,必然會(huì)產(chǎn)生電弧,造成變壓器油分解,從而產(chǎn)生這些氣體。
圖4 變壓器油色譜數(shù)據(jù)
以上聚類分割將源數(shù)據(jù)分成了3種類別共9段數(shù)據(jù),每段數(shù)據(jù)均包括3種氣體成分:氫氣、甲烷和乙炔。每種氣體成分的變化均與各自的時(shí)間變化相關(guān),采用長短期記憶網(wǎng)絡(luò)方法分別對(duì)每段數(shù)據(jù)進(jìn)行重構(gòu),并計(jì)算與源數(shù)據(jù)的殘差,認(rèn)為殘差超過一定閾值的點(diǎn)即為異常值點(diǎn)。
為了獲得較好的預(yù)測效果,首先需要將訓(xùn)練數(shù)據(jù)標(biāo)準(zhǔn)化為具有零均值和單位方差。創(chuàng)建長短期記憶網(wǎng)絡(luò)包含200個(gè)隱含單元,將梯度閾值設(shè)置為1從而防止梯度爆炸,初始學(xué)習(xí)速率為0.0005。
以類別3中氫氣、甲烷和乙炔數(shù)據(jù)為輸入,使用LSTM算法預(yù)測下來30個(gè)點(diǎn)的取值,得到的預(yù)測數(shù)據(jù)-原數(shù)據(jù)折線圖和殘差圖如圖5 所示。
圖5 類別1氫氣含量異常值檢測
根據(jù)圖5可以明顯看出,乙炔數(shù)據(jù)中第14點(diǎn)的值明顯偏離了預(yù)測值,呈現(xiàn)遠(yuǎn)低于其它點(diǎn)的現(xiàn)象。同時(shí)觀察此類別3數(shù)據(jù)的整體變化趨勢是平穩(wěn)下降的,而此點(diǎn)明顯偏離與數(shù)據(jù)的整體趨勢,應(yīng)該判定為是異常點(diǎn)數(shù)據(jù)。根據(jù)長短期記憶網(wǎng)絡(luò)的預(yù)測結(jié)果,可以將這兩個(gè)點(diǎn)的數(shù)據(jù)進(jìn)行修正,從而使之符合數(shù)據(jù)的整體變化趨勢,減少預(yù)警裝置的誤報(bào)。
在實(shí)際情況中此數(shù)據(jù)點(diǎn)的氫氣含量為31.97 ppm,而異常值數(shù)據(jù)為15.01 ppm,查閱變壓器的變更履歷發(fā)現(xiàn)此時(shí)傳感器出現(xiàn)了故障,從而導(dǎo)致測量產(chǎn)生了較大誤差。
為檢驗(yàn)所提TICC-LSTM方法的準(zhǔn)確性,利用同樣的數(shù)據(jù)樣本在沒有進(jìn)行聚類的情況下使用相同的訓(xùn)練方法對(duì)數(shù)據(jù)進(jìn)行預(yù)測。準(zhǔn)確率描述正確識(shí)別出的異常點(diǎn)占總異常點(diǎn)的比例,誤檢率描述被誤判為異常點(diǎn)的個(gè)數(shù)與總異常點(diǎn)個(gè)數(shù)的比值,其表達(dá)式為
(13)
(14)
其中,A表示準(zhǔn)確率,B表示誤檢率,Np為正確檢測出的異常點(diǎn)的個(gè)數(shù),NF為檢出的錯(cuò)誤異常點(diǎn)個(gè)數(shù),NT為異常點(diǎn)總數(shù)。
對(duì)所有3個(gè)類比的數(shù)據(jù)進(jìn)行異常點(diǎn)檢測,得到如圖6所示的準(zhǔn)確率直方圖。
圖6 預(yù)測準(zhǔn)確率比較
圖6可以看出,使用分割聚類對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后,由于每個(gè)子序列均只包含一個(gè)物理過程,從而使長短期記憶網(wǎng)絡(luò)預(yù)測的準(zhǔn)確率上升,異常點(diǎn)檢測的誤檢率也從18.6%降低到5.4%。
在分析前人研究成果的基礎(chǔ)上,總結(jié)了現(xiàn)有研究方法的優(yōu)點(diǎn)和不足,針對(duì)數(shù)據(jù)的異常識(shí)別、時(shí)間分段聚合等問題進(jìn)行了研究,得到以下結(jié)論:
(1)針對(duì)多狀態(tài)的物理過程,為解決不同狀態(tài)變化時(shí)可能產(chǎn)生的對(duì)異常值檢測的影響,采用了一種基于多元時(shí)間序列分割聚類的TICC算法,將多元序列按不同狀態(tài)分割成多個(gè)序列,此種聚類方法將大量數(shù)據(jù)分成多段,便于采用并行計(jì)算,并且便于對(duì)多段物理過程進(jìn)行合理解釋。
(2)采用長短期記憶網(wǎng)絡(luò)的算法重構(gòu)原始數(shù)據(jù),并通過計(jì)算原始數(shù)據(jù)和重構(gòu)數(shù)據(jù)的殘差辨識(shí)異常數(shù)據(jù)點(diǎn)。該算法充分考慮了時(shí)間序列各點(diǎn)數(shù)據(jù)的長期依賴問題,適于大數(shù)據(jù)的分析。
使用變壓器油色譜數(shù)據(jù)進(jìn)行仿真驗(yàn)證,并與沒有采用分段聚類的異常檢測方法進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明本文提出的算法對(duì)多過程的多元時(shí)間序列異常點(diǎn)檢測具有較高的檢測精度,有比較好的應(yīng)用前景。