一文看懂预测性维护

2020-02-18 15:25:04 浏览数 (1)

当前,新一轮科技革命和产业变革孕育兴起,大数据的集聚、理论算法的革新、计算能力的提升及网络设施的演进,驱动人工智能发展进入新阶段,人工智能正加快在工业领域的渗透融合,带动工业企业进步,推动产业升级,而预测性维护是工业大数据和人工智能的一个重要应用场景。它针对设备、设施的故障和失效,由事后维护到定期检修(人工巡检)再到主动预防最终到事先预测和综合规划管理的演进中,不断提升、发展着。那么究竟什么是预测性维护,它与事后维护、预防性维护有什么区别?让我们一文看懂预测性维护。

文/黄成甲

什么是预测性维护

一般来说,工业设备的维护维修分为:事后维护、预防性维护以及预测性维护。从字面意思不难理解,事后维护是修复性维护,预测性维护和预防性维护都属于事先维护。而后两者不同之处在于预测性维护是通过安装在工业设备上的传感器,实时监控设备的运行状态,预判故障可能发生的时间,如果存在故障隐患,将会自动触发报警或者维护命令。因而区别在于:预测性维护依靠的是传感器,预防性维护更多还是凭经验。

设备维护的三个阶段

事后维护

这是最古老的维护定义,指当故障发生后,由技术人员紧急赶往现场进行维修恢复。这种维护只发生在突然的甚至是灾难性的故障之后。这种模式实质上没有采取任何提前保养的措施,因此也被称为急修。它存在诸多缺陷:

1)故障的发生非常具有偶然性,而且往往是发生在使用高峰,这类故障易于导致严重后果和不方便进行维修的时间。

2)在一个原本正常运转的系统中,一个部件的突发故障很容易导致系统的其他部分遭到伤害甚至损毁,从而增加了诊断难度和费用成本。

3)故障急修通常要比常规保养更长的时间。还要包括备件的等待时间。并且急修往往需要经验丰富的高级技术人员到场诊断,诊断时间的长短又很难被预估,从而大大影响技术人员的工作安排。

因此,故障保养的费用主要集中在高昂的备件存储费用,维修技术人员的加班费用以及长时间停机等待所带来的生产力的损失费用。所以,尽管这种方式看似对系统和设备进行了最少的干预,但其实故障保养在大多数工业领域中是最为昂贵的保养模式。

预防性维护

预防性维护是指通过了解系统或某一部件的平均使用寿命,从而预期该部件即将出现故障。根据这一信息对系统做提前干预,进行检査和提前更换。这种保养方式是在20世纪60年代到70年代被提出的,其核心理念是基于时间来制定保养工作计划。

预防性保养的应用极为普遍,尤其在工业领域内被广泛应用。其基本原理可以通过浴盆曲线来说明:

设备故障浴盆曲线

浴盆曲线是具有代表性的设备故障率曲线,而预防性保养就是根据技术参数或历史经验,判断拐点P的出现时间,从而对该部件进行提前更换或调整以避免损耗故障期带来的损失。

采用这种方式,保养的工作变得可以提前规划,人员的工作也可以提前安排。预防性保养丰富了保养工作的功能,增大了覆盖范围。以预防性保养为核心概念的保养业务主要包含以下三方面工作:

1)针对系统和子系统的常规保养,对于机械部件进行必要的保养维护,比如润滑、清洁、调整和更换。

2)当发生故障时的紧急修理,与上面提到的故障保养类似。但由于常规保养的存在,故障率将会大大降低。

3)基于平均使用寿命的经验值,对易损件进行修理或提前更换,从而使系统的可靠性和安全性水平保持在一个相对稳定区间。

由于上面的第3点是基于经验值。可以非常容易地根据周期计算来提前安排修理/更换事宜。但也正是由于这种提前更换完全基于理论计算而无视部件或系统的实际运行状态,使得预防性保养在实际应用中存在着保养过剩和保养不足这两大突出矛盾。

预测性维护

随着时代的发展,对于维护工作的期望也变得越来越高,希望保养能够在对设备和系统无损的前提下,通过一系列的测试和分析来实现维护。这种维护工作是基于设备和系统本身的运行状态来安排实施的。被称为CBM(Condition Based Maintenance)基于状态的维护。基于设备和系统的实际状态来寻找上图中的拐点,从而采取维护行动。这种理念的实现方式被称为预测性维护。

这种维护方式具有一些显而易见的好处就是,因为保养工作的介入是完全基于设备和系统本身当时状态,所以既避免了多余干涉导致的不必要的停工时间,也防止了由于未及时采取措施而导致的连锁性故障带来的损失。亳无疑问,预测性维护在降低成本的同时提高了系统的可靠性。

因此需要监控设备和系统当前状态,当某一节点出现可能导致故障的征兆时,按时地通知保养单位或个人来提前采取整改行动。所以,预测性维护从某种角度来说,是一种“反应式”的保养。预测性维护有一个非常重要的前提条件就是,该设备或系统中没有或者极少有部件会发生毫无征兆的突然故障。也就足说,应用预测性维护的设备或系统,其产生的故障应当是由于一些渐进式的衰退和磨损超过某一临界值而导致的。

既然预测性维护是基于设备和系统状态来决定的,那么参数就成为了关键性因素。首先必须要有获取各项参数的途径,并且这些获取途径耍满足“无损”的原则。也应当是不需要通过大量拆卸和重新组装这两个条件。有了这些动态的指标,就可以观察监测设备或系统中各个部件的衰退和损耗情况。其次,需要定义一些特征指标,也就是阈值或参考值。当监测到的参数到达该阈值或参考值时就意味着该部件需要被维修或者更换,也就是维护行动的介入以避免其出现故障。

必须重点说明的是,预测性维护采用的是针对所监测参数的运行趋势,而不是基于可能性的判断方法来防止可能发生的潜在故障。可以说预测性维护其实是一个对设备和系统持续诊断的过程,通过参数变化来了解设备和系统的健康程度,再依据诊断流程在该健康程度低于某临界点时进行干预。

预测性维护的实施步骤

前提条件

要有一定的数据积累

这里所说的数据积累包括两个方面:数据的种类和数量质量

数据种类要丰富!

在种类方面,至少要有两类数据才能够进行预测模型的建立和训练,即设备的状态数据和故障数据。状态数据是利用传感器实时采集到的振动、温度、压力、电流电压等物理状态数据,故障数据则是设备全生命周期内的所有点检、维护、维修过程中记录的设备异常记录或者设备失效信息。在建立和训练模型的过程中,设备状态数据是模型的输入,故障数据是模型的输出。

数量质量:尽可能多地获取有效数据!

(1)数据数量:足够的样本数量。模型是需要用样本来训练的,这里的样本指的就是设备所发生的故障信息。一台从没发生故障,或者很少发生故障的设备,是不适合做预测性维护的。对于机器学习,模型是需要训练的,只有足够数量的故障样本才能支持可靠的多分类器的训练,才能够建立模型。

(2)数据质量:对于工业现场来说,数据质量的要求可以概况为两个词——准确,连续。首先,准确指的是,不能有过多的干扰噪声,以及不准确的记录(比如手工录入到系统中的停机停台数据)。其次,连续指的是,对于故障发生前的一定时间窗口内的影响数据(如电流,电压等),最理想的状况是其能够以连续量的形式呈现,即完整地展示设备运行的全过程。而不是仅仅能够获取个别超过阈值的报警信息。

不同的预测结果及建模方法

要进行预测性维护,需要利用传感器来监控和收集设备运行数据。用于预测性维护的数据是时间序列数据。数据包括时间戳,与时间戳同时收集的一组传感器读数以及设备标识符。预测性维护的目标是在“t”时刻,通过到“t”时刻为止的数据,预测设备是否在不久的将来会出现故障。

预测的结果可以分为以下两种:

离散型的预测结果,即结果为一系列有限的值之一,比如“是”或“否”。例如,在未来的一定时期内,设备是否会发生故障。这里将采用分类模型进行建模。

连续型的预测结果,即结果为一个数值。例如,设备会在未来的什么时间点发生故障,或者说,设备剩余有效使用寿命是多少。这里将采用回归模型进行建模。

相比于回归模型,分类模型虽然给出的预测结果相对简单,只有“是”或“否”,但是所需的数据量也要少一些。

模型的评价指标

1.对于回归模型,可以采用均方根误差Root Mean Squared Error作为评价指标,均方根误差亦称标准误差,它是观测值与真值偏差的平方与观测次数比值的平方根。均方根误差是用来衡量观测值同真值之间的偏差。标准误差对一组测量中的特大或特小误差反映非常敏感,所以,标准误差能够很好地反映出测量的精密度。可用标准误差作为评定测量过程精度的标准。计算公式如下:

均方根误差

2.对于分类模型,则采用准确率(accuracy),召回率(recall)等作为评价指标,大家可参照准确率、精准率和召回率的理解。对于预测模型而言,准确率描述的是如果这个模型总共做了N次的预测,那么共预测对了多少次,召回率描述的是在实际发生的N次故障中,该模型共预测对了多少次。

预测性维护建模的过程

预测性维护的建模过程与一般的预测分析是一样的。

假设我们已经搜集到了一定量的历史数据,包括故障数据以及设备运行状态的数据。下面以回归模型为例,对预测模型的建模步骤进行简要介绍。

在实际应用的过程中,下图中虚线框中的几个环节会迭代进行,直到获得符合期望目标的预测模型。

建模过程

1.模型选取

预测模型从大类上可以分为数值型预测模型与非数值型预测模型,前者的状态输入主要是数值型的状态特征值,易于计算机自动监测与预测,与数值化的评估标准结合后可以实现自动预警;后者的状态输入主要以图谱的形式为主,需要结合人工分析给出结果,对主观经验有一定的依赖性,适用于离线的综合分析。

在数值型预测模型中,又分为线性预测模型和非线性预测模型。线性预测模型中包括最小二乘回归模型、时间序列建模回归模型等。非线性预测模型包括神经网络回归模型、支持向量机回归模型等。这些模型一般分为学习阶段和预测阶段。在模型学习阶段,根据已知时刻对应的状态信息对回归模型的参数进行优化学习;在模型预测阶段,结合给定的某个时刻(或某个状态信息),根据回归模型给出其相应的状态信息(或时刻值)。

在非数值型预测模型中主要是利用对特征图谱进行分类或聚类,再结合先验知识和人工分析结果,根据当前特征图谱与已知特征图谱的相似程度来判断设备或部件的工作状态并估计设备或部件的剩余寿命。这些特征图谱可以是振动信号的时域图,也可以是振动频谱,或是小波时-频谱图等。基于振动频谱的不同特征或不同模式进行设备或部件寿命预测与评估。

2.数据预处理

在故障诊断系统中,通过传感器进行数据采集的目的是为了获得设备或部件的故障状态信号。为确保采集到的数据能够尽可能真实、全面地反映设备或部件的实际工作状态,需要了解数据采集的过程和工作原理,并正确地设定采样参数。另一方面,在数据采集过程中,有用的信号总是和各种噪声混杂在一起,有时有效信号本身也并不明显、不突出,难于直接识别和利用。因此,在使用采集的信号进行分析之前,需要对信号进行预处理。预处理的目的包括分离信号和噪声,提高信噪比;从信号中提取有用的特征信号;修正测试系统的某些误差,如传感器的线性误差、温度影响等。

信号的滤波

为了消除检测信号中的噪声污染及其对各种后续分析带来的负面影响,常采用特定的滤波器对检测信号进行滤波。信号的滤波可以在模拟域中实现,也可以在数字域中实现。滤波的实质就是对信号进行频率选择,完成滤波功能的装置称为滤波器。当信号通过滤波器时,信号中某些频率成分得以通过,其他频率成分的信号受到衰减或抑制。信号通过滤波器的过程,就称为对信号进行滤波。根据滤波器的选频作用,一般将滤波器分为四类,即低通滤波器、高通滤波器、带通滤波器和带阻滤波器。下图所示为这四种滤波器的幅频特性:a)低通滤波器、b)高通滤波器、 c)带通滤波器、d)带阻滤波器

滤波器的幅频特性

异常值处理

在由传感器、信号调理至A/D转换的过程中,任何一个中间环节的瞬时失常或外界随机干扰都可能导致数字信号中含有异常值。数字信号的各种分析处理方法对异常值的鲁棒性也各不相同,有的情况下,即使仅有一个异常值存在也会在很大程度上影响处理结果。这就需要采用异常值处理方法。

3σ规则是常用的异常值处理方法。该规则基于对测试数据的平稳正态假设和小概率事件即为异常的推理模式,即数据点落在测试数据的3σ分布之外,就判定为异常值。3σ规则的主要特点是计算非常简便,在实际诊断工作中应用较广泛。尽管平稳正态性过程具有广泛的代表性,但并非适用于所有的测试数据, 因此3σ规则在处理实际问题时也具有一定的局限性。当然,异常值处理的其他方法还有很多,例如分类、聚类等模式识别方法。但在实际工况监视与故障诊断系统中,考虑到分析、诊断的实时性要求,需要在处理方法的简便性和有效性两方面进行权衡。

零均值化处理

零均值化处理也叫中心化,即把被分析的数据值转化为零均值的数据,通过中心化处理,最终得到均值为0,标准差为1的服从标准正态分布的数据。设对连续信号uₜ采样后得离散数据序列{uₙ} (n=1,2,···,N)。其均值为

连续信号均值

零均值处理就是定义一个新的时间历程x(t)=uₜ-uᵤ,对其釆样后得离散数据序列{xₙ} = {uₙ-uᵤ} (n=1,2,···,N),新的数据序列的均值。这样可以简化频谱分析、倒谱分析等后续分析过程的计算量。

3.特征工程

特征工程就是挖掘对数据的特征表示,寻找表征数据内在特点的性质,将其用用特征向量的形式表示,这一步骤被称为特征提取。需要注意的是特征和属性通常有明显的区分。属性一般是表格数据的列,特征则一般只指代对机器学习算法有益的属性。也就是说,某些属性对机器学习系统不一定有益,甚至有害。例如,当预测二手车下次维修的时间时,车的颜色应该不会对预测有什么帮助。

特征可以用特征向量来表示。例如一条数据的特征向量是x=<x1,x2,..., xn>,即数据有n个特征,特征xi的取值是连续的实数或者描述型的整数。如果我们把模型简单理解为一个函数表达方式y=f(x1、x2、x3.....)的话,那么,特征就是其中的自变量x1,x2......。

因此,特征工程也可以理解为对模型输入变量进行处理的过程。这个处理的过程分为两种:

一种是增加特征,也就是在原有的原始变量的基础上,再应用各种方式生成新的自变量,比如x1和x2的平均值。但是,需要注意的是,生成的新的变量一定是在预测性维护的场景中有实际意义的。这就需要相关业务知识做基础了。

另一种是减少特征。例如,应用设备方面的知识,在众多的输入变量中选择出与预测结果有密切关系的自变量。

4.超参数优化

超参数的优化就是对我们所选取的模型的一些参数进行优化,使模型的预测性能指标更精确。

如果说特征工程是对自变量x所做的工作,那么超参数优化就是对函数f做的工作——调整f的各种参数。

5.模型评估

在根据历史数据建立好模型以后,我们需要对该模型进行评估,也就是用另外一些在建模过程中没有使用过的数据进行模型测试,看看预测的效果到底怎么样。这部分测试模型的数据是一般在建立和训练模型之前,从历史数据中划分出的一部分数据,通常叫做测试集数据。对于回归模型、分类模型有不同的模型评价指标,参见上文模型评价指标。

6.模型部署

模型建立好之后需要部署到实际的生产系统中运行,不断地接收从设备层采集到的数据,进行预测分析。

模型的部署涉及到了工业现场的数据采集、企业服务总线等技术。

预测性维护实现方法

说完预测性维护的实施步骤,我们再来理解预测性维护的实现方法,预测性维护借助于传感器技术、通信技术、专家系统,集中采集导致设备停机的状态参数,实现在事故发生之前较长时间里的故障“预测”,并提供较为精准的故障定位与处理方法。

基于状态的预测性维护

上图是典型的基于振动的分析,通过加速度传感器对信号进行采样,通过系列的积分、滤波,对信号的包络曲线提取、特征频率获取,通过快速傅里叶变换、整流、解调等方式对信号进行前期处理,然后,将提取的数据输入至状态监测系统(Condition Monitoring System)进行分析,包括工频、二倍频、共振等方面的分析。而对数据的处理则有两种不同的方法,用于对故障进行预测,以获得设备的剩余使用时间、故障点、故障类型等处理信息。

基于机理模型(Model-Based)的方法

这一种是基于机理模型,即,机械系统的失效分析,它根据已有的设备的机械特征参数,并将实时参数进行对比,对故障进行预测,这种系统往往会依赖于长期的数据积累,形成“专家系统”,类似于“查表”的方式,对故障进行预测、定位与分析。

数据驱动的预测性维护(Data-Driven Predictive Maintenance)

是在现有的人工智能技术基础发展起来的,同样也是基于物理建模,但是,不同在于它没有提供失效分析的方法而是通过大数据方法对特征值进行学习,可以通过“强化学习”、“监督学习”方法来预测未来的故障,通过大量数据的学习,自主掌握设备的潜在故障。

常用机器学习过程

机理模型驱动与数据驱动的方法选择

机理模型驱动与数据驱动的方法各自有优缺点,机理模型驱动方法对于模型需求较强,必须对整个机械系统(主要是旋转)的材料、传动过程等非常清楚,并且能够有很好的领域知识支撑来实现,这对于专业的依赖非常深,往往需要非常专业的领域专家,例如国际认证振动分析师这样的专业人士才能进行,而数据驱动型的则不依赖于专家的知识,通过大量数据分析,对故障进行预测,但是,这种方法需要数据量较大,同时,由于机器学习往往具有“不可解释性”,因此,用户采用与接受也需要一个长期验证的过程。

但数据驱动不需要对象系统的先验知识(机理的数学模型和专家经验),以测试和状态监测数据为对象,估计对象系统未来的状态演化趋势,从而避免了基于模型和基于知识的故障预测技术的缺点。但是,实际应用中一些关键设备的典型数据(历史工作数据、故障注入数据以及仿真实验数据)的获取代价通常十分高昂,而且即使能够获取对象系统的状态数据,往往其具有很强的不确定性和不完整性,这些问题都增加了故障预测的难度。

采用模型驱动还是数据驱动也需要结合实际情况,对于机理模型强而数据少的,则采用模型分析方法,而对于机理模型不清晰,数据量较大的情况,则宜于采用数据驱动的方法。

当然,比较好的当然是两者的融合,模型提供了快速构建预测性维护的基础,但模型的保真度,以及运行环境中的不确定性会让模型进行的预测准确度不够,而基于数据则可以弥补这方面的缺陷,提高预测的精度。区分了这两种方法,下面我们介绍机器学习技术在预测性维护上的应用。

机器学习技术用于预测性维护

要进行预测性维护,我们首先向系统添加传感器,以监控和收集有关其操作的数据。用于预测性维护的数据是时间序列数据。数据包括时间戳,与时间戳同时收集的一组传感器读数以及设备标识符。预测性维护的目标是在“t”时刻,通过到“t”时刻为止的数据,预测设备是否在不久的将来会出现故障。

预测性维护可以通过以下两种方式之一来实现:

分类方法-预测在后续n个步骤中是否有可能出现故障。

回归方法-预测在下一次故障之前还剩下多少时间。我们称之为剩余使用寿命(RUL)。

前一种方法仅提供一个布尔值答案,但可以使用较少的数据提供更高的准确性。后者需要更多的数据,尽管它可以提供有关何时发生故障的更多信息。我们将使用NASA发动机故障数据集来探讨这两种方法。

Turbofan发动机老化数据集

Turbofan发动机是NASA太空探测机构使用的现代燃气涡轮发动机。NASA创建了以下数据集,以预测Turbofan发动机随时间推移可能出现的故障。这些数据集可以在PCoE数据集中找到。

数据集中包括每台发动机的时间序列。所有的发动机都是相同类型的,但是每台发动机一开始会有不同程度的初始磨损和制造过程带来的变量,这些对用户来说是未知的。有三个可选设置项可以用来改变每台发动机的性能。每台发动机都有21个传感器在运行时收集与发动机状态相关的不同测量参数。收集的数据会被传感器噪声污染。

随着时间的推移,每台发动机都会发生故障,这可以通过传感器读数看出来。时间序列在故障前一段时间结束。记录的数据包括(发动机)编号、时间戳、三个设置项和21个传感器的读数。下图所示为数据的子集。

数据子集

数据子集的前几列

这个实验的目的是预测下一次故障何时发生。

使用回归模型预测剩余使用寿命(RUL)

预测RUL时,目标是减少实际RUL与预测的RUL之间的误差。我们将使用均方根误差,因为它会严厉地惩罚大误差,这将使算法预测的RUL尽可能接近实际RUL。

均方根误差

阶段1:以下流程图展示了预测的过程。作为深入了解的第一步,我们只运行了其中高亮显示的步骤。我们在原始数据上运行算法,没有执行任何特征工程。

阶段1:模型选择

下图显示了包含模型选择的预测性维护流程图。这里仅用到了流程图中深色标记的步骤。

包含模型选择的预测性维护流程图

我们使用了scikit learn和H2O中的一系列回归算法。对于深度学习,我们使用了H2O的深度学习算法,这个算法在分类和回归方法中都可以使用。它基于使用反向传播的随机梯度下降算法训练的多层前馈神经网络。

结果如下图所示。不同预测模型可以得到约25-35的均方根误差(RMSE),这意味着预测RUL与实际RUL将有大约25-35个时间步长的误差。

选择不同模型的均方根误差

下一步我们将重点关注H2O深度学习模型。

阶段2:使用自动编码器消除传感器噪声

下图显示了包含噪声消除的预测性维护流程图。这里仅用到了流程图中深色标记的步骤。

包含噪声消除的预测性维护流程图

传感器读数通常会有噪声。发行版随附的ReadMe文件证实了这一点。因此,我们使用自动编码器去除噪声。自动编码器是一种简单的神经网络,它使用同一套数据集同时作为网络的输入和输出进行训练,其中网络中的参数比数据集中的维数少。这与主成分分析(PCA)(http://setosa.io/ev/principal-component-analysis/)工作原理非常相似,其中数据以其主要维度表示。由于噪声的维度比常规数据高得多;这个过程减少了噪声。

我们使用具有三个隐藏层的H2O自动编码器和以下标准来消除噪声。

消除噪声将均方根误差减少了2个时间步长。

未消除噪声和消除噪声后的均方根误差

阶段3:特征工程

下图显示了包含特征工程的预测性维护流程图。这里仅用到了流程图中深色标记的步骤。

包含特征工程的预测性维护流程图

在这一步中,我们尝试了许多特征,并保留了最具预测性的特征子集。我们的数据集是一个时间序列数据集,因此读数是自相关的。所以“t”时刻的预测可能会受到“t”之前的某个时间窗口的影响。我们使用的大多数特征都是基于这些时间窗口的。

如前文所述,数据集包括21个传感器的读数。我们可以从数据集提供的ReadMe文件中找到有关读数的更多详细信息。经过测试,我们仅使用传感器2、3、4、6、7、8、9、11、12、13、14、15、17、20和21的数据。对于选择的每个传感器,我们通过应用移动标准差(窗口大小为5),移动k-closest平均值(窗口大小为5)以及具有窗口大小(窗口大小为10)的概率分布来生成特征。

我们尝试了但在最终解决方案中未使用的其他特征包括:移动平均值、自相关、直方图、移动熵和移动加权平均值。

通过特征选择将均方根误差减少了1个时间步长。

未包含特征工程和包含特征工程的均方根误差

阶段4:使用网格搜索优化超参数

下图显示了包含超参数优化的预测性维护流程图。这里仅用到了流程图中深色标记的步骤。

包含参数优化的预测性维护流程图

超参数控制了算法的行为。在最后阶段,我们优化了以下超参数:epochs、distribution、activation和hidden layer size。你可以从H2O文档中找到每个参数的详细说明。我们使用网格搜索(Grid Search)寻找最佳参数,下表总结了结果。

使用不同超参数的均方根误差

如结果所示,超参数调整将均方根误差减少了大约3个时间步长。在残差直方图中,可以看到残差收敛到了“0”。预测过早和预测过晚的频率被最小化了。

残差直方图

建立在后续N个步骤中预测故障的模型

这种方法不再提供剩余的生命周期数,而是要预测机器是否会在接下来的30个周期内故障。我们会将故障视为正(positive,P),而无故障视为常态(normal,N)。我们使用相同的特征工程和噪声消除过程来运行深度学习分类模型。结果如图下所示。

混淆矩阵

混淆矩阵

准确率描述了预测正确的测试用例所占的百分数。它给出了预测正确的测试用例数与所有测试用例数的比例。

准确率

如果类不平衡,只考虑准确率将会产生误导。当数据集中同一类别数据量太多以致不成比例时,就会发生类不平衡。发生类不平衡时,一些模型可能具有高准确率,但预测性能差。

为了避免这个问题,我们使用精确率和召回率。召回率指的是预测为正值的样本数和应该被预测为正值的样本数之间的比例。

召回率

精确率被定义为模型预测正值的能力。它指的是预测为正值且实际也是正值的样本数和所有被预测为正值的样本数之间的比例。

精确率

F1分数是衡量准确率的指标。计算F1分数时需要兼顾精确率和召回率。

F1分数

对于准确率、召回率、精确率和F1分数,它们的值越接近1越好。

使用WSO2 CEP运行模型

我们在批处理模式下构建模型,处理存储在磁盘中的数据。但是,要应用模型,我们需要在数据可用时将数据提供给运行中的模型。我们将数据的处理过程称作“流处理”。我们使用流处理引擎WSO2 CEP来应用该模型。

我们使用H2O构建了模型。H2O可以以两种格式之一导出模型:POJO(简单的Java对象)或MOJO(模型对象,经过优化)。前者需要编译,后者可以直接使用。我们使用了CEP的MOJO模型。

为了评估模型,我们使用了WSO2 CEP中的扩展。WSO2使用SQL查询语言处理数据流中的数据。

如图下所示,复杂事件处理系统接收数据作为事件流,并通过一组SQL查询进行评估。例如,通过给定的查询语句可以计算一分钟窗口内的stockQuotes流,并在给定条件下将其与一分钟窗口内的Tweets流合并,然后将事件发送到PredictedStockQuotes流。

WSO2 CEP流处理过程

使用CEP评估模型的查询示例如下所示。

代码片段

下图显示了包括训练步骤以及评估步骤的整体流程图。

整体流程图

通过查询将事件发送到“data input”流,并应用机器学习模型。应用机器学习模型包括以下步骤:

(1)将“阶段3:特征工程”一节中描述的预处理步骤应用于事件中的值并创建特征

(2)使用生成的特征评估机器学习模型

(3)返回结果

小结

预测性维护是工业大数据和人工智能的一个重要应用场景。它针对设备、设施的故障和失效,由事后维护到定期检修(人工巡检)再到主动预防最终到事先预测和综合规划管理的演进中,不断提升、发展。其经济意义是降低设备的故障率及停机时间、提高设备利用率,保证设备持续使用,避免意外停工,提高企业生产效率;同时减少维修费用及设备整个生命周期成本,消除在不必要的维护上所花费的时间和资源,对设备进行适时小修,减少大修、突发故障所带来的巨大维修费用。其安全意义是降低由设备的故障或突发故障所带来的难以估算的安全隐患。从市场角度看则是为客户提供了增值服务。

参考资料

1.预测性维护怎么玩之科普篇

2.预测性维护怎么玩之实践篇

3.【译】机器学习技术用于预测性维护

4.大话预测性维护

0 人点赞