基于帕累托贝叶斯网络的变压器故障诊断系统软件设计
2017-12-14李启本贾金伟
俞 玲,李启本,贾金伟
(国网上海市电力公司松江供电公司,上海 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 诊断系统算法设计
贝叶斯网络在表达不确定变量之间的因果关系具有很大的优势。它通过发现变量之间的潜在信息,寻找到最优概率推理路径,因此它在通过不确定的输入变量判断推理的模型中具有广泛的用途。因此本文将贝叶斯网络引入到变压器故障诊断模型的应用中,建立贝叶斯网络模型如下所示。
1.1 贝叶斯网络的建立
如图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不会被交叉分解。
1.2 贝叶斯网络的帕累托改进
在诊断过程中发现,当针对某一台变压器的运行状况进行长期监视时,我们的数据变量出现连续型变量,而贝叶斯网络在处理连续型变量时要求该变量需呈高斯分布,此时贝叶斯网络网络诊断的准确率较低。同时发现原始数据存在较大冗余度,一些输入特征属性对输出的结果影响不大,因此需要对原始决策表的属性进行约减。
鉴于以上问题,本文建立了帕累托改进贝叶斯网络,利用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个特征量作为输入矢量。
1.3 变压器故障诊断系统的设计
根据约简后的输入特征属性,选取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。该引擎可以从输入样本中完成重要采样,并且较为适用本文建立网络的特点。
2 软件的总体设计思路
本软件是一个集数据录入和故障诊断为一体的多功能软件,巧妙的将智能算法诊断和故障诊断界面结合起来。在软件中,可以选用一种或者多种智能算法,经训练样本训练,达到训练要求后,对待测样本实现故障类别的判定。
软件总体上包扩数据录入和各种人工智能故障诊断两部分内容。其中,数据的录入包括训练样本的录入和待测样本的录入,为了方便以后本软件的改进和扩展,各种人工智能故障诊断部分不仅包含了本文将要进行研究的贝叶斯网络,还准备先做好其它一些智能算法的接口界面。而每种智能算法在进行变压器故障诊断之前,都要通过训练样本对其进行训练,从而确定网络中各项参数,所以每种智能算法下又包含了训练和测试两个模块。对于同一组待测样本数据,每种智能算法才具有比较性,诊断完成后,通过比较和综合判断得出待测样本的故障类型。
在对变压器实际运行情况进行监测时,为更好的发现变压器的潜伏性故障,需要利用变压器一段连续时间的油中溶解气体数据,同时,在运用各种智能算法对变压器故障进行诊断时,要用到许多组训练样本数据,为了收集和保存这些历史数据,还需要具有数据录入功能,使样本数据库不断得到补充和更新。
数据库中的训练样本数据在用来进行故障诊断以前,不但数据量大,而且伴有数据冗余,要先对原始样本数据进行预处理,包括故障气体数据的比值、数据离散化、最小决策属性约简等,不仅可以提高故障的诊断速度,也可以改善变压器故障诊断的效果,所以软件中增加了属性约简这一模块。
变压器故障诊断软件的核心是诊断模块。该模块主要包括本文所选取的智能算法故障诊断和待扩展的智能算法故障诊断。对于不同的样本,各种智能算法无法比较出它们的优劣性,软件针对的训练样本具有统一性,不管选取何种智能算法,对应的训练样本都是相同的,在进行诊断效果比较时更具有说服性。在选择好某种智能方法后,可以对相对应算法中参数进行设置,并且可以对参数进行寻优,使诊断效果达到更好。同时,也可以同时实现多种智能算法对变压器故障的诊断。
软件采用了模块化的设计思想,首先利用MATLAB语言编写的诊断系统程序作为软件核心,将诊断过程中的不同算法模块化,然后利用Visual C++语言调用MATLAB的COM组件来实现对工具箱函数的调用,使得该软件可脱离MATLAB运行。
具体软件设计思路是:
本软件采集了175组变压器故障实例数据,其中包含了中低温过热T1,高温过热T2,局部放电PD,低能放电D1,高能放电D2五种故障类型各25组,利用上述数据作为输入量训练帕累托贝叶斯网络,建立故障模式库作为软件的核心。然后将在MATLAB中建立的核心算法做成COM组件,便于VC++编写的软件调用。具体案例分析时,将输入的原始数据(包含多种故障特征气体)处理去除冗余量,利用已训练完成的帕累托贝叶斯网络对该例故障类型进行分类,判断该变压器的故障类型或者是否有潜伏性故障,以及可能出现故障的可能性的大小。最后可与变压器实际运行情况相对比给出具体诊断的准确率。由具体思路来看,可将软件组成分为三大界面:数据录入、数据处理、故障诊断。各界面及其具体功能如图3所示。
图3 变压器故障诊断系统组成界面
3 软件组成
3.1 数据录入
本界面主要用于变压器故障特征气体数据的输入,如图4。具体数据分为训练样本数据和待测数据。本界面的设计考虑到了训练样本数据随不同型号变压器或不同运行环境下特征气体的差异性,因此设计了样本数据的更新。并且可以将每次输入的待测数据加入到相应训练数据中,从而便于数据库的扩大和管理,从而提高诊断准确率。诊断时输入待测数据后点击下一步进入数据处理界面。
图4 数据录入界面
3.2 数据处理
首先是对训练样本集中的气体数据进行预处理,得到相应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 数据离散结果
3.3 故障诊断
该部分为诊断系统的核心部分,在用户输入油中溶解各气体数据后,进行数据处理后,冗余数据被约简,得到最小特征属性集,以及按最小特征属性集约简的,与输出结果相关度、相互之间离散度最高的样本集。将约简后的样本使用经175组原始数据训练好的帕累托改进贝叶斯网络进行故障判别,判别结果如图6所示。
图6 测试结果
本文选取了某110 kV变电站1号主变投运一年后定期校验时采集的油中溶解气体样本作为待测样本,该主变型号为SZ11-80000/110,在利用已训练的帕累托贝叶斯网络进行测试时,判断为中低温过热T1故障,该主变由于负载较大,多次出现温度较高,诊断结果与实际运行情况相符。而后可对所有已测样本的情况进行统计,软件中显示的正确率是累加86次测试之后所得到的结果,正确次数为82,正确率达到95.35%。
软件可添加多种智能算法,用户可根据具体实际需要自行选择不同算法进行故障诊断。每种智能算法都有其自身的特点,有一定的局限性和适用性,比如神经网络能够进行自组织,自学习,是一种非线性映射,但是极易陷入极小值,针对它们各自的特点,本软件试图寻找出一种判别条件,对于待判别的样本,从可选的智能方法中选出一种最为合适的方法,使得诊断出来的效果最好。本软件可以同时用多种智能算法对输入的待测样本进行故障类别的诊断,通过综合分析,得出故障的种类。
4 结语
该软件从性能来看,帕累托改进贝叶斯网络对变压器故障类型的判别更为准确,由于去除大量冗余量,诊断速度也大为提升;从工作环境来看,利用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年为上海首次开展直接交易,月度交易、月结月清及偏差按月考核等市场机制处于逐步建立完善的阶段,故试点期间市场主体的考核费用仅作记录暂不结算。
(本刊讯)