1. 发酵过程数据特征与建模任务界定
发酵过程的数据建模,第一步不是选算法,而是把“数据长什么样”和“建模要解决什么问题”说清楚。发酵罐里同时发生着菌体生长、基质消耗、产物合成和代谢副产物积累,传感器每几秒到几分钟采集一次温度、pH、溶氧、搅拌转速、通气量、尾气二氧化碳与氧气、补料称重等信号,实验室还会间歇取样测定菌体浓度、残糖、产物效价。这些数据共同构成了一个多变量、强耦合、随时间漂移、批次之间又不完全一致的对象。若忽视这些特性直接套用回归或神经网络,模型往往在训练集上表现良好,一到新批次就失效。
一、发酵数据的四个基本特征
多变量与强耦合。一个50 L或500 L发酵罐通常有十余路在线信号,加上离线检测指标,变量维度可达二十以上。它们并非独立变化:提高搅拌转速会同时改变溶氧、剪切力和传热;补糖速率上升会推高耗氧,进而拉低溶氧,pH也可能因代谢产酸而下降。建模时若把变量当作彼此独立的列,就会丢失这种耦合信息,因此需要关注变量间的相关结构、滞后关系和共同驱动因素。
非线性。菌体生长在低浓度基质下近似一级,在高浓度下受抑制;产物合成常与比生长速率呈非单调关系;溶氧对摄氧率的响应在临界氧浓度附近出现明显拐点。这些关系用线性模型难以刻画,通常需要非线性回归、分段模型或带非线性激活的机器学习模型。
时变与漂移。同一批次内,菌体生理状态从延滞期、对数期、稳定期到衰亡期不断变化,模型参数并非恒定;跨批次看,原料批次差异、种子活力、电极老化、罐体清洗状态都会造成缓慢漂移。因此建模要区分“批次内动态”和“批次间差异”,前者适合状态空间或时序模型,后者需要批次效应校正或迁移学习。
批次差异与数据不均衡。不同批次的时长、补料策略、终点效价各不相同,采样点也不对齐;正常批次多、异常批次少,故障或染菌样本稀缺。这决定了评价时不能只看整体误差,还要看对关键阶段和少数异常批次的识别能力。
二、把建模任务说清楚:目标、输入、输出
建模任务界定要回答四个问题。第一,预测目标是什么:是预测发酵终点效价、当前菌体浓度、残糖下降趋势,还是提前若干小时预警异常?目标不同,标签构造方式完全不同。第二,输入信号有哪些:在线信号采样频率高但噪声大,离线检测准确但稀疏,操作变量(补料速率、搅拌设定)反映人为干预,必须纳入。第三,输出形式与粒度:是单点值、带置信区间的估计、未来若干小时的趋势曲线,还是“正常/异常”类别?第四,约束条件:模型能否在工控机上实时运行,报警允许的延迟是多少,是否需要可解释性以说服工艺人员。
以头孢菌素C发酵为例,一个合理的任务界定是:以发酵前48小时的在线信号(pH、溶氧、补糖速率、尾气CO₂释放率)和两次离线菌浓为输入,预测第72小时的产物效价,输出为点估计加80%预测区间,评价采用留批交叉验证的RMSE和区间覆盖率。这样定义后,数据预处理、特征构造和模型选择才有明确方向。
三、从原始数据到可建模样本
实际数据到手后,先做三件事。其一是时间对齐:在线信号按分钟聚合,离线检测按取样时刻插值或保持,操作变量按事件记录对齐到时间轴。其二是缺失与异常处理:电极漂移造成的溶氧突降、补料称重跳变,应结合工艺知识判断是真实事件还是测量故障,不能一律用均值填补。其三是批次样本构造:将每个批次整理为“时间×变量”的矩阵,并附上批次级标签(终点效价、是否染菌),形成可做留批验证的数据集。
四、评价维度不能只看误差
对趋势预测类任务,除RMSE、MAE外,还应关注趋势方向一致性和拐点提前量。例如预测溶氧下降趋势,若模型提前2小时给出下降信号,工艺人员才有调整补料或通气的窗口;若滞后到已经触底才报警,精度再高也失去意义。对异常预警任务,则要同时看误报率和漏报率,并结合批次不均衡问题采用召回率、F1或代价敏感指标。泛化性方面,建议至少做留一批次验证和跨罐验证,观察指标下降幅度,判断模型是否过度依赖某一批次的特定操作轨迹。
把这些维度在建模开始前写成一张简短的“任务卡”,记录目标变量、输入清单、输出形式、验证方案和验收阈值,后续每次迭代都对照检查,可以避免模型越做越复杂却偏离实际需求。发酵过程建模的难点往往不在算法本身,而在于是否把数据特性和业务目标界定清楚。