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 特征选择策略:少即是多

特征提取完了,你可能得到几十甚至上百个特征。但别高兴太早——不是所有特征都有用。冗余特征会降低模型性能,还会增加计算负担。所以,特征选择是必须的。

我总结了一套“三步走”策略:

  1. 过滤法:先快速筛掉明显无用的特征。比如方差接近0的、与目标变量相关性极低的。我一般用皮尔逊相关系数,阈值设在0.3以下就剔除。
  2. 包裹法:用模型来评估特征组合的效果。比如递归特征消除,每次去掉一个最不重要的特征,直到性能不再提升。这个方法计算量大,但效果好。
  3. 嵌入法:在模型训练过程中自动选择特征。比如Lasso回归、决策树的特征重要性排序。我习惯用随机森林的特征重要性,简单直观。

我的经验法则:

  • 特征数量不要超过样本数量的1/10。否则容易过拟合。
  • 优先保留物理意义明确的特征。比如故障特征频率处的幅值,比某些统计量更可靠。
  • 不同工况下,特征的重要性可能变化。我建议分工况建立特征库。

举个例子,我做过一个轴承寿命预测项目。初始提取了45个特征,经过过滤法筛掉12个,包裹法再筛掉8个,最后保留25个。用这25个特征训练的模型,预测精度比用全部特征提高了15%,训练时间缩短了40%。

注意:特征选择不是一劳永逸的。设备老化、工况变化,都可能导致特征的有效性发生变化。我建议定期(比如每季度)重新评估一次特征集。

4.5 本章知识体系

下面这张图,是我梳理的特征工程整体框架。你可以把它当作一个操作指南。

特征工程知识体系 原始信号 时域特征 频域特征 时频域特征 均值、均方根值 峰值、峭度 波形因子、峰值因子 脉冲因子 频谱峰值 边频带 频带能量 重心频率、频率方差 短时傅里叶变换 小波变换 经验模态分解 希尔伯特-黄变换 特征选择策略 过滤法 包裹法 嵌入法 核心原则:少即是多,保留物理意义明确的特征,定期重新评估

这张图把整个流程串起来了:从原始信号出发,提取三类特征,再经过选择策略,最终得到高质量的特征集。你可以在实际项目中,对照这张图一步步操作。

好了,特征工程的基础就讲到这里。记住一句话:特征质量决定了模型性能的上限。花时间把特征做好,后面的建模工作会轻松很多。