← 返回题目列表

回归模型有哪些评估指标?MAE、MSE、RMSE、R² 怎么选?

高频 中等 第 4 / 25 题 更新于 2026/08/02
模型评估回归指标RMSER2

简化版

回归预测连续值,常用指标:MAE(平均绝对误差)= 误差绝对值的平均,单位和目标一致、易解释、对离群点稳健MSE(均方误差)= 误差平方的平均平方会放大大误差、对离群点敏感,是很多模型的优化目标;RMSE(均方根误差)= √MSE,把单位拉回和目标一致、便于解释,同样对离群点敏感;R²(决定系数)= 1 − 残差平方和/总平方和,衡量「模型比『只用均值预测』好多少」,取值一般 (-∞, 1]越接近 1 越好、0 表示和瞎猜均值一样。选择:要稳健抗离群用 MAE,要惩罚大误差用 MSE/RMSE,要看整体拟合优度用 R²、便于跨数据集比较。

详细版

主要指标:

指标公式特点
MAE`(1/n)Σyᵢ-ŷᵢ
MSE(1/n)Σ(yᵢ-ŷᵢ)²平方放大大误差、对离群点敏感
RMSE√MSE单位同目标、对离群点敏感
R²(决定系数)1 - SS_res/SS_tot拟合优度,≤1,越大越好
MAPE`(1/n)Σ(yᵢ-ŷᵢ)/yᵢ

MAE vs MSE/RMSE 核心区别:

  • MAE 对每个误差线性对待——离群点不会被特别放大,稳健
  • MSE/RMSE 对误差平方——大误差被放大得更厉害,对离群点敏感(一个大错主导指标)。

R²:

R² = 1 - SS_res/SS_tot
   SS_res = Σ(yᵢ-ŷᵢ)²   (模型残差平方和)
   SS_tot = Σ(yᵢ-ȳ)²    (用均值预测的平方和)
  • R²=1 完美;R²=0 和「只用均值预测」一样;R²<0 比均值还差。

完整版教学

一、回归指标衡量什么

回归预测连续数值(房价、销量),评估的核心是「预测值 ŷ 和真实值 y 差多少」。不同指标用不同方式度量这个「差」,关键区别在于怎么对待大误差(尤其离群点)是否便于解释/比较。理解这些区别,才能按场景选对指标。

二、MAE:平均绝对误差,稳健且好解释

MAE = (1/n) Σ |yᵢ - ŷᵢ|

对每个样本的误差取绝对值再平均。特点:

  • 单位和目标一致:预测房价(万元),MAE 就是「平均差多少万元」,直观易解释
  • 对离群点稳健:每个误差线性计入,一个特别大的误差不会被额外放大。所以数据有离群点、或不想让个别大错主导评估时,MAE 更合适。
  • 对应「拉普拉斯噪声下的最大似然」,回归树用 MAE 时叶子输出中位数(比均值抗离群)。

三、MSE:均方误差,放大大误差

MSE = (1/n) Σ (yᵢ - ŷᵢ)²

误差平方后平均。特点:

  • 平方会放大大误差:误差 10 平方后是 100,误差 1 平方后是 1——大误差的「话语权」被急剧放大。所以 MSE 对离群点非常敏感,一个大错就能主导整个指标。
  • 数学性质好(处处可导、凸),是很多模型的优化目标(线性回归、神经网络回归默认最小化 MSE),对应「高斯噪声下的最大似然」。
  • 缺点:单位是目标的平方(万元²),不好直观解释。

四、RMSE:均方根误差,把单位拉回来

RMSE = √MSE = √( (1/n)Σ(yᵢ-ŷᵢ)² )

对 MSE 开根号。特点:

  • 单位和目标一致(万元),比 MSE 好解释,是最常用的报告指标之一。
  • 仍然对离群点敏感(因为里面是平方和)。
  • RMSE ≥ MAE 恒成立;两者差距越大,说明误差分布越不均匀、离群误差越多(可用 RMSE/MAE 的比值判断误差是否有大离群)。

五、MAE vs RMSE 怎么选——看离群点态度

这是高频对比:

MAERMSE
对大误差线性、不放大平方、放大
对离群点稳健敏感
何时用有离群点、各误差同等重要大误差代价特别高、要重罚大错
  • 希望对离群点稳健、各误差平等看待MAE
  • 大误差后果严重、要重点惩罚大错(如某些工程预测,偏差过大不可接受) → MSE/RMSE

六、R²:决定系数,衡量拟合优度

前面几个是「绝对误差」,数值大小依赖目标的量纲,不好跨数据集比较R²(决定系数) 提供一个相对、无量纲的指标:

R² = 1 - SS_res / SS_tot
   SS_res = Σ(yᵢ - ŷᵢ)²   模型的残差平方和
   SS_tot = Σ(yᵢ - ȳ)²    「只用均值 ȳ 预测」的平方和(基线)

含义:模型比「无脑用均值预测」好多少,衡量模型解释了目标变异的百分之多少。

  • R² = 1:完美预测(残差为 0)。
  • R² = 0:和「只用均值预测」一样差——模型没学到东西。
  • R² < 0:比用均值还差(模型很糟)。
  • 一般在 (-∞, 1],越接近 1 越好,无量纲、便于跨数据集/跨模型比较

注意:R² 会随特征增多而虚高(哪怕加无用特征)——用 调整 R²(Adjusted R²) 惩罚特征数量,做特征多少的公平比较。

七、MAPE 及其他

  • MAPE(平均绝对百分比误差) = (1/n)Σ|(yᵢ-ŷᵢ)/yᵢ|:以百分比衡量误差,跨量纲可比、业务上直观(「平均偏差 8%」)。但y 含 0 或接近 0 时失效/爆炸,且对低估高估不对称。
  • 其他:Huber 损失(MAE 和 MSE 的折中,小误差平方、大误差线性,兼顾稳健和可导)、中位数绝对误差(更抗离群)。

MAPE 的分母是真值,因此 y=0 时未定义,|y| 很小时会被极端放大;目标含负值时,百分比误差的业务解释也常不成立。它还具有不对称性,同样绝对偏差在低真值一侧受罚更大。

替代指标缓解点新边界
WAPE聚合后归一化总真值近 0 仍有问题
sMAPE分母含预测与真值定义版本不统一
MAE、RMSE不除以真值不具百分比尺度

选择 MAPE 前应检查零值、负值和业务是否真正关心相对误差,不能只因直观就默认使用。

八、常见追问

  • MSE 为什么对离群点敏感? 平方放大大误差,一个离群点的平方项主导指标。
  • MAE 和 RMSE 差别? MAE 线性稳健、RMSE 平方敏感;RMSE≥MAE,差距大说明有离群误差。
  • R² 为什么可能是负的? 模型比用均值预测还差时 SS_res>SS_tot,R²<0。
  • R² 越高越好吗? 基本是,但会随特征增多虚高,比较不同特征数的模型要用调整 R²。
  • 优化用哪个? 多数模型优化 MSE(可导凸);报告常用 RMSE、MAE、R²。
  • MAPE 什么时候不能用? 真实值有 0 或极小值时(除法爆炸)。

九、用同一组残差比较 MAE、MSE、RMSE 与 R²

若三个残差为 [1,-1,4],则 MAE=(1+1+4)/3=2MSE=(1+1+16)/3=6RMSE=√6≈2.45。大误差 4 在 MAE 中贡献 4/6,在 MSE 中贡献 16/18,说明平方损失更强调尾部错误;MAE 只是相对更稳健,误差无限大时它仍会无限增长。

再设真实值 y=[1,2,3]、预测 ŷ=[1,2,4],残差平方和为 1,总平方和为 2,因此 R²=1-1/2=0.5。R² 的基线由当前评估集均值和方差决定,适合在同一目标、同一测试样本上比模型,不宜笼统说可跨任意数据集直接比较。

指标本例数值改变目标单位后的行为
MAE2.00随单位线性缩放
MSE6.00随单位平方缩放
RMSE2.45随单位线性缩放
依 y 方差同一数据线性缩放下不变
先定业务损失 → 同时报 MAE/RMSE 看误差尺度
             → 报分位数或分组误差看尾部
             → R² 只作相对均值基线补充

易错点:评估指标不是越多越专业;指标必须对应错误成本、目标尺度和部署人群。

十、常见误区与追问

  • 误区:MAE 对离群点完全不受影响。 它不平方放大,但绝对误差仍无上界。
  • 误区:R² 可以不加条件地跨数据集比较。 不同目标方差、样本范围和基线会改变 R² 的含义。
  • 追问:常数真实值时 R² 怎么办? 总平方和为零,数学定义退化,具体库可能采用约定值。
  • 追问:训练 R² 加特征为何常不降? 带截距 OLS 在同一训练集扩大特征空间不会增大残差平方和;测试 R² 没此保证。
  • 追问:MAPE 为什么对接近零的目标危险? 分母很小会把有限绝对误差放成巨大比例,零值则无法计算。

十一、加强记忆

回归指标核心看怎么对待大误差是否便于比较MAE = 绝对误差均值(单位同目标、易解释、线性、对离群点稳健);MSE = 平方误差均值平方放大大误差、对离群点敏感,是常见优化目标,单位是平方不好解释);RMSE = √MSE(单位拉回目标、常用报告、仍对离群敏感,且 RMSE≥MAE,差距大=有离群误差);R² = 1 − 残差平方和/均值基线平方和拟合优度,1 完美、0 等于用均值、<0 更差,无量纲可比,但随特征增多虚高、用调整 R²);MAPE 是百分比误差(直观可比但 y 含 0 失效)。选择:抗离群用 MAE、重罚大误差用 MSE/RMSE、看拟合优度和跨数据比较用 R²。