高柯柯,于重重,晏 臻
(北京工商大学 人工智能学院,北京 100048)
随着工业4.0和智能制造技术的兴起,智能工厂的建设逐渐被各国企业所重视[1,2]。在这种趋势下,工业设备日益向复杂化和智能化的方向发展,设备的安全问题越来越受到企业的重视。同时,由于工业设备系统运行工况繁杂多变、运行环境相对恶劣,更增加了系统性能退化失效的速率和发生故障的概率。更为重要的是,工厂生产线上的设备一旦由于失效引发故障,将会对工厂经济造成重大的损失。因此,在大数据背景的时代下,利用工厂实时采集的海量数据,在设备性能退化的早期,及时且有效地对设备进行健康状态评估,合理制定维护计划和维修方案变得极为重要。
健康评估是一种通过对系统的状态信息进行收集和学习,分析健康状态,洞悉系统故障,提取规避风险,从而保证系统运行可靠性的一项技术。GASPERIN M等[3]从包络谱中提取出了齿轮啮合频率的功率密度,并且据此对齿轮的健康状态进行了评估。JAVED K等[4]利用模糊聚类的方法,对系统的健康状态进行了自动评估。YAN J等[5]利用logistic回归函数,对电梯门运动系统的健康状态进行了评估。WANG C等[6]提出了一种结合有效特征提取方法和模糊c均值聚类算法的深度森林算法,实现了对轨道航天器当前健康状态的评估。余道明等[7]提出了一种集新型深度自编码和最小量化误差相结合的,应用于滚动轴承全寿命周期的健康评估方法。王村松等[8]采用一种多变量深度森林分类器,实现了设备健康状态的离线训练和在线评估。林涛等[9]采用改进栈式自编码器的方法,实现了对风电机组发电机的健康评估。
尽管以上的建模评估方法已经取得了较好的理论成果,但在实际应用的场景中,由于场景设置的复杂性不同,设备运行状况也受到许多其他因素的影响。考虑到运行环境的复杂性,前述的建模方式难度倍增,这就使得分析不同工况下设备的运行状态,找出主要影响设备运行的因素,进而对设备进行健康评估变得尤为重要。
本文主要对某压缩机工厂的设备进行健康评估。由于该工厂生产线上各设备协同运行共同完成生产,中间任何一个环节发生故障,都会影响后续的生产,进而影响整个流程的产出;且同一生产线上各设备之间存在着关联性,各设备的运行状况实时都在发生变化。
动态贝叶斯网络可以实现实时故障诊断,随着毗邻时间步骤将不同变量联系起来,本文采用动态贝叶斯网络对设备的健康状态进行评估。
本文的实验数据来源于某压缩机工厂的相关数据,数据来自该工厂2017年9月3日到2018年3月30日共半年的数据,主要包括了监测数据、故障数据和产量数据。
监测数据主要是指生产过程中设备上传感器采集上传的实时数据,不同的设备有着不同的状态参数,主要包括电压、电流、转速、焊接时间等,采集间隔固定,基本都在5 min左右进行一次采集。
监测数据如表1所示。
表1 监测数据
故障数据是指再生产过程中监测出的设备故障类型。数据主要包括故障码以及故障发生时间,故障码为0的字段表示正常,非0字段表示故障,不同的故障码对应着相应的故障类型。故障数据实时监控采集,一旦出现故障,设备会上传故障码到工业系统。当故障完成修复,则会上传故障码0,表示设备已回复正常工作状态。
不同设备有着不同的故障类型,故障数据如表2所示。
表2 故障数据
产量数据指生产线最后的成品产出数量。产量数据再生产过程中实时采集,每当有1件成品产出,累计产数加1,同时记录此刻的时间。
产量数据如表3所示。
表3 产量数据
该工厂所采集的数据,除了监测数据有着固定的采集频率,故障数据和产量数据均没有固定的采集频率。(1)产量数据。产量数据是每当新增一个产出,上传一次数据,每次生产一个产出所耗用的时间称之为节拍。节拍数据在工况正常的时候通常维持在9 s左右;(2)故障数据。故障数据则是每当发现一个故障或者异常的时候会上传相应的故障码,因此,故障数据的采集没有一个较为规律的周期。结合上述情况,需要对数据进行划分处理。
由于产量数据、故障数据都是实时采集的,时间精确到秒,同时采集间隔又是不固定的,为了更加直观地发现故障和产量之间的联系,本文对故障数据和产量数据按小时进行切分。监测数据基本有着固定的采样间隔,采样频率为5 min。故本文选择将监测数据进行二值处理,即分为正常和不正常两种类型。
结合上述特征,笔者对某机械工厂生产线本体A设备组上的各个设备在每个小时段上进行统计,可以构造出特征表。其中,设备1_108表示设备1发生故障108的时长,以此类推。该表一共包括日期、产量、故障时长(以s为单位)、监测参数状态,共计122维。
部分特征表的数据截图如表4所示。
表4 特征表
在动态贝叶斯网络中,需要将特征转化为节点构造出图模型。而上述得到的特征表维度较多,且特征表具有明显的稀疏性。为了减少动态贝叶斯网络的节点个数,减少计算消耗,提高动态贝叶斯网络实时评估的效率,同时剔除由于异常或报警而上传的故障类型,本文通过分析不同故障与产量之间的相关性,找出影响产量的主要故障。
首先笔者统计出频率发生较高的故障类型及其故障的修复时长,对重点故障进行初步的筛选。同时,由于设备的工作情况直接或者间接影响到生产线的产量,不同故障的故障时间对产量有着不同程度的影响,可以采用随机森林算法,将故障对产量的影响程度进行排序,从而提取出重点故障类别来。
笔者对产品的产量进行统计分析,将每小时的产量进行分为A、B、C、D、E、F 6个等级。其中,每小时产量>400为A等,每小时产量∈(350,400]为B等,产量∈(300,350]为C等,产量∈(250,300]为D等,产量∈(200,250]为E等,每小时产量<200为F等。
最后笔者得到产量的分布图,如图1所示。
图1 每小时产量分布
随机森林是决策树的延伸方法之一,是一种由多颗决策树构成的集成学习算法[10]。由于决策树存在易发生过拟合的现象[11],为了改善该缺点,随机森林的预测通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能[12]。
笔者将每小时不同故障的发生次数和故障恢复时间作为特征输入到随机森林,产量等级作为分类标签;对模型的分类结果的准确率进行排序,排名靠前的特征即为影响产量的重要特征。
随机森林算法模型结构图如图2所示。
图2 随机森林模型
笔者最终选定排序在前10的故障作为影响产量的主要故障,依次是设备:1(108,128,190),设备2(103,106,113,114),设备3(121),设备4(134),设备5(126);括号内为设备的故障码。
具体故障及其解释如表5所示。
表5 主要故障及其说明
动态贝叶斯网络(DBN)是一种以概率论和图论为基础,将时间维融入到贝叶斯网络(BN),以表示时间关联性,最终形成了能够处理时序信息的动态概率推理模型[13]。
和贝叶斯网络不同的是,动态贝叶斯网络在贝叶斯网络的基础上考虑到了时间因素,因此更适合对非静态的时序数据进行分析[14,15]。动态贝叶斯网络能够反映出贝叶斯网络随着时间变化的动态特性,从而进一步可发现各变量之间的因果关系;同时,当动态贝叶斯网络搭建完成以后,除了能够给出变量之间的关系,还能够在线输入真实案例对网络模型的条件概率表(conditional probability table,CPT)进行推理和更新。因此,在故障健康评估过程中,分析人员通过动态贝叶斯网络能够直观地、实时地找出系统各环节之间的因果关系,从而有效地制定设备的健康评估方案。
参照贝叶斯网络,动态贝叶斯网络同样采用概率积分来表述其不确定性,并且对于概率积分,最基本的规则就是采用关联实践的概率,即:
P(A,B)=P(A/B)×P(B)
(1)
式中:P(A,B)—事件A和B发生的实际概率;P(B)—事件B的绝对概率;P(A/B)—给定事件B发生的情况下事件A发生的条件概率。
P(A/B)可以由式(1)变换为下式:
(2)
而当涉及多源融合信息时,贝叶斯网络的公式如下式所示:
(3)
动态贝叶斯网络同贝叶斯网络相同,节点类型通常为有限的离散值,而不同时段的故障时长是一个真实采集的实数。考虑到贝叶斯网络的实时计算性能,各节点可取的离散值个数不宜过大的原因,笔者将不同时段的故障时长划分为高、低、无3档。当故障时长超过了不同时段发生该故障的时间的平均值,则用“high”表示。同理,故障时长低于在不同时段发生该故障的时间的平均值,则用“low”表示,而在该时段没有发生故障则用“none”表示。不同故障中“high”、“low”、“none”的先验概率则取值为训练样本中各档的比值。
笔者将表4中提出的特征表进行调整,得到和贝叶斯网络相匹配的样本格式,如表6所示。
表6 样本数据
表6中,“IDnum”为样本的标号,“yield”表示产量等级,共分为A、B、C、D、E、F 6个等级。命名规则如下:首个字符表示设备名称,“S”表示状态,“H”表示健康程度。如“equipment_5_121”表示设备5发生故障121的时长,共分为“high”、“low”、“none” 3个等级。“equipment_5_H”表示设备5的健康情况,分为“healthy”和“unhealthy”两个等级。
同样地,“equipment_5_S”表示设备5的监控数据状态,分为“normal”和“unnormal”两个等级,其余以此类推。
经笔者初步构建的动态贝叶斯网络图,如图3所示。
图3 动态贝叶斯网络结构图
笔者将已经处理好的数据集输入动态贝叶斯网络中,当贝叶斯网络对样本数据进行学习后,可以发现,原先设定的先验概率由于对样本的学习而发生了改变,如图4所示。
图4 学习后的动态贝叶斯网络图
由于学习的样本数据中,所有的监控节点均为“normal”,可以看到:学习后的检测数据节点也从图3中的95%的可能性为“normal”上升到图4中的97.5%;而故障数据也随着输入样本中相应故障数据为“none”,对“none”置信度有了一定程度的提升。
同时,由以上分析可得知:本文每小时产量数据分布集中在B等级,产量节点随着输入数据为B等级,对B的预估也由初始的38.4%上升到了64.1%。
综合以上分析可以看出:动态贝叶斯网络有着出众的学习能力,当输入的样本足够多,先验概率会越来越趋近于真实分布。
通过实时上传的数据,动态贝叶斯健康评估网络可以实时在线学习。动态贝叶斯网络根据上一时间点的推理结果与当前时间点的证据信息更新节点概率,从而实现实时的健康评估。
笔者对训练好的动态贝叶斯网络进行验证,对未来5个时刻的产量进行了预测,得到的预测结果如表7所示。
表7 动态贝叶斯网络实验结果
从表7的实验结果可以看出:在5个时刻中,动态贝叶斯网络评估最大概率对应的等级都与真实的健康等级相同,该结果验证了动态贝叶斯网络在实时健康评估上的有效性。
随着工业设备智能化的快速发展,制造企业对设备的可靠性分析不再停留在设备的故障与否,而是更多地考虑到设备未来长期的健康状况。
本文提出了一种基于动态贝叶斯网络的设备健康评估方法,首先利用生产线上实时采集的数据对工厂数据进行了特征提取,再利用随机森林算法提取出了主要故障类型,构建了动态贝叶斯网络,最后进行了设备健康评估。
该方法具有以下特点:
(1)反映出了采集数据与产量之间的隐层关系;
(2)提取出了主要故障类型并对生产线设备进行了健康评估,解决了传统工厂主要设备故障类型提取无特点以及设备间的交互不明显问题;
(3)对设备的健康评估取得了较为理想的效果,验证了动态贝叶斯网络在实际工程应用中的有效性和结果的可解释性。
在后续的研究工作中,需要继续优化动态贝叶斯网络,使得该模型能更广泛地应用于实际工程之中。