俞 玲,李啟本,賈金偉
(國網上海市電力公司松江供電公司,上海 201600)
基于帕累托貝葉斯網絡的變壓器故障診斷系統軟件設計
俞 玲,李啟本,賈金偉
(國網上海市電力公司松江供電公司,上海 201600)
傳統的油中溶解氣體分析技術在確定變壓器內部故障類型時存在很大的局限性,因此本文將貝葉斯網絡引入到變壓器故障診斷系統中,給出了帕累托改進貝葉斯網絡建模的設計流程,并利用MATLAB和Visual C++混合編程設計出一款基于帕累托貝葉斯網絡的變壓器故障診斷軟件。該軟件兼顧了變壓器故障診斷過程中運算的快速性、運行環境的穩定性以及操作的簡便性。
電力變壓器;故障診斷系統;帕累托貝葉斯網絡;混合編程
變壓器作為電力系統中的核心樞紐設備,承擔著改變電壓等級輸送電能的重要責任,其運行的穩定性決定了整個電力系統的可靠性和經濟性。現階段國內外針對變壓器運行狀況分析常用的方法是油中溶解氣體分析技術,但由于運行情況的日益復雜,該方法的判斷準確率已大大不足,因此多種人工智能算法被引入變壓器故障預測和診斷中,常見的方法包含神經網絡技術[1-2]、信息融合技術[3]、支持向量機[4-5]等。貝葉斯網絡[6]自1988年由Pearl提出后,在近幾年成為不確定知識和灰色領域推理的重要模型。針對變壓器故障的復雜性及故障因素與征兆之間有不確定性的特點,可利用貝葉斯網絡技術來實現故障診斷,建立基于貝葉斯網絡的變壓器故障診斷系統。
建立故障診斷模型,需要建立一個良好的人機交流平臺。由于本診斷系統是建立在MATLAB語言基礎上,但MATLAB語言的運行速度存在較大的局限性,并且由于其源代碼的公開,限制了基于MATLAB語言所建立的系統軟件的商業用途。本文利用Visual C++語言解決該問題,Visual C++語言便于實現軟件的開發,該語言建立的系統具有執行速度快、界面友好、后期維護容易等優點[7]。利用VC++與MATLAB混合編程,將VC++在軟件開發方面的優勢和MATLAB在數據處理和算法方面的優勢相結合,可以為工程方面的研究提供技術支持[8]。本文介紹的即為利用MATLAB和VC++開發的基于帕累托改進貝葉斯網絡的變壓器故障診斷系統軟件的設計。
貝葉斯網絡在表達不確定變量之間的因果關系具有很大的優勢。它通過發現變量之間的潛在信息,尋找到最優概率推理路徑,因此它在通過不確定的輸入變量判斷推理的模型中具有廣泛的用途。因此本文將貝葉斯網絡引入到變壓器故障診斷模型的應用中,建立貝葉斯網絡模型如下所示。
如圖1所示,貝葉斯網絡從根本上講是一個無環有向圖(Directed Acyclic Graph),網絡中X1,X2,…,X5節點代表不同的非線性關聯的變量,單線箭頭的單向邊是父節點指向子節點。

圖1 貝葉斯網絡
貝葉斯網絡用符號表示,B(G,D)中的和如下:
(1) 如圖1所示,G為一個具有個N節點的無環有向圖。圖中的節點表示變量,變量之間的關系用節點間的箭頭表示。各個節點變量是對輸出結果有直接或間接影響的所有問題的抽象集合。在該網絡中,任意一個父節點Vi和該父節點給定的子節點所構成的所有節點子集相互獨立。
(2)p表示條件概率表(CPT),與各個節點的出現概率相關。用p(Vi|pa(Vi))來表達各個節點出現條件概率集合,它表達了每一對子節點和父節點的出現概率。將鏈規則套用到條件獨立上可以得到:
p(X1,X2,X3,X4,X5)=p(X1|X2,X5)×
p(X2)×p(X2|X5)×p(X4|X2,X5)×p(X5)
在圖1中當所有輸入變量的概率分布有M種可能時,若輸入變量的個數為N,由于輸出的聯合概率分布是相互獨立的,則聯合概率為MN維向量。
基于以上理論利用MATLAB語言編譯貝葉斯網絡步驟如下:
(1) 建立輸入量矩陣
①尋找全部與模型輸出結果有關聯的信息;
②在上述信息內確定關聯度較大的子集;
③對該子集進行數據處理,使其盡量包含所有可能且每一維數據獨立性較高。
(2) 建立貝葉斯無環有向圖,使得每一維輸入矩陣的子集能單獨決定輸出結果。由上述貝葉斯網絡B(G,P)可知,其中無環有向圖G需要兩個條件來確定網絡:一是對經處理的輸入子集X1,X2,…,Xn進行順序分配;二是由下面公式所決定的信息子集
∏i(i=1,2,…,n)。
p(X2|X2,X3,…,Xi-1)=p(Xi|πi)
(i=1,2,…,n)
輸入子集的n維相互獨立的條件變量排列順序,需要進行的計算次數為n!,但實際上各個條件變量除了相互獨立,還存在因果關系。在貝葉斯網絡中,原因變量對應于父節點,結果變量對應于子節點。從父節點引出的指向子節點的單線箭頭表示了各個節點的因果關系。
(3) 所建立的貝葉斯網絡B(G,P)中,對于任一節點Xi的全部父節點都存在該節點的區域概率分布P=P(Xi|Pai。對應于一組變量X=(X1,X2,…,Xn),其聯合物理分布可以編碼在網絡結構中:

在上述公式中,θ是p(Xi|Pai,θi,Sh)的參數矢量,θs是參數(θ1,θ2,…,θn)的矢量,Sh假設了一個概率聯合分布,在該分布內s不會被交叉分解。
在診斷過程中發現,當針對某一臺變壓器的運行狀況進行長期監視時,我們的數據變量出現連續型變量,而貝葉斯網絡在處理連續型變量時要求該變量需呈高斯分布,此時貝葉斯網絡網絡診斷的準確率較低。同時發現原始數據存在較大冗余度,一些輸入特征屬性對輸出的結果影響不大,因此需要對原始決策表的屬性進行約減。
鑒于以上問題,本文建立了帕累托改進貝葉斯網絡,利用MATLAB中gamstat和hygestat函數,將貝葉斯網絡中各節點的相互關系利用信息熵公式進行計算:

()
建立模型后,在網絡各節點之間的連線用長度最小描述評分法則:score=bnet_MDL(bnet)來計算,節點的邊緣概率為marg=marginal_nodes(engine,B)。
DGA法的原始輸入特征量為{C2H2/H2,C2H2/CH4,C2H2/C2H4,C2H6/H2,C2H2/C2H6,C2H4/C2H6,C2H6/H2,C2H4/CH4,C2H6/CH4, CH4/H2,H2/總烴,C2H2/總烴,CH4/總烴,C2H6/總烴,C2H4/總烴, (CH4+C2H4)/總烴}通過帕累托改進貝葉斯網絡的分類來看,僅有{CH4/H2,C2H2/C2H4,C2H4/C2H6,H2/總烴,C2H2/總烴,C2H4/總烴,CH4/總烴, (CH4+C2H4)/總烴}8個輸入特征量對故障類型的判別有著更高的關聯度,因此利用粗糙集[9]等頻離散的方法對原始數據進行屬性約簡和特征的提取后,去除冗余量,取該8個特征量作為輸入矢量。
根據約簡后的輸入特征屬性,選取X={CH4/H2,C2H2/C2H4,C2H4/C2H6,H2/總烴,C2H2/總烴,C2H4/總烴,CH4/總烴, (CH4+C2H4)/總烴}作為輸入矢量,選取Y={中低溫過熱T1,高溫過熱T2,局部放電PD,低能放電D1,高能放電D2}為輸出故障類型,利用特征屬性集對使用MATLAB編譯的帕累托貝葉斯網絡進行訓練,確定網絡的結構、網絡層數、網絡節點參數、網絡學習路徑等。具體基于帕累托貝葉斯網絡的變壓器故障診斷系統的設計流程如圖2。

圖2 變壓器故障診斷系統的設計流程圖
(1) 架構帕累托貝葉斯網絡。本系統建立的貝葉斯網絡,共有9個離散節點,其中8個父節點對應于8維輸入特征矢量,1個子節點對應于輸出故障類型。節點的大小對應于該特征矢量的數值。
(2) 條件概率表的選定。在條件概率表中,可以查找出每個父節點對應于全部可能出現的子節點的條件概率。該表描述了所分析問題的定量研究。初始條件概率設為隨機值,由于在整個貝葉斯網絡學習過程中,網絡參數會隨輸入特征屬性不斷向最優結果變化,因此,初始值對網絡輸出結果沒有影響。
(3) 網絡參數的優化學習。在確定網絡結構的前提下,通過大量的原始數據對網絡參數進行訓練學習,從而確定各個節點的條件概率。
①當輸入原始數據維數完整時,網絡參數的學習方法用帕累托改進貝葉斯方法marginal_nodes(engine,B)。
②若輸入原始數據存在缺失的情況,可根據拓撲網絡結構,用EM算法計算參數,可使用SEM(Structural EM)算法learn struct EM( )。
(4) 確定推理機制。完成帕累托貝葉斯網絡的建立后,可用來對某一組實例數據進行故障診斷。鑒于變壓器油中溶解氣體原始數據已經經過比值化、粗糙集處理,本文選用近似傳播引擎likelihood_weighting_inf_engine。該引擎可以從輸入樣本中完成重要采樣,并且較為適用本文建立網絡的特點。
本軟件是一個集數據錄入和故障診斷為一體的多功能軟件,巧妙的將智能算法診斷和故障診斷界面結合起來。在軟件中,可以選用一種或者多種智能算法,經訓練樣本訓練,達到訓練要求后,對待測樣本實現故障類別的判定。
軟件總體上包擴數據錄入和各種人工智能故障診斷兩部分內容。其中,數據的錄入包括訓練樣本的錄入和待測樣本的錄入,為了方便以后本軟件的改進和擴展,各種人工智能故障診斷部分不僅包含了本文將要進行研究的貝葉斯網絡,還準備先做好其它一些智能算法的接口界面。而每種智能算法在進行變壓器故障診斷之前,都要通過訓練樣本對其進行訓練,從而確定網絡中各項參數,所以每種智能算法下又包含了訓練和測試兩個模塊。對于同一組待測樣本數據,每種智能算法才具有比較性,診斷完成后,通過比較和綜合判斷得出待測樣本的故障類型。
在對變壓器實際運行情況進行監測時,為更好的發現變壓器的潛伏性故障,需要利用變壓器一段連續時間的油中溶解氣體數據,同時,在運用各種智能算法對變壓器故障進行診斷時,要用到許多組訓練樣本數據,為了收集和保存這些歷史數據,還需要具有數據錄入功能,使樣本數據庫不斷得到補充和更新。
數據庫中的訓練樣本數據在用來進行故障診斷以前,不但數據量大,而且伴有數據冗余,要先對原始樣本數據進行預處理,包括故障氣體數據的比值、數據離散化、最小決策屬性約簡等,不僅可以提高故障的診斷速度,也可以改善變壓器故障診斷的效果,所以軟件中增加了屬性約簡這一模塊。
變壓器故障診斷軟件的核心是診斷模塊。該模塊主要包括本文所選取的智能算法故障診斷和待擴展的智能算法故障診斷。對于不同的樣本,各種智能算法無法比較出它們的優劣性,軟件針對的訓練樣本具有統一性,不管選取何種智能算法,對應的訓練樣本都是相同的,在進行診斷效果比較時更具有說服性。在選擇好某種智能方法后,可以對相對應算法中參數進行設置,并且可以對參數進行尋優,使診斷效果達到更好。同時,也可以同時實現多種智能算法對變壓器故障的診斷。
軟件采用了模塊化的設計思想,首先利用MATLAB語言編寫的診斷系統程序作為軟件核心,將診斷過程中的不同算法模塊化,然后利用Visual C++語言調用MATLAB的COM組件來實現對工具箱函數的調用,使得該軟件可脫離MATLAB運行。
具體軟件設計思路是:
本軟件采集了175組變壓器故障實例數據,其中包含了中低溫過熱T1,高溫過熱T2,局部放電PD,低能放電D1,高能放電D2五種故障類型各25組,利用上述數據作為輸入量訓練帕累托貝葉斯網絡,建立故障模式庫作為軟件的核心。然后將在MATLAB中建立的核心算法做成COM組件,便于VC++編寫的軟件調用。具體案例分析時,將輸入的原始數據(包含多種故障特征氣體)處理去除冗余量,利用已訓練完成的帕累托貝葉斯網絡對該例故障類型進行分類,判斷該變壓器的故障類型或者是否有潛伏性故障,以及可能出現故障的可能性的大小。最后可與變壓器實際運行情況相對比給出具體診斷的準確率。由具體思路來看,可將軟件組成分為三大界面:數據錄入、數據處理、故障診斷。各界面及其具體功能如圖3所示。

圖3 變壓器故障診斷系統組成界面
本界面主要用于變壓器故障特征氣體數據的輸入,如圖4。具體數據分為訓練樣本數據和待測數據。本界面的設計考慮到了訓練樣本數據隨不同型號變壓器或不同運行環境下特征氣體的差異性,因此設計了樣本數據的更新。并且可以將每次輸入的待測數據加入到相應訓練數據中,從而便于數據庫的擴大和管理,從而提高診斷準確率。診斷時輸入待測數據后點擊下一步進入數據處理界面。

圖4 數據錄入界面
首先是對訓練樣本集中的氣體數據進行預處理,得到相應16組特征屬性數據:M={C2H2/H2,C2H2/C2H4,C2H2/C2H6,C2H2/CH4,C2H4/C2H6,C2H4/CH4,C2H4/H2,C2H6/CH4,C2H6/H2,CH4/H2,C2H6/總烴,H2/總烴,C2H4/總烴,CH4/總烴,C2H2/總烴,(CH4+C2H4)/總烴},而后利用等頻離散化規則,對訓練樣本進行等頻離散化處理,進行屬性約簡和特征提取,在得到最小屬性集之后,再對離散化規則進行優化,利用優化后的離散化規則繼續對訓練樣本進行特征提取,得到優化后的離散結果:M={CH4/H2,C2H2/C2H4,C2H4/C2H6,H2/總烴,C2H2/總烴,C2H4/總烴,CH4/總烴, (CH4+C2H4)/總烴},如圖5所示。

圖5 數據離散結果
該部分為診斷系統的核心部分,在用戶輸入油中溶解各氣體數據后,進行數據處理后,冗余數據被約簡,得到最小特征屬性集,以及按最小特征屬性集約簡的,與輸出結果相關度、相互之間離散度最高的樣本集。將約簡后的樣本使用經175組原始數據訓練好的帕累托改進貝葉斯網絡進行故障判別,判別結果如圖6所示。

圖6 測試結果
本文選取了某110 kV變電站1號主變投運一年后定期校驗時采集的油中溶解氣體樣本作為待測樣本,該主變型號為SZ11-80000/110,在利用已訓練的帕累托貝葉斯網絡進行測試時,判斷為中低溫過熱T1故障,該主變由于負載較大,多次出現溫度較高,診斷結果與實際運行情況相符。而后可對所有已測樣本的情況進行統計,軟件中顯示的正確率是累加86次測試之后所得到的結果,正確次數為82,正確率達到95.35%。
軟件可添加多種智能算法,用戶可根據具體實際需要自行選擇不同算法進行故障診斷。每種智能算法都有其自身的特點,有一定的局限性和適用性,比如神經網絡能夠進行自組織,自學習,是一種非線性映射,但是極易陷入極小值,針對它們各自的特點,本軟件試圖尋找出一種判別條件,對于待判別的樣本,從可選的智能方法中選出一種最為合適的方法,使得診斷出來的效果最好。本軟件可以同時用多種智能算法對輸入的待測樣本進行故障類別的診斷,通過綜合分析,得出故障的種類。
該軟件從性能來看,帕累托改進貝葉斯網絡對變壓器故障類型的判別更為準確,由于去除大量冗余量,診斷速度也大為提升;從工作環境來看,利用VC++調用MATLAB貝葉斯網絡工具箱,使得軟件可以脫離MATLAB環境運行,既提高了編程效率,更有利于該軟件的推廣;從操作流程來看,簡單易上手,可以讓不熟悉變壓器故障診斷工作原理的用戶順利實現故障診斷;從診斷結果來看,輸出結果清晰明了,診斷結果正確率較高,效果很好。因此,該系統是可行的,有效的。
[1] 程加堂,熊偉.灰色神經網絡在變壓器故障診斷中的應用[J].高壓電器,2010,46(8):56-58.
CHENG Jiatang, XIONG Wei. Application of gray neural network to fault diagnosis of transformer[J].High Voltage Apparatus,2010,46(8):36-58.
[2]公茂法, 等.基于混沌優化粒子群BP神經網絡的電力變壓器故障診斷[J].電測與儀表, 2016,53(15): 13-16.
GONG Maofa, et al. Fault diagnosis of power transformers based on chaos particle swarm optimization BP neural network[J].Electrical Measurement & Instrumentation,2016,53( 10):13-16.
[3]張志文,喬悅,羅隆福,等.信息融合技術在變壓器油氣識別故障診斷中的研究[J].計算機工程與科學,2012,34(3):132-136.
ZHANG Zhiwen, QIAO Yue, LUO Long-fu, et al. Research of the information fusion technology in the transformer fault diagnosis with dissolved gas-in-oil analysis[J].Computer Engineering and Science,2012,34(3):132-136.
[4]尹金良,朱永利.支持向量機參數優化及其在變壓器故障診斷中的應用[J].電測與儀表,2012,49(5):11-16.
YIN Jinliang, ZHU Yongli. Parameter optimization for support vector machine and its application to fault diagnosis of power transformers[J].Electrical Measurement & Instrumentation,2012,49(5):11-16.
[5]Koley Chieanjib, Purkait Prithwirai, Chakravorti Sivaji. Waveletaided SVM Tool for impulse faultidentification in transformers[J]. IEEE Transactions on Power Delivery,2006,21(3):1283-1290.
[6]Shen Bin, Su Xiao-yuan, Greiner Russell, et al.Discriminative parameter learning of general Bayesian network classifiers[C].15th IEEE International Conference on Tools with Artificial Intelligence(ICTAI’2003).Sacramento,California.USA.2003.
[7]柏晟.VC++與MATLAB混合編程的方法研究與實現[J].電腦開發與應用,2006,19(4):23-24,27.
BAI Sheng. Research and implementation of VC++ and MATLAB mixed programming[J].Computer Development & Applications,2006 ,19(4):23-24, 27.
[8] 段海鵬.基于激光干涉原理的水下聲信號頻率測試技術的研究[D].2009.
[9]朱繼.基于粗糙集的變壓器故障診斷研究[D].2013.
SoftwareDesignofTransformerFaultDiagnosisSystemBasedonParetoBayesianNetwork
YU Ling, LI Qiben, JIA Jinwei
(Songjiang Power Supply Company, SMEPC, Shanghai 201600, China)
The conventional analytic technology of dissolved gas in oil is quite limited in the case of determining transformer internal fault types, so this paper introduces Bayesian network to the transformer fault diagnosis system, describes the design process of Bayesian network modeling improved by Pareto, and designs a software for transformer fault diagnosis based on Pareto Bayesian network by using MATLAB and Visual c++ hybrid programming. The software takes into account the calculation speed, environment stability and operation convenience in the process of transformer fault diagnosis.
power transformer; fault diagnosis system; Pareto Bayesian Network; hybrid programming
10.11973/dlyny201705019
俞 玲(1981—),女,工程師,主要從事電力系統繼電保護工作。
TP277
B
2095-1256(2017)05-0575-06
2017-07-03
(本文編輯:楊林青)
電力簡訊
《2017年上海市電力用戶與發電企業直接交易試點工作方案》通知
上海市經濟和信息化委員會、上海市發展和改革委員會、國家能源局華東監管局關于印發《2017年上海市電力用戶與發電企業直接交易試點工作方案》的通知。
上海是繼西藏、海南等極少數省份之外,沒有開展電力直接交易的省市。上海市經信委18日印發《2017年上海市電力用戶與發電企業直接交易試點工作方案》的通知,預計放開不少于25億市場電量。
根據《關于上海市2017年有序放開發電量計劃工作的通知》的要求,2017年上海全社會用電量按1 488~1 500億千瓦時預計,該市發用電計劃放開幅度約10%。綜合考慮其他市場化交易開展情況,直接交易電量原則上按不低于25億千瓦時安排(未含1 488億千瓦時以上的增量部分),政府調節電量如有余量,用于安排上海規劃內機組參與直接交易。
(一)交易組織方式
由市經濟信息化委、市發展改革委委托上海電力交易中心有限公司通過交易平臺在2017年9~12月開展直接交易試點工作。
交易方式為雙邊協商和集中競價。先開展年度雙邊協商交易,再開展年度集中競價交易。集中競價交易的出清計算按邊際出清價格統一確定交易價格。其中市外發電企業未成交的年度剩余市場化電量將按照集中競價交易的成交出清序列中發電企業加權平均申報價差強制出清。
(二)交易的價格機制
此次直接交易試點采用價格傳導法。采用雙邊交易模式時,直接交易價格由電力用戶與發電企業通過協商自主確定;采用集中競價交易模式時,直接交易價格根據交易平臺競價成交結果確定。
(三)交易電費的結算及月度合同電量偏差處理
本次直接交易電量結算原則為按月考核,月結月清,電力用戶直接交易的月度偏差電量的允許范圍在±2%。
考慮2017年為上海首次開展直接交易,月度交易、月結月清及偏差按月考核等市場機制處于逐步建立完善的階段,故試點期間市場主體的考核費用僅作記錄暫不結算。
(本刊訊)