3. 工业信号特征提取与特征工程
工业设备的状态信息通常隐藏在振动、电流、温度、压力等原始信号中。原始采样序列维度高、冗余大,直接送入分类器或回归模型往往效果不佳。特征提取与特征工程的任务,就是把长段波形压缩成少量对故障敏感、对工况鲁棒的数值指标,为后续建模提供高质量输入。本节围绕时域统计特征、频域FFT与功率谱、时频分析小波变换、特征选择与降维四条主线展开,并给出一个可复现的特征工程实战案例。
一、时域统计特征:最直接的健康指标
时域特征直接对采样序列 x[n](n=0…N-1)做统计运算,计算量小、物理含义明确,是工业监测的第一道特征。常用指标包括:
- 有量纲指标:均值、峰值、峰峰值、均方根值(RMS)、方差。RMS 反映振动能量,是判断设备整体劣化最常用的指标。
- 无量纲指标:峭度(Kurtosis)、偏度、波形因子、峰值因子、脉冲因子、裕度因子。它们对幅值变化不敏感,更适合变工况下的故障判别。
以峭度为例,其定义为四阶中心矩与标准差四次方之比。正常轴承振动接近高斯分布,峭度约为 3;当出现早期点蚀、剥落等冲击性故障时,峭度会显著升高到 5 以上。因此峭度常被用作早期冲击故障的敏感指标。但峭度对转速和负载变化也敏感,实际使用时应结合工况分段计算,或与频域特征联合判断。
二、频域FFT与功率谱:定位故障频率
时域指标只能回答“是否异常”,无法回答“哪里异常”。FFT 把时域信号变换到频域,使旋转部件的特征频率(转频、啮合频率、轴承故障频率)得以显现。对长度为 N 的离散序列做 FFT,得到复数谱 X[k],其幅值谱 |X[k]| 反映各频率成分的强度,功率谱密度则进一步描述能量随频率的分布。
实际计算中需注意三点:一是采样频率必须满足奈奎斯特条件,且要覆盖关注的最高故障频率;二是对信号加汉宁窗可减少频谱泄漏;三是频率分辨率 Δf = fs/N,若分辨率不足,可通过增加采样点数或使用细化谱(Zoom-FFT)提高。例如采样率 fs=10 kHz、N=8192,则 Δf≈1.22 Hz,足以分辨常见轴承故障频率。
功率谱估计常用 Welch 法:将长信号分段、加窗、做 FFT、取模平方后平均,可有效抑制随机噪声,得到平滑的功率谱。在轴承故障诊断中,若在功率谱上观察到外圈故障频率 BPFO 及其谐波处出现明显峰值,即可初步判定外圈故障。
三、时频分析小波变换:处理非平稳信号
工业信号常是非平稳的,例如启停过程、冲击衰减、转速波动。FFT 只能给出全局频率成分,无法反映频率随时间的变化。短时傅里叶变换(STFT)通过加窗实现局部化,但窗长固定,时频分辨率无法兼顾。小波变换用可伸缩、可平移的母小波替代固定窗,在高频处时间分辨率高、低频处频率分辨率高,更适合冲击和瞬态特征提取。
连续小波变换(CWT)适合观察信号的整体时频分布;离散小波变换(DWT)通过多分辨率分解把信号拆成近似系数和细节系数,常用于去噪和特征压缩。工程中常用 db4、sym8、morlet 等小波。以轴承冲击为例,对信号做 5 层 db4 小波分解,冲击成分通常集中在第 1~3 层细节系数中,对这些系数计算峭度或能量,可得到比原始时域峭度更敏感的特征。
四、特征选择与降维:去掉冗余,保留信息
提取出的特征往往有几十甚至上百个,存在冗余和噪声。特征选择保留原始物理含义,常用方法有:过滤法(方差阈值、相关系数、互信息)、包裹法(递归特征消除 RFE)、嵌入法(基于随机森林或 Lasso 的特征重要性)。降维则把特征映射到低维空间,主成分分析(PCA)是最常用的线性方法,t-SNE 和 UMAP 适合可视化。
选择策略上,若后续模型需要可解释性(如故障定位),优先用特征选择;若只追求分类精度且特征间高度相关,可用 PCA。实践中常先用方差阈值剔除近似常量特征,再用随机森林重要性排序,最后用 PCA 把剩余特征压缩到 5~10 维。
五、特征工程实战案例:轴承故障特征提取
下面以某工业电机轴承振动信号为例,演示从原始信号到低维特征集的完整过程。示例参数为教学假设:采样率 fs=12000 Hz,采样时长 1 s,共 12000 点;轴承外圈故障特征频率 BPFO≈104 Hz,内圈故障频率 BPFI≈157 Hz。
% 1. 读取信号并去均值
load bearing_vib.mat; % x: 12000x1 振动序列
x = x - mean(x);
% 2. 时域特征
rms_val = rms(x);
kurt_val = kurtosis(x);
peak_val = max(abs(x));
crest = peak_val / rms_val;
% 3. 频域特征(Welch功率谱)
fs = 12000;
[pxx, f] = pwelch(x, hann(1024), 512, 1024, fs);
[~, idx] = max(pxx);
peak_freq = f(idx); % 主峰频率
% 4. 小波特征(db4,5层分解)
[c, l] = wavedec(x, 5, 'db4');
d1 = detcoef(c, l, 1);
d2 = detcoef(c, l, 2);
d3 = detcoef(c, l, 3);
wav_kurt = kurtosis(d1) + kurtosis(d2) + kurtosis(d3);
% 5. 特征汇总
feat = [rms_val, kurt_val, crest, peak_freq, wav_kurt];
运行后若得到 rms_val≈0.85、kurt_val≈6.2、crest≈4.8、peak_freq≈104 Hz、wav_kurt≈18,则可判断:峭度明显高于 3,说明存在冲击成分;主峰频率接近 BPFO,指向外圈故障;小波细节系数峭度进一步放大了冲击特征。若同时采集了正常、内圈故障、外圈故障三类样本,可对每类提取上述 5 维特征,再用随机森林做分类,通常能得到较高的区分度。
六、特征工程中的常见问题与处理
第一,量纲不一致。RMS 可能是 0.1 量级,而峰值频率是 100 量级,直接送入距离敏感模型(如 KNN、SVM)会被大数值特征主导。应对每个特征做标准化(z-score)或归一化到 [0,1]。
第二,工况漂移。转速、负载变化会改变特征分布。可采用阶次分析把频率轴归一化到转频倍数,或按工况分段建模。
第三,特征冗余。时域峭度与小波细节峭度高度相关,同时保留会引入多重共线性。可用相关系数矩阵剔除相关系数大于 0.95 的特征对中的一者。
第四,过拟合。特征维度接近样本数时,分类器容易过拟合。应保证样本数至少是特征维度的 5~10 倍,或使用交叉验证评估泛化能力。
综上,工业信号特征工程的核心逻辑是:时域特征快速判断异常,频域特征定位故障频率,时频特征捕捉瞬态冲击,特征选择与降维压缩冗余。四者配合,才能把原始波形转化为真正可用于故障诊断的敏感特征集。