3. 漂移识别前的数据预处理

漂移识别算法对输入数据的“干净程度”和“规整程度”非常敏感。传感器原始数据往往存在采样中断造成的缺失、电磁干扰或通信错误造成的尖峰、多传感器时钟不同步造成的错位,以及采样率不一致等问题。如果直接把这些数据送入漂移检测模型,算法很可能把一次通信丢包误判为漂移突变,或把不同步的两路数据做相关分析而得出错误结论。因此,预处理的目标不是“美化数据”,而是消除与漂移无关的干扰因素,保留真实的缓变趋势。本节按缺失值处理、异常值初步筛查、时间序列对齐、重采样与平滑滤波五个环节展开,并说明每个环节对后续漂移识别的具体影响。

一、缺失值处理:先判断缺失机制,再选择填补策略

缺失值处理的第一步不是填补,而是统计缺失的分布特征。工程上通常先计算缺失率、连续缺失长度和缺失发生的时间规律。例如某温湿度传感器一天内缺失率为 2%,但缺失集中在每天 14:00—15:00 的空调启停时段,这提示缺失可能与供电波动或总线冲突有关,属于系统性缺失而非随机丢失。对于漂移识别而言,短时随机缺失可以用插值填补;而长时间连续缺失(如超过 30 个采样点)若强行插值,会人为制造一段“平坦”数据,掩盖真实漂移或制造虚假稳定段,此时更合理的做法是标记为无效区间,在后续漂移分析中剔除该段。

常用填补方法按适用场景区分:线性插值适合采样间隔均匀、变化平缓的温度、湿度信号;前向填充适合状态量或变化极慢的信号,但会引入滞后;样条插值在缺失段较长时容易产生过冲,需谨慎使用。以 1 分钟采样的温度序列为例,若在 10:00—10:05 连续缺失 5 个点,前后值分别为 23.4 ℃ 和 23.8 ℃,线性插值得到 23.48、23.56、23.64、23.72、23.80 ℃,这种填补对漂移识别的影响可以忽略;但若缺失段长达 2 小时,插值结果实际上是一条直线,不能作为漂移判断依据。

二、异常值初步筛查:区分尖峰、卡死与真实突变

异常值筛查要解决的核心问题是:哪些点该被剔除或修正,哪些点必须保留。传感器数据中常见的异常包括单点尖峰(如电磁干扰导致的跳变)、连续卡死(读数长时间不变)、越界值(超出量程)和通信错误码。对于单点尖峰,常用 3σ 准则或中位数绝对偏差(MAD)方法识别。MAD 方法对异常值更稳健,其判定式为 |xi − median(x)| > k · MAD,k 通常取 3~5。以一组 PM2.5 浓度数据为例,中位数为 35 μg/m³,MAD 为 2.1,若某点读数为 52 μg/m³,则偏差 17 远大于 3×2.1=6.3,可判定为疑似尖峰。

需要特别注意的是,漂移本身表现为缓慢趋势变化,不应在异常值筛查阶段被当作异常剔除。因此筛查窗口不宜过长,建议采用滑动窗口逐段判断,窗口长度取 1~2 小时,避免把数小时尺度的真实漂移误判为异常。对于卡死数据,可通过计算连续相同值的长度来识别,例如连续 20 个采样点读数完全一致且方差为零,应标记为疑似卡死段。筛查结果建议保留原始值并增加“异常标记”列,而不是直接删除,以便后续漂移分析时回溯。

三、时间序列对齐:统一时间基准是后续所有处理的前提

多传感器系统中,各设备往往独立采集、独立上传,时间戳可能存在秒级甚至分钟级偏差。时间序列对齐的任务是把不同来源的数据映射到统一时间基准上。常用做法是以主传感器或网关时钟为基准,将其他传感器的时间戳按最近邻或线性插值方式对齐到统一时间网格。若已知某传感器存在固定时钟偏移(例如每天慢 8 秒),应先做偏移校正再对齐,而不是简单重采样。

对齐时还需处理重复时间戳和乱序记录。重复时间戳通常取均值或保留最后一条;乱序记录应按时间排序后再处理。对于漂移识别而言,对齐精度直接影响两路信号的互相关分析和趋势对比,若两路数据错位超过一个采样周期,缓慢漂移的斜率估计就会出现偏差。工程上建议对齐后检查关键事件(如校准操作、环境突变)在两路数据中是否落在同一时间点,作为对齐质量的快速验证。

四、重采样与平滑滤波:在保真与抑噪之间取平衡

重采样用于统一采样率。降采样时若直接抽取,会引入混叠,应先做抗混叠低通滤波再抽取;升采样时常用线性插值或零阶保持。平滑滤波则用于抑制高频噪声,使缓变漂移趋势更清晰。常用方法包括滑动平均、中值滤波、Savitzky-Golay 滤波和一阶低通滤波。滑动平均实现简单但会削弱真实突变;中值滤波对尖峰抑制效果好,适合异常值残留较多的场景;Savitzky-Golay 滤波在平滑的同时能较好保留趋势和峰值形状,适合需要观察漂移斜率变化的场合。

滤波参数的选择需要与漂移时间尺度匹配。若漂移表现为数天尺度的缓慢变化,而噪声是分钟级波动,则滤波窗口可取 30~60 分钟,既能压制噪声又不会明显改变漂移趋势。窗口过长会把真实漂移“抹平”,窗口过短则噪声残留。实际应用中建议先用不同窗口做对比,观察滤波后序列的漂移斜率是否稳定,再确定参数。

漂移识别前的数据预处理链路 原始传感器数据 缺失 / 尖峰 / 错位 采样率不一致 缺失值处理 统计缺失率与连续长度 短缺失:线性插值 长缺失:标记无效区间 异常值初步筛查 MAD / 3σ 识别尖峰 连续同值判卡死 保留原值 + 异常标记 时间序列对齐 统一时间基准 校正固定时钟偏移 处理重复与乱序 重采样 降采样先抗混叠滤波 升采样用插值 统一采样率 平滑滤波 滑动平均 / 中值滤波 Savitzky-Golay 窗口匹配漂移尺度 干净规整数据集 统一时间网格 异常标记完整 趋势保真、噪声受抑 进入漂移识别 趋势分析 / 斜率估计 / 阈值判断 关键原则 • 筛查窗口不宜过长,避免误删真实漂移 • 长缺失段标记而非强行插值 • 滤波窗口与漂移时间尺度匹配 • 保留原始值与处理标记以便回溯

五、处理顺序与结果验证

上述五个环节并非完全串行。工程上较合理的顺序是:先做时间对齐(否则后续统计窗口没有意义),再做缺失值处理,然后异常值筛查,接着重采样统一采样率,最后平滑滤波。异常值筛查放在缺失处理之后,可以避免把填补值误判为异常;平滑滤波放在最后,避免滤波把异常值扩散到邻近点。

处理完成后应做三项快速验证:一是检查处理前后序列的缺失率和异常标记数量是否合理;二是观察平滑后序列是否仍保留预期的缓变趋势,可用分段斜率对比;三是确认对齐后关键事件时间戳一致。若平滑后漂移斜率与原始数据差异过大,说明滤波窗口可能过长,需要回调参数。预处理不是越“干净”越好,而是要在抑制干扰和保留真实漂移信息之间取得平衡,为后续漂移识别提供可信的输入。