4. 特征工程基础:时域、频域与时频域特征提取与选择
各位好,我是老张。在设备运维这行摸爬滚打了十几年,今天咱们聊聊特征工程。说白了,就是把传感器采集的原始数据,变成能真正反映设备状态的特征量。你想想看,一堆电压、电流、振动波形,机器看不懂,人也看不懂。只有提炼出特征,才能做后续的评估和预测。
我个人习惯把特征分成三大类:时域的、频域的,还有时频域的。每种都有它的脾气和适用场景。下面我一个个说。
4.1 时域特征:最直观的“体检报告”
时域特征,就是直接从时间序列信号里算出来的统计量。它反映的是信号在时间轴上的整体形态。我刚开始做设备诊断时,就靠这几个指标吃饭。
核心时域特征一览
- 均值:信号的平均水平。比如轴承的振动均值突然变大,说明磨损在加剧。
- 均方根值:反映信号的能量大小。这是最常用的指标之一,我习惯用它做长期趋势监控。
- 峰值:信号的最大瞬时值。对冲击类故障特别敏感,比如齿轮断齿。
- 峭度:描述信号分布的陡峭程度。正常信号接近正态分布,峭度≈3;有冲击时峭度会飙升。我在风电齿轮箱诊断中,就用峭度抓到过早期裂纹。
- 波形因子、峰值因子、脉冲因子:这些是比值类指标,用来判断信号中是否存在异常冲击。
举个例子,我监测一台离心泵的振动。正常运行时,均方根值稳定在2.5 mm/s左右。某天突然跳到4.8 mm/s,同时峰值因子从3.2升到6.7。我判断是叶轮出现了不平衡。拆开一看,果然叶片有磨损。这就是时域特征的威力。
我的经验:时域特征计算简单,适合在线实时监控。但它的缺点是信息量有限,对早期微弱故障不敏感。这时候就需要频域特征出马了。
4.2 频域特征:用“频谱”看本质
频域特征,是通过傅里叶变换把信号从时间域转到频率域。说白了,就是看看信号里都包含了哪些频率成分,以及各自的能量有多大。
为什么要做频域分析?因为很多设备故障都有特定的频率特征。比如滚动轴承的内圈故障,会在某个特征频率处出现能量峰值。时域里看不出来的东西,在频谱里一目了然。
常用频域特征
- 频谱峰值:各主要频率处的幅值。直接对应故障特征频率。
- 边频带:故障频率两侧的调制边带。比如齿轮啮合频率两侧出现边频,说明齿轮有磨损或偏心。
- 频带能量:特定频段内的总能量。比如把0-1000Hz、1000-2000Hz等频段的能量分别统计。
- 重心频率、频率方差:描述频谱的分布形态。频谱重心偏移,往往意味着故障模式在变化。
我记得有一次,某钢厂的大型轧机振动异常。时域特征变化不大,但频谱分析发现,在齿轮啮合频率两侧出现了明显的边频带,间隔正好是输入轴的转频。我判断是输入轴齿轮存在偏心。后来停机检查,证实了我的判断。
注意:傅里叶变换假设信号是平稳的。但实际设备信号往往是非平稳的,比如启停机过程、变工况运行。这时候频域分析就会失真。怎么办?用时频域特征。
4.3 时频域特征:兼顾时间与频率
时频域特征,能同时看到信号在时间和频率两个维度上的变化。它解决了傅里叶变换的“全局性”问题——你不仅能知道信号有哪些频率成分,还能知道这些频率成分在什么时间出现。
常用的时频分析方法有三种:
| 方法 | 原理 | 适用场景 | 我的评价 |
|---|---|---|---|
| 短时傅里叶变换 | 把信号分段,对每段做FFT | 缓变非平稳信号 | 简单实用,但时间分辨率和频率分辨率不可兼得 |
| 小波变换 | 用可伸缩的小波基函数分解信号 | 突变、瞬态信号 | 灵活,能自适应调整时频窗口。我常用它分析轴承冲击 |
| 经验模态分解 | 把信号分解成若干本征模态函数 | 非线性、非平稳信号 | 自适应强,但存在模态混叠问题,需要经验判断 |
我个人最常用的是小波变换。为什么呢?因为它能同时捕捉低频的长期趋势和高频的瞬态冲击。比如分析滚动轴承的早期剥落,小波变换能在时频谱上看到一个明显的“倒锥形”能量聚集区,这就是故障冲击的时频特征。
避坑指南:我曾经在分析某风机齿轮箱时,直接用短时傅里叶变换,结果因为窗口长度没选好,把两个相近的故障频率混在一起了。后来换成小波包分解,才把问题看清楚。所以,方法没有绝对的好坏,关键看你的信号特性和分析目标。
4.4 特征选择策略:少即是多
特征提取完了,你可能得到几十甚至上百个特征。但别高兴太早——不是所有特征都有用。冗余特征会降低模型性能,还会增加计算负担。所以,特征选择是必须的。
我总结了一套“三步走”策略:
- 过滤法:先快速筛掉明显无用的特征。比如方差接近0的、与目标变量相关性极低的。我一般用皮尔逊相关系数,阈值设在0.3以下就剔除。
- 包裹法:用模型来评估特征组合的效果。比如递归特征消除,每次去掉一个最不重要的特征,直到性能不再提升。这个方法计算量大,但效果好。
- 嵌入法:在模型训练过程中自动选择特征。比如Lasso回归、决策树的特征重要性排序。我习惯用随机森林的特征重要性,简单直观。
我的经验法则:
- 特征数量不要超过样本数量的1/10。否则容易过拟合。
- 优先保留物理意义明确的特征。比如故障特征频率处的幅值,比某些统计量更可靠。
- 不同工况下,特征的重要性可能变化。我建议分工况建立特征库。
举个例子,我做过一个轴承寿命预测项目。初始提取了45个特征,经过过滤法筛掉12个,包裹法再筛掉8个,最后保留25个。用这25个特征训练的模型,预测精度比用全部特征提高了15%,训练时间缩短了40%。
注意:特征选择不是一劳永逸的。设备老化、工况变化,都可能导致特征的有效性发生变化。我建议定期(比如每季度)重新评估一次特征集。
4.5 本章知识体系
下面这张图,是我梳理的特征工程整体框架。你可以把它当作一个操作指南。
这张图把整个流程串起来了:从原始信号出发,提取三类特征,再经过选择策略,最终得到高质量的特征集。你可以在实际项目中,对照这张图一步步操作。
好了,特征工程的基础就讲到这里。记住一句话:特征质量决定了模型性能的上限。花时间把特征做好,后面的建模工作会轻松很多。