3. 农业传感器数据预处理基础

传感器采集到的原始数据几乎不可能直接用于建模或决策。以温室环境监测为例,一个空气温湿度节点每5分钟上报一次数据,一天就有288条记录;若同时接入土壤墒情、光照、CO₂浓度等十余类传感器,原始数据中会混杂通信丢包造成的空缺、网关重启导致的重复记录、不同设备时钟漂移引起的时间错位,以及传感器故障或电磁干扰产生的离群跳变。数据预处理的任务,就是在异常值识别之前把这些"脏"因素逐层清理,使后续的异常判定建立在可信、对齐、量纲一致的数据基础上。

数据清洗流程的整体骨架

工程上通常把预处理组织为一条有先后依赖的处理链:格式与字段规范化 → 重复记录去除 → 缺失值处理 → 时间序列对齐 → 重采样 → 数据标准化 → 异常值识别。顺序并非随意排列:缺失值必须在重采样之前处理,否则插值会作用在错误的采样网格上;标准化必须在异常值识别之前完成,否则量纲差异会掩盖真实离群点;而对齐则要先于重采样,保证同一时间戳上的多源数据真正对应同一物理时刻。下图给出了这条处理链的输入输出关系,以及异常值识别在其中的位置。

农业传感器数据预处理链与异常值识别的位置 原始数据 多节点 · 多类型 含空缺/重复/错位 ① 清洗与去重 字段规范化 重复时间戳合并 ② 缺失值处理 短缺口插值 长缺口标记 ③ 时间序列对齐 时钟校正 统一时间基准 ④ 重采样 降采样取均值 升采样插值 处理链折返:进入标准化与异常识别阶段 ⑤ 数据标准化 Z-score / 极差 消除量纲差异 ⑥ 异常值识别 3σ / IQR / 阈值 物理量程校验 洁净数据集 异常标记列 供建模/告警使用 识别出的异常点回写为缺失值,可再次插值或剔除 顺序约束要点 · 缺失值处理先于重采样,避免插值网格错位 · 对齐先于重采样,保证多源同一物理时刻 · 标准化先于异常识别,防止量纲掩盖离群点 · 物理量程校验可提前拦截明显故障值 · 异常识别结果可反馈修正缺失值策略

缺失值处理:先判断缺口性质,再选择填补方式

缺失值处理的关键不是"填上就行",而是先区分缺口成因。通信丢包通常表现为零散的单点缺失,可用线性插值或前向填充;设备断电、网关离线则形成连续长缺口,此时插值会凭空制造出并不存在的趋势,应当保留为缺失标记,交由后续模型或人工判断。以5分钟采样为例,若某温度序列在10:00—10:25连续缺失6个点,属于短缺口,可用前后有效值线性插值;若从10:00一直缺到12:00(25个点),则更可能是节点掉线,应标记为无效区间而非插值。

常用方法有三类:前向填充(用上一个有效值延续,适合变化缓慢的土壤温度)、线性插值(按时间距离加权,适合短缺口)、均值或中位数填充(适合随机性缺失,但会压缩方差)。实际工程中建议为每个填补值附加一个"是否插值"标志列,使下游分析能够区分真实观测与人工补全。

时间序列对齐与重采样

多源传感器往往各自独立计时,晶振漂移会让同一物理时刻的记录出现秒级甚至分钟级偏差。对齐的核心是建立一个统一时间基准:先通过网关NTP校时或记录设备上报的时钟偏移量进行校正,再把各序列的时间戳归并到同一时间网格上。若两序列采样时刻不完全重合,可采用最近邻匹配(取时间差最小的记录)或按时间加权合并。

重采样解决采样频率不一致的问题。降采样(如1分钟→5分钟)常用均值、最大值或末值聚合,其中温度宜用均值、降雨量宜用累加、开关量宜用末值;升采样(如10分钟→5分钟)则依赖插值。需要强调的是,重采样会改变数据的统计特性,聚合窗口越长,极端峰值被平滑得越明显,因此异常识别所用的窗口应与业务关注的时间尺度一致。

数据标准化与异常值识别的位置

标准化把不同量纲的传感器拉到可比尺度。Z-score标准化按 (x−μ)/σ 计算,适合近似正态的温度、湿度序列;极差标准化按 (x−min)/(max−min) 映射到[0,1],适合光照、CO₂等有明确物理区间的量。需要注意,μ和σ应使用训练期或历史基线数据估计,而不是包含待检异常点的当前窗口,否则异常值会抬高均值、拉大标准差,反而把自己"藏"起来。

异常值识别放在标准化之后,是因为3σ、IQR、马氏距离等判据都隐含"各维尺度可比"的前提。同时,在统计判据之前应先做物理量程校验——温度超出−40~80℃、湿度超出0~100%、土壤含水率出现负值,这类值无需统计即可判定为故障。统计判据负责捕捉"量程内但不合理"的跳变,物理校验负责拦截"量程外"的硬故障,两者互补。

异常值识别并非预处理链的终点:识别出的异常点通常回写为缺失值,再按缺口长度决定插值或剔除,形成一次小闭环。这一反馈关系已在图中以虚线标出。

一个可参照的处理参数示例

下表给出一组面向温室监测的合理假设参数,用于说明各环节如何落地,并非实测结果,实际项目应结合传感器手册与现场基线调整。

环节示例参数判断依据
去重同一设备同一时间戳保留首条网关重传导致重复上报
短缺口插值连续缺失≤6点(30分钟)线性插值通信丢包为主
长缺口标记连续缺失>6点标记无效疑似掉线,不制造趋势
重采样统一为5分钟网格,温度取均值与告警响应尺度一致
标准化Z-score,基线取近30天基线不含待检窗口
物理校验温度−40~80℃,湿度0~100%传感器量程与物理常识
统计判据|Z|>3 或 IQR 1.5倍量程内跳变检测