数据预处理技术——保障模型效果的幕后英雄

对于工业智能建模,大家往往存在一些误解:建模过程逐渐自动化,难度越来越小,花不了太多功夫。然而,在实际建立数据驱动的工业智能模型时,我们得到的数据往往会存在缺失值、异常值等诸多问题,想要完全实现端到端的建模自动化并非易事。

一般来说,建模前都需要进行数据预处理,将其整理成适合建立机器学习模型的可靠数据。而数据预处理通常没有标准流程,针对不同的任务和数据集属性也不尽相同。本文将介绍6种常见的数据预处理方法,供大家学习使用。


数据预处理的核心目标

早在2015年,李杰教授就在《工业大数据》一书中提出 -- 工业大数据应用的“3B”挑战,即:

  • Broken - 数据分散在多个信息系统中,碎片化问题严重

在现实的工业环境中,工业数据其实是分散在各种各样的信息系统中的,包括常见的SCADA系统、振动状态监测的CMS系统,辅助运维工作的ERP系统等,造成了工业数据不如互联网场景中的数据规整。

  • Bad Quality - 工业现场环境恶劣,数据质量差

同样也是源于工业场景中的一个特例,由于环境恶劣,采集出来的数据包含大量环境噪声,出现诸多数据异常点,会对后期建模造成严重后果。

  • Background - 数据受到设备参数设定、工况、环境等背景信息的影响

即数据的语境或背景性,工业数据会受到设备参数,以及运行工况、状态、环境等诸多背景因素影响,甚至会受到传感器安装位置的影响,以上问题都需要在数据预处理阶段给予整体化的综合考虑。

所以在数据预处理阶段,最核心的目标就是将3B问题尽可能地降低,从而使我们后续建模过程更加顺畅,达到预期效果。具体表现为以下4点:

1、检测数据质量,其来源包括传感器、主控系统、振动信号等。保证该阶段的数据质量,确保异常数据在建模过程中的干扰降到最低。

2、识别数据的背景信息,如上文提到的运行工况。要把不同工况分割并标准化处理,以便后续特征提取等工作顺利进行。

3、整合碎片化数据,比如常见的数据对齐问题,在传感器、控制器及其他外接系统等不同信息系统中采集到的数据,都需要进行数据对齐与整合。

4、通过数据变换来强化后续建模工作所需的线索,如在风电场景中,通过计算叶间速比、风能利用指数等一系列更能表征风机运行状态的物理量,辅助后续建模工作。


6种常见的数据预处理方法

1、工况分割

工况分割的目的就是要把设备在不同运行状态下的数据分割出来,做有针对性的信号处理与特征提取。常用的工况分割变量有如下几个:速度参数、环境参数、负载信息等。

下图为典型的工况分割案例。左边中明显看出有爬升、稳态及下降三个过程。使用其他参数作为工况参数来分割数据后,得到右边所示的三个分割段,分别是两个暂态和一个稳态,采用不同的特征提取方法来处理。

数据预处理技术——保障模型效果的幕后英雄

2、数据清洗

数据清洗就是把数据中存在的异常点尽可能的剔除,降低对后续模型训练的干扰。有几种常见的算法,如基于数据分布的One class SVM,其他方法还有Robust covariance、Isolation forest、Local outlier factor等。

可以看到下面的4张图展现了4种方法对异常点识别的情况。比如,SVM识别出两个聚类,Robust covariance识别出了一个聚类,Isolation forest和Local outlier factor在这种情况下的表现比较类似。在选取异常点检测方法时,需要根据数据分布的直观理解来选择尝试。

数据预处理技术——保障模型效果的幕后英雄

(图片来源:Sklearn Developer API)

针对时间序列的处理方法,往往采用平滑的方法来降低噪声的影响,如下图,原始数据是蓝色信号,波动范围较大,在这种场景中,选择了滑动平均的方法计算这个时间段的平均值,作为最后的特征。

数据预处理技术——保障模型效果的幕后英雄

一个典型案例,剔除风机功率曲线中的异常点,左边为实际采集的信号,噪声非常大,已经用红色标记出了异常点。右边就是通过DBSCAN的方法,把红色噪点识别并剔除,得到了理想的功率曲线,用作后续风机性能评估。

数据预处理技术——保障模型效果的幕后英雄

3、数据质量检测

数据质量的检测有很多方法,根据不同的建模目的,方法的选择也有所不同,通常关注数据特性本身、建模有效性、以及领域相关的质量标准。这里以振动信号为例。如下图,左边是一段正常的振动信号,右边是一段不正常的振动信号,可能由于电磁干扰或传感器松动等情况导致异常点的出现,振动信号平均值比0还要偏低一些。通过类似的对振动信号特性的指标,即可判断所采集数据的质量好坏。

数据预处理技术——保障模型效果的幕后英雄

4、数据归一化

数据归一化是将数据转换到同样的分布或者取值区间,来提升数据建模精度,加速参数优化求解的过程。尤其是针对SVM支持向量机或神经网络的建模方法,数据归一化处理极为重要,其价值在于能够保留数据中的模态,弱化变量大小范围不一对建模的影响。

5、数据样本平衡

数据样本平衡的方法所针对的是采集的数据标签不均等的问题。故障样本少,是工业领域常见的问题。比如,机器运行100小时的数据之中可能只有2-3分钟的数据是有异常的。通常采用过采样、重采样或者欠采样等不同的采样方法来改善数据不同类别之间的平衡性,虽然依然没有真实采集的数据样本有效,但可以缓解数据不平衡造成的模型泛化能力差的问题。 如下图,红点为故障数据,通过过采样将数据增强,再去做最后的建模。

数据预处理技术——保障模型效果的幕后英雄

6、数据分割

数据分割指的是将数据集分割为多份,用作不同的目的,一般分为训练集、验证集、测试集。训练集就是要训练模型参数;验证集则是对模型参数进行调优,初步评估模型是否准确的一类数据样本;测试集是一类未在训练和验证过程中出现的全新数据,用来得到最终模型指标。 这个看似简单的步骤,在实际运用中,由于故障样本量的有限,如何能够更好地分配训练、验证、与测试集,有时也十分讲究。比如,对于分类模型,会采用分层抽样的方法来确保训练集、验证集之间的样本比例基本保持一致,以及和整个样本集的比例基本保持一致。

数据预处理技术——保障模型效果的幕后英雄

数据科学家们在建模时,通常需要将80%的时间花费在数据预处理工作上,而当前能够完全实现端到端自动化预处理工作的AutoML工具却十分罕见,大多数工具做到的是针对其余20%的工作进一步实现自动化。天泽智云的GenPro™工业智能建模平台结合工业领域知识、融合IMS中心19年经验,着眼于最为耗时的那80% -- 提供更便捷的行业模板、行业算子等,帮助数据科学家降低建模门槛、提升建模效率。

数据预处理技术是PHM预测性维护建模的重要技术组成部分,系统性地掌握数据预处理方法,能够提升数据预处理效率微小但重要的一步,进而保证最终的建模效果。


分享到:


相關文章: