
传感器和 IoT 时间序列数据的 AI 训练流水线准备
构建传感器和 IoT 时间序列数据 AI 训练流水线的实操指南——涵盖窗口策略、归一化方法、异常标注以及振动、温度、压力和声学传感器类型的训练/测试划分。
工业 IoT 部署现在每天产生数 TB 的传感器数据。旋转设备上的振动监测器、工艺产线上的温度探头、液压系统中的压力传感器以及结构部件上的声发射传感器都产生连续的时间序列流。消费这些数据的 AI 模型——用于预测性维护、异常检测和工艺优化——只 能与供给它们的数据准备流水线一样好。
原始传感器数据与模型就绪训练集之间的差距是巨大的。原始传感器流包含通信故障导致的缺口、校准衰减导致的漂移、电磁干扰导致的噪声以及不同步时钟的时间戳。将这些转化为干净的、窗口化的、已标注的、正确划分的训练数据需要一个系统化的流水线来处理每种传感器类型的特定特征。
按传感器类型的流水线架构
不同的传感器类型产生根本不同的数据特征。一个一刀切的预处理流水线要么会过度处理简单信号,要么会处理不足复杂信号。下表将每种常见传感器类型映射到其流水线需求:
| 传感器类型 | 采样率 | 信号特征 | 关键预处理步骤 | 常见 AI 任务 |
|---|---|---|---|---|
| 振动(加速度计) | 1-50 kHz | 高频、周期性带谐波、由负载调幅 | 带通滤波、FFT 特征提取、包络分析、按转速周期倍数进行窗口化 | 轴承故障检测、不平衡分类、齿轮啮合分析 |
| 温度(热电偶/RTD) | 0.1-10 Hz | 低频、缓慢漂移、工艺过渡时的阶跃变化 | 异常值去除、缺失读数插值、变化率计算、热滞后补偿 | 过热预测、工艺偏差检测、热失控早期预警 |
| 压力(传感器) | 10-1000 Hz | 中频、液压系统中的周期性、批次工艺中的阶跃函数 | 尖峰去除、移动平均平滑、周期分割、压力-流量相关性 | 泄漏检测、泵退化、阀门故障预测 |
| 声学(麦克风/AE传感器) | 10-200 kHz | 极高频、宽带带有事件驱动突发 | 高通滤波、频谱图生成、事件检测和分割、背景噪声消除 | 裂纹扩展、工具磨损、轴承故障(早期阶段) |
阶段 1:摄入和时间戳对齐
传感器数据以各种格式到达,从工业协议(OPC UA、MQTT、Modbus)到历史数据库的平面 CSV 导出,再到数据采集系统的专有二进制格式。摄入阶段必须将所有数据源归一化为一致的时间索引格式。
时间戳对齐是最被低估的预处理步骤。在多传感器系统中,每个传感器可能有自己的时钟。一个以 10 kHz 采样的振动传感器和一个以 1 Hz 采样的温度传感器需要在计算任何跨传感器特征之前对齐到一个共同的时间基准。
| 对齐挑战 | 原因 | 解决方案 |
|---|---|---|
| 时钟漂移 | 传感器时钟随时间发散(典型值:1-10 ppm) | 使用 NTP 同步的参考时间戳重采样到共同时间基准 |
| 缺失时间戳 | 通信中断、缓冲区溢出 | 短缺口(不超过采样周期的 5 倍)使用插值;较长缺口使用缺口标记 |
| 不规则采样 | 事件触发的传感器、网络抖动 | 使用线性或三次插值重采样到均匀间隔 |
| 时区不一致 | 传感器配置在不同时区或 UTC 偏移 | 在任何处理之前将所有时间戳归一化为 UTC |
Ertas Data Suite 通过其解析节点处理基于 CSV 和 Excel 的传感器数据导出,Format Normalizer 节点标准化时间戳格式,Anomaly Detector 在下游处理之前标记缺口和不规则性。
阶段 2:清洗和降噪
原始传感器数据包含来自多种来源的噪声,适当的清洗策略取决于每种传感器类型的信噪比特征。
常见噪声源和修复方法:
| 噪声源 | 受影响的传感器 | 识别方法 | 修复方法 |
|---|---|---|---|
| 电磁干扰 (EMI) | 振动、声学 | FFT 中的固定频率尖峰(50/60 Hz 及其谐波) | 在电源频率处使用陷波滤波器 |
| 传感器饱和 | 所有类型 | 在传感器最大值或最小值处的平直线 | 标记并从训练数据中排除饱和窗口 |
| 校准漂移 | 温度、压力 | 数周/数月内的基线逐渐偏移 | 使用已知参考点进行基线校正 |
| 通信伪影 | 所有数字传感器 | 重复的相同值、突然跳到零 | 对孤立尖峰使用中值滤波器;对重复值使用缺口填充 |
| 环境瞬变 | 声学、振动 | 与设备无关的高幅值、短时突发 | 带持续时间阈值滤波的事件检测 |
清洗阶段必须在去除噪声的同时保留真实异常。这是传感器数据准备中的核心矛盾:激进的滤波去除了噪声,但也可能去除预测性维护模型需要检测的早期故障特征。一般原则是在清洗过程中应用最小滤波,然后让模型架构通过自身学习的表征来处理剩余噪声。
阶段 3:窗口策略
时间序列模型不直接消费原始流。数据必须被分割为窗口(固定长度的子序列),这些窗口成为单独的训练样本。窗口设计直接影响模型能学到什么。
| 窗口参数 | 决策因素 | 典型值 |
|---|---|---|
| 窗口长度 | 必须捕获至少 2-3 个感兴趣的最低频率模式的完整周期 | 振动:1-10 秒;温度:5-60 分钟;压力:1-30 秒;声学:0.1-1 秒 |
| 重叠 | 更高的重叠产生更多训练样本,但增加冗余和数据泄露风险 | 50% 重叠是标准;小数据集用 75%;测试集用 0% |
| 步长 | 重叠的反数;控制窗口每步前进多远 | 50% 重叠时为窗口长度的一半 |
带重叠窗口的训练/测试划分关键规则: 重叠窗口绝不能跨越训练/测试边界。如果窗口 N 在训练集中而窗口 N+1(与 N 重叠)在测试集中,模型在训练期间就看到了测试数据。始终先按时间划分,然后在每个划分内进行窗口化。