3. 发酵异常数据采集与预处理
发酵异常诊断的第一步不是“看曲线猜原因”,而是确认数据本身是否可信。发酵过程的数据来源包括pH电极、溶氧电极、温度探头、补料秤、尾气分析仪、搅拌功率计等,这些信号在长时间高温高湿、灭菌、酸碱腐蚀和搅拌振动环境下极易漂移、堵塞或断线。如果直接拿未经校验和清洗的数据做诊断,很可能把“电极漂移”误判为“菌体代谢异常”,把“通信丢包”误判为“溶氧骤降”。因此,本节把数据采集与预处理作为异常诊断的前置环节,重点解决四件事:传感器校验、数据清洗、缺失值处理、异常值处理。
一、传感器校验:先确认“尺子”准不准
传感器校验的核心是建立“标准值—示值”的对应关系,并判断偏差是否在允许范围内。发酵车间常用的校验方式有两点法和多点法。以pH电极为例,通常用pH 4.00、6.86、9.18三种标准缓冲液做三点校验,记录电极示值,计算斜率与零点偏移。若斜率低于95%或零点偏移超过±0.2 pH,说明电极老化或污染,应先清洗、再生,必要时更换,而不是继续用漂移数据做诊断。
溶氧电极常用无氧水(亚硫酸钠饱和溶液)和空气饱和水做两点校验。温度探头则用冰水混合物(0℃)和沸水(约100℃,需按当地气压修正)做校验。补料秤可用标准砝码做线性校验。校验结果应记录成可追溯的校验记录,包括校验日期、标准值、示值、偏差、结论和操作人。只有校验合格的传感器,其数据才进入后续清洗流程。
二、数据清洗:把“脏数据”变成可用数据
数据清洗的目标是去除重复、错位、量纲不一致和明显不合理的记录。发酵数据常见的“脏”表现为:同一时间戳重复上报、时间戳乱序、单位不统一(如温度同时存在℃和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下降,则更可能是菌体耗氧激增,属于真实异常,应保留。
五、一个可执行的处理示例
假设某批发酵的溶氧数据在发酵第18小时出现一段异常:第18:00:00至18:00:30,DO从62%降到8%,采样周期10秒,共4个点。处理流程如下:
- 校验状态检查:该批灭菌前DO电极两点校验合格,斜率97%,零点偏移0.1%,传感器本身可信。
- 数据清洗:检查时间戳无重复、无乱序,DO值在0~100%量程内,无需剔除。
- 缺失值检查:该时段无缺失点,不插值。
- 异常值分类:查看同步参数——搅拌功率未变、补料速率未变、OUR从28 mmol/L/h升至52 mmol/L/h、pH从6.85降至6.62。多参数一致性指向“菌体耗氧激增”,属于真实工艺异常,应保留并标记为“DO骤降事件”。
- 结果输出:该段数据保留,附加标签“真实异常—耗氧激增”,供后续诊断使用。
如果同步参数显示搅拌功率、补料速率、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点 | — | 线性插值 |
七、常见误区与检查要点
- 误区一:先清洗再校验。校验不合格的传感器数据本身不可信,清洗没有意义。正确顺序是先校验、后清洗。
- 误区二:用3σ删除所有离群点。发酵异常本身就是离群点,盲目删除会丢掉诊断线索。应先分类,再决定去留。
- 误区三:缺失值一律插值。长缺失插值会掩盖断线、染菌、补料中断等真实问题,应标记缺失段。
- 误区四:清洗后不保留原始值。没有原始值和清洗标记,后续无法复核,也无法判断是数据问题还是工艺问题。
总结来说,传感器校验解决“尺子准不准”,数据清洗解决“数据干不干净”,缺失值处理解决“断点怎么补”,异常值处理解决“异常要不要留”。四步做完,才能得到一份可用于发酵异常诊断的可信数据集。后续的异常识别、根因分析和工艺优化,都应建立在这份数据集之上。