661 字3 分钟

基线、趋势与异常

Baseline, Trend & Anomaly

理解一条时间序列,先分三层:基线(正常水平)、趋势(缓慢漂移)、异常(突发的、超出预期的点)。把三者混为一谈,要么漏报要么误报。

01

三层结构

一条监测时间序列通常叠加了三种成分:

  • 基线(Baseline):正常的、反复出现的平均水平(含日/季节周期)。
  • 趋势(Trend):缓慢的单向变化(如地下水位逐年下降、设备缓慢老化)。
  • 异常(Anomaly):偏离基线+趋势的突发点,可能是真实事件或传感器故障。

为什么必须分开

  • 把趋势当异常:水位缓慢下降是趋势,不是故障,误报为"异常"会麻木化报警。
  • 把异常当趋势:一次传感器故障的尖峰被当成长期变化,结论全错。
  • 把基线周期当异常:日变化/季节变化是基线的一部分,不能当成事件。

怎么识别

  1. 建基线:用历史数据估计正常水平与周期(日周期、季节周期)。
  2. 去周期看残差:剔除日/季节周期后,剩下的才是"非周期性变化"。
  3. 趋势提取:对残差做长期平滑(如滚动均值)看趋势。
  4. 异常判据:基于残差 + 不确定度设定阈值(如超过 3σ),分级触发。
  5. 区分真假异常:异常出现时先查同期环境/运维/设备状态,确认是真实事件还是故障。

报警设计

  • 趋势触发"缓慢变化"预警(如连续 N 天下降)。
  • 异常触发"突发"预警(如超 3σ)。
  • 两者判据分开,避免混淆。

常见误区

  1. 用瞬时值超固定阈值判异常,把日周期峰值当异常。
  2. 没建基线,无法判断"现在正不正常"。
  3. 把传感器故障尖峰当成真实趋势,长期误判。

基线是"正常长什么样",趋势是"在往哪走",异常是"现在出了什么岔子"。三者分清,报警才既不漏也不吵。