徐 曌,张 斌
(桂林电子科技大学 计算机与信息安全学院,广西 桂林 541000)
工业4.0环境下,智能设备通过多种传感器采集实时参数产生大量的数据。利用数据挖掘进行故障诊断就是将状态参数进行关联、分类、推理,得到决策树[1],并利用决策树对智能设备进行故障诊断。相关研究表明:工业机械遇到故障时,技术人员需要花70%~90%的时间来寻找故障原因和部位,而故障维修只占10%~30%的时间;在维修成本方面,预测维修成本只占故障后维修成本的40%[2]。
机械设备结构功能的逐渐增强,使得现阶段故障诊断的难度不断提高。文献[3]是基于知识库逻辑理论对规则进行处理,但没有给出规则间的相互关系,诊断效率不高。文献[4]是基于知识库逻辑理论,利用粗糙集直接从故障样本中得到诊断规则,效率不高;并且在缺乏属性间的关系时,必须对整个规则库遍历搜索,而且当缺失某些关键信息时诊断结果会受到影响。文献[5]结合了故障树与模糊推理用于动态系统的故障诊断;文献[6]利用粗糙集研究了故障树基本事件的排序问题。当系统比较复杂时,这类方法的搜索过程也变得非常复杂,诊断结果的准确性也不高。
为解决上述问题,文中结合可辨识矩阵与决策树的特点,提出基于可辨识矩阵约简和C4.5决策树的故障诊断方法,并对其进行了验证。
首先确定故障诊断的训练样本集,接着对训练样本集里的连续属性进行离散化处理,得到离散样本集。然后用可辨识矩阵约简算法对离散样本集进行属性约简,并根据聚类比选择出最佳约简矩阵,得到最佳约简样本集。再用C4.5算法对最佳约简样本集进行分析,生成最终决策树。最后通过测试样本集验证决策树的故障诊断准确性。
训练样本需要全面反映设备的情况,这样的样本经过训练后生成的决策才能对新的数据做出正确的判断。以转子磨粉机为例,有转子不平衡、转子不对中、油膜振荡三种常见机械故障。由历史振动波形测量数据建立如表1所示的样本训练集T'=。其中,U,C和D是非空有限集。U是故障状态域;C=(C1,C2,…,C7),表示7种故障条件属性集,C1表示0.01~0.40f、C2表示0.41~0.50f、C3表示0.51~0.99f、C4表示1f、C5表示2f、C6表示3~5f、C7表示大于等于5f;D=(F1,F2,F3)是故障决策属性,其中F1为不平衡、F2为不对中、F3为油膜振荡,且C∩D=∅;X=(X1,X2,…,X9),表示9个故障样本。
表1 训练样本集T'
连续属性的离散化是非常必要的,因为粗糙集理论以及多种离散型数据挖掘算法只能解决离散数据,因此需要对训练样本集进行离散化处理。离散化方法主要包括两大类:无监督的离散化方法和有监督的离散化方法。基于熵的离散化方法就是在处理数据时考虑了条件属性和决策属性之间的依赖关系。
假设样本集有N个故障样本Xj(j=1,2,…,N),M个故障条件属性,K个故障类型。应用一种基于最小熵原理的离散算法将样本集中的连续属性Ci进行离散化处理[7]。步骤如下:
步骤2:离散分类数r=3。
(1)
(2)
(3)
(4)
(5)
步骤5:根据最大隶属度原则,将样本集中的连续属性值按照式(6)进行离散化处理,处理过后的条件属性值记为CdiN(N=1,2…):
(6)
其中,P1i和P2i是连续属性离散化过程中的两个断点值,其中P1i=(SEC1i+PRIi)/2,P2i=(SEC2i+PRIi)/2,j=1,2,…,N。
将样本训练集T'中连续属性进行离散化处理后得到离散样本集T''。
粗糙集理论[8]可以在缺乏先验知识的前提下,以分类能力为基础很好地进行模糊数据的分类和处理。粗糙集的关键内容是属性约简,能够有效地删除样本集中的冗余信息,形成精简的规则库,提高规则库的读取使用效率[9]。文中使用可辨别矩阵作为样本集属性的约简算法。
假设T''=(U',C',D),其中包括N个经过离散化处理的样本Yj(j=1,2,…,N),M个条件属性和K个故障类型。基于可辨别矩阵约简[10]和最大集群比[11]原则,文中采用如下算法对T''进行约简并选择出聚类率最高的属性组合。
步骤1:按照式(7)计算出T''的可辨识矩阵C=(cij)N×N。
C(i,j)=
(7)
步骤4:输出属性约简结果。
步骤5:按照式(8)计算步骤5中得到的所有约简集的聚类比。最佳约简集即为聚类比Ra最大的一组。
Ra=(N-NR)/N-1
(8)
其中,N为规则表中离散化的样本数目;NR为T''约简过后的论域个数。
用步骤1对离散样本集T''进行处理,得到对应的可辨识矩阵,如表2所示。
表2 对应于T''的可辨识矩阵
根据步骤2~4进一步对T''各个属性进行约简,可得:{C3,C4,C7},{C2,C4,C6,C7},{C1,C2,C4,C7},{C1,C5,C6,C7},{C4,C5,C7},{C1,C2,C4,C5},{C2,C3,C4,C5,C7},其中{C3,C4,C7}的聚类率最大,所以把{C3,C4,C7}作为最佳约简集,从而得到最优约简诊断决策表T''',如表3所示。
C4.5算法[12]是目前最具影响的决策树算法之一,以信息增益率作为确定分支属性的标准,更好地处理算法在使用信息增益选择分支属性时偏向于取值较多的属性的缺陷[13]。核心思想是通过分析训练集的数据,在数据集上递归地建立一个决策树,该决策树由一组规划来表示,尤其是被识别的模式有连续特征值属性时,甚至是在缺失某些重要特征属性时,C4.5算法也是有效的。该算法用已知故障类别的样本得到顺序测试特征,直到所有特征被正确归类。在得到决策树之后,只需要判断部分的条件属性,即可得到正确的故障类型[14]。C4.5算法使用后剪枝方法简化决策树,从而提高多特征下的辨识效果。过程如下:
表3最优约简诊断决策表T'''
UC3C4C7D-X1331F1X2221F1X3331F1X4222F2X5223F2X6322F2X7213F3X8112F3X9312F3
步骤1:计算所有属性的信息增益率,选择具有最大信息增益率的属性作为根节点的分支属性。
(1)设数据集为T,|T|作为数据集T的样本数,共有k个类。|Ci|是T中属于类别Ci的样本数,先验概率可以表示为Pi=|Ci|/|T|,并且对T分类的信息熵为:
(9)
(10)
(11)
并由式(9)~(11)可以得到按照Ak划分数据集的信息增益为:
(12)
其中Ak的信息熵为:
(13)
最终由式(12)、(13)得到Ak的信息增益率为:
(14)
步骤2:不断利用上述方法建立树的分支,将信息增益率最大的属性作为子节点,直到完成决策树的创建为止。
利用C4.5算法对T'''进行分析,计算可得C4的信息增益率为0.8,同理可得C3和C7的信息增益率分别为0.18和0.6。因为C4的信息增益率最大,所以将C4作为根节点建立决策树,并且在每个节点使用C4.5算法进行分析,最后生成的决策树如图1所示。使用C4.5算法直接对T'''进行分析,得到的决策树如图2所示。并且用离散化测试样本对最终决策树和C4.5算法生成的决策树进行效果验证。
图1 约简的决策树(文中算法)
图2 C4.5算法决策树
(1)决策树构建速度的比较。
5次使用相同训练数据集得到决策树的时间,可以得出文中方法生成决策树的平均时间比直接使用C4.5算法快约31%。
(2)决策树复杂度的比较。
首先,直接使用C4.5算法生成的决策树(图2)所需要的故障特征向量为4维,而文中方法(图1)仅需故障特征向量为2维。证明文中方法在保证的诊断准确性的同时,有效地减少了故障特征数据获取的工作量,并且降低了决策树的复杂度。
(3)故障诊断准确率的比较。
使用两个决策树对相同故障数据进行准确性测试,如图3所示。其中对于F1故障类型的诊断准确率基本相同,达到了95.3%。C4.5算法对于F2故障类型诊断正确率为95.3%,而文中方法的诊断准确率达到了96%。C4.5算法对于F3故障类型的诊断正确率为96.5%,而文中方法的诊断准确率达到了97.8%。两种方法的准确率出现了较为明显的差异。其次,文中方法可以准确识别故障类型,说明将粗糙集和决策树结合的方法不仅减少了规则库搜索的步骤,同时具有很强的容错能力。
图3 故障诊断准确率
综上可以证明,文中方法不仅在降低最终决策树复杂度的基础上提高了决策树的构建速率,还提高了对部分故障类型的诊断准确率。
应用可辨识矩阵约简算法和决策树结合的方法能有效地对条件属性进行约简,消除冗余信息,并减少决策树的节点数,降低决策树复杂度,最终高效率地构建决策树,实现对机械快速准确的故障识别。然而,数据挖掘技术是建立在海量的数据样本的基础上[15],文中的故障样本数据是比较典型的故障类别数据,不排除存在具有两种甚至更多的故障特征数据。当样本数据更加充足时,决策规则库也将有更强的工程实用性。
[1] 陈绍炜,王 聪,赵 帅.决策树算法在电路故障诊断中的应用[J].计算机工程与应用,2013,49(12):233-236.
[2] GILLUM M N,ARMIJO C B.Optimizing the frequency of the rotary knife on a roller gin stand[J].Hydrobiologia,2000,43(4):809-817.
[3] 王 庆,巴德纯,王晓冬.智能故障诊断的粗糙决策模型[J].东北大学学报:自然科学版,2005,26(1):80-83.
[4] 束洪春,孙向飞,司大军.基于粗糙集理论的配电网故障诊断研究[J].中国电机工程学报,2001,21(10):73-77.
[5] CHANG S Y,LIN C R,CHANG C T.A fuzzy diagnosis approach using dynamic fault trees[J].Chemical Engineering Science,2002,57(15):2971-2985.
[6] KHOO L P,TOR S B,LI J R.A rough set approach to the ordering of basic events in a fault tree for fault diagnosis[J].International Journal of Advanced Manufacturing Technology,2001,17(10):769-774.
[7] 贾智皓,刘 方.服务于粗糙集信息处理的数据离散化技术[J].数字技术与应用,2014(11):77-79.
[8] 马文萍,黄媛媛,李 豪,等.基于粗糙集与差分免疫模糊聚类算法的图像分割[J].软件学报,2014,25(11):2675-2689.
[9] 李明祥.基于粗糙集理论的数据挖掘方法的研究[D].青岛:山东科技大学,2003.
[10] 武志峰,吉根林.一种基于决策矩阵的属性约简及规则提取算法[J].计算机应用,2005,25(3):639-642.
[11] 滕书华,鲁 敏,杨阿锋,等.基于一般二元关系的粗糙集加权不确定性度量[J].计算机学报,2014,37(3):649-665.
[12] 徐 鹏,林 森.基于C4.5决策树的流量分类方法[J].软件学报,2009,20(10):2692-2704.
[13] 李学明,李海瑞,薛 亮,等.基于信息增益与信息熵的TFIDF算法[J].计算机工程,2012,38(8):37-40.
[14] 黄爱辉.决策树C4.5算法的改进及应用[J].科学技术与工程,2009,9(1):34-36.
[15] 云玉屏.基于C4.5算法的数据挖掘应用研究[D].哈尔滨:哈尔滨理工大学,2008.