误差评估指标整理:MAE、RMSE、MASE、MAPE、SMAPE、OWA、RMSLE

1. 误差评估指标的作用

在预测任务中,误差评估指标用于衡量预测值与真实值之间的差异。
常见应用场景包括:

  • 时间序列预测
  • 回归问题
  • 销售预测、流量预测、需求预测等

设:

  • 真实值为:yty_t
  • 预测值为:y^t\hat{y}_t
  • 样本数为:nn

预测误差通常记为:

et=yt−y^te_t = y_t - \hat{y}_t


2. MAE(Mean Absolute Error,平均绝对误差)

定义

MAE表示所有预测误差绝对值的平均值:

MAE=1n∑t=1n∣yt−y^t∣MAE = \frac{1}{n}\sum_{t=1}^{n}|y_t-\hat{y}_t|

含义

它反映的是预测值与真实值平均相差多少,单位与原始数据一致。

特点

  • 计算简单,直观易懂
  • 对每个误差一视同仁
  • 对异常值不如RMSE敏感

优点

  • 易解释
  • 对离群点较稳健
  • 适合衡量平均偏差水平

缺点

  • 不能突出“大误差”的影响
  • 不适合特别强调严重预测偏差的场景

适用场景

  • 希望直观理解“平均误差大小”
  • 数据中可能存在少量异常值
  • 希望指标稳定、易解释

3. RMSE(Root Mean Squared Error,均方根误差)

定义

RMSE是误差平方平均后再开平方:

RMSE=1n∑t=1n(yt−y^t)2RMSE = \sqrt{\frac{1}{n}\sum_{t=1}^{n}(y_t-\hat{y}_t)^2}

含义

它表示预测误差的“标准差”水平,单位与原始数据一致。

特点

  • 对较大的误差更敏感
  • 会放大异常点带来的影响

优点

  • 能突出大误差
  • 在很多机器学习和预测任务中使用广泛
  • 对模型优化较敏感

缺点

  • 容易受异常值影响
  • 有时不如MAE直观

适用场景

  • 大误差代价很高的任务
  • 需要惩罚预测偏差较大的样本
  • 模型比较时关注整体稳定性和严重偏差

4. MASE(Mean Absolute Scaled Error,平均绝对比例缩放误差)

定义

MASE通过将模型误差与一个基准预测方法(通常是朴素预测法)的误差进行比较,实现尺度无关化。

非季节性序列下常见形式:

MASE=1n∑t=1n∣yt−y^t∣1n−1∑t=2n∣yt−yt−1∣MASE = \frac{\frac{1}{n}\sum_{t=1}^{n}|y_t-\hat{y}_t|}{\frac{1}{n-1}\sum_{t=2}^{n}|y_t-y_{t-1}|}

若为季节性序列,分母通常替换为季节性朴素预测误差。

含义

它衡量当前模型相对于朴素基准模型的表现:

  • MASE<1MASE < 1:说明模型优于朴素预测
  • MASE>1MASE > 1:说明模型不如朴素预测

特点

  • 尺度无关,可以跨数据集比较
  • 对零值数据更友好
  • 常用于时间序列预测比赛和论文中

优点

  • 不会像MAPE那样遇到真实值为0时失效
  • 适合不同量纲、不同规模序列间比较
  • 可直接和基准模型对比

缺点

  • 计算时依赖基准模型
  • 对非时间序列任务不够直观

适用场景

  • 时间序列预测
  • 多个不同尺度序列的统一评估
  • 需要和朴素预测模型做比较

5. MAPE(Mean Absolute Percentage Error,平均绝对百分比误差)

定义

MAPE表示误差占真实值的平均百分比:

MAPE=100%n∑t=1n∣yt−y^tyt∣MAPE = \frac{100\%}{n}\sum_{t=1}^{n}\left|\frac{y_t-\hat{y}_t}{y_t}\right|

含义

它表示预测误差平均占真实值的百分之多少。

特点

  • 结果是百分比,便于理解
  • 与数据原始单位无关

优点

  • 非常直观,业务人员容易接受
  • 适合展示“平均偏差比例”

缺点

  • 当 yt=0y_t = 0 时无法计算
  • 当 yty_t 接近0时,结果会被极度放大
  • 对低真实值样本非常敏感
  • 对高估和低估的惩罚并不完全对称

适用场景

  • 真实值始终大于0
  • 业务更关心“相对误差”而不是绝对误差
  • 销售、需求等正值预测任务

6. SMAPE(Symmetric Mean Absolute Percentage Error,对称平均绝对百分比误差)

定义

SMAPE是对MAPE的一种改进,常见定义为:

SMAPE=100%n∑t=1n2∣yt−y^t∣∣yt∣+∣y^t∣SMAPE = \frac{100\%}{n}\sum_{t=1}^{n}\frac{2|y_t-\hat{y}_t|}{|y_t|+|\hat{y}_t|}

含义

它通过同时考虑真实值与预测值,使相对误差更“对称”。

特点

  • 相比MAPE,对预测值和真实值都进行了归一化处理
  • 在真实值接近0时,比MAPE更稳定一些

优点

  • 一定程度上缓解了MAPE对小值过于敏感的问题
  • 适合比较不同尺度的数据

缺点

  • 当真实值和预测值同时接近0时仍不稳定
  • 虽称“对称”,但实际并非完全无偏
  • 解释性有时不如MAPE直接

适用场景

  • 需要百分比误差指标
  • 数据中存在较小值
  • 希望比MAPE更稳健一些

7. OWA(Overall Weighted Average,总体加权平均指标)

定义

OWA常用于时间序列预测竞赛中,是多个指标相对基准方法表现的综合平均。
在M4竞赛中,OWA通常定义为:

OWA=12(SMAPESMAPENaive2+MASEMASENaive2)OWA = \frac{1}{2}\left(\frac{SMAPE}{SMAPE_{Naive2}} + \frac{MASE}{MASE_{Naive2}}\right)

其中:

  • SMAPENaive2SMAPE_{Naive2}:基准模型 Naive2 的 SMAPE
  • MASENaive2MASE_{Naive2}:基准模型 Naive2 的 MASE

含义

它表示模型相对于基准方法的综合表现。

  • OWA<1OWA < 1:模型优于基准方法
  • OWA=1OWA = 1:与基准方法相当
  • OWA>1OWA > 1:劣于基准方法

特点

  • 综合考虑了SMAPE和MASE
  • 适合竞赛或统一基准下的模型比较
  • 本质上是“相对评价指标”

优点

  • 能避免只看单一指标带来的片面性
  • 适合大规模时间序列预测模型比较
  • 兼顾相对百分比误差和尺度无关误差

缺点

  • 不够直观
  • 依赖基准模型的定义
  • 在一般业务场景中使用频率低于MAE、RMSE、MAPE

适用场景

  • 时间序列竞赛
  • 论文实验评估
  • 多模型统一比较

8. RMSLE(Root Mean Squared Logarithmic Error,均方对数误差平方根)

定义

RMSLE先对真实值和预测值取对数,再计算RMSE。常见形式为:

RMSLE=1n∑t=1n(log⁡(y^t+1)−log⁡(yt+1))2RMSLE = \sqrt{\frac{1}{n}\sum_{t=1}^{n}\left(\log(\hat{y}_t+1)-\log(y_t+1)\right)^2}

含义

它关注的是预测值和真实值在对数空间中的差异,更强调相对变化而不是绝对差值。

特点

  • 对大数值的绝对误差不那么敏感
  • 更关注预测值与真实值的比例关系
  • 常用于正值且分布偏斜的数据

优点

  • 对长尾分布数据较友好
  • 减少极大值对指标的支配作用
  • 适合关注增长率、倍数差异的问题

缺点

  • 不能直接处理负值
  • 解释性不如MAE和RMSE直观
  • 对低估和高估的惩罚存在差异

适用场景

  • 房价预测
  • 销量预测
  • 点击量、访问量、交易量等偏态数据
  • 更关心相对误差而非绝对误差

9. 各指标对比总结

指标 全称 是否有量纲 是否对异常值敏感 是否适合含0数据 是否适合跨序列比较 主要特点
MAE 平均绝对误差 是 较低 是 否 直观、稳健
RMSE 均方根误差 是 高 是 否 强调大误差
MASE 平均绝对比例缩放误差 否 中等 是 是 常用于时间序列
MAPE 平均绝对百分比误差 否 对小值敏感 否 是 百分比表达直观
SMAPE 对称平均绝对百分比误差 否 对小值仍敏感 勉强可用 是 是MAPE改进版
OWA 总体加权平均指标 否 取决于组成项 取决于组成项 是 综合评价指标
RMSLE 均方对数误差平方根 否 对极大值更稳健 可处理0,不能处理负值 一般 关注相对变化

10. 如何选择这些指标

1)如果你想看“平均偏差有多大”

优先考虑:

  • MAE

因为它最直观,解释简单。

2)如果你特别担心“大误差”

优先考虑:

  • RMSE

因为平方项会放大严重误差。

3)如果你的数据规模差异大,想跨序列比较

优先考虑:

  • MASE
  • SMAPE
  • MAPE(前提是真实值不为0)

4)如果你的真实值可能为0或很小

尽量避免:

  • MAPE

可以考虑:

  • MASE
  • SMAPE

5)如果数据是长尾分布,关注相对偏差

优先考虑:

  • RMSLE

6)如果是时间序列竞赛或学术评测

可以考虑:

  • MASE
  • SMAPE
  • OWA

11. 常见注意事项

(1)指标越小越好吗?

一般来说,这些误差指标都是越小越好。


(2)一个模型只看一个指标够吗?

通常不够。
因为不同指标反映的问题不同,例如:

  • MAE关注平均误差
  • RMSE关注大误差
  • MAPE/SMAPE关注相对误差
  • MASE/OWA关注相对基准模型表现

实际中通常会同时报告多个指标。


(3)为什么MAPE经常被批评?

主要原因有两个:

  • 真实值为0时无法计算
  • 真实值很小时会导致误差比例异常夸大

因此在时间序列任务中,很多研究更倾向于使用 MASE 或 SMAPE。


(4)RMSLE为什么常用于增长类问题?

因为对数变换可以压缩大数值范围,使模型更关注“比例差异”而不是“绝对差值”。

例如:

  • 真实值100,预测200
  • 真实值1000,预测1100

从绝对误差看,第二组误差更小;
但从相对变化看,第一组偏差更严重。
RMSLE更能体现这种差异。


12. 一段适合写进论文的总结

在预测模型评估中,不同误差指标反映了模型性能的不同侧面。MAE能够直观表示预测结果与真实值之间的平均偏差,RMSE对较大误差更加敏感,适合用于强调严重预测偏差的场景。MAPE和SMAPE从相对误差角度衡量模型性能,更便于不同尺度数据之间的比较,但MAPE在真实值接近零时存在明显局限。MASE通过与朴素预测方法进行比较,实现了尺度无关化,特别适用于时间序列预测任务。OWA则综合了SMAPE和MASE,常用于预测竞赛和统一基准下的模型评价。对于数据分布偏斜、数值跨度较大的任务,RMSLE能够更好地反映预测值与真实值在相对变化上的差异。因此,在实际研究中,应根据数据特征和任务需求选择合适的评价指标,并尽量结合多个指标对模型性能进行综合分析。


13. 简明记忆版

  • MAE:平均差多少
  • RMSE:大误差罚得更重
  • MASE:和朴素预测比,适合时间序列
  • MAPE:平均百分比误差,但怕0
  • SMAPE:MAPE改进版,更对称一些
  • OWA:综合指标,常用于竞赛
  • RMSLE:先取对数,更关注相对变化