浪潮海岳物联网平台推出高频时序数据异常检测解决方案

46 阅读9分钟

工业环境中,高频传感器信号的采集过程极易受到内外部多种干扰(如电磁干扰、外部冲击、数据传输不稳定等),导致所获取的时序数据中出现数据缺失和各类异常。这些数据异常若不能得到及时、准确的识别,会直接影响后续设备异常诊断、故障预测及运营决策的可靠性,可能引发误报或漏报,进而增加维护成本,甚至带来安全隐患。因此,实施有效的异常检测是提升工业物联网数据质量、保障后续分析结果准确的关键前提。

一、核心挑战

异常检测在工业高频时序数据应用中主要面临以下四类核心挑战:

1. 动态工况下的模型适应性不足

工业设备常在负载、速度、温度等参数不断变化的环境中运行,导致采集到的高频数据具有显著的时变和非平稳特性。传统的固定阈值方法无法适应这种连续变化的“正常”状态边界,难以准确区分真实异常与正常的工况波动。

2. 海量数据下的处理效率挑战

高频传感器产生的数据量巨大,直接应用复杂的无监督机器学习算法对原始数据进行全量计算,会面临极高的计算和存储开销,影响检测的时效性。

3. 故障信号与数据异常的耦合性

工业数据中的波动既可能来源于传感器故障、传输错误等“数据异常”,也可能反映设备的真实故障。许多现有方法仅能识别与学习到的正常模式的偏离,但缺乏区分异常根源的能力,容易将设备故障的早期表现误判为数据质量问题。

4. 小样本异常导致的检测盲区

在实际工业场景中,真正的异常事件占比极低,造成严重的类别不平衡问题。大多数无监督算法依赖于密度、距离或重构误差进行判断,在异常样本极度稀少的情况下,容易产生大量误报(精确率低)或无法识别部分真实异常(召回率低),难以满足工业应用对精确率和召回率的双重高要求。

这四类挑战并非孤立存在,而是相互关联、相互加剧,因此需要系统性的集成解决方案而非零散的改进。

二、方法探索

浪潮海岳物联网平台在已有算法接入、编排与应用的框架基础上,打造了时序数据异常检测解决方案,利用基于特征的分析和快速波动率检测,并通过先进的集成学习元分类器进行协同整合。这种精心设计的流程,而非简单的模块堆叠,构成了方法鲁棒性和有效性的基础。

局部截取_20251218_161852.png

现有异常检测算法直接对高频时序数据进行时序异常检测时,如K邻近算法(KNN)要对每个待检测点计算它与所有其他点的距离,对数据量极大的高频时序数据来说,计算量极大且运行时间很慢,效率低下。当设备产生故障时,高频时序数据因设备故障产生周期性的尖峰,这种是因设备异常产生的数据波形变化,而非数据异常,然而诸如四分位距、Z-score等方法倾向于把“稀有”的点当成异常,会将上述误识别为数据异常,导致异常检测识别精度低下。因此为保证对高频时序数据异常检测的高效精确,我们提出了一个多维度、多路径的异常检测模型构建过程。具体展开如下。

1. 时域关键特征提取与无监督异常识别

对于每个数据片段,首先进行关键时域特征的计算。这一过程将数据片段序列 {l1,,lt,lM}\left \{{l_1,⋯,l_t,⋯l_M}\right \} 抽象为一组大幅降低数据量的特征序列 {x1,,xi,xM}\left \{{x_1,⋯,x_i,⋯x_M}\right \}。这种特征抽象不仅显著提升了后续分析的计算效率,而且通过突出数据中与异常相关的潜在模式,通常能增强异常检测的有效性。

将一组多样化的无监督异常检测算法并行应用于这些特征序列 {x1,,xi,xM}\left \{{x_1,⋯,x_i,⋯x_M}\right \},以识别出异常的特征点。这些算法包括不限于:孤立森林、标准化K邻近算法(KNN)、Z-score、四分位距、基于密度的带有噪声的空间聚类应用等。

每种算法对特征序列中各特征点都会生成异常分数,这些分数经过归一化处理后,共同构成一个前置分数序列。

2. 快速数据波动率检测

与基于特征序列的分析并行,每个数据片段还进行快速数据波动率检测。这种方法特别适用于检测瞬态变化离群和水平偏移离群,它们可能无法通过纯粹的静态特征分析立即显现。这种并行检测机制,是对基于特征方法的有效补充,确保了更广泛的异常类型能够被捕捉,并为某些类型的偏差提供了更直接或更快速的信号,从而满足了对“快速识别”的要求。以数据片段 ltl_t为例,具体实施方式如下:

波动率监测参数设定,设定检测窗口 Wtest{W_{test}} 长度、正常范围界限系数 Thresvol{{Thres}_{vol}} 和检测窗口波动检测评价指标 Indexvol{{Index}_{vol}}(包括不限于十分位距、标准差、四分位距等)。在数据片段ltl_t 上,依据检测评价指标 Indexvol{{Index}_{vol}} 比较两个相邻时间窗口的波动率,如果两个时间窗口的波动率测量值差异超过 Thresvol{{Thres}_{vol}},则将中间的时间点标识为波动率偏移点,最终输出对各数据片段的异常分数。

3. 基于集成学习策略的元分类器构建

为了克服异常数据片段占比少的局限性,将所有个体异常检测算法的异常识别结果作为输入,构建一个元分类器。元分类器通过学习如何智能地融合这些多样化的输入信号,从而显著提升高频时序数据异常检测的精确率和召回率。这意味着在减少将正常数据误报为异常数据的比例(提高精确率)的同时,有效减少漏报异常数据的比例(提高召回率)。

以下给出一个集成学习的具体实例:

基学习器训练与预测:首先,构建基学习器,假设前两个步骤共有T个算法产生的异常分数序列,选择T 个多样化的基学习器 B={B1,B2,,BN}\boldsymbol{B=}\left \{{B_1\boldsymbol{,}B_2,⋯,B_N}\right \}。接着进行基学习器训练,每个基学习器BjB_j 以前置对应的异常分数特征序列PjP_j作为输入特征,以对应的真实标签 yiy_i 作为目标进行训练。最后,生成基学习器预测向量,在交叉验证或对新数据进行预测时,每个训练好的基学习器 BjB_j 会对输入的 PiP_i 产生一个预测概率 Si,j{S_{i,j}}。所有基学习器的预测概率共同构成基学习器预测向量 SiS_iSiS_i 代表了多个基学习器在分析了前置异常分数后,各自给出的专业意见。

上下文元特征提取:该步骤对数据片段序列 {l1,,li,lM}\left \{{l_1,⋯,l_i,⋯l_M}\right \} 的每个片段,提取 KK 个描述性元特征(诸均值、标准差、偏度、裕度因子等),将提取的元特征组合成一个元特征向量 MiM_i

构建元学习器最终输入向量:进行向量拼接,将前述基学习器预测向量 SiS_i、上下文元特征向量 MiM_i 和异常分数 PiP_i 进行拼接,最终输入向量为 Fi=concat[Si,Mi,Pi]F_i=concat\left [{S_i,M_i,P_i}\right ]. 该向量同时为元学习器提供了基学习器对异常分数的解读和判断、原始数据窗口的内在物理特性和来自前置算法的原始异常分数。这使得元学习器有机会发现基学习器可能忽略的模式,或在基学习器集体犯错时进行纠正。

元学习器训练与最终决策:负责学习如何最优地融合所有信息。选择一个非线性模型(如XGBoost、LightGBM)作为元学习器 Modelmeta{{Model}_{meta}}。使用一组带有真实标签的训练数据 {(Fi,yi)},i=1,,m\left \{{\left ({F_i,y_i}\right )}\right \},i=1,⋯,m 对其进行训练。 Modelmeta{{Model}_{meta}} 学习一个从高维融合空间到最终标签的复杂映射函数 ypred=Modelmeta(Fi){y_{pred}}={{Model}_{meta}}\left ({F_i}\right ).

三、数据验证

该方法在离心泵组的高频振动数据异常检测中得到了实际验证。通过对各泵组部署高频振动传感器,获得多工况多故障类型数据用于数据异常检测模型训练,并给出评估数据集。实验结果表明,该方法相比其他模型能够针对多种工况、故障信息耦合的情况下实现精准数据异常检测,其中准确率、精确率、召回率和F1分数均达到0.93及以上(满分为1)。

四、结论

集成策略的引入显著提升了异常检测方法在复杂工业环境下的适应性与判别能力。该策略使模型能够有效应对数据异常与真实设备故障相互耦合、运行工况多变等挑战,实现快速、准确的数据异常识别,从而大幅增强整体解决方案的鲁棒性与可靠性。本算法已在多家水务、矿山企业成功应用,效果良好。


欢迎大家积极留言共建,期待与各位技术大咖的深入交流!

此外,欢迎大家下载我们的inBuilder低代码社区,可免费下载使用,加入我们,