4、食品加工数据采集与清洗:传感器数据、ERP/MES系统数据、手工记录数据的采集方法,数据清洗、缺失值处理、异常值检测

食品加工企业的数据来源高度异构:生产线上PLC/传感器以毫秒级频率产生连续信号,ERP/MES系统以订单、工单、批次为单位产生结构化事务数据,而质检员、仓管员、设备点检员仍大量依赖纸质单据或Excel录入形成手工数据。三类数据在时间粒度、编码规则、精度标准上天然不一致,若直接进入分析模型,轻则产生偏差,重则导致质量追溯链断裂。本章聚焦“采集—清洗—修复—验证”全链路,帮助学员建立从原始信号到可用数据资产的标准作业流程。

食品加工数据采集与清洗链路 数据源层(采集) • 传感器/PLC:温度、压力、转速 • ERP:订单、物料、库存事务 • MES:工单、批次、设备状态 • 手工:质检记录、点检表、投料单 采集频率:ms级 ~ 天级 数据清洗层(处理) ① 格式标准化(时间/单位/编码) ② 缺失值处理(插补/剔除/标记) ③ 异常值检测(3σ/IQR/DBSCAN) ④ 重复值/矛盾值消解 ⑤ 数据血缘与版本记录 清洗规则:业务规则+统计规则 目标层(输出) • 统一时序数据库(质量/能耗) • 批次级分析宽表 • 实时监控看板数据 • 追溯/审计就绪数据 质量:准确、完整、一致、及时 数据质量规则反馈 → 调整采集频率/补录流程/传感器校准 关键质量指标(KQI) 完整性:非空比例 ≥ 99.5%(关键字段) 准确性:与人工复核偏差 ≤ 0.5% 一致性:跨系统同一字段冲突率 ≤ 0.1% 及时性:传感器数据延迟 ≤ 2s,MES事务延迟 ≤ 30s 清洗优先级 P0:影响食品安全/追溯的字段 P1:影响成本/效率计算的核心指标 P2:辅助分析类数据 P3:可延迟修复的弱关联数据

4.1 三类数据源的采集方法与技术要点

4.1.1 传感器/PLC数据采集

核心原理:食品产线中的温度传感器(如杀菌釜热分布)、压力变送器(如均质机)、转速计(如灌装机转阀)通过OPC UA、Modbus TCP或Profinet协议接入边缘网关,网关以固定周期(通常1~5秒)轮询或订阅方式采集数据,打上时间戳后暂存本地,再批量上传至时序数据库(如InfluxDB、TDengine)。关键设计原则是“边缘缓存+断点续传”,避免网络抖动导致数据空洞。

采集要素推荐配置说明
采样频率温度/压力:1~5s;振动:1kHz(FFT分析)过高浪费存储,过低丢失工艺细节
时间同步NTP/PTP,误差<100ms跨设备时序对齐的基础
数据格式统一为浮点数+Unix时间戳+设备ID避免字符串解析开销
传输协议MQTT/OPC UA(带QoS)支持断线重连与消息确认
经验提醒:传感器数据采集最容易忽略“设备时钟漂移”。某肉制品厂曾因PLC时钟每天慢3秒,导致杀菌温度曲线与批次记录错位,追溯时无法还原真实工艺。建议每周自动校准一次设备时钟,并在采集端记录“设备本地时间”与“服务器接收时间”两个字段。

4.1.2 ERP/MES系统数据采集

核心原理:ERP(企业资源计划)侧重结果数据——物料出入库、采购订单、财务成本;MES(制造执行系统)侧重过程数据——工单派发、工序报工、设备参数、质检结果。采集方式以API接口(REST/SOAP)为主,辅以数据库视图只读同步。关键挑战是两套系统的编码体系不一致(如ERP物料编码与MES物料编码不同),需要在采集层建立映射表。

-- 示例:MES工单与ERP订单关联清洗SQL
SELECT 
  m.work_order_id,
  m.batch_no,
  e.sales_order_no,
  m.product_code AS mes_code,
  e.material_code AS erp_code,
  CASE WHEN m.product_code = e.material_code THEN 'MATCH'
       ELSE 'MISMATCH' END AS code_status
FROM mes_work_order m
LEFT JOIN erp_sales_order e 
  ON m.source_order_id = e.order_id
WHERE m.create_date >= '2025-01-01';

4.1.3 手工记录数据采集

核心原理:质检员的微生物检测结果、设备点检员的巡检记录、投料工的原料批次登记,仍大量依赖纸质单据。采集方式包括:①移动端表单(平板/手机扫码录入);②OCR识别(对既有纸质单据拍照自动提取);③语音录入(适合双手被占用场景)。手工数据最大的问题是“延迟录入”和“笔误”,必须设计二次确认机制。

风险提示:手工数据是食品追溯链中最薄弱的环节。某饮料厂曾因投料工在交接班时补录前2小时投料记录,导致某批次实际投料量与系统记录偏差8%,险些造成配方违规。建议对手工录入设置“时间戳锁定”——超过30分钟不允许补录,必须走异常审批流程。

4.2 数据清洗:从原始到可用的标准流程

4.2.1 格式标准化与编码统一

清洗的第一步不是处理缺失值,而是让所有数据“说同一种语言”。具体操作:

  1. 时间格式统一:将“2025/3/1 14:30”与“2025-03-01 14:30:00”统一为ISO 8601标准(YYYY-MM-DDTHH:mm:ss.sssZ)。
  2. 单位换算:温度传感器可能输出℉,压力可能输出kPa,需统一为℃和MPa。
  3. 枚举值映射:设备状态“RUN”“运行”“1”统一为枚举值1(运行)。
  4. 编码对齐:建立ERP物料编码↔MES物料编码↔条码的映射字典表。

4.2.2 缺失值处理策略

食品加工数据缺失的典型场景:传感器断电导致温度曲线中断、质检员漏填某项指标、MES工单未关联ERP订单。处理策略需结合数据用途:

缺失类型推荐方法适用场景注意事项
连续变量(温度/压力)线性插值 / 前向填充短时间中断(<5分钟)长时间缺失需标记,不可盲目插值
离散变量(设备状态)众数填充 / 状态保持状态切换瞬间丢失需结合前后状态判断合理性
关键质量指标(菌落总数)不填充,标记为“未检出”微生物检测缺失涉及食品安全,不可用均值替代
业务关联字段(订单号)规则匹配回填MES工单缺ERP关联按时间+产品+数量模糊匹配
关键原则:缺失值处理必须保留“清洗痕迹”——即记录哪些值被填充、用什么方法填充、原始值是什么。这不仅是审计要求,也是后续模型调优的重要参考。

4.2.3 异常值检测方法

食品加工数据异常分为三类:传感器故障(如热电偶断路输出满量程值)、真实工艺波动(如蒸汽压力骤降)、录入错误(如小数点点错)。检测方法需组合使用:

  • 统计法:3σ原则(正态分布)、IQR(四分位距)——适合稳定工艺参数。
  • 时序法:移动平均残差、CUSUM(累积和)——适合检测缓慢漂移。
  • 密度法:DBSCAN、LOF——适合发现孤立点,但计算量大。
  • 业务规则法:如杀菌温度不得低于121℃且持续时间不得少于15分钟——硬性约束。
# Python示例:IQR法检测温度异常
import numpy as np
temps = np.array([121.3, 121.5, 121.2, 121.8, 99.5, 121.4, 121.6])
q1, q3 = np.percentile(temps, [25, 75])
iqr = q3 - q1
lower, upper = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = temps[(temps < lower) | (temps > upper)]
print(f"异常值: {outliers}")  # 输出 [99.5]

4.3 实战案例:某乳制品厂杀菌工序数据清洗闭环

背景与约束:某乳制品厂巴氏杀菌线,目标是将杀菌温度波动控制在±0.5℃以内。现有数据源:①温度传感器(每2秒采集,共8个测点);②MES工单记录(每批次一条,含设定温度、实际时长);③手工记录(操作工每小时抄表一次)。初始现象:分析报告显示某批次温度曲线出现“毛刺”,但MES记录显示合格。

分析判断过程:

  1. 将8个测点的2秒数据与MES批次时间对齐,发现第3号测点在14:32~14:35期间出现连续跳变(121.2→118.7→122.3→119.1),波动幅度达3.6℃。
  2. 对照手工记录,操作工在14:30抄表值为121.4℃,未记录异常。
  3. 检查传感器状态字,发现该测点在第3次跳变时返回“传感器自检失败”标志。
  4. 判定为传感器接触不良,而非真实工艺波动。

实际操作步骤:

  • 将该时段3号测点数据标记为“无效”,不参与批次均值计算。
  • 用相邻测点(2号和4号)的均值进行插补,并记录插补标记。
  • 触发设备维护工单,更换热电偶探头。
  • 在数据清洗规则库中新增规则:当传感器状态字非“正常”时,数据自动降级为“可疑”。

结果对比:清洗前该批次温度标准差为0.82℃,清洗后降至0.31℃,符合工艺要求。更重要的是,追溯系统能够明确区分“真实温度”与“传感器故障数据”,避免了误判。

复盘经验:①传感器自诊断信息必须纳入采集范围,不能只采主值;②手工记录无法替代高频传感器,但可用于低频交叉验证;③清洗规则需要持续迭代——每次发现新异常模式,就应固化为自动规则。

4.4 常见误区与总结复盘

误区后果正确做法
所有缺失值一律用均值填充掩盖真实波动,误导工艺优化区分缺失机制(随机/非随机),关键参数不填充
异常值直接删除丢失真实工艺异常信号先分类(故障/真实/录入),再决定处理方式
清洗规则不记录版本分析结果无法复现每次清洗生成数据血缘报告
只关注传感器数据,忽略手工数据追溯链断裂建立多源交叉验证机制
清洗后数据直接入库,不做质量验证下游分析“垃圾进,垃圾出”设置数据质量KQI看板,每日监控
总结:食品加工数据采集与清洗不是一次性项目,而是持续运营的工程能力。核心要点可归纳为:采集要“全”(多源覆盖)、清洗要“准”(规则可解释)、处理要“留痕”(血缘可追溯)、质量要“可视”(KQI看板)。只有将这三类数据源在统一框架下治理,后续的能耗分析、质量预测、设备诊断才有可靠的数据基础。