数据采集:源头就先矮一截
很多工程师以为建模最难的是算法,我告诉你,最难的是把数据搞到手。你永远猜不到车间里的数据有多脏。一次做轴承寿命预测,现场采振动数据,采样率设了20kHz,结果工控机内存不够,数据断断续续,中间还混着设备停机信号。你拿这种数据建个模试试?包准你的模型学到的全是停机规律。唉,简直怀疑人生。

这里有个关键点:采集数据之前,先把业务问题定义清楚。是要做异常检测还是寿命预测?这决定了你要采什么信号,采样率多少,存多长时间。我见过太多人不管三七二十一,采了一大堆,最后用来建模时才发现缺了关键变量。真是气死人。另外,传感器标定也得定期做,不然漂移了你还不知道。
数据清洗和特征工程:脏活累活
数据拿到手,先别急着上深度学习。那些噪声、缺失值、异常点,一个个都要处理干净。说实话,这一步最枯燥但最有价值。工业数据里噪声特别多,尤其来自电机的电磁干扰,信号里全是毛刺。常用的方法就是滤波,但滤波也有讲究——低通滤波器截止频率设错了,真实特征也跟着滤掉。
特征工程就更磨人了。有时候你绞尽脑汁想出来的特征,模型效果还不如直接上原始信号。但别灰心,这很正常。我做过一个刀具磨损预测,时域特征、频域特征提了一堆,最后发现最管用的是主轴电流的均方根值。你说气人不气人?所以啊,特征这东西,多试,有时候歪打正着。

对了,数据标准化这步千万别忘了。不同传感器量纲不一样,温度几十度,振动几个g,不标准化的话,模型全被量纲大的特征带偏了。还有,时间序列数据的滑窗怎么切,窗口长度多少,重叠率多少,都是经验活。我一般先用简单的模型试,再调窗口。
模型选择:别迷信深度学习

聊到模型,很多人张口就是LSTM、Transformer,好像不用深度学习就不好意思说。但工业场景里,样本量小是家常便饭,深度学习没有大量数据支撑,效果可能还不如随机森林。我做过一个电机故障诊断,样本只有几百条,用支持向量机效果出奇的好,训练还快。当然了,如果你有几十万条数据,那上深度学习确实能挖出些惊喜。
不过话说回来,模型的选择还得看解释性。车间老师傅不认你的黑盒模型,你跟他解释不了为什么报警,就没人敢用。所以规则模型、决策树这些,在工业现场反而更吃香。别小看那些简单的阈值报警,厂里用了多少年了,靠谱着呢。
还有,模型评估也不能光看准确率。工业场景通常正负样本不平衡,故障样本少得可怜。这时候精确率和召回率要权衡,F1分数比准确率有用多了。你搞个模型准确率99%,结果故障一个没报,有什么用?
部署上线:模型跑起来才是开始

训练好的模型放进PLC或者边缘计算网关里,又是另一番折腾。首先是算力限制,你的模型参数多,跑一遍要几百毫秒,产线上可等不起。所以模型压缩、剪枝这些技术就得上了。还有,模型要定期更新,不然设备老化了,数据分布变了,准确率直线下滑。
我经历过最惨的一次,模型部署当天就出问题:现场振动值突然飙高,模型频繁误报,差点把产线停了。后来查出来,是传感器安装松了。你看,模型再准也架不住现场这种幺蛾子。
部署还要考虑数据安全。有些工厂内网隔离,模型只能离线运行,那你得设计好模型更新机制。这些问题,都是论文里不会写的。
说到底,工业数据建模不是纯粹的技术活,它是业务、数据和现场经验的综合体。别指望一套算法走天下,多下车间,多跟老师傅聊聊天,比啥都强。最后唠叨一句:数据是死的,人是活的,模型得为人服务。好了,就这些。觉得有用就点个赞,有不同意见欢迎来喷。