资讯动态

机理与数据融合的工业设备故障诊断实战方法

发布时间:2026/10/25 12:17:08 来源:尧图企业网站定制
1. 鸿沟在哪里:机理与数据之争的本质做设备故障诊断这些年,我最大的感触是:搞机理的人看不起搞数据的,搞数据的人又觉得搞机理的太保守。两边各有各的道理,但真正到了现场,需要的是能落地解决问题的办法,而不是站队。这个跨越机理与数据的鸿沟,说白了就是一个老问题的新解法:传统的故障诊断靠专家经验和物理模型来判断设备哪里坏了、坏到什么程度;而现在的工业现场,传感器数据堆积如山,深度学习模型确实能把这些数据用起来,但问题是,模型给出一个轴承磨损度87.5%的结论时,现场工程师敢不敢信?万一误判,停机换件就是几十万的损失。我见过太多案例了。某化工厂的压缩机装了振动监测系统,用的是一套非常漂亮的深度学习模型,准确率在测试集上达到98%。结果现场运行三个月,误报率居高不下,老师傅们干脆把这套系统当成了摆设。为什么?因为模型只会说异常,但说不清楚是转子不平衡还是轴瓦磨损,更说不清为什么判定异常。这就是典型的只讲准确性、不讲可解释性。反过来,纯机理模型也有问题。现代工业设备的工况复杂程度远超教科书,你很难用一组微分方程把所有非线性、时变、耦合的因素都刻画清楚。即便刻画出去了,参数辨识的工程难度和计算成本也常常让人望而却步。所以这两年,业界形成了一个共识:不是谁取代谁的问题,而是怎么把两套思路拧成一股绳。这篇文章我想从实际的工程视角出发,聊聊我在这个方向上的思考和一些可行的落地路径。既不是纯理论探讨,也不是某一套具体工具的教程,而是把为什么要融合、怎么融合、融合后怎么处理那些绕不开的坑讲清楚。2. 为什么要把机理和数据放在一起在展开具体方法之前,先把为什么讲透。因为如果你不理解这个融合的必要性,后面看什么都像是在叠床架屋。2.1 纯数据驱动的三个致命弱点纯数据驱动的故障诊断,表面光鲜,实际使用中有三个绕不开的问题。第一个是数据质量问题。工业现场的数据不是实验室里那种干净整洁的数据集。传感器漂移、电磁干扰、采样丢失、工况切换,这些问题会让数据分布不断变化。一个在6月份训练好的模型,到了8月份可能精度就掉得没法看。这种现象我们叫概念漂移或者数据分布偏移。而纯数据驱动的模型,尤其深度学习模型,面对这种情况往往束手无策,只能靠不停重新标注、重新训练来维持。第二个是黑箱带来的信任问题。这不是心理层面的不信任,而是工程层面的现实约束。故障诊断和下棋不一样,棋输了可以重来,设备坏了的代价是实打实的。你无法向维修团队解释为什么模型认为这台泵会在48小时后失效,他们就没法决定是现在停机检修还是再撑两个班次。在工业安全领域,不可解释的决策本质上等于没有决策依据。第三个是数据稀缺。故障数据太少了。一台设备一年到头可能就出几次故障,而且每次故障的模式还不一样。深度学习模型动辄需要上千条故障样本才能学好,这在工业现场根本不现实。更扎心的是,很多设备都是带病运行,真正到了需要诊断的时候,往往连正常数据都攒不齐。2.2 纯机理模型的现实窘境纯机理模型看起来最严谨,什么转子动力学方程、热力学方程、流体力学模型,都是教科书级别的理论。但你要是真的拿这些理论公式去做现场诊断,会发现困难比想象中大得多。最大的问题就是建模成本高。一台离心压缩机,想要精确建模,你要知道转子的质量分布、轴承油膜特性、密封结构的间隙变化,这些参数很多都是设计图纸上有但实际运行中完全不知道的。你要么拆机测量,要么做实验辨识,哪一样都是高成本投入。还有一个尴尬的事实:机理模型对已知故障很准,对未知故障束手无策。因为模型是基于你对设备的理解建立的,如果设备出现了你从未见过、也从未考虑过的新故障模式,机理模型的响应往往是无法收敛或者结果异常,它没法像数据驱动那样从数据里发现意外模式。说白了,纯机理模型擅长回答应该是怎样,但设备故障诊断恰恰需要回答现在是怎样以及如果偏离了,偏了多少,为什么偏了。2.3 融合的真实驱动力来自现场我说这么多,不是要否定哪条路,而是想说清楚:工业现场对诊断方法的需求是复合的。既要有足够的准确性去支撑决策,又要能说清楚判断的依据让工程师信服,还要能适应工况变化和数据漂移,不至于用两个月就废掉。这种复合需求,单独靠哪一条路线都撑不住。所以才会有机理与数据融合这个思路的兴起。这不是学术圈的空谈,而是现场需求逼出来的方向。3. 融合诊断的整体设计思路真正想走通融合诊断这条路,第一件事不是选模型,而是搭框架。我这里分享一套自己实践下来比较顺的架构,不一定适用所有场景,但可以让你少走很多弯路。3.1 分层融合架构:从底层机理到顶层决策我的思路是把诊断系统分成四层,每层解决不同的问题,层与层之间通过接口衔接。第一层是特征层。这一层的目标是把原始传感器信号转化为物理意义的特征。比如振动信号的时域指标(均方根值、峰值因子)、频域指标(转频幅值、倍频占比)、时频域特征(包络谱特征)等等。这些特征不是随便提的,而是结合机理性知识来选。比如齿轮箱故障,重点盯啮合频率及其边频带;滚动轴承故障,关注外圈、内圈、滚动体各自的故障特征频率。这样一来,特征本身就是一种先验知识的注入。第二层是机理模型层。这一层的作用是给出理论基线。也就是说,在当前工况下,设备如果健康,各特征指标应该在什么范围。这个基线可以用简化物理模型算出来,也可以用大量正常工况数据统计出来。它的核心作用是提供参照系,让后续的数据模型不至于偏离物理常识。第三层是数据模型层。在特征层已经准备了具有物理意义的特征,并且有了机理模型的基线之后,数据驱动模型要做的事情就变得相对聚焦了。它不再需要从原始波形里自己摸索特征(这是深度学习最不擅长的,也是它解释性差的根源),而是围绕特征偏离度、变化趋势、模式匹配来做分类或回归。第四层是决策融合层。这一层把机理模型的输出和数据模型的输出做一个综合判断。可以用规则融合(比如说,如果机理模型说疑似转子不平衡,数据模型说类别A概率85%,而且特征趋势在持续恶化,则判定为高置信度不平衡故障),也可以用更复杂的证据理论、贝叶斯融合方法。这个架构的好处是:每一步都有明确的物理意义和逻辑依据。如果最终结论错了,你可以回溯到具体是哪一层判断失误,也就是说是机理模型参数不准,还是数据模型训练数据不足,还是融合规则设计缺陷。这在工程上极其重要,因为这意味着系统是可调试的。3.2 融合的关键不是拼,是对齐很多人一听说融合,第一反应就是把物理模型的特征和神经网络的隐层输出拼在一起,丢给一个分类器。这种拼接式融合在论文里常见,实际效果嘛,我试下来基本都不太理想。问题的症结在于:两个信息源不在同一个坐标系里。物理模型的特征说的是和设备物理状态的对应关系,神经网络的隐层输出则完全是数据驱动的黑箱表示,两边的语义空间根本对不上。你把它们拼在一起,输入维度增加了,但信息并没有真正融合。我目前验证下来比较好用的方式是约束式对齐。具体来说,在训练数据模型的时候,不要只给它分类损失,还要加一个物理一致性约束。举个例子,如果模型把某段振动信号分类为轴承内圈故障,但它对应的特征频率分量在原始信号的包络谱上并不突出,那么这个分类结果就要被惩罚。这样就把数据的统计规律和物理的因果规律绑在了一起。这种做法的工程含义是:数据模型输出的每一个结论都能被物理特征解释——要么解释为某个部件状态异常,要么解释为工况变化引起的特征偏移。解释不了就存疑,存疑就不进入决策,交给人工复核。这样一比一划,可解释性就落在实处了。4. 实操:以旋转机械轴承故障为例的融合流程光说架构太空了,我拿一个最常见的场景——旋转机械的滚动轴承故障诊断——来拆解一版完整的融合落地流程。这个案例我从数据准备到模型训练都跑通过,你可以直接照着这个思路去套你自己的设备。4.1 第一步:数据准备与特征工程轴承振动信号,我们一般用加速度传感器采集,采样率至少要覆盖轴承故障特征频率的10倍以上。比如说某轴承的外圈故障特征频率是120Hz,采样率定到20kHz就很稳妥了。每组样本长度不做硬性要求,但至少保证包含20圈以上的转频周期,这样特征计算才有意义。特征工程环节,我建议做三组特征:第一组是时域统计特征,包括均方根值、峰值因数、峭度、波形因数。其中峭度对早期故障很敏感,是轴承故障常用的先驱指标。第二组是频域特征。对信号做FFT后,提取转频幅值、转频二倍频、三倍频幅值,以及频带能量分布等。轴承故障的关键特征往往集中在高频段,所以在FFT之前最好先做一阶高通滤波,滤掉低频的转频分量和噪声干扰。第三组是包络谱特征。先对信号做带通滤波,然后通过Hilbert变换求包络,再对包络信号做FFT,就能得到包络谱。轴承的故障特征频率在包络谱上非常明显,这个特征要重点提取。这里有一个我自己踩过的坑:原始信号直接做FFT时,轴承故障特征频率附近往往被强背景噪声淹没,特征完全看不出来。后来改成先带通滤波再包络解调,特征一下就清晰了。这个顺序不要颠倒。4.2 第二步:机理模型——建立理论基线轴承故障特征频率的计算公式并不复杂,但这是机理模型层的核心输入。外圈故障特征频率是BPFO n × fr / 2 × (1 - d/D × cosα),内圈故障特征频率是BPFI n × fr / 2 × (1 d/D × cosα),滚动体故障频率是BSF D × fr / (2 × d) × [1 - (d/D × cosα)^2]。这里的n是滚动体数量,fr是转频,d是滚动体直径,D是节圆直径,α是接触角。这些参数在现场不一定能拿到。设计图纸有最好,没有的话只能通过拆机测量,或者用米尺量个大概。实测下来,接触角α的误差对BPFI和BPFO计算结果影响不小,所以如果能拿到轴承型号,直接查SKF的官方数据库是更可靠的方式。得到理论特征频率后,用它来设计带通滤波器的通带范围和包络谱的峰值搜索区间。这个环节的作用是:让后续的数据模型只需要在这个频率附近有没有峰、峰多高这个窄问题上做判断,而不是在整条频谱上盲目扫描。这就是机理模型给数据模型划范围的价值。4.3 第三步:数据模型——还是得选对网络结构在特征层已经做了充分物理特征提取的前提下,数据模型我的首选建议是轻量级的一维CNN配合注意力机制,而不是一上来就上Transformer或LSTM。为什么这么选?因为经过特征工程之后,这段信号的特征规律已经比较规律了,结构复杂的模型反而容易过拟合。一维CNN参数量小,训练快,而且卷积核的局部感知特性和频谱的局部模式天然契合。注意力机制的作用是让模型学会动态关注关键频带,这一点比全连接网络灵活很多。模型结构方面,可以做一个四层一维卷积,每层卷积后跟BatchNorm和ReLU激活,最后接一个全局平均池化和一个全连接分类头。分类头输出三类:健康、外圈故障、内圈故障。训练时除了常规的交叉熵损失,我建议加上前面说的物理一致性损失。做法很简单:在训练样本中,对每条样本标注它对应的包络谱故障特征频率幅值,然后在模型预测阶段比较——如果预测是外圈故障,但外圈特征频率幅值明显低,则增大损失值。这个约束在实操中不需要搞得太精细,只需要一个粗糙的惩罚系数就能明显抑制那些数据上像、物理上不合理的错误分类。训练数据方面,我用的是公开数据集,你找自己设备的实测数据当然更好。注意数据增强这块别偷懒,用小幅度幅值扰动、时间轴轻微拉伸等方式把样本数量扩2到3倍,能有效提防过拟合。4.4 第四步:决策融合——把两边的结论捏在一起等到机理模型和数据模型都有输出后,决策融合层就可以做判断了。我这里提供一个我实测有效的简单规则框架:先定义两个变量。一个是机理置信度M,它表示振动信号中,在理论特征频率处的频谱幅值与健康基线的偏离程度。偏离越大,M越高。另一个是数据置信度D,它表示CNN模型分类输出的softmax概率值。然后做规则判断:如果M高且D也高,直接判定为对应故障;如果M高但D低,说明数据模型犹豫不决,不排除机理模型算出的频率和实际故障特征有偏差,此时建议标记为需复测;如果M低但D高,说明数据模型发现了机理模型没有考虑到的异常模式,这种情形要警惕未知故障,建议结合时域波形和原始信号做人工复核;如果M低且D低,基本可以判断为健康或轻微异常。这套规则看起来简单,但实际运行中能解决绝大多数决策问题,因为它的核心不是算法多聪明,而是每一层决策都有明确的定位和兜底机制。模糊一点也没关系,你可以用模糊逻辑、D-S证据理论做更精细的融合,但如果你刚开始尝试,先把这套简单规则跑通,再去优化细节,节奏更稳。5. 避坑与实战心得:讲点文档里查不到的理论框架说完了,实际操作中的很多问题才是劝退大多数人的地方。挑几个我印象最深的说一说。5.1 特征频率算不对,后面全白搭我见过最多的问题,就是机理层特征频率计算错误,导致后续的数据分析完全走偏。比如滚动体和保持架之间的相对滑动会导致实际故障特征频率出现微小的频率漂移。理论上算出来是118.6Hz,实测可能落在115到122Hz之间。如果你只盯着理论值去找峰值,很可能漏掉真实故障信号。建议做法是:以理论频率为中心,设定一个±5%的搜索窗口,在窗口内找实际峰值。到了后期,可以根据历史数据去学习这个漂移量的统计分布,再把搜索窗口缩小。5.2 数据不平衡比你想的更严重现场能采集到的样本,90%以上是正常样本。故障样本就那么零星几条。这种极度不平衡的数据,常规训练方法很难拟合好。我的经验是两条腿走路。数据层面,用合成少数类过采样技术(SMOTE)对故障样本做扩充,尤其是在特征域做插值,生成一些看起来合理的中间样本。算法层面,给损失函数里的少数类样本加大权重,用焦点损失(Focal Loss)这类方案来缓解。实测下来,焦点损失的效果比简单加权平均要好不少,尤其对早期微弱故障的识别率提升明显。5.3 你的模型在分布外数据上会摔得很惨融合方法再强,也防不住没见过的数据。所谓分布外数据,指的是设备长期在某个工况运行时积累的数据分布,和你用来训练模型的数据分布差异很大。比如说,你的训练数据里转速是2000转/分钟,但设备实际运行在1500转/分钟时候的振动特性完全变了,模型很容易出现严重误判。这块怎么缓解?没有一劳永逸的办法,但可以通过工况归一化和特征标准化来减小分布偏移的影响。具体做法是:把振动信号的转频分量作为基准,对其它频率分量做归一化。这样的话,不同转速下的频谱特征会落在一个近似可比的量纲里。实测下来,这种做法能把跨工况的误报率降低一半以上。5.4 可解释性不是给机器看的,是给人看的我注意到很多文章讨论可解释性,都是从模型自身的角度去理解,比如引入注意力机制、提取类激活图。但说实话,在现场用户面前,这些技术细节他们根本不关心。现场工程师想要的可解释性,是为什么这个结果是可信的。所以我在做诊断界面时,不会只给一个结论,而是同时展示三块信息:时域波形图、包络谱、关键特征频率的幅值趋势。这几张图配合判断结论,比任何复杂的可解释性算法都直观。6. 常见问题速查表我把实操中经常被问到的几个问题汇总成一张表,方便你参考。问题表现可能原因排查思路与对策特征频率理论值和实测峰值对不上接触角参数不准、滚动体打滑以理论值为中心取±5%搜索窗口,统计历史漂移量CNN测试准确率很高,现场表现很差训练分布与现场工况分布不一致做工况归一化,按转速分组建模或做转速匹配故障样本太少,模型不收敛样本不平衡、数据增强不足使用SMOTE在特征域扩充,配合焦点损失训练融合规则总在临界点误判规则阈值设置过于死板引入模糊边界带,在临界区域标记需复测再人工确认传感器数据有大量噪声工况噪声和电磁干扰叠加先带通滤波再做包络解调,特征提取动作要前置这个表里的每一项,都是我在具体项目里踩过坑之后总结出来的。你可以把它当作自检清单,前期开发和后期调优阶段对着过一遍,能节省不少排查时间。7. 后续还能怎么扩展这套融合诊断方法,现在做的是单设备单类型的诊断。但它的架构可以比较自然地往两个方向扩展。第一个方向是多设备联动。一个车间里几十台设备,单台诊断只能说是治已病,如果能把这些设备的状态信息关联起来,就能发现一些有趣的现象。比如说,某台泵的振动特征异常,同时下游一压缩机的流量特征也有小幅波动,这俩之间有没有关联?可以做一个多设备联合诊断,把机理层面的工艺关联性作为先验知识,和数据层的异常模式搜索结合起来。这个方向对设备群的综合管控价值非常大。第二个方向是预测性维护。故障诊断解决的是现在怎么样,预测性维护要回答的是接下来会怎么样。在现有融合框架下,你可以把重复的历史诊断结果和维修记录作为时间序列特征,结合设备运行工况,构建一个剩余寿命预测模型。由于底层已经做了充分的物理特征提取,这个预测模型的训练难度会比端到端的深度学习方案小得多,解释性也更好。这两个方向,本质上都是在机理数据这个框架上做加法。框架搭得稳,加东西不费劲;框架搭得虚,再怎么堆模型都白搭。最后再分享一个个人体会:融合诊断的项目,最难的技术环节往往不是算法本身,而是前期把机理模型和特征工程做扎实。那个阶段最花时间,也最容易被忽视,但恰恰决定了整个系统的可靠性和上限。别急着上模型,先把机理吃透、把特征做准,后面的一切自然顺畅很多。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑