4. 数据采集与预处理
软测量模型的质量上限,往往在数据进入算法之前就已经被决定了。过程工业中的数据来自DCS、PLC、智能仪表、实验室LIMS以及历史数据库,它们的时间戳、采样周期、量纲和噪声特性各不相同。若直接把这些原始数据拼接成训练矩阵,模型学到的可能不是工艺规律,而是通信延迟、时钟漂移和传感器故障。因此,数据采集与预处理是软测量工程中不可跳过的基础环节。
一、DCS/PLC数据接口:从现场到建模环境
DCS通常通过OPC DA/UA、Modbus TCP、Profibus或厂商私有协议对外提供实时位号;PLC则更多使用Modbus、S7通信或EtherNet/IP。工程上常见三种取数方式:
- 实时接口直采:通过OPC UA客户端订阅位号,适合在线软测量,但需处理网络抖动和会话中断。
- 历史库导出:从PHD、PI、InSQL或DCS历史站按时间段导出CSV/Parquet,适合离线建模。
- 网关汇聚:用边缘网关统一采集多套控制系统,再以MQTT或数据库写入建模平台,适合多装置协同。
接口配置中最容易出错的是位号映射与量纲。例如DCS中“TI101”可能是0~100℃的工程量,而PLC寄存器里是0~27648的原始码值。建议在采集层就建立位号字典,记录位号名、描述、工程单位、量程、采样周期和数据类型。
tag,description,unit,range_low,range_high,period_s,source
TI101,反应器入口温度,℃,0,200,1,DCS_OPC
FI102,进料流量,t/h,0,50,1,DCS_OPC
AI201,塔顶压力,MPa,0,2.5,2,PLC_Modbus
LAB301,产品纯度,%,90,100,3600,LIMS
二、时序数据对齐:让不同节奏的变量同频
软测量中,辅助变量与主导变量往往采样周期不同。温度、压力可能1秒一采,实验室分析可能每4小时一次。若不做对齐,模型会把“未来信息”混入训练集,造成虚高精度。常用策略包括:
- 重采样:统一到较慢周期,如1分钟;对快变量取均值、中位数或一阶保持。
- 时间窗聚合:对实验室分析值,取分析时刻前若干分钟的DCS均值作为对应输入。
- 滞后补偿:根据工艺停留时间,将辅助变量整体平移若干采样点,使因果顺序合理。
三、异常值检测、缺失值填补、滤波与降噪
异常值通常来自传感器故障、通信丢包、检修切手动和工况切换。检测方法可分为统计法、距离法和模型法:3σ与IQR适合单变量;马氏距离适合多变量相关性;孤立森林和自编码器适合高维非线性数据。缺失值填补则要根据缺失机制选择:短时丢包可用线性插值或前向填充;长时间缺失应标记为NaN并让模型支持缺失,或使用KNN、回归插补。
滤波与降噪的目标不是把曲线“磨平”,而是保留工艺真实动态。移动平均简单但会引入相位滞后;一阶低通滤波适合在线;Savitzky-Golay在保留峰形方面更好;小波阈值降噪适合非平稳信号。选择时需权衡平滑度与响应速度。
四、案例与复盘:延迟对齐带来的“假精度”
某催化裂化装置软测量项目初期,模型在测试集上R²达到0.96,但上线后预测严重滞后。复盘发现:训练时把实验室分析值直接与同一时间戳的DCS数据拼接,而实际分析值对应的是数小时前的反应状态。修正方法是按停留时间将辅助变量平移,并重新训练,R²降至0.89,但在线跟踪误差显著减小。这个案例说明,预处理阶段的因果对齐比追求离线指标更重要。
| 问题类型 | 常用方法 | 关键参数 | 注意事项 |
|---|---|---|---|
| 异常值检测 | 3σ、IQR、马氏距离、孤立森林 | 阈值、邻域大小、污染率 | 先区分故障与真实工况切换 |
| 缺失值填补 | 线性插值、前向填充、KNN、回归插补 | 最大填补长度、K值 | 长缺失应保留NaN标记 |
| 滤波降噪 | 移动平均、一阶低通、Savitzky-Golay、小波 | 窗口长度、截止频率、多项式阶数 | 避免过度平滑导致动态失真 |
| 时序对齐 | 重采样、时间窗聚合、滞后补偿 | 采样周期、停留时间 | 严禁未来信息泄漏 |
完成采集与预处理后,数据才具备进入特征工程和软测量建模的基本条件。工程上应把预处理流程脚本化、版本化,确保离线训练与在线推理使用完全一致的变换参数,这是软测量模型长期稳定运行的前提。