决策树在汽轮机故障诊断中的应用
2010-01-08梁娜
梁 娜
本文研究了决策树挖掘方法在故障诊断中的应用,根据设备的历史运行记录,对其可能的运行状态进行分类,提取出故障特征。实例证明,利用决策树挖掘技术进行知识提取,有效克服了故障诊断系统知识获取的瓶颈,具有实际的应用价值。
1.引言
汽轮发电机组是电力工业中的关键设备,其结构复杂,运行环境特殊,因此故障率较高。随着电厂信息化水平的不断提高,越来越多的数据被DAS系统存储到实时数据库中,这些数据包含了机组运行状态的各种特征。怎样从过去的数据中发现有用的信息,把所获得的知识用于过程监控,提高生产过程自动化水平是值得研究的课题。数据挖掘就是从大量不完全、有噪声、模糊的或者随机的数据中提取出有价值的知识。本文将数据挖掘技术应用于汽轮机的故障诊断,具有实际的意义。
2.数据挖掘概述
2.1 数据挖掘技术
数据挖掘,也称为数据库中的知识发现(KDD),是指发掘隐藏在堆积如山的数据中的真知灼见。通过数据挖掘,有价值的知识、规则或高层次的信息就能从数据库的相关集合中抽取出来,并从不同角度显示,从而使大型数据库作为一个丰富可靠的资源为知识归纳服务。
2.2 决策树算法
决策树是数据挖掘分类方法的一种。决策树的表现形式类似于流程图的树结构,它的基本组成部分包括决策节点、分支和叶子。决策树中最上面的节点称为根节点,是整个决策树的开始。每个分支是一个新的决策节点。每一个决策节点代表一个问题或决策,通常对应于分类对象的属性。每一个叶节点代表一种可能的分类结果。Qulnlan设计的ID3方法是国际上最有影响和最为典型的决策树学习算法。
设S是数据样本的集合,集合中的样本数用S来表示。假定故障类别具有m个不同值,它们将样本分为m个类,用Mi(i=1,2,……m)来表示,Mi表示类Mi中的样本数。则任意一个样本属于Mi的概率为pi=Mi/S,一个给定样本分类的平均信息熵为 E(S)=-∑mi=1pilog2pi。
设属性A具有n个不同的值,它们将样本划分为n个子集,每个子集Sk中的样本在A上的取值相同。设Sik是子集Sk中类Mi的样本数。则由A划分的决策树分类的条件熵为:E(S/A)=∑nk=1pk[-∑mi=1piklog2pik],其中,pk=SkS,pik=SikSk表示Sk中的样本属于类Mi的概率。熵的变化量称为属性A对分类的信息增益Gain(A),则Gain(A)=E(S)-E(S/A)
具体的操作是:
(1)计算每一个属性的信息增益,选择信息增益最大的属性A作为根结点;
(2)属性A的不同取值将全体样本分成若干个样本子集,按照前面的方法在每一个新的样本集合中选择信息增益最大的属性作为这一级的结点;
(3)重复上面的步骤,直至所有的子集都属于同一个类别。
3.实例分析
3.1 数据准备与预处理
本文在现场调研和查阅文献的基础上收集整理了一个汽轮机振动故障数据库,该数据库包含21组故障数据,五种典型故障。我们定义几个在故障诊断中常用的频段作为测试属性:
A1 0.01-0.49fA2 0.5fA3 0.51-0.99fA4 1f
A5 2f A6 3-5fA7 >5f
3.2 构造决策树
根据上一节介绍的构造决策树的方法,计算表31中每一个测试属性的信息增益如表32所示。
表32 属性对应的信息增益
属性信息增益属性信息增益
A10.24A50.80
A20.95A60.19
A30.19A70.36
A41.88
从表32可以看出,属性A4的信息增益最高,因此以A4为根结点构造决策树。对于根结点以下的各级子集按照同样的方法计算信息增益。最后形成的决策树如图32所示。
图32 汽轮机故障决策树
3.3 结果评价
为了检验规则的正确性,我们用五组实际的故障数据进行验证。诊断出来的结果如表34所示。
表34 检验样本实际故障与诊断结果的比较
检验样本实际故障诊出故障
1油膜振荡油膜振荡
2不对中+不平衡不对中
3不平衡+碰摩碰摩
4不对中+碰摩碰摩
5气流激振气流激振
从上面的结果可以看出:使用一个数量有限的故障样本集得到的诊断规则还是令人满意的。对于单一故障都够能诊断出来,对于混合故障也能够诊断出其中的一种故障,说明规则的正确率还是很高的。
4.结束语
决策树方法是从样本中学习规则,所以样本集对决策树的形成是至关重要的,但决策树始终在寻找信息增益最大的属性作为当前节点的测试属性,所以具有一定的抗噪声能力,而且对于由噪声产生的分枝,已经有一些树剪枝的方法,以提高决策树独立于测试数据正确分类的能力。通过训练所得出的规则可用于故障诊断,具有一定的实用价值。