2. 工业设备数据基础
时序预测模型的上限,往往不由算法决定,而由数据本身决定。在工业场景中,设备数据来自不同厂商、不同协议、不同年代的传感器,采样节奏各异、时钟不同步、缺失与异常交织。如果不在建模前把数据基础打牢,再复杂的模型也只能学到噪声。本节围绕传感器类型、采集频率、时间戳对齐、缺失值与异常值处理、数据质量评估五个环节,建立一套可落地的数据准备认知框架。
一、传感器类型:决定数据的物理含义与噪声特征
工业设备上常见的传感器可按被测物理量分为几大类,每类信号的噪声形态、采样需求和后续处理方式都不同。
- 振动传感器(加速度计):用于旋转机械的轴承、齿轮箱监测,输出高频波形,采样率常达 10 kHz~50 kHz,关注频谱特征而非单点数值。
- 温度传感器(热电偶、RTD、红外):变化缓慢,采样周期通常为秒级到分钟级,噪声以低频漂移为主。
- 压力与流量传感器:反映液压、气动、管道工况,采样率多为 1~100 Hz,易受脉冲干扰。
- 电流/电压传感器:用于电机负载与能耗分析,与设备启停状态强相关。
- 位移与转速传感器:编码器、接近开关,输出离散脉冲或计数值,用于工况分段。
理解传感器类型,本质是理解“这条曲线为什么长这样”。把振动信号和温度信号用同一套清洗规则处理,是初学者最常见的错误之一。
二、数据采集频率:快慢之间的取舍
采集频率(采样率)决定了数据能保留多少信息。根据奈奎斯特采样定理,要还原频率为 f 的信号成分,采样率必须大于 2f。工程上通常取 2.5~5 倍余量。
但采样率并非越高越好。高频采集带来存储、传输和计算成本的急剧上升。实际项目中常采用分层策略:振动等快变量用高频采集并做边缘特征提取,温度、压力等慢变量用低频采集直接上传。
# 典型工业采集频率参考
振动加速度: 25600 Hz # 轴承故障特征频率可达数 kHz
电机电流: 1000 Hz # 兼顾谐波与负载波动
液压压力: 100 Hz # 捕捉压力脉动
温度: 1 Hz # 热惯性大,秒级足够
转速/工况: 10 Hz # 用于状态分段
三、时间戳对齐:让不同节奏的数据说同一种语言
多源数据融合的核心难题是时间戳对齐。不同传感器可能由不同采集卡、不同 PLC、不同网关上传,时钟偏差从毫秒到数分钟不等。对齐的目标是把所有通道映射到统一的时间轴上。
常用方法有三类:
- 重采样对齐:将高频数据降采样、低频数据插值,统一到目标频率(如 1 Hz)。适合慢变量融合。
- 最近邻/前向填充对齐:为每个目标时间点选取时间上最接近的原始采样值,适合状态量、开关量。
- 基于事件的对齐:以设备启停、报警等事件为锚点,对齐前后窗口,适合故障复盘。
对齐前必须先做时钟校准。若各通道时间戳存在固定偏移,可通过互相关分析估计偏移量并补偿。忽略时钟问题,会让“温度升高导致振动增大”这类因果分析彻底失真。
四、缺失值与异常值处理:区分“没采到”和“采错了”
缺失值通常由通信中断、传感器掉线、网关重启造成;异常值则来自电磁干扰、传感器故障或真实工况突变。两者处理逻辑完全不同。
缺失值处理:短时缺失(如几个采样点)可用线性插值或前向填充;长时缺失应标记为无效段,避免用插值“编造”数据。对于预测任务,缺失本身也是一种特征,可增加“缺失指示位”。
异常值处理:先判断是“错误异常”还是“真实异常”。错误异常用 3σ 准则、IQR 四分位距或滑动窗口 Z-score 检测后修正;真实异常(如故障冲击)必须保留,否则会抹掉最有价值的故障信息。
# 滑动窗口 Z-score 异常检测示例
window = 60 # 窗口长度
threshold = 3.5 # 阈值
for i in range(window, len(series)):
seg = series[i-window:i]
z = (series[i] - seg.mean()) / (seg.std() + 1e-6)
if abs(z) > threshold:
flag_as_anomaly(i) # 标记,而非直接删除
五、数据质量评估:用指标说话
数据质量评估应形成可量化的报告,作为是否进入建模阶段的准入依据。常用维度包括完整性、有效性、一致性、时效性和稳定性。
| 评估维度 | 含义 | 典型指标 | 建议阈值 |
|---|---|---|---|
| 完整性 | 应有数据是否齐全 | 缺失率 | < 5% |
| 有效性 | 数值是否在物理量程内 | 越界率 | < 1% |
| 一致性 | 多通道时间戳是否对齐 | 时钟偏移 | < 1 个采样周期 |
| 时效性 | 数据延迟是否可接受 | 端到端延迟 | 依场景而定 |
| 稳定性 | 统计分布是否漂移 | 均值/方差漂移率 | < 10% |
六、案例与复盘:一次温度预测失败的数据溯源
某项目对减速箱温度做趋势预测,模型离线指标很好,上线后却频繁误报。复盘发现三个数据问题:其一,温度传感器与振动传感器时钟相差 47 秒,融合特征实际错位;其二,通信中断造成的缺失段被前向填充,掩盖了真实停机;其三,清洗时把一次真实过热冲击当作异常值剔除,导致模型从未见过该模式。
修正措施包括:接入 NTP 统一时钟并记录偏移量;缺失段显式标记为无效而非填充;异常检测只做标记、不做删除,由业务确认后再决定处理方式。修正后误报率下降约 60%。