2. 农业传感器数据特性与异常类型

在农业物联网系统中,传感器并不是“读数即真相”。同一支土壤湿度探头,在灌溉后、降雨中、昼夜交替和低温结露时,会呈现出完全不同的数据形态。异常检测算法的第一步,不是选模型,而是理解数据本身的时序性、周期性与噪声来源,并据此把异常划分为可定义、可标注、可处理的类型。否则,算法很容易把一次正常的灌溉响应判成故障,或把真正的传感器漂移当成田间波动而放过。

一、农业传感器数据的三个基本特性

时序性是农业数据最基础的结构。传感器通常按固定采样间隔输出读数,例如土壤墒情节点每 10 分钟上报一次,空气温湿度每 5 分钟一次。相邻时刻的读数高度相关:土壤含水量不会在 10 分钟内从 30% 跳到 5%,空气温度也不会瞬间变化 20℃。这种强自相关性意味着,判断某点是否异常时,必须参考它前后的历史值,而不能只看单点阈值。时序性还带来滞后效应——灌溉后土壤湿度上升往往滞后于阀门开启数分钟到数十分钟,异常检测需要容忍这种合理延迟。

周期性主要来自环境驱动。空气温度、相对湿度、光照强度、叶面湿度都呈现明显的日周期:清晨温度最低、午后最高,夜间湿度回升。土壤温度还有季节周期。周期性使得“同一读数在不同时刻含义不同”——相对湿度 95% 在清晨可能是正常的,在正午高温时段则可能意味着结露或探头积水。因此,异常判据往往需要结合时刻、季节或滑动窗口内的同期基线,而不是全年统一阈值。

噪声来源则决定了正常波动的边界。农业现场常见噪声包括:传感器本身的量化误差与电子噪声(通常较小且随机);供电波动与信号干扰,尤其在长距离 RS-485 或 LoRa 传输中;环境突变引起的短时抖动,如阵风吹过、叶片遮挡光照;以及安装与维护因素,如探头接触不良、电极结垢、线缆受潮。噪声多为高频、短时、可恢复的随机波动,而真正的异常往往具有持续性、方向性或与其他传感器不一致的特征。区分二者,是异常检测的核心难点。

农业传感器数据特性 → 异常类型判定 数据特性 时序性 相邻读数强相关 灌溉响应存在滞后 需参考前后历史值 周期性 温度/湿度/光照日周期 土壤温度季节周期 阈值需随时刻调整 噪声来源 量化误差 / 电子噪声 供电波动 / 传输干扰 阵风 / 叶片遮挡抖动 探头结垢 / 线缆受潮 特征 提取 异常类型与农业场景 ① 点异常(单点突变) 定义:单个读数显著偏离历史与同期基线,前后时刻正常 场景:土壤湿度 28% → 3% → 27%(探头瞬时接触不良) 判据:|xₜ − 滑动中位数| > k·MAD,且 xₜ₋₁、xₜ₊₁ 正常 ② 上下文异常(情境异常) 定义:数值本身在全局范围内,但在特定时刻/季节/工况下不合理 场景:正午 12:00 相对湿度 98%(疑似结露或探头积水) 判据:与同期时段基线比较,而非全年统一阈值 ③ 集体异常(模式异常) 定义:单点看似正常,但一段连续序列整体偏离应有模式 场景:灌溉后湿度持续 6 小时不上升(阀门未开或管路堵塞) 场景:多节点同时同向漂移(网关时钟或校准基准错误) 判据:窗口统计量 / 形状匹配 / 多传感器一致性检验

二、三类异常的定义与农业实例

点异常指单个或极少数读数显著偏离其历史与同期基线,而前后时刻恢复正常。它最接近“传感器故障”的直觉。典型农业实例是土壤湿度探头因电极接触不良,在某一采样点从 28% 突降到 3%,下一采样点又回到 27%。这类异常用滑动中位数配合 MAD(中位数绝对偏差)即可较好识别:设窗口长度 12(约 2 小时),计算中位数 m 与 MAD,当 |xₜ − m| > 3×1.4826×MAD 且前后点正常时判为点异常。需要注意,灌溉阀门启闭造成的阶跃变化是真实的,不应误判,因此判据中要加入“前后点是否恢复”的条件。

上下文异常指数值本身落在全局合理范围内,但在特定时刻、季节或工况下不合理。它最容易被固定阈值漏掉。典型实例是相对湿度在正午 12:00 读到 98%——从全年范围看 98% 并不越界,但正午高温时段出现接近饱和的湿度,往往意味着探头结露、积水或遮阴异常。识别这类异常,需要建立“时刻—基线”映射,例如按小时统计过去 14 天同一时刻的中位数与分位数,再判断当前值是否偏离同期分布。类似地,冬季土壤温度出现夏季量级、夜间光照出现正午量级,都属于上下文异常。

集体异常指单点看似正常,但一段连续序列整体偏离应有模式。它最难靠逐点阈值发现,却往往对应最有价值的农业事件。典型实例是灌溉指令下达后,土壤湿度在 6 小时内持续不上升——每个读数都在合理范围内,但“灌溉后应上升”的模式没有出现,提示阀门未开、管路堵塞或探头位置不当。另一类是多个节点同时同向漂移,例如同一网关下 8 个空气温度节点在 2 小时内整体偏移 +3℃,单看每个点都正常,合起来则指向网关时钟错乱或校准基准错误。集体异常通常需要窗口统计量、形状匹配或多传感器一致性检验来识别。

三、从特性到判据:一个可操作的判定流程

把上述特性落到工程上,可以形成一条清晰的判定链。首先对原始序列做时间对齐与缺失标记,确保采样间隔一致;其次用滑动窗口提取局部基线(中位数、MAD)与同期基线(按小时/季节分组的分位数);然后依次判断:单点是否越出局部基线且前后恢复(点异常);当前值是否偏离同期分布(上下文异常);窗口统计量或多节点一致性是否整体偏离(集体异常)。三级判据的优先级建议为“先点、再上下文、后集体”,因为点异常最容易确认,集体异常需要更多上下文证据。

需要强调的是,噪声与异常的边界不是固定的。阵风造成的短时抖动、灌溉造成的合理阶跃,都应在判据中显式容忍:前者可通过要求异常持续至少 2 个采样点来过滤,后者可通过引入阀门状态、降雨事件等外部信号作为条件变量。农业异常检测的实用性,很大程度上取决于是否把这些“已知的正常变化”写进了规则,而不是一味追求更复杂的模型。

教学示例中的 28%→3%→27%、正午 98% 湿度、6 小时不上升等数值均为说明性假设,用于演示判据逻辑,不代表真实田块实测结果。实际部署时应先用本场历史数据统计基线,再确定窗口长度与阈值系数。

四、标注与复核建议

异常类型定义清楚后,标注才有可操作性。建议为每条异常记录至少包含:时间戳、传感器编号、异常类型(点/上下文/集体)、触发判据、持续时长、关联事件(灌溉、降雨、维护)以及复核结论。复核时重点区分“传感器故障”与“真实农事事件”:前者通常表现为单点突变、无外部事件对应、恢复后基线不变;后者往往有阀门日志、降雨记录或相邻传感器的一致响应。把这一层判断沉淀下来,后续算法迭代才有可靠的标签基础。

综上,农业传感器数据的时序性要求我们看历史,周期性要求我们看时刻,噪声来源要求我们容忍合理波动;而点异常、上下文异常、集体异常三类划分,则把“哪里不对”转化为“用什么证据判断不对”。理解这三者的差别,是后续选择滑动窗口、同期基线、多传感器一致性等具体检测方法的前提。