APP下载

基于时序关联规则的设备故障预测方法研究

2014-07-18甘超陆远李娟胡莹邹博宇

机床与液压 2014年11期
关键词:项集时序关联

甘超,陆远,李娟,胡莹,邹博宇

(1.南昌大学机电工程学院,江西南昌330031;2.中国北方车辆研究所车辆传动重点实验室,北京100072)

随着科学技术的进步和制造业的发展,机械设备日益呈现复杂化、大型化和多功能化[1]。设备维护是保障设备稳定和可靠运行的重要手段。设备的维修方式从早期的无计划维修到预防性维修逐步向基于状态维修 (Condition-Based Maintenance,CBM)[2]方式转变,而设备故障预测是CBM的关键。近年来,国内外针对设备故障预测的研究取得了巨大的成果,主要有王宁等人[3]提出的一种基于时变转移概率的隐半Markov模型,用于设备运行状态的识别和故障预测;CAESARENDRA等[4]通过仿真和实验的故障数据,利用概率论和支持向量机来预测故障的衰减过程;武兵等人[5]提出了利用支持向量回归技术对多个特性量进行并行预测,并对各类特征和预测结果进行趋势分析。文中提出了基于时序关联规则的设备故障预测方法,将故障数据转换为时序项集矩阵,利用Apriori改进算法和频繁时序关联规则查找算法,求出时序项集矩阵的频繁时序关联规则,为管理人员提供决策支持。最后给出了该方法的可行性实例验证。

1 故障数据模型

随着设备使用寿命的增多,发生故障的概率越来越大,企业能采集到很多故障数据。这些故障数据具有动态性、大量性、冗余性、噪声大等特点。基于这些特点,利用Apriori传统关联规则算法的思想[6-7],将故障记录表中的数据按照设备编号进行分组,并记录故障发生时间,剔除无效的数据,得到时序故障数据模型。如表1所示。

表1 时序故障数据模型

模型的数据结构需要满足两个性质:

性质1:每个事务T有唯一的设备编号标识,事务中的所有数据项对应设备的故障数据。不存在相同设备编号的两个事务。

性质2:事务中的数据项都由一个二元组<i,t>表示,称为时序项。其中,i为项 (此处为故障代码),t为时序项的时间戳。

为了便于利用关联规则算法求出频繁项集,同时为了更清楚地表达设备编号和故障代码之间的关系,将表1时序故障数据模型转换为类似于位图的形式,如表2所示。其中 (1,T)表示设备在时间T发生了某故障,<0,0>表示设备从来没有发生某故障。同一设备可能在不同时间发生多次某故障,所以单元格中可能出现多个时序项。

表2 时序故障数据转换模型

所以,设备故障关系数据可以表示为矩阵D:

其中:Rj为表示故障代码;Ti为表示设备编号。Rj∈Ti表示设备Ti在时间Tij1,Tij2,…TijS发生了故障Rj;S表示Ti发生故障Rj的次数;TijS表示故障发生时间;Rj∉Ti表示设备Ti从来没有发生故障Rj。

将故障数据库转换为形如式 (1)矩阵,可以形象地描述设备和故障代码的关联关系。这种故障数据模型可以减小扫描数据库的次数,降低计算机配置要求,提高算法的运行效率。

2 时序关联规则相关数据模型的概念

定义1,时序项集矩阵。矩阵的每一行代表一个事务Ti,每一列代表一个项目Ij。当第i个事务包含第j个项目时,对应位置的值为 {(1,Tij1), (1,Tij2),…, (1,TijS)},TijS表示时序项的时间戳,S为包含项目的个数;当第i个事务不包含第j个项目时,对应位置的值为 (0,0)。形如式 (1)的矩阵就是一个时序项集矩阵。

定义2,时序候选项集矩阵。用关联规则算法,对时序项集矩阵剪枝操作后,删除不满足要求的行和列,重新计算,得到时序候选项集矩阵。

定义3,时序关联规则。A,B是项集I的子集,满足A⊂I,B⊂I,且A∩B=φ,t表示在同一个事务Ti中项集B在项集A之后t的时间发生。时序关联规则是形如以下的蕴含式:

定义4,时序规则模式。在由关联规则算法计算出的频繁N项集中,对于某个频繁项集的子集A,由该子集在ΔT时间之后发生补集B,称为时序规则模式。可以表示为A→B。

定义5,最大同一时序关联规则。

定义时间模式判别运算,用运算符“∩”表示。运算表达式为:ΔT1∩ΔT2∩…∩ΔTi,运算结果是ΔT1,ΔT2,…ΔTi中相同个数的最大值。如:7∩6∩7∩7∩5∩6=3。

定义时间模式相减运算,用运算符“-”表示。运算表达式为:(A,Ta)-(B,Tb)=A→B:ΔT=(Tb-Ta)。

时序规则模式A→B,在频繁时序项集中有j条记录支持该模式,表示为 {(A,Ta1),(B,Tb1)},{(A,Ta2), (B,Tb2)},…, {(A,Taj), (B,Tbj)},其中 ΔT1=Tb1-Ta1,ΔT2=Tb2-Ta2,ΔTj=Tbj-Taj。若 ΔT1∩ΔT2∩…∩ΔTj=number,且对应的相同值为t',则称时序关联规则A→B:ΔT=t'为时序规则模式A→B的最大同一时序关联规则。

定义6,频繁时序关联规则。是指某时序规则模式的最大同一时序关联规则支持度不小于最小支持度的时序关联规则。

3 算法基本原理

由上文可知,在频繁N项集的所有时序规则模式中,不一定每个时序规则模式的最大同一时序关联规则都能满足最小支持度,所以设备故障预测可以转换为求频繁项集的频繁时序关联规则。

(1)求时序项集矩阵中所有频繁项集

Apriori算法是关联规则挖掘中最经典的算法。由于挖掘的对象是海量的故障数据,传统的挖掘算法有两个弊端[8-9]:①重复扫描数据库,数据库开销大;②迭代次数多,处置的数据量大,算法适应性差。文中提出一种Apriori改进算法,将故障数据库转换为形如式 (1)的矩阵。对数据库的操作转换为对矩阵的处理,减小了对计算机配置的要求,提高了算法效率和计算速度。利用该关联规则算法找出时序项集矩阵中所有频繁项集。

(2)求频繁时序关联规则

在所有频繁项集中,找到每个频繁项集的所有时序规则模式。通过最小支持度,筛选出所有频繁时序关联规则,最后做出相应的决策。

图1为算法在设备故障预测中的应用过程。

图1 算法在设备故障预测中的应用过程

4 算法描述

文中主要用到两个算法:Apriori改进算法和频繁时序关联规则查找算法。将详细描述这两个算法。

4.1 Apriori改进算法描述

基于Apriori改进算法找出时序项集矩阵中的所有频繁项集步骤如下:

(1)采集的故障数据预处理。将没有噪声的数据转换为形如式 (1)的时序项集矩阵M,每个事务代表一台设备,每个项目代表一个故障代码。在进行矩阵计算时,矩阵时序项的值用d[i,j]代替,矩阵时序项的值若为 (0,0),d[i,j]=0,否则d[i,j]=1。

For(int i=0;i<m;i++){//将故障数据转换为时序项集矩阵

(2)增加第 (m+1)行和第 (n+1)列,得到时序候选项集矩阵M0。矩阵M每行求和,得到每台设备发生的故障代码数;每列求和,得到故障代码的设备支持数。生成 (m+1)行和 (n+1)列,将支持数从大到小排列,得到矩阵M0。

order by d[m+1,j]desc// 矩阵按故障代码的设备支持数降序排列

(3)计算时序项集最小支持数 minSupCount,minSupCount等于时序项集最小支持度minSup与事务数的乘积,也就是与设备数的乘积,并取不小于它的最小整数。

其中:Ceiling表示不小于给定数的最小整数,m为事务的数量。

(4)求频繁K项集L[k]

在求频繁K项集支持数时,对每项所在的列做向量内积运算,只有所有项对应的值均为1时,结果才为1,否则为0。如果某设备的项目数小于k,则该设备所在的行d[i,j]值为“1”的数目也小于k,所以可以直接删除该行。

删除不满足要求的行后,重新进行列运算,并按支持数从大到小排列。

删除支持数小于最小支持数的列,重新进行运算。最后得到时序候选项集矩阵Mn。

通过向量内积运算计算各项集的支持数,与最小支持数比较,得到频繁K项集L[k]。

for(int i=0;i<m;i++)//计算频繁项集L[k],删除项目数小于k的行;

//删除i行后,i行后面的事务往前移动;m--;//行数减1;

for(int j=0;j<n;j++)//删除支持数小于最小支持数额列;

//删除j列后,j列后面的项目往前移动;

n--;//列数减1;

//重新进行行列求和;

//做向量内积运算得到各个候选项集的支持数s;

L[k]={C[k]|s> =minSupCount};// 得到频繁项集 L[k];

4.2 频繁时序关联规则查找算法描述

为了便于描述算法,对于时序项集((I),T)提出以下方法:

时序项集((I),T),其中I为项集,T为时序项集的时间戳,T的值为I中最后一个时序项的时间戳。定义运算符“#”,表达式#((I),T),若T为所有时序项中的最大值,输出1,否则输出0。

算法伪代码如下:

输入:所有的频繁项集List{L[K]},最小支持度minSup

输出:频繁时序关联规则

for all pattern{//每个频繁项集的所有时序规则模式做循环;

按照”→”拆分时序规则模式为时序项集A和时序项B;

//时序规则模式相减运算;

//时间大于0,保存结果;

ΔT1∩ΔT2∩…∩ΔTi//时间模式判别运算;

计算最大同一时序关联规则的支持度,与最小支持度比较,输出频繁时序关联规则;

5 实例验证

举例说明,如表3所示,假设为某汽车企业处理后的时序故障数据,其中设备编号为同一类型的设备。

表3 时序故障数据

扫描故障数据库,表3数据转换为时序项集矩阵M:

时序项的值若为 (0,0)用0代替,否则用1代替,分别对行列求和,并按项目支持数降序排列,得到矩阵M0:

设最小支持度为40%,最小支持数minSupCount=40% ×6=2.4,取整数3。

求频繁1项集L[1]。删除支持数小于3的列,重新计算后的矩阵为M1:

所以,频繁1 项集L[1]={{P02},{P03},{P05},{P06}}。

求频繁2项集L[2]。删除矩阵最后一列项目数小于2的行,此处没有小于2的行,故M2=M1。计算候选2项集的支持数:

所以,频繁 2 项集L[2]={{P02,P05},{P02,P06},{P02,P03},{P05,P03}}。

求频繁3项集L[3]。删除矩阵最后一列项目数小于3的行,删除支持数小于3的列,重新计算后的矩阵为M3:

计算候选3项集的支持数:

SupCount(P02*P05*P03)=4;

所以,频繁 3 项集L[3]={{P02,P03,P05}};频繁3项集是最大频繁项集。

所有频繁项集为:

找到每个频繁项集的所有时序规则模式,根据频繁时序关联规则查找算法,输出频繁时序关联规则。限于篇幅,文中以频繁3项集L[3]为例介绍。

L[3]的所有时序规则模式为:P02P05→P03,P05P02→P03,P02P03→P05,P03P02→P05,P03P05→P02,P05P03→P02。

对于P02P05→P03,在时序候选项集矩阵M3的第一条记录中,拆分时序规则模式,对应的时序项集为((P02,P05),24)和(P03,12),#((P02,P05),24)=1,做时间模式相减运算:

由于ΔT<0,放弃该记录,继续循环,同理计算,其他记录的ΔT都小于0,故无最大同一时序关联规则,支持度小于最小支持数3。

同理可知,P05P02→P03,P03P02→P05,P03P05→P02,P05P03→P02的支持度都小于最小支持数3,放弃这些规则模式。

对于P02P03→P05。每条记录的时序关联规则为:

12∩12∩12=3,故矩阵中有3条记录支持时序关联规则P02P03→P05:ΔT=12,不小于最小支持数3。

输出时序关联规则P02P03→P05:ΔT=12,可以描述为:这种类型的设备首先发生故障P02,再发生故障P03,之后的12个单位时间内会发生故障P05。

6 总结

设备故障预测是提高设备稳定性和可靠性的重要方法。文中提出了基于时序关联规则的设备故障预测方法,考虑故障数据的特点,应用Apriori传统关联规则算法的思想,将故障数据转换为时序项集矩阵,利用Apriori改进算法和频繁时序关联规则查找算法,求出时序项集矩阵的频繁时序关联规则,从而预测设备故障趋势,为管理人员制定维修决策提供可靠依据,减小设备维护支出,提高了设备维护效率。该算法的缺点是没有考虑设备保养的情况,下一步将针对保养设备,增加反馈机制,调整现有算法规则进行研究。

[1]赵永满,梅卫江,吴疆,等.机械故障诊断技术发展及趋势分析[J].机床与液压,2009,37(10):255 -256.

[2]YAM R C M,TSE P W,Li L,et al.Intelligent predictive decision support system for condition-based maintenance[J].International Journal of Advanced Manufacturing Technology,2001,17(5):383 -391.

[3]王宁,孙树栋,李淑敏,等.基于DD-HSMM的设备运行状态识别与故障预测方法[J].计算机集成制造系统,2012(8):1861-1868.

[4]CAESRENDRA W,WIDODO A,YANG B S.Combination of Probability Approach and Support Vector Machine Towards Machine Health Prognostics[J].Probabilistic Engineering Mechanics,2011,26(2):165 -173.

[5]武兵,林健,熊晓燕.基于支持向量回归的多参数设备故障预测方法[J].振动测试与诊断,2012(5):791-795,864.

[6]AGRAWAL R,IMIELINSKI T,SWAMI A.Mining Sssociation Rules between Sets of Items in Large Databases[C]//Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data.Washington DC,United states,1993:207 -216.

[7]王爱平,王占凤,陶嗣干,等.数据挖掘中常用关联规则挖掘算法[J].计算机技术与发展,2010(4):105-108.

[8]崔贯勋,李梁,王柯柯,等.关联规则挖掘中Apriori算法的研究与改进[J].计算机应用,2010(11):2952-2955.

[9]朱其祥,徐勇,张林.基于改进Apriori算法的关联规则挖掘研究[J].计算机技术与发展,2006(7):102-104.

猜你喜欢

项集时序关联
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
基于Sentinel-2时序NDVI的麦冬识别研究
“一带一路”递进,关联民生更紧
奇趣搭配
基于FPGA 的时序信号光纤传输系统
智趣
一种毫米波放大器时序直流电源的设计
DPBUS时序及其设定方法
一种新的改进Apriori算法*
分布式数据库的精简频繁模式集及其挖掘算法*