预测性运维中的机器学习应从何说起?

原文:Machine learning for predictive maintenance: where to start? 

https://medium.com/bigdatarepublic/machine-learning-for-predictive-maintenance-where-to-start-5f3b7586acfb

在复杂的工业设备系统中,我们很难通过某几个单独的数据指标来判断设备是否即将出现故障,因此如何找到一个正确的时机进行维护是非常重要的。预测性运维使得设备零件既不会被过早地更换造成浪费,又可以避免由于设备突发性故障造成的系统停机损失。通过采集设备各项数据进行训练学习并建立机器学习模型,利用训练后的模型来预测目标设备出现故障的概率,从而进行预测性的维护,减少设备突发性故障造成的损失。

想要根据训练的模型预测结果来进行维护,预测性运维模型的准确率是最重要的,建立模型主要跟三个方面有关:1、有大量的训练数据;2、设计正确的目标问题;3、正确地评估预测性能。本文中将详述前两个方面,并描述如何针对用户想要解决的问题来选择建模的方法。

 

数据收集:

想要建立设备故障模型,我们需要足够的历史数据来让预测模型来捕获数据中可能导致故障的信息。除此之外,一些通用的系统信息也有一定的价值,比如设备性能、使用情况、工作条件等。然而数据并不是越多越好,当我们收集数据的时候,搞清楚这些问题是很重要的:

  1. 可能发生的故障类型有哪些?我们需要预测哪些故障?
  2. 一个故障发生的过程是什么样的?是一个缓慢老化的过程,还是一个急剧老化的过程?
  3. 设备的哪些部件可能跟哪些故障有关?这些部件可以通过测量哪些指标来反映它们的状态?多久采集一次这些指标?采集的精度有什么要求?

 

工业设备的生命周期一般都以年为单位,这意味着我们收集数据时需要有一个较大的时间跨度以供我们去观察设备系统老化的过程。理想的情况下,数据科学家和领域专家都参与到数据收集的过程中,这样可以保证收集到的数据都是对机器学习建模有作用的数据。然而现实中一般在数据科学家参与之前,数据已经被收集好了,因此数据科学家需要思考如何更好地利用现有的数据和根据设备系统的特性正确地设计我们想要解决的问题,这是至关重要的。

构建问题:

在构建预测性维护的模型之前,需要思考以下这些问题:

  1. 模型的输出应该是什么?
  2. 现在是否有足够的历史数据,还是说只有一些静态的数据?
  3. 是否每个记录的事件都已经打好了故障或正常的标签?
  4. 如果有已标记好的事件集合,每种故障事件和正常运行事件所占比重分别是多少?
  5. 预测模型应该提前多长时间对可能的故障事件做出预警?
  6. 优化预测模型的方向是什么?高精度(accuracy)/高精准度(precision)/高召回率(recall)。如果预测的故障没有发生或没有预测到发生的故障,会造成什么后果?

 

思考这些方面的问题后,我们才能开始选择最适合目标问题和现有数据集的建模策略,或是选择最合适的已有原型作为基础。针对预测性运维常见的目标问题,我们这里介绍四种建模策略和具体的问题。

  1. 回归模型预测设备剩余寿命
  2. 分类模型预测设备是否发生故障(给定时间窗口)
  3. 设备的反常状态
  4. 生存模型预测随时间变化的故障率

 

策略1:回归模型预测设备剩余寿命

输出:设备系统还有多长时间会发生故障?

数据特性:有静态数据和历史数据,每个事件都已经打上了标签,数据集中有各种不同种类故障的相应数据。

基本前提:

  1. 基于设备系统的固有特性和当前运行状态,设备的剩余寿命可以被预测。这代表着静态数据和历史数据都是需要的,并且要求设备老化是个平滑的过程。
  2. 只针对某一类型故障进行建模,若设备可能出现多种故障并且不同故障发生前的设备状况不同,就需要针对每一种故障建立相应的预测模型。
  3. 已标记事件数据可用,且测量的数据来自设备生命周期的不同时刻。

 

策略2分类模型预测设备是否发生故障(给定时间窗口)

想要建立一个能够准确预测设备在X天是否会发生故障的模型是很困难的,但是在实际情况中,我们一般不需要预测一个非常准确的时间点,运维团队只需要知道设备将在“最近”很有可能发生故障就足够了。

输出: 设备会不会在X天后发生故障?

数据特性: 有静态数据和历史数据,每个事件都已经打上了标签,数据集中有各种不同种类故障的相应数据。

基本前提:大体上与策略1中的前提相同

  1. 由于我们是在一个给定的时间窗口之中预测设备发生故障事件,而不是一个具体的时间点,因此对设备老化过程平滑的要求降低了。
  2. 分类模型可以处理多种类型的故障
  3. 每种故障的训练集需要有足够的数据以供训练模型

 

总的来说,回归模型和分类模型都是针对设备运行的特征和设备老化过程的关系来进行建模,因此这两种模型都只能对训练集中出现的故障进行预测。

 

策略3 设备的反常状态

上述两种策略都需要大量的设备正常数据和故障数据,正常运行的数据我们有很多,但是故障数据往往很稀缺甚至完全没有。对于重要的精密设备,我们不可能为了收集数据去人为破坏大量设备,这样的成本过于高昂,因此需要使用不一样的策略。

输出: 设备在正常运行吗?

数据特性: 有可用的静态数据和历史数据,但是数据集大部分都没有打标签或没有故障的数据集。

基本前提: 可以定义设备正常运行的状态并找到当前和正常状态的区别与设备老化过程的关系。

 

设备反常状态监测模型的通用性是其最大的优点,同时也是最大的缺点:该类模型在没有前置知识的情况下,可以预测机器发生任何种类的故障,但无法区分不同种类的故障。然而设备状态的反常并不一定会导致设备故障,即使确实会导致故障,也无法提供故障发生的任何时间信息。

由于缺乏已标记的数据集,导致评估反常监测模型性能也比较困难。如果能有少量的已标记数据集,就应该用这部分数据集来测试模型性能,如果没有已标记的数据,可以由行业专家来对预测模型的结果进行反馈,以此评估模型性能。

 

策略4 生存模型预测随时间变化的故障率

前三种策略侧重于预测故障并给运维工程师足够的信息来安排维护工作,而最后一种策略注重于设备老化的过程本身并预测故障发生的概率。

输出:给定一组设备运行的特征数据,设备发生故障的风险随着时间推移会有什么样的变化?

数据特性: 可用的静态数据,每台设备发生故障时的数据,以及设备发生无法观察的故障时的日期

 

生存模型可以通过某种设备的静态特征数据来估测该设备的故障概率,也可以用来分析某些特征数据对设备寿命的影响,它也可以对一组具有相似特征数据的不同设备进行故障率的估测。因此在生存模型中,对特定设备可以不需要考虑设备当前的运行数据就对设备的状态进行估测。

 

总结: 

对于预测性运维来说,最合适的建模方法是哪种?就像其他数据科学问题一样,没有哪种方法是完美的。我们的建议是开发者需要充分理解需求和要解决的问题,思考预测的故障类型是什么、预测的结果是什么、可用的数据集是什么,将以上问题的答案和上述策略结合起来之后,再开始着手在预测性运维中运用机器学习。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值