4. 检测数据预处理与有效性判断

在线检测系统在前处理槽液、镀层厚度、膜重或表面形貌时,传感器输出的原始数据几乎不可能直接进入计算模型。原因很直接:探头污染、气泡、电磁干扰、工件进出槽的瞬态、采样时钟漂移,都会让数据里混入尖峰、断点和错位。若把这些数据直接代入浓度换算、镀层厚度计算或工艺校核公式,误差会被放大,甚至得出与真实状态相反的结论。因此,预处理不是"美化数据",而是保证后续计算与校核输入可靠的必要环节。本节围绕四件事展开:异常值识别、缺失值处理、滤波平滑、采样同步,并给出可操作的判断依据。

一、先明确数据对象与采样约定

以一条连续镀锌线的在线检测为例:pH 电极每 2 s 输出一次电位换算值,锌离子浓度由取样泵配合比色/滴定模块每 60 s 给出一个结果,镀层厚度由 X 射线测厚仪每 500 ms 输出一个点。三类数据的时间尺度不同,量纲不同,噪声特性也不同。预处理前必须先约定:时间戳统一采用设备本地时钟并记录时区;浓度单位统一为 g/L,厚度统一为 μm;所有数据保留原始值和时间戳,预处理只生成新列而不覆盖原始列,便于追溯。这一约定是后面所有判断的前提,参照系一旦混乱,后续同步和滤波都会失去意义。

二、异常值识别:先定规则,再定阈值

异常值分两类:物理不可能值和统计离群值。物理不可能值用硬规则直接判废,例如 pH 超出 0~14、锌离子浓度为负、镀层厚度为负或超过设备量程上限、相邻两点跳变超过量程的 30%。统计离群值则用稳健方法识别,推荐中位数绝对偏差(MAD):对一段窗口内的数据计算中位数 M 和 MAD,若某点满足 |x−M| > k·1.4826·MAD,则标记为可疑,k 常取 3~5。相比均值±3σ,MAD 不受尖峰本身影响,更适合在线数据。

识别出可疑点后不要立即删除,而应先标记并回看工艺状态:若同一时刻泵在切换、工件正在入槽、或探头刚完成清洗,则该点更可能是真实瞬态而非错误,应保留并加"瞬态"标签;若无可解释的工艺事件,才进入剔除或替换流程。这一"先标记、后处置"的顺序能避免把真实工艺变化误删。

三、缺失值处理:区分随机缺失与成段缺失

缺失通常来自通信丢包、探头离线、取样泵空转。处理原则按缺失长度分级:单点或连续 1~2 点缺失,用线性插值补齐;连续 3~10 点缺失,用同工况历史段的中位数或前向保持填充,并标注"插补";连续超过 10 点或超过一个完整工艺周期,不插补,直接标记该时段数据无效,后续计算跳过该窗口。切忌对长段缺失做样条外推,外推值没有物理依据,会污染校核结果。所有插补值必须带标记列,统计报告中应给出插补比例,一般建议单变量插补比例超过 5% 时,该时段数据不参与正式校核。

四、滤波平滑:按信号特性选方法

pH 信号慢变、噪声小,用一阶低通或滑动平均即可;镀层厚度信号含高频噪声但要求保留边缘,宜用中值滤波(窗口 5 点)先去尖峰,再做短窗滑动平均;锌离子浓度采样稀疏,不宜重滤波,只做 3 点中值即可。滤波窗口不能随意加大:窗口过大会把工件切换造成的真实阶跃抹平,导致厚度计算滞后。工程上可用"滤波前后阶跃响应上升时间"来校验,若上升时间被拉长超过工艺允许的响应时间,就应缩小窗口。下面给出一个可直接套用的滑动中值加低通的组合示例(Python 风格伪代码,参数为示例假设):

# 示例参数:厚度信号 2 Hz 采样,窗口 5 点
def preprocess_thickness(x, ts):
    x = median_filter(x, size=5)          # 先去尖峰
    y = lowpass(x, alpha=0.3)             # 一阶低通,alpha 越小越平滑
    valid = mark_by_mad(y, k=4)           # MAD 标记可疑点
    return y, valid
# 阶跃校验:滤波前后 10%→90% 上升时间差应 < 工艺允许值

五、采样同步:把不同节拍的数据对齐到同一时间轴

同步的核心是重采样到统一时间栅格。做法是:选定一个基准栅格(如 1 s),对高频信号做降采样(先滤波再抽取,避免混叠),对低频信号做保持或线性插值,并记录每个对齐值来自哪个原始时间戳。对于存在固定传输延迟的通道(如取样泵管路延迟约 20 s),必须先做时延补偿再对齐,否则浓度与厚度在时间上错位,相关性分析会失真。同步完成后应做一次"事件对齐检查":用一次已知的加料事件,看各通道响应是否落在预期时间窗内,偏差超过半个采样周期就要复查时钟或延迟参数。

原始多源数据 → 预处理 → 有效性判断 → 可靠输入 原始数据源 pH 电极 2 s 锌离子 60 s 测厚仪 500 ms 预处理四步 ① 异常值识别(MAD) ② 缺失值分级插补 ③ 滤波平滑(中值+低通) 采样同步 统一 1 s 时间栅格 时延补偿(约 20 s) 事件对齐检查 有效性判断 插补比例 ≤ 5% 无长段缺失 阶跃响应未失真 通过 → 进入计算/校核 保留原始列与标记列 不通过 → 标记无效 跳过窗口,不参与校核 关键原则:先标记后处置;插补值必须带标记;滤波窗口以阶跃响应不失真为上限; 同步前先做时延补偿,再用已知加料事件做对齐检查。以上参数均为示例假设,实际以设备与工艺为准。

六、有效性判断与可追溯记录

预处理完成后,需要给出每个时间窗口的"有效性结论",而不是只给一串处理后的数字。建议至少记录:窗口起止时间、各变量插补比例、被剔除的异常点数、滤波参数、同步时延补偿值、是否通过有效性判断。判断规则可归纳为三条硬门槛:单变量插补比例不超过 5%;不存在超过 10 点的连续缺失;滤波后关键阶跃的上升时间变化不超过工艺允许值。三条同时满足才判为有效,否则该窗口标记无效并在校核中跳过。这样做的价值在于:当后续浓度换算或镀层厚度校核出现偏差时,可以快速回溯是工艺真实变化,还是预处理阶段引入了失真。

实操建议:把预处理参数(MAD 的 k 值、滤波窗口、插补上限、时延补偿)写入配置文件并版本化管理,每次校核报告附带参数版本号。同一批数据用不同参数处理会得到不同结论,参数不固定,校核结果就不可复现。
常见误区:一是看到尖峰就删,把工件入槽的真实瞬态当噪声;二是对长段缺失做样条外推,得到"看起来平滑"的假数据;三是先降采样后滤波,造成混叠;四是忽略管路传输延迟,直接把浓度和厚度按同一时间戳对齐。这四类错误都会让后续计算"输入可靠"这一前提失效。

把上述流程固定下来后,预处理就不再是零散的经验操作,而是一道有明确输入、明确规则、明确通过/不通过结论的质量关口。只有通过这道关口的数据,才适合进入浓度换算、镀层厚度计算与工艺校核环节;未通过的数据应如实标记为无效,而不是用插补或外推"补"成可用数据。