预测性维护(2)

预测性维护 - 应用开发流程

预测性维护应用从开发流程而言,和标准的机器学习类应用有其相似性。通常而言包括如下的五步法:

  • 数据获取
  • 数据处理
  • 特征提取
  • 模型训练
  • 应用部署
    预测性维护(2)

数据获取

预测性维护(2)
数据收集是指根据系统自身的需求和用户的需要收集相关的数据。
数据收集过程中应该尽可能自动化获取新数据。
在此过程中,需要考虑的问题如下:

  • 列出要什么数据以及需要多少数据。
  • 查找并记录获取该数据的地方。
  • 检查一下该数据大概占用多少空间。
  • 检查法律条文,获得授权(如果需要的话)。
  • 创建工作区(具有足够的存储空间)并获得访问权限。
  • 获取数据并将数据转换成容易操作的格式(不更改数据本身)。
  • 数据脱敏 - 确保删除或保护敏感信息(例如:个人信息)。
  • 检查数据的大小和类型(时间序列、样本、地理位置等)。
    ** 下图是MATLAB公司的一个实例**
    预测性维护(2)

数据处理

预测性维护(2)
数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的数据。
根据不同的处理方式,数据处理主要有四种分类方式:

  • 根据处理设备的结构方式区分,有联机处理方式和脱机处理方式。
  • 根据数据处理时间的分配方式区分,有批处理方式、分时处理方式和实时处理方式。
  • 根据数据处理空间的分布方式区分,有集中式处理方式和分布处理方式。
  • 根据计算机*处理器的工作方式区分,有单道作业处理方式、多道作业处理方式和交互式处理方式。
    参考文献
    在此过程中,有如下的内容需要考虑:
  1. 研究每个属性及特征,包括(变量数据名称、数据类型(分类,整型/浮点型,有界/*,文本,结构化等)、数据缺失/遗漏值的百分比、噪音和噪音类型(随机的,异常值,舍入误差等)、数据对目标是否有用、数据分布类型(高斯分布,均匀分布,对数分布等)
  2. 确定目标属性
  3. 进行可视化数据
  4. 研究属性的相关性
  5. 明确您可能想要应用的有用的转换
  6. 明确有用的额外数据- 需要额外获取的数据。
    下图是MATLAB公司的一个实例
    预测性维护(2)

特征提取

预测性维护(2)
特征提取是对某一模式的组测量值进行变换,以突出该模式具有代表性特征的一种方法。
1.数据清洗 - 处理或删除异常值(可选)、填充缺失值(例如:零,均值,中位数…)、删除缺失值所在的行(或列)。
2.特征选取- 删除对任务无有用信息的属性
3. 特征工程-离散化连续特征、分解特征(例如:分类,日期/时间等)、添加有用的特征转换、聚合生成有新特征
4. 特征缩放- 标准化或正则化特征。
下图是MATLAB公司的一个实例
预测性维护(2)

模型训练

预测性维护(2)
模型训练就是找好的模型的过程,就是找到合适模型和模型合适的参数。

  1. 使用标准参数训练多个不同类别的模型- 线性、朴素贝叶斯、SVM、随机森林、神经网络等。
  2. 评估并比较它们的性能
  3. 分析每个算法的最重要变量。
  4. 快速更新新的的特征选取和特征工程。
  5. 对前五步进行1到2次的快速迭代。
  6. 选出几个表现最好的模型。
  7. 进行模型参数的优化。
  8. 确定最终模型 - 在测试集上测量性能以估计泛化误差。
    下图是MATLAB公司的一个实例
    预测性维护(2)

模型部署

预测性维护(2)
模型部署一般需要经过如下几步:

  1. 准备好生产环境 - 包括生产数据输入、测试单元等。
  2. 编写监控代码- 定期检查模型的实时性能并且能在掉线时触发警告
  3. 监控输入质量 - 例如:传感器故障导致的输入数据为随机值这时候应该有想要的报警功能。
  4. 定期更新模型/重新训练模型。

[1] https://www.jianshu.com/p/5b0febacfe85
[2] https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E6%94%B6%E9%9B%86/2245693?fr=aladdin
[3] https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/944504?fr=aladdin