張彼德,梅 婷,王 濤
(西華大學(xué) 電氣與電子信息學(xué)院,四川 成都610039)
作為電力系統(tǒng)中最為核心的設(shè)備,電力變壓器對整個系統(tǒng)的安全穩(wěn)定運行起著舉足輕重的作用[1]。因此,有必要對變壓器的運行狀態(tài)進(jìn)行監(jiān)控,及時診斷出變壓器的潛伏性故障,解決系統(tǒng)安全隱患[2]。在變壓器故障診斷技術(shù)之中,油中溶解氣體分析(Dissolved Gas Analysis,DGA)是最為有效也最常用的一種[3]。DGA 技術(shù)實時性強,效果直觀,且對于發(fā)現(xiàn)變壓器內(nèi)部潛伏性故障具有顯著效果,已成為變壓器故障診斷中最為方便有效的方法之一[4-5]。近年來,人工智能在變壓器故障診斷領(lǐng)域得到了廣泛應(yīng)用,各分類模型也發(fā)揮了良好的分類效果。常用的分類模型有k 近鄰(K-Nearest Neighbor,KNN)[6-8]、人 工 神 經(jīng) 網(wǎng) 絡(luò)(ANN)[9-11]、支 持 向 量 機(jī)(SVM)[12-14]、貝 葉 斯 網(wǎng)絡(luò)[15-17]、模糊理論[18-19]等,其中,KNN算法由于其簡單有效、易于實現(xiàn)、適用性強等特點而得到了廣泛研究。
KNN 算法是由Cover 等人提出的經(jīng)典分類算法之一,被廣泛應(yīng)用于文本分類[20-21]、人臉識別[22-23]、故障診斷[24-25]等領(lǐng)域之中。傳統(tǒng)KNN 算法首先尋找訓(xùn)練樣本中與待測樣本距離最近的k 個樣本點,并統(tǒng)計所有近鄰樣本的類別,最后將出現(xiàn)次數(shù)最多的類別作為待測樣本的類別。然而,傳統(tǒng)KNN算法也有一些不足之處,主要包括以下幾個方面。首先,KNN 作為一種懶惰算法,在特征維數(shù)較高時會使得計算量較大;其次,近鄰個數(shù)k 為固定取值,在實際應(yīng)用中k 值難以確定,且在樣本分布不均時對k進(jìn)行固定取值并不科學(xué);并且,KNN算法在判定待測樣本類別時對所有近鄰點施加相同的權(quán)重,未考慮樣本分布帶來的影響。針對上述問題,一些學(xué)者從不同角度提出了相關(guān)的改進(jìn)方法。Hui-Ya Li 等[26]提出了一種應(yīng)用于模式識別領(lǐng)域的快速KNN算法,通過在小波域中進(jìn)行局部距離搜索來尋找距待測樣本點最近的k 個訓(xùn)練樣本,實驗結(jié)果表明該方法可有效縮短KNN 的運算時間。Bhattacharya等[27]針對數(shù)據(jù)分布不平衡的情況,對不同k值下得到的結(jié)果進(jìn)行了比較分析,提出了k值的選擇策略,并經(jīng)UCI數(shù)據(jù)集驗證了可行性,但該方法仍是采用固定k 值。Sun 等[28]提出了一種k 值自適應(yīng)選擇方法,選用待測樣本點最近鄰樣本的近鄰數(shù)作為待測樣本的k值,該方法簡單直接,但未考慮到樣本分布情況與異常點等問題,使用范圍較為受限。
本文針對變壓器故障數(shù)據(jù)特點,對KNN算法從以下幾個方面進(jìn)行了改進(jìn):1)由于變壓器樣本分布較廣,且常有數(shù)值異常的離群樣本出現(xiàn),為減小離群樣本對分類結(jié)果的干擾,對樣本數(shù)據(jù)的局部異常因子進(jìn)行計算,并以此為根據(jù)對離群樣本進(jìn)行剔除;2)考慮樣本分布情況,根據(jù)待測樣本的近鄰點密度對k 值進(jìn)行自適應(yīng)選擇;3)在判斷待測樣本所屬類別時,綜合考慮待測樣本與近鄰點間的歐氏距離,以及待測樣本與各類別樣本的分布相似度,對權(quán)值進(jìn)行了重新定義。
KNN算法是由最近鄰規(guī)則延伸得到的,不同于最近鄰法,KNN算法將用于決策的近鄰點從一個拓展為k 個,從而獲得更多有效信息用于最終的決策[29]。相比其他分類算法,KNN 算法省略了學(xué)習(xí)的過程,分類原理簡單直接,且對大部分分類問題都具有良好效果。
傳統(tǒng)KNN算法流程如下:
1)輸入訓(xùn)練樣本集X={X1,X2,…,Xm},m 為訓(xùn)練樣本個數(shù),并設(shè)定k值;
2)輸入測試樣本集T={T1,T2,…,Tn},n為待測樣本個數(shù),并對測試集中的每一個待測樣本點Ti,計算其與訓(xùn)練集中每個樣本點Xi間的距離;
3)選擇距離待測樣本Ti最近的k 個訓(xùn)練樣本點,作為該待測樣本的近鄰集合kNNTi;
4)統(tǒng)計集合kNNTi中所有訓(xùn)練樣本的所屬類別,并將待測樣本點劃分為出現(xiàn)概率最大的類別。
5)重復(fù)步驟3)和4),直至測試樣本集的所有樣本點劃分完畢。
由以上步驟可以看出,傳統(tǒng)KNN算法的近鄰個數(shù)k為固定取值,且在劃分待測樣本點所屬類別時,認(rèn)為所有近鄰點具有相同的重要程度。而在實際應(yīng)用中,固定k 值與等權(quán)重?zé)o法適應(yīng)不同分布的樣本數(shù)據(jù),容易對分類結(jié)果造成不利影響。
為使KNN 算法中的k 值適應(yīng)數(shù)據(jù)分布,且在分類時綜合考量各近鄰點重要程度,本文根據(jù)局部數(shù)據(jù)密度對k 進(jìn)行自適應(yīng)取值,并結(jié)合歐式距離與分布相似度,對各近鄰點進(jìn)行加權(quán)處理,以使最終的分類結(jié)果更加合理。
由于KNN 算法的分類依據(jù)是待測樣本近鄰點的所屬類別,若近鄰點中包含離群數(shù)據(jù),將對結(jié)果造成不利影響。因此,有必要對樣本數(shù)據(jù)進(jìn)行離群點檢測,剔除明顯離群樣本,減小對分類結(jié)果的干擾。本文通過計算每個樣本點的局部異常因子來檢測離群樣本[30],基本原理如下。
設(shè)數(shù)據(jù)集D 中點p 與第k 個近鄰點的距離為dk(p),并根據(jù)此距離建立點p 的近鄰合集Nk(p),即Nk(p)中所有數(shù)據(jù)點與點p間的距離≤dk(p),Nk(p)稱為點p的第k距離鄰域,表示為
式(1)中d(p,q)為數(shù)據(jù)點p和q間的距離。若d(p,q) >dk(p),則點p和點q之間的可達(dá)距離定義為d(p,q);若d(p,q) ≤dk(p),可達(dá)距離定義為dk(p),即
根據(jù)數(shù)據(jù)點的可達(dá)距離計算局部可達(dá)密度,并以此作為該數(shù)據(jù)點的相對密度,局部可達(dá)密度按式(3)計算:
式(3)中,lrdk(p)表示點p的局部可達(dá)密度,其值越大,則點p 與其近鄰點為同類點的可能性越大;反之,點p是離群點的可能性越大。
為進(jìn)一步表示出點p 離群的可能性,定義局部異常因子LOFk(p),即點p第k距離鄰域Nk(p)的局部可達(dá)密度與點p的局部可達(dá)密度之比的平均值。
若該值越接近于1,說明點p 與其鄰域點密度相近;若該值小于1,說明點p處的密度大于鄰域點密度;若該值大于1,說明點p 處的密度小于鄰域點密度,即該值越大,點p為離群點的可能性越大。
針對傳統(tǒng)KNN 方法中k 值為固定取值,無法適應(yīng)數(shù)據(jù)分布的缺點,本文根據(jù)數(shù)據(jù)的局部密度對k 值進(jìn)行選取,使k的取值能適應(yīng)數(shù)據(jù)分布實現(xiàn)自適應(yīng)取值。為便于分類,k值通常取奇數(shù)值,且為避免最近鄰點的干擾以及減小計算復(fù)雜度,將k 值的范圍限定于區(qū)間[3,15]內(nèi)。
設(shè)k 為待測樣本的近鄰個數(shù),d 為待測樣本到第k個近鄰樣本的距離,定義樣本局部密度ρ 為單位面積上近鄰樣本的個數(shù)。
對k在限定區(qū)間內(nèi)進(jìn)行取值,并記錄不同k值下局部密度的大小,若密度越大,表示k 值可信度越高,最終取密度最大時的k 值作為該待測樣本點的近鄰個數(shù)k。
傳統(tǒng)KNN算法對待測樣本進(jìn)行分類時,認(rèn)為所有近鄰點具有相同的重要程度,但這種做法并不合理。例如,取一種極端情況,讓待測樣本的近鄰數(shù)等于訓(xùn)練樣本總數(shù),此時待測樣本將被直接歸為樣本個數(shù)最多的那一類。將待測樣本近鄰點的分布情況納入分類決策中,即對近鄰點進(jìn)行加權(quán)處理,則能有效避免這種情況的出現(xiàn)。
最常用的加權(quán)方式是采用待測樣本到近鄰點間距離的倒數(shù)作為權(quán)重,計算方式如下
式(6)中:D為待測樣本到近鄰點間的距離;C為一個常數(shù),避免距離很小時權(quán)重值過大。
距離倒數(shù)加權(quán)方式方便快捷,但存在較近樣本權(quán)值過大,由近至遠(yuǎn)時權(quán)值衰減過快等問題。本文的加權(quán)方式主要從以下兩個方面來考慮:
1)根據(jù)待測樣本到近鄰點間的距離,采用高斯函數(shù)進(jìn)行加權(quán),對權(quán)值變化進(jìn)行平緩過渡處理,公式如下
式(7)中,a 取1,C 取0.5。由以上公式可以看出,當(dāng)近鄰點與待測樣本距離為0 時,權(quán)值為1;隨著距離的增大,權(quán)值平緩衰減,且永不為0。
2)若取待測樣本近鄰數(shù)為k,則會選取距待測樣本最近的k個點作為其近鄰點,而這k個近鄰點可能來自不同類別,屬于同一類別的近鄰點稱為“同一類別近鄰點”。通常,不同類別的數(shù)據(jù)點具有不同的分布規(guī)律,在加權(quán)時還應(yīng)對待測樣本點與各類別樣本數(shù)據(jù)的分布相似度進(jìn)行考慮。本文通過計算各類別近鄰點的近鄰平均距離,并與待測樣本點距該類別近鄰點的平均距離相比較,來評價待測樣本與該類別數(shù)據(jù)的分布相似度,從而進(jìn)行加權(quán)。兩者分布越相似,證明待測樣本點屬于該類別的可能性越大,相應(yīng)賦予該類別近鄰點的權(quán)值也越大。
①遍歷待測樣本xi的近鄰點類別標(biāo)簽,記錄各類別近鄰點數(shù)量Nc,并以xi的近鄰個數(shù)ki作為其近鄰點的近鄰個數(shù),計算各近鄰點與其鄰域點間的近鄰平均距離。第c類近鄰點的近鄰平均距離計算公式如下
式(8)中:Nc為類別c 的近鄰點數(shù)量;dmn為待測樣本類別c的近鄰點m與其鄰域點n之間的距離。
②計算待測樣本點與第c類近鄰點間的平均距離
式(9)中dj為近鄰點j到待測樣本間的距離。
③根據(jù)近鄰平均距離及待測樣本與其近鄰點間的平均距離,對類別為c的近鄰點權(quán)值進(jìn)行計算,
從式(10)可以看出,當(dāng)距離d1c與d2c相同時,表示待測樣本與第c類近鄰點分布相同,則第c類近鄰點的權(quán)重值為1;若兩個距離值相差越大,說明待測樣本與第c類近鄰點分布差距越大,權(quán)值則越小。
本文從以上兩個方面對加權(quán)方式進(jìn)行了綜合考慮,并定義每個近鄰點的權(quán)值為
式(11)中:W1為根據(jù)近鄰點到待測樣本的歐式距離得到的權(quán)值;W2為根據(jù)待測樣本與各類別樣本數(shù)據(jù)的分布相似度得到的權(quán)值,二者的結(jié)合能更準(zhǔn)確地反映各近鄰點的重要程度,從而合理確定權(quán)值。
變壓器結(jié)構(gòu)復(fù)雜,故障類型繁多,但主要可分為過熱型故障與放電型故障。本文參考IEC60599標(biāo)準(zhǔn),將故障類型劃分為以下5種:中低溫過熱(T12)、高溫過熱(T3)、局部放電(PD)、低能放電(D1)與高能放電(D2)。本文從已發(fā)表文獻(xiàn)中收集了DGA 數(shù)據(jù)433 組,具體如表1所示。
表1 故障樣本數(shù)據(jù)組成Table 1 Composition of the fault data
1)特征量選取
電力變壓器內(nèi)的絕緣油和絕緣材料在電和熱的作用下,會逐漸老化分解并產(chǎn)生氣體,并溶解于絕緣油之中。這些氣體主要包括H2、CH4、C2H4、C2H6、C2H2、CO、CO2、O2、N2等,由于CO、CO2、O2、N2等氣體分散性大且獲取不易,因此通常并未列入故障診斷特征氣體中。本文選取H2、CH4、C2H4、C2H6、C2H2五種氣體的體積分?jǐn)?shù)作為輸入特征量。
2)數(shù)據(jù)預(yù)處理
由于變壓器數(shù)據(jù)值分布較廣,甚至在數(shù)量級上具有顯著差異,因此為避免數(shù)據(jù)值差異過大,影響模型的穩(wěn)定性與收斂性,通常會對原始數(shù)據(jù)進(jìn)行預(yù)處理。常用的數(shù)據(jù)預(yù)處理方法有離差歸一化(MMN)、標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化(ZSN)和反正切函數(shù)轉(zhuǎn)換(ATAN)等。
MMN和ZSN方法屬于線性預(yù)處理方法,將原始數(shù)據(jù)進(jìn)行縮放,并落入指定空間內(nèi)。但線性方法無法縮小數(shù)據(jù)間的數(shù)量級差異,且通常將各特征進(jìn)行單獨映射,未考慮特征之間的橫向聯(lián)系,會使原始數(shù)據(jù)丟失一部分有價值信息。ATAN方法通過反正切函數(shù)實現(xiàn)對數(shù)據(jù)的預(yù)處理,由反正切函數(shù)特點可知,在數(shù)據(jù)分布較廣時,易導(dǎo)致預(yù)處理后的數(shù)據(jù)大量集中于邊界處,使得數(shù)據(jù)分布不均。通過以上分析可知,上述幾種方法都不適用于數(shù)據(jù)分布不均,且數(shù)值分布較廣的變壓器故障數(shù)據(jù)。
對數(shù)變換方法能縮小原始數(shù)據(jù)在數(shù)量級上的差異,使得數(shù)據(jù)分布更加緊湊,同時其對數(shù)據(jù)進(jìn)行整體映射,能合理保留數(shù)據(jù)特征。因此,本文采用對數(shù)變換對數(shù)據(jù)進(jìn)行預(yù)處理,
式(12)中xmax為樣本數(shù)據(jù)的最大值。
將本文提出的k值自適應(yīng)加權(quán)KNN方法用于變壓器故障診斷之中,建立故障診斷模型,具體步驟如下:
2)對歸一化后的訓(xùn)練樣本數(shù)據(jù)進(jìn)行離群樣本檢測,并剔除明顯離群樣本;
3)根據(jù)樣本的局部密度,按照式(7)對k值進(jìn)行自適應(yīng)取值;
4)對各近鄰點與待測樣本間的距離,以及待測樣本與近鄰點分布間的關(guān)系進(jìn)行綜合考慮,根據(jù)式(7)~(11)對近鄰點權(quán)值進(jìn)行計算;
5)統(tǒng)計待測樣本點各近鄰點類別,計算各類別近鄰點的總權(quán)重,并以最大權(quán)重為原則對待測樣本進(jìn)行分類。
對訓(xùn)練樣本按類別進(jìn)行離群點檢測,得到的局部異常因子分布情況如圖1所示。
圖1 局部異常因子分布情況Fig.1 Local outlier factor distribution
從圖1可以看出,樣本點的局部異常因子值通常在1附近波動,但在某些“異常點”處波動較大,本文取閾值為1.5,剔除原始數(shù)據(jù)中的12個“異常點”,即離群點。
為直接觀察樣本點分布情況,對訓(xùn)練樣本數(shù)據(jù)進(jìn)行主成分分析,選取第一主成分PCA1 與第二主成分PCA2,分別作為橫坐標(biāo)和縱坐標(biāo),并在圖中標(biāo)示出原始數(shù)據(jù)中判斷為異常點的數(shù)據(jù)點,得到的離群樣本分布圖如圖2所示。
圖2 離群數(shù)據(jù)分布情況Fig.2 Outlier data distribution
經(jīng)數(shù)據(jù)可視化后可以看出,所剔除的異常點大部分都明顯離群,對其進(jìn)行剔除后有利于最后的分類工作。
根據(jù)本文方法對k 進(jìn)行自適應(yīng)取值,記錄各待測樣本點所選取的k值,繪制折線圖如圖3所示。
從圖3可以看出,本文提出的根據(jù)局部密度方法,可以在考慮樣本分布的情況下實現(xiàn)對k 的自適應(yīng)取值。
圖3 k自適應(yīng)取值Fig.3 Adaptive value of k
基于相同的訓(xùn)練集與測試集,將樣本數(shù)據(jù)按式(12)進(jìn)行歸一化之后,分別輸入到BPNN、SVM、傳統(tǒng)KNN以及本文改進(jìn)得到的KNN分類器中進(jìn)行分類,并與改良三比值法的分類效果進(jìn)行對比,結(jié)果如圖4所示。
圖4 故障診斷結(jié)果Fig.4 Fault diagnosis result
從圖4 結(jié)果可以看出,改良三比值法的整體診斷準(zhǔn)確率雖能達(dá)到72%,但其局部放電(PD)和低能放電(D1)的診斷準(zhǔn)確率僅有28%和32.61%,效果較差。與改良三比值法相比,四種智能分類方法的診斷準(zhǔn)確率更高,且不同類型故障的診斷準(zhǔn)確率未出現(xiàn)較大差異,具有更好的診斷效果。并且,相較于BPNN、SVM和傳統(tǒng)KNN三種分類器,無論是單個故障還是整體的診斷準(zhǔn)確率,本文方法所得結(jié)果都更優(yōu)。其中,BPNN、SVM、KNN 和本文方法所得到的整體故障診斷準(zhǔn)確率分別為79.6%、85.2%、84.3%和91.7%,說明本文方法能對變壓器故障類型進(jìn)行更為有效的劃分。
本文提出了一種k 值自適應(yīng)加權(quán)KNN 算法,并將該算法應(yīng)用于變壓器故障診斷之中,取得了良好的效果,結(jié)論如下:
1)根據(jù)局部異常因子對離群樣本進(jìn)行檢測,并對明顯離群樣本進(jìn)行了剔除,以減小待測樣本近鄰點包含離群樣本時對分類結(jié)果造成的影響。
2)考慮樣本數(shù)據(jù)分布情況,根據(jù)待測樣本的近鄰點局部密度實現(xiàn)了對k 的自適應(yīng)取值,避免了傳統(tǒng)KNN 方法k 值固定的缺點,使得近鄰點個數(shù)的選取更加合理。
3)從距離與分布兩方面對近鄰點權(quán)重進(jìn)行了考慮,各近鄰點與待測樣本間的距離以及待測樣本與各類別樣本點的分布相似度,以減小數(shù)據(jù)分布問題給分類決策帶來的不利影響。
4)實例分析表明,本文方法通過對k 進(jìn)行自適應(yīng)取值以及加權(quán)時考慮樣本分布,能彌補傳統(tǒng)KNN算法的不足之處,相比改良三比值法、BPNN、SVM 和傳統(tǒng)KNN分類器,具有更高的故障診斷準(zhǔn)確率。