滑动平均 vs 指数加权:平滑的两种代价
Moving Average vs EWMA
平滑能去噪,但也会抹掉真实变化。滑动平均给每段等权、有固定延迟;指数加权(EWMA)对近期加权、延迟小但记忆长。选哪个取决于你怕"噪声"还是怕"漏变"。
本文涉及的条目8 条 · 自动匹配自标签与标题
两种平滑
- 滑动平均(MA):取最近 N 个点的平均。窗口越大越平滑,但滞后也越大(对阶跃变化的响应延迟约 N/2 个采样)。
- 指数加权移动平均(EWMA):y_t = α·x_t + (1-α)·y_{t-1}。α 越大越跟手,越小越平滑。它像一个无限长、指数衰减的窗口。
代价对比
| 维度 | 滑动平均 MA(N) | EWMA(α) |
|---|---|---|
| 噪声抑制 | 随 N 增大 | 随 α 减小 |
| 阶跃响应延迟 | ~N/2 个采样(固定) | 与 α 相关(平滑则慢) |
| 内存/计算 | 需存 N 个历史 | 只需上一个值 |
| 突变检测 | 窗口内被稀释 | 同样被稀释,但恢复快 |
关键权衡
两者都会延迟对真实变化的响应并稀释突变幅度。如果用滑动平均去平滑一个报警判据,可能把真实的短时超限"平均掉"——这正是很多"漏报"的根源。
怎么选
- 只要看趋势、不敏感于突变(如日均值平滑):MA 直观、易解释。
- 要低延迟又要抑制高频噪声(如实时显示、轻量在线滤波):EWMA 更省资源、响应更快。
- 报警判据千万别先平滑再判:应先对原始值做统计判据(如连续 N 次超阈),再考虑平滑展示。
一个反直觉的点
EWMA 的"记忆"是无限的——一个很久以前的 spike 会以指数尾巴影响当前值。α 太小,旧异常久久不散;α 太大,平滑不足。选 α 本质是选"你愿意为降噪牺牲多少响应速度"。