3. 发酵异常数据采集与预处理

发酵异常诊断的第一步不是“看曲线猜原因”,而是确认数据本身是否可信。发酵过程的数据来源包括pH电极、溶氧电极、温度探头、补料秤、尾气分析仪、搅拌功率计等,这些信号在长时间高温高湿、灭菌、酸碱腐蚀和搅拌振动环境下极易漂移、堵塞或断线。如果直接拿未经校验和清洗的数据做诊断,很可能把“电极漂移”误判为“菌体代谢异常”,把“通信丢包”误判为“溶氧骤降”。因此,本节把数据采集与预处理作为异常诊断的前置环节,重点解决四件事:传感器校验、数据清洗、缺失值处理、异常值处理。

一、传感器校验:先确认“尺子”准不准

传感器校验的核心是建立“标准值—示值”的对应关系,并判断偏差是否在允许范围内。发酵车间常用的校验方式有两点法和多点法。以pH电极为例,通常用pH 4.00、6.86、9.18三种标准缓冲液做三点校验,记录电极示值,计算斜率与零点偏移。若斜率低于95%或零点偏移超过±0.2 pH,说明电极老化或污染,应先清洗、再生,必要时更换,而不是继续用漂移数据做诊断。

溶氧电极常用无氧水(亚硫酸钠饱和溶液)和空气饱和水做两点校验。温度探头则用冰水混合物(0℃)和沸水(约100℃,需按当地气压修正)做校验。补料秤可用标准砝码做线性校验。校验结果应记录成可追溯的校验记录,包括校验日期、标准值、示值、偏差、结论和操作人。只有校验合格的传感器,其数据才进入后续清洗流程。

校验不是“一次性”工作。发酵周期长、灭菌频繁,建议每批灭菌前做一次快速校验,每5~10批做一次完整多点校验;对关键参数(pH、溶氧、温度)应设置校验有效期,过期数据自动标记为“待确认”。

二、数据清洗:把“脏数据”变成可用数据

数据清洗的目标是去除重复、错位、量纲不一致和明显不合理的记录。发酵数据常见的“脏”表现为:同一时间戳重复上报、时间戳乱序、单位不统一(如温度同时存在℃和K)、补料量出现负值、pH出现大于14或小于0的值。清洗步骤通常包括:统一时间戳格式与采样周期、按时间排序、去除重复记录、统一量纲、剔除物理不可能值。

例如,某批发酵的pH原始记录中出现pH=15.2和pH=-0.3,这显然超出电极量程,应直接标记为无效值,而不是参与均值计算。再如,补料秤在搅拌启动瞬间出现负值,通常是振动干扰,应结合前后时刻做平滑或标记为可疑。清洗后的数据应保留原始值、清洗标记和清洗规则编号,便于追溯。

三、缺失值处理:区分“真缺失”和“假缺失”

缺失值在发酵数据中非常普遍,原因包括通信中断、传感器离线、采样程序异常、人工记录漏填等。处理前先判断缺失类型:如果是短时间通信丢包(如1~3个采样点),可用线性插值或前值保持;如果是长时间断线(如超过10分钟),插值会掩盖真实异常,应标记为缺失段,并在诊断时降低该时段权重或直接排除。

对于离线检测数据(如效价、残糖、菌浓),缺失值不能简单插值,因为发酵过程是非线性的。此时可用同批次的在线参数(如OUR、CER、补料速率)建立回归模型做估计,但估计值必须标注为“估计值”,不能与实测值混用。若缺失比例超过20%,该批次数据不宜用于建模,只能用于定性参考。

四、异常值处理:别把“异常”洗掉

异常值处理是最容易出错的一步。发酵异常诊断恰恰需要保留“异常信号”,因此不能盲目用3σ或箱线图把所有离群点删除。正确的做法是先区分三类异常:一是传感器故障导致的错误值(如pH跳变到0或14),应剔除;二是真实工艺异常(如溶氧骤降、pH快速下跌),应保留并标记;三是瞬时干扰(如搅拌启动引起的溶氧波动),可平滑但需记录。

常用判断方法包括:物理量程判断、变化率判断、滑动窗口统计判断和多参数一致性判断。例如,溶氧在30秒内从60%降到5%,同时搅拌功率未变化、补料速率未变化,则更可能是电极故障或气泡干扰;若同时伴随OUR上升、pH下降,则更可能是菌体耗氧激增,属于真实异常,应保留。

发酵异常数据采集与预处理链路 传感器校验 → 数据清洗 → 缺失值处理 → 异常值处理 → 可信数据集 传感器层 pH电极 溶氧电极 温度探头 补料秤 / 尾气分析 采样周期:10s~60s 传感器校验 pH三点:4.00 / 6.86 / 9.18 DO两点:无氧水 / 空气饱和 温度:冰水 / 沸水修正 判定:斜率≥95%,偏移≤±0.2 不合格 → 清洗/再生/更换 数据清洗 统一时间戳与采样周期 去重、排序、统一量纲 剔除物理不可能值 保留原始值+清洗标记 例:pH=15.2 → 无效 缺失值处理 短缺失(≤3点):线性插值/前值保持 长缺失(>10min):标记缺失段 离线数据:回归估计并标注“估计值” 缺失比例>20%:不用于建模 原则:不掩盖真实异常 异常值处理:先分类,再决定去留 ① 传感器故障 pH跳变0/14 DO恒0或恒100 处理:剔除 并记录故障时段 ② 真实工艺异常 DO骤降+OUR升 pH快速下跌 处理:保留 并标记为异常事件 ③ 瞬时干扰 搅拌启动DO波动 补料秤振动负值 处理:平滑 但保留原始记录 异常判断依据 物理量程 变化率阈值 滑动窗口统计 多参数一致性 例:DO 30s内 60%→5% 结合OUR/pH判断 可信数据集 校验合格标记 清洗规则编号 缺失段标记 异常事件标签 用于后续诊断 与工艺优化 关键原则:校验先行、清洗留痕、缺失不掩盖、异常先分类——保留真实异常信号,剔除传感器错误数据

五、一个可执行的处理示例

假设某批发酵的溶氧数据在发酵第18小时出现一段异常:第18:00:00至18:00:30,DO从62%降到8%,采样周期10秒,共4个点。处理流程如下:

  1. 校验状态检查:该批灭菌前DO电极两点校验合格,斜率97%,零点偏移0.1%,传感器本身可信。
  2. 数据清洗:检查时间戳无重复、无乱序,DO值在0~100%量程内,无需剔除。
  3. 缺失值检查:该时段无缺失点,不插值。
  4. 异常值分类:查看同步参数——搅拌功率未变、补料速率未变、OUR从28 mmol/L/h升至52 mmol/L/h、pH从6.85降至6.62。多参数一致性指向“菌体耗氧激增”,属于真实工艺异常,应保留并标记为“DO骤降事件”。
  5. 结果输出:该段数据保留,附加标签“真实异常—耗氧激增”,供后续诊断使用。

如果同步参数显示搅拌功率、补料速率、OUR、pH均无变化,仅DO单独跳变,则应标记为“疑似电极故障”,并触发校验提醒。两种情况的处理结果完全不同,这正是“先分类、再处理”的价值。

六、预处理记录表(示例)

为了让预处理过程可追溯,建议每批发酵保留一份预处理记录。以下为示例字段,实际使用时可按车间要求调整:

时间戳 参数 原始值 校验状态 清洗动作 缺失标记 异常分类 处理结果
18:00:00 DO 62% 合格 无 无 真实异常 保留+标签
18:00:10 DO 35% 合格 无 无 真实异常 保留+标签
18:00:20 DO 15% 合格 无 无 真实异常 保留+标签
18:00:30 DO 8% 合格 无 无 真实异常 保留+标签
18:00:40 DO — 合格 无 缺失1点 — 线性插值
注意:插值只适用于短缺失且参数变化平缓的场合。若缺失点前后变化剧烈(如DO从8%跳到60%),插值会制造虚假的“恢复”过程,应改为标记缺失段,不参与趋势判断。

七、常见误区与检查要点

  • 误区一:先清洗再校验。校验不合格的传感器数据本身不可信,清洗没有意义。正确顺序是先校验、后清洗。
  • 误区二:用3σ删除所有离群点。发酵异常本身就是离群点,盲目删除会丢掉诊断线索。应先分类,再决定去留。
  • 误区三:缺失值一律插值。长缺失插值会掩盖断线、染菌、补料中断等真实问题,应标记缺失段。
  • 误区四:清洗后不保留原始值。没有原始值和清洗标记,后续无法复核,也无法判断是数据问题还是工艺问题。

总结来说,传感器校验解决“尺子准不准”,数据清洗解决“数据干不干净”,缺失值处理解决“断点怎么补”,异常值处理解决“异常要不要留”。四步做完,才能得到一份可用于发酵异常诊断的可信数据集。后续的异常识别、根因分析和工艺优化,都应建立在这份数据集之上。