基于Apriori算法的设备故障诊断技术的研究*
2014-07-18甘超,陆远,李娟,胡莹
甘 超,陆 远,李 娟,胡 莹
(1.南昌大学 机电工程学院,南昌 330031; 2.中国北方车辆研究所 车辆传动重点实验室,北京 100072)
基于Apriori算法的设备故障诊断技术的研究*
甘 超1,陆 远1,李 娟2,胡 莹1
(1.南昌大学 机电工程学院,南昌 330031; 2.中国北方车辆研究所 车辆传动重点实验室,北京 100072)
设备故障诊断是设备安全运行的保障,合理分析大量的故障数据能为设备管理提供重要的参考价值。论文采用特征建模技术描述故障设备的特征信息,根据故障数据的特点,以及Apriori算法在故障诊断中应用的瓶颈,采用一种改进的Apriori算法,将故障数据映射为0-1矩阵,根据对矩阵的剪枝和处理计算出故障数据的频繁项集,挖掘多故障之间和故障与运行参数之间的关联关系,为设备管理提供有力支持。最后给出了该方案的可行性实例验证。
Apriori算法;故障诊断;数据挖掘
0 引言
设备是企业制造资源的重要组成部分,是企业生产能力的基本保障。随着制造业信息化的不断发展和市场竞争的日益激烈,机械设备持续向复杂化、智能化、大型化、高速化和多功能化发展[1-2]。设备的结构越来越复杂,故障机理呈现多样性和突发性,设备故障对企业日常运作的影响越来越严重。设备故障诊断能为设备的安全运行提供保障。传统的故障诊断技术难以分析多故障同时发生时各故障之间的关联关系,并不能做出相应的决策[3],且难以处理海量数据。目前,国内外对故障诊断的研究取得了丰硕的成果,主要有基于小波变换和人工神经网络的旋转轴承故障诊断方法[4];基于近场声全息技术利用声场空间分布特征诊断滚动轴承故障[5];基于模糊Petri网的数控机床主轴故障诊断[6];利用局部化方法提出非线性PCA模型用于汽车引擎的故障诊断[7]。本文采用一种Apriori改进算法对故障数据进行挖掘,将故障数据库映射为0-1矩阵,通过对矩阵的分析处理,得到故障数据之间的关联关系,最终以实例验证算法的可行性。
1 设备故障建模
企业生产过程中,随着设备使用时间的推移,维修记录越来越多,随之产生的故障数据也是海量的。同时,随着设备监控技术的发展,很多制造企业为关键设备配备了监控系统,在设备运行过程中,生成了巨大的状态数据和故障信息。如何对这些海量的数据存储、分析和管理,找到一种合理的设备故障建模方案是其中的关键。
结合企业和设备自身的特点,本文采用特征建模技术描述故障设备的特征信息。特征信息模型如图1所示。
图1 故障设备特征信息模型
故障设备特征信息采用结构化存储方式,模型由静态属性和动态属性构成,可以分为五大类:
(1)管理属性信息:主要包括设备维修单管理相关的信息,如维修单号、设备编号、最近一次维修时间、维修类别等;
(2)经济属性信息:指设备发生故障所产生的费用信息,如台时费用、维修费用估算、备件费用等;
(3)故障特征信息:主要描述与设备故障有关的属性信息,如故障代码、故障标签、故障发生时间、故障等级等;
(4)状态参数:指设备运行过程当中,监测系统监测到的设备状态信号,如转速信号、转矩信号、温度信号、电压信号等;
(5)关联信息:与设备发生故障有关的信息,主要包括备件信息和维修人员信息,如:备件编号、备件名称、维修员工号等。
随着多功能型设备的增多,多故障同时发生越来越普遍。通常设备发生故障会产生一个或多个故障代码。如表1所示,采用二元变量表示故障数据,每行对应一个维修单,每列对应一个故障代码,如果某故障在维修单中出现,则对应的值为1,否则为0。
表1 维修单故障代码的二元表示
所以,故障数据可以表示如下:
Dmxn={d[i,j]}
(1)
i=1,2,...,m;j=1,2,...,n;
其中D表示设备故障数据库,f表示故障代码,r表示维修单。0代表维修单中没有出现该故障,1代表维修单中出现该故障。
同理,故障代码与运行中设备的状态参数关系表示如下:
Dsmxn={ds[i,j]}
(2)
i=1,2,...,m;j=1,2,...,n;
其中Ds表示故障代码及其对应的设备状态信息数据库,s表示状态参数信号,f表示故障代码。0代表发生故障时没出现该状态信号,1代表发生故障时出现该状态信号。
2 Apriori算法改进描述
Apriori算法是由数据库专家R.Agrawal 在1993年设计出来的[8],是关联规则最为经典的算法。该算法主要用于在生产数据、关系数据或其他信息载体中,搜索存在于项目集合之间的关联性、频繁模式或因果结构。
Apriori算法能有效的产生关联规则,且具有算法结构简单,推导过程方便等优点。但用于设备故障诊断有一下几个弊端[9-10]:
(1)设备故障数据量庞大,Apriori算法在逐层迭代时会在内存中存储、分析和处理大量的候选频繁项集,普通计算机难于满足要求,而高端计算机会加大企业的信息化投入成本;
(2)需要重复扫描计算机,扫描数据库开销大;
(3)设备故障诊断中的数据具有较强的动态性。运行中的设备能监测出大量的状态信息。随着监测时间的推移,产生海量的数据,诊断速度变慢,难于满足故障诊断实时性的要求。
基于以上原因,在考虑企业财政和计算机配置有限的情况下,本文采用一种Apriori改进算法对设备故障诊断进行研究。
(4)Apriori改进算法的步骤如下:
1)将故障数据库转换为0-1矩阵
0-1矩阵中每一行代表一个事务Ti,每一列代表一个项目Ij。将故障数据库Dmxn转换为对应的0-1矩阵M,其中0代表项目Ij没在事务Ti中,1代表项目Ij在事务Ti中。
2)增加列求和、行求和,得到矩阵M0
矩阵M每行求和,得到每一个事务的项目数;每列求和,得到每一个项目的支持数,并将项目的支持数从大到小排列。生成(m+1)行和(n+1)列的矩阵M0。
3)计算最小支持数minSupport_Count
最小支持度minSupport与事务数的相乘,取大于或等于它的最小整数即为项集最小支持数minSupport_Count。
4)求频繁N项集L[n]
由于在求频繁N项集支持数时需要进行向量内积运算,只有所有项都为1时,结果才为1,否则为0。所以在求频繁N项集时可以删除项目数小于n的行。
删除项目数小于n的行后,重新对列求和,按支持数从大到小重新排列。删除支持数小于最小支持数的列,重新对行求和,最后反复循环计算,得到候选N项集C[n]。通过向量内积运算计算各项集的支持数,与最小支持数比较,得到频繁N项集L[n]。
算法伪代码如下:
输入:故障数据库Dmxn、最小支持度minSupport。
输出:Dmxn中的频繁K项集L[k]。
1)for(i=0;i 2)for(j=0;j 3)if(Ij∈Ti) {setd[i,j]=1} 4)else{setd[i,j]=0} }} // 若项目Ij在事务Ti中,则对应位置为1,否则为0; 5)endfor;endfor; 6)d[i,n+1] = ∑d[i,j] 其中i=1,2,...,m;j=1,2,...,n; // 行求和,计算(n+1)列 7)d[m+1,j] = ∑d[i,j] 其中i=1,2,...,m;j=1,2,...,n; // 列求和,计算 (m+1) 行 8)if(d[m+1,i] 9){temp=Column[i] ;Column[i] =Column[j] ;Column[j] =temp; } 10)minSupport_Count=Math.Ceiling(minSupport*m)//计算最小支持数,m为事务数量; 11)L[1] = {Ij∈C1|d[m+1,j] >=minSupport_Count} // 频繁1项集; 12)for(i=0;i 13)if(d[i,n+1] 14)删除i行后,i行后面的事务往前移动;m-- ; // 行数减1; 15)for(j=0;j 16)if(d[m+1,j] 17)删除j列后,j列后面的项目往前移动;n--; // 列数减1; 18)重新进行行列就和; 19)for(h= 1 ;h<=m;h++) // 计算频繁k-1项集L(k-1)组合后的支持数(做向量内积运算) 20)t=d[h,i] *d[h,j];s+=t; 21)L[k] = {C[k] |s>=minSupport_Count}; // 得到频繁项集L[k] 表2为某汽车企业部分故障数据,表示机械设备某次维修出现的故障代码。这里只列出普通设备故障,其中包括机床主动力部位故障、机床工作台部位故障、机床传动部位故障、机床升降工作台部位故障、机床辅助功能部位故障、机床工艺装备部位故障、机床安全防护部位故障,对应的故障代码为P01、P02、P03、P04、P05、P06、P07。 表2 某汽车企业部分故障数据二元表示 扫描故障数据库,转换为0-1矩阵M: 分别对行列求和,并将项目的支持数按降序排列,得到矩阵M0: 设最小支持度为40%,最小支持数: minSupport= 6x40%=2.4 取整数3; 求频繁1项集L[1],删除最后一行中支持数小于3的列,保留剩余的列,剪枝后的矩阵M1: 所以频繁1项集L[1]={{P05},{P03},{P02},{P01}}。 求频繁2项集L[2],删除最后一列中项目数小于2的行,保留剩余的行,剪枝后的矩阵M2: 对频繁1项集中的项进行组合,得到候选2项集: C[2]={{P05,P03},{P05,P02},{P05,P01},{P03,P02},{P03,P01},{P02,P01}} 计算候选2项集的支持数 minSupport_Count(P05*P03)=[1,1,1,1,1]*[1,1,1,1,0]=4 同理:minSupport_Count(P05*P02)=2,minSupport_Count(P05*P01)=3,minSupport_Count(P03*P02)=2,minSupport_Count(P03*P01)=3minSupport_Count(P02*P01)=1; 找出不小于最小支持数的项,得到频繁2项集L[2]={{P05,P03},{P05,P01},{P03,P01}}。 求频繁3项集L[3],删除最后一列中项目数小于3的行,保留其他的行,剪枝后的矩阵M3: 对频繁2项集中的项进行组合,得到候选3项集: C[3]={{P05,P03,P01}} 支持数minSupport_Count(P05*P03*P01)=3,不小于最小支持数,所以频繁3项集L[3]={{P05,P03,P01}}。因为频繁3项集中只有一个项集,候选4项集的个数则为0,所以频繁3项集是最大频繁项集。 根据Apriori改进算法,本例中的故障数据频繁项集为: L[1]∪L[2]∪L[3]={{P05},{P03},{P02},{P01},{P05,P03},{P05,P01},{P03,P01},{P05,P03,P01}}}。 由此可以分析出故障P05,P03,P01有一定的关联,据此可以为设备的诊断提供依据。同理,对式(2)按照同样的方法进行数据挖掘,能得出故障代码与设备状态信息之间的关联关系。这些分析结果为设备的后续运维提供很好的决策支持。 设备故障诊断的结果是设备故障维修、计划检修和工艺编制过程中设备选取的重要参考。采用特征建模技术描述故障设备的特征信息,基于一种Apriori改进算法,将故障数据映射为0-1矩阵,减少了传统Apriori算法的运算次数,提高了计算效率。通过数据挖掘技术找到故障数据的频繁项集,分析多故障之间和故障与运行参数之间的关联关系,从而预测设备的运行趋势,提高设备维修效率和设备管理水平。 [1] 周桂平,王宏. 故障诊断在现场总线设备管理系统中的应用[J]. 组合机床与自动化加工技术, 2012(9): 94-97. [2] 杨叔子,吴波,李斌. 再论先进制造技术及其发展趋势[J]. 机械工程学报, 2006(1): 1-5. [3] 周焕银,刘金生,李明,等. 基于故障诊断的数据挖掘算法研究[J]. 微计算机信息, 2008(1): 151-153. [4] Al-Raheem KF, Roy A, Ramachandran KP, 等. Application of the Laplace wavelet combined with ANN for rolling bearing fault diagnosis[J]. Journal of Vibration and Acoustics, Transactions of the ASME, 2008,130(5): [5] 鲁文波,蒋伟康. 利用声场空间分布特征诊断滚动轴承故障[J]. 机械工程学报, 2012(13): 68-72. [6] 申桂香, 王志琼, 张英芝, 等. 基于模糊Petri网的数控机床主轴故障诊断[J]. 制造技术与机床, 2012(3): 124-127. [7] Wang X, Kruger U, Irwin GW, 等. Nonlinear PCA with the local approach for diesel engine fault detection and diagnosis[J]. IEEE Transactions on Control Systems Technology, 2008,16(1): 122-129. [8] Agrawal R, Imielinski T, Swami A. Mining association rules between sets of items in large databases[A]. Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, May 26 - 28 1993[C]. Washington, DC, United states: Publ by ACM, 1993:207-216. [9] 崔贯勋,李梁,王柯柯,等. 关联规则挖掘中Apriori算法的研究与改进[J]. 计算机应用, 2010(11): 2952-2955. [10]朱其祥,徐勇,张林. 基于改进Apriori算法的关联规则挖掘研究[J]. 计算机技术与发展, 2006(7): 102-104. (编辑 李秀敏) Equipment Fault Diagnosis Technology Based on Apriori Algorithm GAN Chao1, LU Yuan1, LI Juan2,HU Ying1 (1.School of Mechanical & Electrical Engineering,Nanchang University, Nanchang 330031, China; 2.Science and Technology on Vehicle Transmission Laboratory, China North Vehicle Research Institute, Beijing 100072, China) Equipment fault diagnosis is the safeguard of the safe operation of equipment. Mining massive fault data legitimately provides an important reference for equipment management. Based on the characteristics of fault data and the deficiency of Apriori algorithm using in fault diagnosis, the feature information of faulty equipment is described by feature modeling technology, and an improved Apriori algorithm is proposed. The incidence relation is exhumed among the fault or between the fault and operating parameters by converting fault data to 0-1 matrix and calculating the frequent itemsets of fault data by pruning and handling the matrix. A strong support is provided for equipment management. At last an example is given to prove the feasibility. apriori algorithm; fault diagnosis; data mining 1001-2265(2014)01-0100-04 10.13462/j.cnki.mmtamt.2014.01.028 2013-04-09 国家自然科学基金(50905083) 甘超(1988—),男,江西丰城人,南昌大学硕士研究生,主要从事制造过程与管理方面的研究,(E-mail)gpangus@163.com。 TH165.+3;TG65 A4 实例验证
4 总结