收益:
- 能够通过人工智能提取特征来分析振动/温度数据中的故障症状
- 能够借助人工智能设计基于阈值的简单机器学习异常检测方法
- 能够验证误报(误报)和遗漏故障(误报)和维护决策之间的平衡
生产线上轴承的意外故障会导致数小时的停机、错过订单,有时甚至造成附带损坏。传统的维护停留在两个极端:故障维护(损坏时修复——最昂贵的意外)和定期维护(按计划更换——通常过早且浪费)。预测性维护开辟了第三条路:不断测量机器的实际状况,预测故障并及时干预。振动、温度、电流和声音等信号的变化提前几周就表明出现故障。人工智能在这里很强大:从信号中提取特征、检测异常、估计剩余寿命。但一次误报就意味着不必要的停机,一次错过的故障就意味着灾难;阈值和决策平衡是工程师的责任。在本单元中,我们将介绍如何使用人工智能设置预测性维护并验证其决策。
为什么要考虑振动和温度?
旋转机器的故障会留下特征签名。当轴承磨损、齿轮破裂、轴变得不平衡时,振动频谱中某些频率的能量会增加。温度是摩擦和负载增加的缓慢但可靠的指标。我们从这些信号中提取有意义的特征:
属性
它说什么
哪个故障?
RMS(有效值)
一般振动能量
普遍恶化、失衡
峰值
突然的打击
轴承缺陷、缺口
波峰因数(峰值/RMS)
脉冲含量
轴承过早失效
峰度
分布的“尖峰”
脉冲故障症状
主频率 (FFT)
收集能量的频率
特定组件故障
关键思想:我们不是查看原始信号,而是监视故障敏感功能。人工智能快速编写计算这些属性的代码。
import numpy as npdef jitter_attributes(signal, fs): """signal: 加速度序列,fs: 采样频率 (Hz)。""" rms = np.sqrt(np.mean(signal**2))peak = np.max(np.abs(signal)) crest = Peak / rms if rms > 0 else 0 # 峰度(四阶矩/方差^2)mean = np.mean(信号) 峰度 = np.mean((信号 - 平均值)**4) / (np.var(信号)**2 + 1e-12) # 主频率 (FFT) 频谱 = np.abs(np.fft.rfft(signal)) 频率 = np.fft.rfftfreq(len(signal), 1/fs)dominant_f = 频率[np.argmax(spectrum)]返回{“rms”:均方根,“peak”:峰值,“crest”:波峰,“峰度”:峰度,“dominant_Frequency”:dominant_f}
提示:将特征提取到 AI 时,请务必指定信号的采样频率 (fs) 和持续时间。 FFT 分辨率和奈奎斯特极限取决于它们;如果未给出 fs,主频率将被误解。此外,如果不从健康机器收集“基线”,任何阈值都是有意义的。
基于阈值和基于学习的检测
有两种基本方法:
基于阈值:超过属性的特定限制(例如 RMS)会生成警报。简单、透明、可解释;但确定正确的阈值是困难的,而且是一维的。
基于学习(异常检测):它从健康的工作数据中学习“正常”并标记与之的偏差。它捕获多维模式,但需要更多数据,并且有成为“黑匣子”的风险。
import numpy as npdef z_score_anomali(value,baseline_avg,baseline_std,threshold=3.0): """简单统计异常:偏离基线有多少std?""" z = (value - benchmark_avg) / (baseline_std + 1e-12) return abs(z) > Threshold, z# 示例:健康机器上的 RMS 平均值为 0.8,令 std 为 0.1alarm, z = z_score_anomaly(value=1.25,基线_avg=0.8,基线_std=0.1)print(f"z-score: {z:.1f},alarm:{alarm}") # z=4.5 ->alarm True
即使这个简单的 z 分数方法也展示了一个原则:阈值是从健康机器的统计数据中得出的,它不是任意选择的。人工智能可能会提出更先进的方法(隔离森林、自动编码器),但它们都有相同的基础:首先定义“正常”,然后测量偏差。
误报和漏失故障平衡
这是预测性维护核心的工程决策。有两种类型的错误,它们的成本是不对称的:
错误类型
含义
成本
误报(误报)
无故障时报警
不必要的姿势,失去信心
漏检故障(漏报)
出现故障时不报警
意外故障、损坏、危险
如果降低阈值(太敏感),漏报故障会减少,但误报会增加;操作员不再依赖警报(“警报疲劳”)。如果增加阈值,误报会减少,但漏掉真实故障的风险会增加。正确的平衡取决于故障的结果:安全关键部件(例如起重机制动器)错过故障是不可接受的,在那里您保持高灵敏度并忍受错误警报。
注意:由于类别不平衡,AI 建议的阈值或模型精度(例如“95% 精度”)可能会产生误导。故障很少见;即使是一个总是说“没有失败”的模型,显示出很高的准确性,但没有任何用处。通过误报率和漏失故障率而不是准确率来评估模型;您的流程风险决定了这种平衡。
从决策到维护:人类批准
异常检测不是直接的“停止机器”命令;这是一个决策支持信号。典型流程:检测到异常 → 评估严重程度和趋势 → 护理团队确认(身体检查、额外测量) → 计划干预。人工智能可以建议趋势和可能的原因,但“这个轴承需要更换”的决定和时机仍然由人类决定;因为人类可以看到生产计划、备件和安全背景。
弱提示/强提示
WEAK:“这个振动数据有缺陷吗?” (没有基线,没有 fs,没有上下文。未经证实的是/否。) 强:“我有以 12 kHz 采样的轴承的 1 秒加速度数据。计算 RMS、波峰因数、峰度和主频率。我有 30 天的健康运行基线(RMS avg=0.8,std=0.1)。此测量从基线计算 z 分数,并根据 3-sigma 阈值对其进行解释。提高警报,但声明这是一个决策支持信号,而不是一个明确的故障决策,将主频率与轴承的特征故障频率进行比较。”
迷你包
维护工程师 Emre 正在为风扇电机安装基于振动的监控。将特征提取和 z 分数异常代码打印到 AI;系统会在几天内发出警报。但当埃姆雷检查时,发现机器完好无损——虚惊一场。当他检查时,他意识到他只用2小时的数据建立了基线,而风扇的振动通常会随着负载的变化而波动。它将基线延长至 1 周,以涵盖不同的负载条件,并停止误报。然后他看到波峰因数呈缓慢上升趋势;这表明在 RMS 尚未超过阈值之前轴承出现早期故障。物理检查确认轴承过早磨损。 Emre 在计划的维护中更换了轴承,并且没有出现意外停机的情况。 AI快速计算属性和异常;但基线质量和趋势解释——消除误报并及早发现真正的故障——成了工程师的工作。
常见错误
- 设置阈值而不从健康机器收集足够/有代表性的基线。
- 在不指定采样频率的情况下解释 FFT/主频率。
- 以“准确性”评估模型,并在罕见故障的情况下得到误导性结果。
- 任意选择阈值,与过程风险无关。
- 将异常信号误认为是直接停止命令并绕过人工验证。
- 着眼于单一指标而忽略趋势(缓慢上升)。
综上所述
- 预测性维护测量机器的实际状况并预测故障。
- 从振动/温度中提取 RMS、波峰、峰度、主频率等特征。
- 阈值和异常检测源自健康机器的基线统计。
- 根据过程风险调整误报和漏报故障的平衡。
- 在罕见的故障中,“准确性”具有误导性;使用误报/漏报率。
- 异常是决策支持信号;护理的决定和时间由患者本人决定。
应用任务
查找或模拟振动或温度时间序列(健康的基础+逐渐恶化的部分)。打印从基线到 AI 的特征提取(RMS、波峰、峰度)和 z 分数异常检测代码。然后:(1)仅从健康部分设置基线并给出采样频率,(2)尝试2-sigma和4-sigma的阈值并比较误报和漏报故障的数量如何变化,(3)绘制属性趋势而不是单个测量,看看它是否给出早期预警。解释哪个阈值适合您场景中的风险,并证明您选择它的理由。