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

1. 误差评估指标的作用

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

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

设:

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

预测误差通常记为:

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


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

定义

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

MAE=1nt=1nyty^tMAE = \frac{1}{n}\sum_{t=1}^{n}|y_t-\hat{y}_t|

含义

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

特点

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

优点

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

缺点

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

适用场景

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

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

定义

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

RMSE=1nt=1n(yty^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=1nt=1nyty^t1n1t=2nytyt1MASE = \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%nt=1nyty^tytMAPE = \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%nt=1n2yty^tyt+y^tSMAPE = \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=1nt=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时无法计算
  • 真实值很小时会导致误差比例异常夸大

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


(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:先取对数,更关注相对变化