周琪超,朱永利
(華北電力大學 控制與計算機工程學院,河北 保定 071003)
變壓器作為電網(wǎng)的核心設備,其故障會誘發(fā)電網(wǎng)停電事故。因此,對變壓器的故障類型檢測至關重要。用油色譜氣體診斷變壓器故障是電業(yè)部門的常用方法,通過變壓器運行時油中氣體含量進行分析判斷,進而識別出變壓器系統(tǒng)故障[1]。
大量研究結果表明,通過油色譜數(shù)據(jù)診斷變壓器故障又分為傳統(tǒng)檢測法和智能檢測法,傳統(tǒng)的檢測方法包括關鍵氣體法、三比值法、大衛(wèi)三角法等等[2]。隨著人工智能的崛起,取而代之的是人工神經網(wǎng)絡方法(BP)、支持向量機(SVM)、極限學習機(ELM)等智能分類方法。BP算法存在輸入輸出關系復雜,要求的訓練樣本數(shù)目多,收斂精度低[3];SVM存在受核函數(shù)條件限制和很難精確規(guī)則化參數(shù)[4];ELM雖然解決了陷入局部最優(yōu)的情況,但不能解決變量間的隱藏關系[2]?;诖耍琑ahuraj等提出了變量預測模型(VPMCD)[5],然而,傳統(tǒng)的基于最小二乘法尋找最優(yōu)參數(shù)的VPMCD方法是使用多項式建立VPM模型,高階計算量很大,無法隨著樣本容量的增大而有效提高其近似精度,且對于小樣本[6]和非線性處理能力差,模型單一化,泛化能力弱。
基于以上缺陷,文獻[7]提出基于SDAE-VPMCD結合的方法優(yōu)化模型參數(shù),解決了小樣本效果差的問題[7];文獻[8]提出基于KELM-VPMCD相結合的方法優(yōu)化模型參數(shù),提高了模型的泛化能力、收斂速度[8];文獻[9]提出了GA-VPMCD相結合的方法優(yōu)化VPMCD模型參數(shù),能很好提高診斷精度和模型魯棒性[9];文獻[10]提出QGA-VPMCD相結合優(yōu)化VPMCD模型參數(shù),它是在遺傳算法的基礎上,采用量子遺傳算法優(yōu)化模型參數(shù),對解決非線性和線性模型有一定的優(yōu)越性[10];文獻[11]提出PSO-DACCI W-VPMCD相結合優(yōu)化變量預測模型參數(shù),使其提高了收斂速度,避免了陷入局部極值而提高了全局搜索效率,具有較強的魯棒性[11-13]。雖然上述參數(shù)優(yōu)化方法都有其特點和性能,但所有VPMCD方法都存在實現(xiàn)復雜、計算工作量大,尤其對小樣本問題和全局尋優(yōu)能力不能同時滿足等缺陷,而變壓器故障分類問題恰恰是小樣本問題,標簽樣本數(shù)量有限。
針對VPMCD所面臨的問題,我們采用布谷鳥搜索算法與VPMCD相結合來解決,下文便介紹布谷鳥算法及其改進。
Yang和Deb提出了布谷鳥算法(Cuckoo Search,CS),該算法具有以下特點:參數(shù)少,算法易實現(xiàn),全局尋優(yōu)能力強,適合小樣本尋優(yōu)等[14]。鑒于布谷鳥優(yōu)化算法的上述優(yōu)點,文獻[15]提出了基于布谷鳥算法和BP神經網(wǎng)絡的礦用變壓器故障診斷,用CS算法優(yōu)化BP神經網(wǎng)絡的權值和閾值,解決了輸入輸出復雜、小樣本問題和收斂精度低,但存在后期收斂速度慢,穩(wěn)定性差的問題[15];文獻[16]提出了基于布谷鳥算法和支持向量機的變壓器故障診斷,用CS算法解決了小樣本和非線性模型的尋優(yōu)問題,提高了支持向量機模型收斂速度和精度,但依舊存在核函數(shù)條件限制問題和精確規(guī)則化參數(shù)問題[16]。
針對以上缺陷,文中擬用布谷鳥算法和變量預測模型相結合來解決變量預測模型中計算工作量大、非線性處理能力差和小樣本問題,但也存在后期收斂速度慢,穩(wěn)定性差,收斂精度不高,易陷入局部極小值問題。鑒于上述缺陷,文中擬采用改進的布谷鳥算法,分別在位置更新、步長因子和發(fā)現(xiàn)概率處進行改進。通過融入變異等算子更新位置,提高了種群多樣性,從而解決了收斂精度低的問題;引入動態(tài)步長能解決后期收斂速度慢和易陷入局部極小值問題;引入動態(tài)發(fā)現(xiàn)概率能解決穩(wěn)定性差的問題。仿真實驗結果表明,該方法能有效解決收斂速度慢,穩(wěn)定性差,收斂精度不到,易陷入局部極小值等情況,下面便是算法的改良。
1.1.1 布谷鳥算法初始位置的確定
傳統(tǒng)的布谷鳥算法初始位置都是隨機生成,隨機生成的初始位置對尋優(yōu)時間、尋優(yōu)精度和后期尋優(yōu)穩(wěn)定性都有很大的影響。因此,我們把隨機生成改成最小二乘法求解模型參數(shù),選作初始位置,具體過程如下:
首先,對g類不同故障狀態(tài),我們采集N個樣本,對g類故障樣本按照不同的故障類別進行拆分;其次,用4種變量模型為每一類故障數(shù)據(jù)選擇合適模型;然后,將第k(1≤k≤g) 類訓練模型的特征變量當作被預測變量,并在剩余的特征變量中選取r(1≤r≤g-1) 個特征變量當作預測變量,對預測變量建立模型,根據(jù)樣本數(shù)據(jù)代入模型建立方程組,根據(jù)方程組的解獲得模型參數(shù),完成建模;最后,用測試樣本預測特征值,并計算和選擇具有最小誤差的模型參數(shù),并將其作為布谷鳥改進算法的初始位置。布谷鳥算法的初始化位置過程如圖1所示。
圖1 布谷鳥算法初始化位置過程
1.1.2 布谷鳥位置更新的改進
在未改進的布谷鳥算法位置更新中,當鳥媽媽發(fā)現(xiàn)是外來鳥蛋時,會選擇放棄巢穴或者丟棄外來鳥蛋,由此,位置變更如下
(1)
傳統(tǒng)的布谷鳥位置更新方法種類少,范圍小,尋優(yōu)速度慢;為了處理這些缺陷,我們利用數(shù)學上的差分進化方法改進如下
X=Xs+G(Xb1+Xb2-Xb3-Xb4)
(2)
其中,用X表示位置更新,Xs表示種群中最好的個體,并隨機選取Xbi(i=1,2,3,4) 當前種群中的個體,G是收縮因子(0 (3) (4) 然后,比較當前位置的解,決定是否更新當前位置。相比較于其它優(yōu)化算法,改進后的布谷鳥算法既保留了原有的優(yōu)點,又加強了解的搜索范圍,解的尋找速度和解的種類。 1.1.3 布谷鳥步長因子的改進 未改進的布谷鳥算法中,步長因子是不變的,這樣就會產生如下情況,如果前期步長因子偏大,會加強全局搜索能力,但是到了后期,當解逐漸靠近最優(yōu)解時,步長因子仍固定不變,就會在局部解的周圍產生震蕩現(xiàn)象,使解在最優(yōu)解附近來回搖擺,局部尋優(yōu)能力變弱。所以為了克服以上問題,我們對步長因子進行改進,讓步長因子越來越小,這樣既能在前期加強全局尋優(yōu)能力,到后期也能加強局部尋優(yōu)能力。而步長因子的變化如下公式 (5) 其中,ti是當前的迭代次數(shù),tmax是迭代總次數(shù)。 1.1.4 發(fā)現(xiàn)概率的改進 未改進的布谷鳥算法發(fā)現(xiàn)概率也是固定不變的,而發(fā)現(xiàn)概率的值又決定著解的保留問題,從而對結果影響很大,所以,隨著迭代的進行,我們需要發(fā)現(xiàn)最佳的發(fā)現(xiàn)概率,舊的布谷鳥算法采用不變的發(fā)現(xiàn)概率,顯然無法滿足我們的需要,所以我們引入動態(tài)的發(fā)現(xiàn)概率,隨著迭代的進行,發(fā)現(xiàn)概率也隨之變化,且發(fā)現(xiàn)概率的好壞,通過適應度值來判斷,方法是通過適應度值大的發(fā)現(xiàn)概率要小于適應度值小的發(fā)現(xiàn)概率,如此,便保留得到的解。公式如下 (6) 其中, Pa,i表示第i個鳥巢的被發(fā)現(xiàn)的概率,t表示鳥巢的數(shù)目, Pa(x) 表示布谷鳥蛋被發(fā)現(xiàn)的平均概率, Fi表示第i代的適應值大小, Fk表示最大迭代次數(shù)的適應值大小。 上文我們提出了布谷鳥算法改進的思路以及原理,在后面小節(jié)中主要介紹和變量預測模型的結合。 對于P個 (P=n1,n2,n3…ni) 特征變量而言,不但每一個特征變量對分類結果都影響巨大,而且相互之間也存在著關系,有著線性或者非線性的函數(shù)關系,為了呈現(xiàn)這些關系,我們用VPM中的4種模型來描述,以便我們對特征變量進行預測。常用模型描述如下: 線性模型(L) (7) 線性交互模型(LI) (8) 二次交互模型(QI) (9) 二次模型(Q) (10) 其中,r≤n-1,r是模型的階數(shù),b0,bj,bjj,bjk為模型的參數(shù),Yi是被預測的特征變量,Yj是預測特征變量。選擇合適的模型,對于任何的特征變量,我們都可以通過其它的特征變量Yj預測得到,如下式 Yi=Y(Yj,b0,bj,bjj,bjk)+d (11) 其中,d為預測方差。 參數(shù)估計是通過最小二乘法來計算的,但最小二乘法有大量的不足,首先,最小二乘法是通過大量數(shù)據(jù)分析統(tǒng)計,數(shù)據(jù)量越多,分析的參數(shù)越接近最優(yōu)解,但也卻始終不能得到最優(yōu)解。其次,最小二乘法只適合線性模型,對于非線性模型統(tǒng)計難度較大,其參數(shù)統(tǒng)計效果更差。綜合以上缺陷,我們采用改進的布谷鳥算法對參數(shù)進行優(yōu)化,而優(yōu)化結果的評估,我們通過預測誤差的平方和S來作為適應度函數(shù)來判斷解的去留,其適應度函數(shù)值越小,表示優(yōu)化得到的解越好,就用新解替換舊解,以此循環(huán)。具體的適應度函數(shù)如下 (12) 具體步驟: 步驟1 利用初始化布谷鳥位置的方法進行位置初始化,并隨機在取值范圍內給定n個b0(b0∈[bmin,bmax]) 的值,n是一個超參數(shù),且n的取值大于或等于4最佳,對于范圍較大的區(qū)域,通常如下取值 (13) 步驟2 假設n的取值為n=[b1,b2,b3,b4], 把b1~b4代入適應度函數(shù),并求出適應度函數(shù)值s1~s4, 且選取當前最小值Smin。 步驟3 把當前最小值Smin與初始化過程中得到的最小值Min比較,把S中最小的位置和值保留。 步驟4 按照改進的發(fā)現(xiàn)概率pa隨機地把n個b0的值過濾,選出被發(fā)現(xiàn)的真值(比如b2),隨機改變被發(fā)現(xiàn)的真值,隨機生成η(η∈[0,1]), 那么,n就變成了: n=[b1,b2+η,b3,b4], s=[s1,s(s2+η),s3,s4]。 步驟5 通過改進的布谷鳥位置更新方法更新n中的每一個值,把更新后的新值組成新的nnew=[b1,b2,b3,b4], 并計算新的Snew∶Snew=[s1,s2,s3,s4], 且選取當前最小的Snew_min, 然后與Smin比較,把比較后的最小值以及對應的位置保留。 步驟6 檢測當前解是否達到循環(huán)次數(shù)或者達到最優(yōu)解的范圍,如果是,停止循環(huán),執(zhí)行步驟7,否則返回步驟4,用新的nnew去循環(huán)執(zhí)行。 用改進的布谷鳥算法優(yōu)化變量預測模型參數(shù),提出布谷鳥優(yōu)化算法在位置更新、步長因子和發(fā)現(xiàn)概率處進行改進,給出了改進原理以及改進方法,在改進原理和方法的基礎上,將改進的布谷鳥優(yōu)化算法運用到變量預測模型中,克服了基于最小二乘法的變量預測模型中的小樣本問題和非線性問題等,步驟1~步驟9給出了詳細的實現(xiàn)方法。 改進的布谷鳥算法與VPMCD相結合的方法用在變壓器故障診斷方面,能更好的體現(xiàn)其價值,本節(jié)主要介紹相結合的算法模型如何用在變壓器故障診斷上,故流程如下: 步驟1 數(shù)據(jù)初始化,對樣本數(shù)據(jù)預處理。 步驟2 通過初始化布谷鳥位置的方法初始化布谷鳥位置,并利用改進的布谷鳥算法與VPMCD相結合的方法建立p*(g-1) 個VPM模型。 步驟4 根據(jù)下式計算同一模式下所有特征量的預測誤差平方和值,并將其值當做判斷測試樣本的目標函數(shù),在所有值中選擇最小的誤差值并保存,即所對應的類別為所測試的類別,公式如下 (14) 其中, SSEk表示預測誤差的平方和, Yi表示第i個特征變量真值, Yi_pred表示第i個特征變量的預測值,k(k=1,2,3,…,g) 表示不同的類別,變壓器故障診斷流程如圖2所示。 圖2 變壓器故障診斷流程 我們采用DGA數(shù)據(jù)中的氫氣(H2)、乙炔(C2H2)、甲烷(CH4)、乙烷(C2H6)、乙烯(C2H4)5種低分子烴類氣體濃度作為變量預測模型的輸入,來完成變壓器的故障診斷,而且變壓器的運行過程中可能出現(xiàn)以下6種理想輸出結果,分別是正常、低能放電、高能放電、局部放電、高溫過熱、中低溫過熱。6種故障對應的編碼表見表1。 表1 6種故障對應的編碼 為了提升模型的收斂速度和提升模型的精度,我們對數(shù)據(jù)進行歸一化處理,即為把原始數(shù)據(jù)的均值和標準差進行數(shù)據(jù)標準化,經過處理的數(shù)據(jù)要符合標準的正態(tài)分布,即均值為0,標準差為1,轉換函數(shù)如下 (15) 其中,μ是平均值,σ是標準差。 本實驗用位置更新的改進方法,步長因子的改進方法,發(fā)現(xiàn)概率的改進方法分別與傳統(tǒng)未改進的布谷鳥算法在變量預測模型尋找最優(yōu)參數(shù)的基礎上進行實驗對比,其對比結果如圖3所示。 圖3 位置更新的改進方法與傳統(tǒng)方法效果對比 圖3提出的位置更新改進方法與傳統(tǒng)方法在變量預測模型上的對比效果,如圖可以看出,在相同的初始參數(shù)下進行實驗,并進化400次時,二條曲線均趨于平緩,二條曲線的最優(yōu)參數(shù)的百分比適應度值達到最優(yōu),但傳統(tǒng)的布谷鳥算法由4.5下降到2.5左右,位置更新改進后,卻從4.5下降到1.2左右;在局部的搜索過程中,改進算法解的跳躍較大,沒有傳統(tǒng)的算法平滑,尤其在200代后。 圖4提出的步長因子改進方法與傳統(tǒng)方法在變量預測模型上的對比效果,如圖,與傳統(tǒng)布谷鳥算法相比,步長因子的改進方法最優(yōu)解的適應度百分比值從4.5下降到2左右,明顯優(yōu)于傳統(tǒng)的布谷鳥算法,雖不如圖3中的位置更新效果明顯,但整條曲線在局部尋解中跳躍不大,趨于平緩,要優(yōu)于傳統(tǒng)的布谷鳥算法和位置更新的改進效果(曲線太多,不易區(qū)分,我們采用多圖對比)。 圖4 步長因子的改進方法與傳統(tǒng)方法效果對比 圖5提出的發(fā)現(xiàn)概率改進方法與傳統(tǒng)方法在變量預測模型上的對比效果,與圖4中的步長因子改進效果相似,但從適應度百分比值和局部最優(yōu)解的跳度看,都略遜于圖4,卻也優(yōu)于傳統(tǒng)的布谷鳥優(yōu)化算法,另外,在0-100代、100-200代、200-300代、300-400代,獲得的解越來越穩(wěn)定,表面穩(wěn)定性得到提高。 圖5 發(fā)現(xiàn)概率的改進方法與傳統(tǒng)方法效果對比 在圖6的實驗中,會將3種改進方法相結合,同時用在變量預測模型的參數(shù)尋優(yōu)上,在尋優(yōu)精度、局部尋優(yōu)跳度、穩(wěn)定性上都要優(yōu)于其它任何一種改進算法,其效果顯而易見,改進的CS算法適應度值與進化代數(shù)關系圖如圖6所示。 圖6 改進的CS算法適應度值與進化代數(shù)關系 我們將樣本數(shù)據(jù)共962條數(shù)據(jù)預處理后,其中正常數(shù)據(jù)163條,低能放點數(shù)據(jù)100條,高能放電129條,中低溫過熱96條,高溫過熱137條,局部放電159條。將500條數(shù)據(jù)當做訓練集,其余462條數(shù)據(jù)當做測試集,分別訓練和測試BP、SVM、VPMCD、CS-VPMCD。圖7~圖11是通過VPMCD初始化后,進一步用改進的CS算法尋找最優(yōu)解,分別是進化前100代和300-400代的適應度值和選擇適應度值與進化代數(shù)的關系圖。 圖6、圖7分別是改進的布谷鳥算法求解模型參數(shù)過程中的適應度值和選擇適應度值,選擇適應度值為當前代數(shù)的最優(yōu)解所表現(xiàn)的適應度值。 圖7 選擇適應度值與進化代數(shù)關系 圖8、圖9分別是局部分析前100代進化過程中的適應度值和選擇適應度值和進化代數(shù)之間的關系,效果如下。 圖8 前100代選擇適應度值與進化代數(shù)關系 圖9 前100代適應度值與進化代數(shù)關系 圖10、圖11分別是局部分析300-400代進化過程中的適應度值和選擇適應度值和進化代數(shù)之間的關系,效果如下。 圖10 300-400代適應度值與進化代數(shù)關系 圖11 300-400代選擇適應度值與進化代數(shù)關系 分析前100代和300-400代的目的是對比二者適應度取值的顯著變化。由圖8中對比可以看出,無論是前100代,還是300-400代,總體的適應度值都呈下降趨勢,但隨著進化的進行,下降趨勢越來越平緩,前100代適應度值從4.5下降到1.5左右,而300-400代的適應度值卻只從0.7降到了0.3左右,總體呈現(xiàn)出了飽和狀態(tài),可以得出,隨著進化的進行,最優(yōu)解無限接近。 我們通過462條測試集分別對BP、SVM、VPM-CD、CS-VPMCD所訓練的模型進行測試,并將正確的測試結果和錯誤的測試結果統(tǒng)計,計算精度,表2便是計算結果。 從表2中可以看出,VPMCD模型解決了特征變量間的關系問題,其測試精度遠遠高于傳統(tǒng)的BP和SVM算法,而CS-VPMCD算法又在VPMCD算法的基礎上進一步提高了識別精度。 表2 不同識別方法的不同故障識別精度 從表3中可以看出,VPMCD的訓練完成時間相較于BP和SVM分別提高了15.75%和19.67%,而CS-VPMCD又比VPMCD的完成時間提高了2.75%,因此CS-VPMCD在模型完成時間上更具優(yōu)越性。 表3 不同識別方法的模型訓練完成時間 使用上文相同的實驗方法,相同的實驗模型,用最小二乘法優(yōu)化模型參數(shù)(VPMCD);用遺傳算法優(yōu)化模型參數(shù)(GA-VPMCD);用粒子群算法優(yōu)化模型參數(shù)(PSO-VPMCD),并與文中提出的改進的布谷鳥算法優(yōu)化模型參數(shù)(CS-VPMCD)進行實驗結果對比,實驗結果如圖12所示。 圖12 不同優(yōu)化算法診斷對比 從圖12中可以看出,采用的CS-VPMCD方法適用于變壓器的故障診斷,在4種方法中具有很高的正確識別率。相較于遺傳優(yōu)化算法(GA),CS解決了容易出現(xiàn)解的過早收斂和易陷入局部極值等問題,經過更新后的位置,不再是直接進入下一步迭代,而是進一步進行差分進化,指導個體向群中最優(yōu)個體逼近,從而避免了陷入局部極值和解的過早收斂問題;相較于粒子群(PSO)優(yōu)化算法,CS解決了粒子群缺乏多樣性問題,將缺乏變異機制的布谷鳥算法加入變異算子,提高多樣性和避免種群個體陷入局部最優(yōu);相較于基于最小二乘法的VPMC-D,CS-VPMCD解決了工作量大,小樣本和非線性的問題,CS算法不像最小二乘法需要大量標簽樣本,而是利用萊維飛行搜索最優(yōu)解,不在需要大量標簽樣本,并且對線性和非線性模型更是有絕對的優(yōu)勢。 綜上所述,采用的CS-VPMCD方法來解決變壓器故障診斷有絕對的優(yōu)勢。 文中基于油色譜數(shù)據(jù)為輸入,通過改進的布谷鳥算法(CS)與變量預測模型(VPMCD)相結合的方法來用于模式識別。首先提出了新的初始化參數(shù)方法;然后將布谷鳥算法在位置更新,步長因子,發(fā)現(xiàn)概率處進行改進,并于變量預測模型相結合,優(yōu)化模型參數(shù)并建立模型;最后,在實驗環(huán)境下利用搜集到的962條變壓器油色譜數(shù)據(jù)完成了變壓器故障診斷模型的培訓和測試實驗。對比分析了與傳統(tǒng)智能識別算法的診斷結果和不同參數(shù)優(yōu)化算法的變量預測模型的診斷結果。本文研究得到以下結論: (1)改進的布谷鳥算法在位置更新的基礎上引入變異操作、固定的步長因子改為動態(tài)的步長因子和用適應度值決定發(fā)現(xiàn)概率,在參數(shù)優(yōu)化上更具優(yōu)越性; (2)利用了特征變量間的隱藏關系,構建變量預測模型(CS-VPMCD)比傳統(tǒng)的BP、SVM分類器有更高的識別率; (3)用改進的布谷鳥優(yōu)化算法優(yōu)化變量預測模型(CS-VPMCD)比GA和PSO優(yōu)化算法優(yōu)化變量預測模型更具優(yōu)越性。1.2 改進的布谷鳥算法優(yōu)化變量預測模型中的模型參數(shù)
2 改進的變量預測模型用于變壓器故障診斷
3 實驗與結果分析
3.1 數(shù)據(jù)預處理
3.2 改進的布谷鳥算法對比實驗
3.3 改進的布谷鳥算法與變量預測模型相結合的實驗效果
3.4 實驗結果對比
4 基于不同的參數(shù)優(yōu)化算法的變量預測模型的診斷結果對比
5 結束語