基线、趋势与异常
Baseline, Trend & Anomaly
理解一条时间序列,先分三层:基线(正常水平)、趋势(缓慢漂移)、异常(突发的、超出预期的点)。把三者混为一谈,要么漏报要么误报。
01
三层结构
一条监测时间序列通常叠加了三种成分:
- 基线(Baseline):正常的、反复出现的平均水平(含日/季节周期)。
- 趋势(Trend):缓慢的单向变化(如地下水位逐年下降、设备缓慢老化)。
- 异常(Anomaly):偏离基线+趋势的突发点,可能是真实事件或传感器故障。
为什么必须分开
- 把趋势当异常:水位缓慢下降是趋势,不是故障,误报为"异常"会麻木化报警。
- 把异常当趋势:一次传感器故障的尖峰被当成长期变化,结论全错。
- 把基线周期当异常:日变化/季节变化是基线的一部分,不能当成事件。
怎么识别
- 建基线:用历史数据估计正常水平与周期(日周期、季节周期)。
- 去周期看残差:剔除日/季节周期后,剩下的才是"非周期性变化"。
- 趋势提取:对残差做长期平滑(如滚动均值)看趋势。
- 异常判据:基于残差 + 不确定度设定阈值(如超过 3σ),分级触发。
- 区分真假异常:异常出现时先查同期环境/运维/设备状态,确认是真实事件还是故障。
报警设计
- 趋势触发"缓慢变化"预警(如连续 N 天下降)。
- 异常触发"突发"预警(如超 3σ)。
- 两者判据分开,避免混淆。
常见误区
- 用瞬时值超固定阈值判异常,把日周期峰值当异常。
- 没建基线,无法判断"现在正不正常"。
- 把传感器故障尖峰当成真实趋势,长期误判。
基线是"正常长什么样",趋势是"在往哪走",异常是"现在出了什么岔子"。三者分清,报警才既不漏也不吵。