3. 误差评价指标体系
做负荷预测这么多年,我最大的体会就是:没有评价,就没有改进。你想想看,模型跑出来一堆预测值,到底准不准?光靠肉眼瞅曲线,那是不行的。我们需要一套统一的尺子,来量一量误差到底有多大。
这套尺子,就是误差评价指标体系。今天咱们就聊聊最常用的四个指标:AE、MAE、RMSE、MAPE。它们各有各的脾气,用错了地方,会把你带沟里去。
核心观点:没有完美的指标,只有合适的指标。选对指标,比调模型参数更重要。
3.1 绝对误差(AE)—— 最基础的砖块
绝对误差,英文叫 Absolute Error,简称 AE。说白了就是:预测值减去真实值,再取绝对值。
数学定义很简单:
AE = |y_pred - y_true|
嗯,这里要注意:AE 是单个点的误差。它不告诉你整体表现,只告诉你「这个点差了多少」。我在项目中经常用它来做实时监控——比如某个时刻预测偏差突然飙到 50 MW 以上,系统立刻报警,说明模型可能出问题了。
我的习惯:每次跑完预测,第一件事就是画出 AE 的时间序列图。如果发现某个时段 AE 持续偏高,那十有八九是那个时段有特殊事件(比如节假日、极端天气)没处理好。
3.2 平均绝对误差(MAE)—— 最直观的尺子
MAE 就是把所有点的 AE 加起来,再除以样本数。公式长这样:
MAE = (1/n) * Σ|y_pred_i - y_true_i|
MAE 的好处是什么?单位跟原始数据一样。比如你预测的是负荷(单位 MW),MAE 算出来也是 MW。这就很直观——你直接说「我这个模型平均误差是 15 MW」,老板一听就懂。
我个人习惯用 MAE 做模型对比。比如 LSTM 和 XGBoost 哪个好?看 MAE 就行。数值小的那个,整体表现更稳定。
避坑指南:我曾经犯过一个错误——只看 MAE 就下结论。后来发现 MAE 虽然小,但个别点误差极大。MAE 对异常值不敏感,它会把大误差「平均」掉。所以,MAE 小不代表没有坏点。
3.3 均方根误差(RMSE)—— 惩罚大误差的狠角色
RMSE 的公式:
RMSE = sqrt( (1/n) * Σ(y_pred_i - y_true_i)² )
你看,它先把误差平方,再开方。这一平方,大误差就被放大了。举个例子:
- 两个点误差分别是 1 和 9,MAE 是 5
- 但 RMSE 是 sqrt((1+81)/2) ≈ 6.4
看到了吗?RMSE 比 MAE 大,就是因为那个 9 被平方后贡献了 81。
所以,RMSE 对异常值非常敏感。你想想看,如果负荷预测在某个时刻突然差了 100 MW,RMSE 会立刻飙升。这在电力系统里很重要——因为大误差可能导致电网调度失误,后果很严重。
我在做短期负荷预测时,通常同时看 MAE 和 RMSE。如果两者差距很大(比如 RMSE 比 MAE 大 30% 以上),我就知道模型在某些点上「崩了」,需要去查原因。
经验之谈:MAE 和 RMSE 的差值,可以看作「误差波动性」的指标。差值越大,说明模型越不稳定。
3.4 平均绝对百分比误差(MAPE)—— 无量纲的通用标尺
MAPE 的公式:
MAPE = (100%/n) * Σ|(y_pred_i - y_true_i) / y_true_i|
MAPE 最大的特点是无量纲。它用百分比表示误差,跟数据的量级无关。这就方便了——你可以拿 MAPE 去比较不同量级的模型。比如一个预测负荷(几千 MW),一个预测风速(十几 m/s),用 MAPE 就能放在一起比。
但是!MAPE 有个致命缺陷:当真实值接近零时,分母趋近于零,MAPE 会爆炸。我在做光伏预测时就吃过这个亏——晚上发电功率接近零,MAPE 直接飙到几千%,根本没法看。
我曾经踩过的坑:有一次汇报,我兴冲冲地展示 MAPE 只有 3.5%,领导也很满意。结果后来发现,那段时间负荷基数特别大,MAPE 被「稀释」了。实际上模型在低负荷时段表现很差。从那以后,我养成了习惯——看 MAPE 之前,先检查数据分布。
3.5 四个指标怎么选?一张表说清楚
| 指标 | 单位 | 对异常值敏感度 | 适用场景 |
|---|---|---|---|
| AE | 与原始数据相同 | 中等 | 单点监控、实时告警 |
| MAE | 与原始数据相同 | 低 | 模型整体对比、日常评估 |
| RMSE | 与原始数据相同 | 高 | 需要惩罚大误差的场景(如电网安全) |
| MAPE | 百分比(无量纲) | 中等(但受分母影响) | 跨模型/跨量级对比(注意避开零值) |
3.6 实战中的组合拳
说了这么多,你可能会问:那我到底用哪个?
我的建议是:别只用一种。我自己的习惯是:
- 日常监控:看 MAE,简单直观
- 模型选型:MAE + RMSE 一起看,兼顾平均水平和波动性
- 汇报展示:用 MAPE,老板喜欢百分比
- 异常排查:画 AE 时间序列图,定位问题时段
举个例子,我之前做过一个项目,用 LSTM 预测某区域负荷。MAE 是 12 MW,RMSE 是 18 MW,MAPE 是 2.8%。看起来不错对吧?但 AE 图一画出来,发现每天下午 2-4 点误差明显偏大。后来一查,是那个时段光伏出力波动剧烈,模型没学到这个规律。这就是组合拳的好处——每个指标告诉你不同的故事。
一个小技巧:如果你发现 RMSE / MAE 的比值大于 1.3,基本可以断定模型存在「偶尔崩一次」的问题。这时候别急着调参数,先去查那些大误差点对应的时刻发生了什么。
好了,误差评价指标就聊到这儿。记住:指标是工具,不是目的。选对工具,才能看清问题。下一节咱们聊聊误差补偿方法,到时候会用到今天讲的这些指标来评估补偿效果。
公众号:蓝海资料掘金营,微信deep3321