4. 遥测数据特征工程
遥测原始数据本质上是按时间排列的多通道数值序列,直接把它送进告警模型往往效果很差:采样率不一致、量纲差异大、噪声与趋势混杂、异常点被均值稀释。特征工程的任务,就是把“一长串数字”转换成“能区分正常与异常的少量指标”。本节围绕时域、频域、统计三类特征展开,并给出面向告警场景的特征选择方法。
一、三类特征各自回答什么问题
时域特征描述信号在时间轴上的形态与变化速度,典型包括均值、峰峰值、均方根(RMS)、过零率、上升时间、一阶差分绝对均值等。它回答“信号现在处于什么水平、变化有多剧烈”。频域特征通过FFT或功率谱密度把信号分解到频率轴,典型包括主频、频谱质心、谱熵、特定频带能量占比、谐波幅值等,回答“振动或抖动的能量集中在哪个频率、是否出现新的频率成分”。统计特征则描述分布形态与离散程度,典型包括标准差、偏度、峰度、分位数、变异系数、相关系数等,回答“数据分布是否偏离历史常态”。
三类特征并非互相替代。以无人机电机转速遥测为例:RMS升高说明整体能量变大(时域),主频从120Hz漂移到180Hz说明转速或负载结构变化(频域),峰度从3升到8说明出现了冲击性尖峰(统计)。只有组合使用,才能把“渐变退化”和“突发冲击”区分开。
二、特征提取的实际计算过程
以一段长度为N的转速遥测序列 x[0..N-1] 为例,采样率 fs=100Hz,窗口取1秒(N=100)。时域特征可直接计算:均值 μ=Σx/N;RMS=√(Σx²/N);峰峰值=max(x)−min(x);一阶差分绝对均值=(1/(N−1))Σ|x[i]−x[i−1]|。频域特征先做去均值,再对加汉宁窗后的序列做FFT,得到幅度谱 A[k],主频即A[k]最大处对应的频率 f=k·fs/N;谱熵 H=−Σp[k]·log p[k],其中 p[k]=A[k]²/ΣA[j]²,谱熵越小说明能量越集中,越可能对应单一机械故障频率。
统计特征中,偏度衡量分布左右不对称程度,峰度衡量尖峰程度。正常轴承振动峰度接近3,当出现点蚀冲击时峰度会显著升高。变异系数 CV=σ/μ 是无量纲指标,适合跨通道比较波动程度。
# 示例:单窗口特征提取(Python 伪代码)
import numpy as np
x = window_data # 长度 N=100 的转速序列
mu = np.mean(x)
rms = np.sqrt(np.mean(x**2))
pp = np.max(x) - np.min(x)
diff_mean = np.mean(np.abs(np.diff(x)))
# 频域
x_detrend = x - mu
win = np.hanning(N)
spec = np.abs(np.fft.rfft(x_detrend * win))
freqs = np.fft.rfftfreq(N, d=1/fs)
main_freq = freqs[np.argmax(spec)]
p = spec**2 / np.sum(spec**2)
spec_entropy = -np.sum(p * np.log(p + 1e-12))
# 统计
std = np.std(x)
skew = np.mean(((x - mu)/std)**3)
kurt = np.mean(((x - mu)/std)**4)
cv = std / mu
三、面向告警的特征选择方法
提取出几十个特征后,不能全部送入告警模型。告警场景有三个特殊约束:一是要求低误报,二是要求对早期故障敏感,三是要求可解释。因此特征选择通常按以下顺序进行。
第一步,方差过滤。计算每个特征在正常工况下的方差,剔除方差接近零的特征,例如某通道长期恒定不变,它无法提供区分信息。
第二步,相关性去冗余。计算特征两两之间的皮尔逊相关系数,若|r|>0.95,说明两者高度线性相关,保留物理意义更明确、计算更稳定的一个。例如RMS与标准差在零均值信号中几乎等价,可只保留RMS。
第三步,重要性排序。用互信息或树模型特征重要性对剩余特征打分。互信息能捕捉非线性关系,适合振动、温度这类非高斯信号。示例中,主频漂移量、RMS、峰度往往排在前列。
第四步,告警代价加权。对漏报代价高的告警类型,适当放宽阈值保留更多特征;对误报代价高的类型,则收紧阈值,只保留最稳定的少数特征。最终形成低维、可解释的告警特征子集。
四、结果如何判断
特征工程是否有效,不能只看模型准确率。更直接的判断方式是:观察告警特征在故障发生前后的变化曲线。若某个特征在故障前30分钟已出现单调上升或频率偏移,说明它具备早期预警能力;若特征在故障前后几乎无变化,则应剔除。同时统计正常工况下该特征的波动范围,设定告警阈值时应留出足够裕量,例如取正常均值±3σ作为初值,再根据实际误报率微调。
综上,时域、频域、统计三类特征分别从水平、频率、分布三个视角描述遥测数据;面向告警的特征选择则通过方差过滤、相关性去冗余、重要性排序和代价加权四步,把高维特征压缩为低维、可解释、低误报的告警特征子集。这一过程是后续告警规则与模型能否稳定工作的基础。