2. 批次数据采集与预处理实战
工业发酵批次的数据从来不是一张干净的表格。它至少来自三条互不同步的通道:一是DCS/SCADA按固定周期(常见1 s~1 min)自动采集的在线传感器数据,如温度、pH、溶氧(DO)、搅拌转速、通气量、罐压、尾气CO₂/O₂;二是化验室按班次或按工艺节点取样测定的离线数据,如菌体浓度、残糖、氨基氮、产物效价、杂酸;三是人工记录的补料、加碱、升温、诱导、放罐等操作事件。这三类数据在时间基准、采样频率、量纲和可靠性上都不一致,预处理的核心任务就是让它们在同一个时间轴上"对得上、说得通"。
一、多源数据的结构差异与整合思路
在线数据是"高频、连续、带时间戳"的时序流,通常以位号(tag)标识,例如 BIO101.PV 表示1号罐某参数的过程值。离线数据是"低频、离散、带取样时刻"的样本点,其数值实际反映的是取样那一刻的罐内状态,但化验结果往往几小时后才回填。操作记录则是"事件型"数据,只有发生时刻和动作描述,没有连续数值。整合时建议统一为三张表:时序表(时间戳+位号+数值)、离线表(取样时间+指标+数值+化验回填时间)、事件表(发生时间+事件类型+参数)。三张表以"批次号+时间戳"为关联键,最终合并为一张以批次内相对时间(发酵小时数,h)为索引的宽表。
二、时间对齐:先统一时钟,再统一采样
时间对齐分两层。第一层是时钟校正:DCS服务器、化验室LIMS、人工记录表可能各自走时,甚至存在时区或夏令时差异。实操中应先用同一台标准时钟核对各系统时间偏差,把偏差量记录在批次元数据里,再统一换算到"接种时刻为0"的发酵相对时间。第二层是采样对齐:在线数据频率高,离线数据频率低,需要选定一个分析基准频率(例如每10 min一个点),把高频数据降采样(取均值或保留瞬时值),把低频离线点按取样时刻对齐到最近的基准点。
离线点对齐有一个容易出错的细节:化验值对应的是"取样时刻"的罐内状态,而不是"化验回填时刻"。若把回填时间当作数据时间,会人为造成数小时的滞后,后续做相关性分析时会把因果关系完全搞反。因此离线表必须同时保留sample_time和report_time两个字段,分析一律用sample_time。对于补料、加碱这类事件,通常把事件时刻对齐到其发生后的第一个基准点,并在事件表中记录持续时长(如补料速率维持了多久),避免把"瞬时事件"误当成"单点数值"。
三、缺失值处理:区分"没测到"和"不该有"
缺失分三种情况,处理方式完全不同。第一种是短时通信中断,例如pH电极清洗或信号抖动造成几分钟到十几分钟的空洞,这类缺口用线性插值或前向填充即可,误差可控。第二种是长时缺失,例如DO电极故障停用数小时,此时任何插值都是编造数据,正确做法是保留缺失标志,在建模时将该时段排除或作为掩码输入。第三种是结构性缺失,例如某指标只在特定工艺阶段才检测,其他时段本就没有值,这类"不该有"不能当缺失处理,应标记为"不适用"。
一个可操作的判断规则是:缺口长度小于基准间隔的2~3倍时允许插值;超过该阈值则只标记不填补。插值后还应记录插值点数占比,若某参数插值比例超过10%~15%,该参数在本批次的可信度就要打折扣,需在分析结论中注明。
四、异常点识别:物理规则优先,统计规则辅助
发酵数据的异常点识别应遵循"先物理、后统计"的顺序。物理规则包括量程检查(如pH合理范围约2~12、温度不超过灭菌上限)、变化率检查(如溶氧在数秒内跳变几十个百分点通常意味着电极故障或断线)、以及参数间一致性检查(如通气量与罐压同时归零,多半是空压系统问题而非真实工艺变化)。统计规则可用滑动窗口的3σ准则或滑动中位数绝对偏差(MAD),对每个参数在局部时间窗内计算偏离程度。
关键原则是:异常点应被标记,而不是直接删除。删除会破坏时间序列的连续性,也会掩盖设备故障这一重要信息。建议在宽表中增加flag_anomaly列,记录异常类型(量程越界/跳变/统计离群),分析时按需选择是否剔除。对于确认为传感器故障的区段,可用同批次其他相关参数或历史批次同相位数据做参考替换,但必须保留原始值以便追溯。
五、质量校验与清洗日志
预处理完成后应做一次整体校验:核对补料总量与罐内体积变化是否吻合、碳源消耗与菌体生长和产物合成是否大致平衡、pH调节剂用量与pH曲线走势是否一致。这些物料与酸碱平衡检查能发现单参数检查漏掉的系统性错误。同时生成清洗日志,逐条记录每个批次做了哪些对齐、插值、标记操作及其依据,这是后续复盘和审计的基础。下面给出一个可直接参考的清洗日志字段示例:
batch_id, param, issue_type, start_time, end_time, action, basis
B2024-017, pH, 短缺口, 12.5h, 12.8h, 线性插值, 缺口<3倍基准间隔
B2024-017, DO, 长缺失, 30.0h, 34.2h, 标记不填补, 电极故障停机
B2024-017, 残糖, 异常点, 48.0h, 48.0h, 标记离群, 偏离滑动中位数>5MAD
B2024-017, 补料, 事件对齐, 24.0h, 26.0h, 对齐至24.0h基准点, 记录持续2h
完成上述步骤后,得到的宽表才适合进入批次特征提取、轨迹对齐和批次间比较等后续分析。预处理阶段投入的细致程度,直接决定了后面所有分析结论的可信度——一条被错误对齐的离线曲线,足以让整个批次的因果判断失效。