📊 预测评价指标体系

MAE · MSE · RMSE · MAPE · sMAPE · MASE
定义 · 适用场景 · 优缺点对比
🎯 选型核心: 不同指标反映预测误差的不同维度,选择合适指标能更准确评估模型在业务场景中的表现。
📐 MAE 平均误差
定义: \( \text{MAE} = \frac{1}{n}\sum_{i=1}^{n} |y_i - \hat{y}_i| \)
✅ 适用场景: 误差量级稳定,无异常极值;需要直观解释平均偏差。
👍 优点 直观易懂,对异常值不敏感,单位一致
👎 缺点 无法反映误差方向,对大误差惩罚不足
🔲 MSE 均方误差
定义: \( \text{MSE} = \frac{1}{n}\sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \)
✅ 适用场景: 需要放大较大误差(如风险敏感场景);数学可微。
👍 优点 对大误差惩罚大,可导便于优化
👎 缺点 量纲平方,可解释性差;受异常值影响大
📏 RMSE 均方根误差
定义: \( \text{RMSE} = \sqrt{\frac{1}{n}\sum_{i=1}^{n} (y_i - \hat{y}_i)^2} \)
✅ 适用场景: 需要与原单位一致的误差度量,兼顾大误差惩罚。
👍 优点 量纲一致,对大误差敏感,广泛使用
👎 缺点 仍受异常值影响,比MAE更敏感
📈 MAPE 平均百分比误差
定义: \( \text{MAPE} = \frac{100\%}{n}\sum_{i=1}^{n} \left|\frac{y_i - \hat{y}_i}{y_i}\right| \)
✅ 适用场景: 需要相对误差,适合不同量级序列对比。
👍 优点 无量纲,可跨序列比较,解释直观
👎 缺点 当 \(y_i=0\) 时无定义;对低值敏感
⚖️ sMAPE 对称MAPE
定义: \( \text{sMAPE} = \frac{200\%}{n}\sum_{i=1}^{n} \frac{|y_i - \hat{y}_i|}{|y_i|+|\hat{y}_i|} \)
✅ 适用场景: 避免MAPE对低值过度敏感,处理零值更稳定。
👍 优点 对称、有界(0~200%),处理零值较好
👎 缺点 当真实值和预测值都为零时仍不稳定;解释略复杂
🔄 MASE 平均尺度误差
定义: \( \text{MASE} = \frac{\frac{1}{n}\sum|y_i - \hat{y}_i|}{\frac{1}{n-1}\sum_{i=2}^{n}|y_i - y_{i-1}|} \)
✅ 适用场景: 季节性/趋势数据,与简单基准(naive)对比。
👍 优点 尺度无关,可跨系列比较,对零值鲁棒
👎 缺点 分母为0时失效;对季节性周期敏感
📌 Python 快速计算参考
import numpy as np def mae(y_true, y_pred): return np.mean(np.abs(y_true - y_pred)) def mse(y_true, y_pred): return np.mean((y_true - y_pred) ** 2) def rmse(y_true, y_pred): return np.sqrt(mse(y_true, y_pred)) def mape(y_true, y_pred): return np.mean(np.abs((y_true - y_pred) / np.maximum(y_true, 1e-8))) * 100 def smape(y_true, y_pred): denom = np.abs(y_true) + np.abs(y_pred) denom = np.where(denom == 0, 1e-8, denom) # 避免除零 return np.mean(2 * np.abs(y_true - y_pred) / denom) * 100 def mase(y_true, y_pred, y_hist=None): # y_hist 为历史序列用于计算naive尺度 if y_hist is None: y_hist = y_true # 简化示例 naive_scale = np.mean(np.abs(np.diff(y_hist))) return np.mean(np.abs(y_true - y_pred)) / max(naive_scale, 1e-8)
📊 指标特性对比(示意) MAE MSE RMSE MAPE sMAPE MASE 可解释性 异常敏感 尺度无关 ● 圆点越亮表示该指标在该维度表现越强 (示意性质,非严格评分)
📋 六项指标综合对比 适用场景 & 核心权衡
指标量纲对异常值敏感度跨序列可比性零值处理推荐场景
MAE同原始低否鲁棒基准评估,业务解释
MSE平方高否鲁棒优化目标,风险惩罚
RMSE同原始较高否鲁棒工程应用,综合度量
MAPE百分比中等是失效销售预测,同比分析
sMAPE百分比中等是较稳定需求波动大,含零值
MASE无量纲低是鲁棒季节性序列,模型对比
🧠 选型小贴士
  • 业务可解释优先 → MAE / RMSE
  • 需要放大风险 → MSE / RMSE
  • 跨品类对比 → MAPE / sMAPE (注意零值)
  • 季节性数据 & 基准对比 → MASE
  • 组合使用:RMSE + MAE + sMAPE 覆盖多数场景