2. 下游工艺批次数据采集与预处理实战
下游纯化车间的批次数据,本质上是一组多源、异步、采样率不一致的时间序列。层析系统(如 ÄKTA 类设备)以 1 Hz 记录紫外吸收、电导率、pH、系统压力与电导阀状态;在线紫外检测器可能以 2~5 Hz 输出;pH 与电导率探头经变送器后常为 0.2~1 Hz;而人工记录的收样体积、CIP 开始时间等事件则是离散的“点事件”。把这些信号直接拼成一张表,会得到大量错位与空值。本节的任务,就是把它们整理成一张以统一时间轴为索引、可追溯、可分析的批次数据集。
一、先明确时间基准与对齐规则
预处理的第一步不是清洗,而是确定“时间零点”。工程上常用两种基准:绝对时间戳(设备时钟,用于跨设备关联)和批次相对时间(以进样阀切换或 UV 起峰为 t=0,用于批间比较)。建议同时保留两列:timestamp_abs 与 t_rel_s,后者由前者减去批次起点得到,避免夏令时、设备时钟漂移带来的混乱。
对齐策略取决于信号性质。对于连续模拟信号(UV、电导、pH、压力),采用重采样到统一网格:先确定目标采样周期(下游层析常用 1 s),再用“前向填充 + 线性插值”组合处理。对阶跃型信号(如阀位、收集开始/结束标志),必须用前向填充(ffill)而非插值,否则会在阀切换瞬间造出不存在的中间状态。对离散事件(收样瓶号、CIP 阶段),用最近邻匹配挂到时间轴上,并单独标记为事件列。
二、缺失值的分类与处理
缺失不是一种情况,至少分三类,处理方式完全不同:
- 短时丢点(如 1~5 个采样周期内无数据):线性插值或样条插值,对 UV 峰形影响可忽略。
- 长时中断(如探头断连数十秒至数分钟):不得插值,应置为 NaN 并在分析时排除该区间,或整段标记为“不可用”。
- 结构性缺失(如某批次未接 pH 探头):整列缺失,需在元数据中记录,不能以 0 或均值填充。
一个常见误区是用全局均值填补 pH 缺失。层析过程中 pH 在洗脱段可能变化 1~2 个单位,均值填充会严重扭曲梯度段判断。正确做法是先按工艺阶段(平衡、上样、洗脱、再生)分段,再在段内做短时插值;跨段边界一律不插值。
三、异常点识别:物理约束优先于统计方法
异常识别应先立“物理护栏”,再用统计方法。物理护栏包括:UV 在 0~量程上限之间、电导率非负且不超过饱和值、pH 在 0~14、压力不超过柱压上限且不为负。越界值直接判为无效并置 NaN,而不是先平滑。
统计方法推荐组合使用:对 UV 与压力用滑动中位数 + MAD(中位数绝对偏差)识别尖峰,阈值取 |x - median| > 3 × 1.4826 × MAD;对电导率与 pH 用一阶差分阈值捕捉跳变,因为真实梯度变化是连续的,单点跳变多为气泡或电干扰。注意:层析峰顶的 UV 变化率本身很大,差分阈值必须按阶段设定,否则会把真实峰顶误判为异常。
# 示例:按阶段分段的 MAD 异常标记(参数为教学假设值)
for phase in ["equil", "load", "wash", "elute"]:
seg = df[df.phase == phase]["uv280"]
med = seg.rolling(31, center=True, min_periods=10).median()
mad = (seg - med).abs().rolling(31, center=True, min_periods=10).median()
df.loc[seg.index, "uv_flag"] = (seg - med).abs() > 3 * 1.4826 * mad
被标记的点不要直接删除,而是新增 uv_flag 布尔列,保留原始值。这样后续既可做“剔除后分析”,也可做“标记但保留”的敏感性对比,符合数据可追溯原则。
四、从清洗结果到可分析数据集
完成上述步骤后,应输出一张宽表:行是统一时间网格,列包括各信号原始值、清洗后值、异常标志、工艺阶段标签与事件列。同时生成一份批次数据质量摘要,记录各信号缺失率、异常点比例、时间偏移校正量、重采样周期。这份摘要本身就是批间可比性的证据——若某批次 UV 缺失率高达 15%,其峰面积积分结果的置信度就应下调。
五、一个可复用的处理顺序
把上述内容固化为顺序,能显著减少返工:① 读取各源原始文件并保留原始列;② 检查并校正设备时钟偏移;③ 建立统一 1 s 时间网格;④ 按信号类型分别重采样(模拟量插值、阶跃量 ffill、事件最近邻);⑤ 物理护栏过滤并置 NaN;⑥ 按工艺阶段分段做短时插值与 MAD 异常标记;⑦ 输出宽表与质量摘要。每一步都保留中间列,便于回溯。
最后需要强调:预处理的目标不是“让数据看起来干净”,而是“让数据在分析时可信”。异常点标记、缺失率、时钟偏移量这些看似负面的信息,恰恰是判断某批次峰面积、收率计算是否可靠的依据。把质量摘要与宽表一起交付,下游的批间趋势分析、偏差调查和工艺表征才有稳固的数据基础。