我们已经了解均方误差 (MSE) 如何衡量实际值 (y) 与预测值 (y^) 之间的平均平方差。虽然 MSE 能有效惩罚较大的误差,但其单位是平方的(例如,美元的平方),这有时会使理解起来不太直接。
为了让误差指标回到目标变量的原始单位,我们计算均方根误差 (RMSE)。它就是均方误差的平方根。
计算方法
RMSE 的公式直接来源于 MSE:
RMSE=MSE=n1i=1∑n(yi−y^i)2
我们来细分一下:
- 如前所述,yi 是第 i 个观测的实际值,y^i 是预测值。
- (yi−y^i) 是预测误差。
- 我们将每个误差平方:(yi−y^i)2。
- 我们将这些平方误差求和:∑i=1n(yi−y^i)2。
- 我们计算平方误差的平均值(这就是 MSE):n1∑i=1n(yi−y^i)2。
- 最后,我们取 MSE 的平方根得到 RMSE。
意义
RMSE 的主要优点在于其易于理解。因为我们取了平方根,RMSE 的单位与原始目标变量 (y) 的单位相同。
- 如果您预测房屋价格以美元计,RMSE 也以美元为单位。RMSE 为 15,000表明模型价格预测与实际价格的典型偏差约为15,000。
- 如果您预测温度以摄氏度计,RMSE 则以摄氏度为单位。
与 MSE 类似,RMSE 会对大误差给予不成比例的高权重,因为误差在求平均值之前被平方了。一个即使只产生少数几个非常大误差的预测模型,其 RMSE 也会比平均误差幅度相似但极端误差较少的模型高出许多。
RMSE 值越低,表明模型对数据的拟合越好。RMSE 为 0 意味着模型对数据集中每个观测都做出了完美预测。
计算示例
我们使用一个包含实际温度和预测温度(摄氏度)的小数据集:
| 实际值 (yi) |
预测值 (y^i) |
误差 (yi−y^i) |
平方误差 ((yi−y^i)2) |
| 22 |
23 |
-1 |
1 |
| 25 |
24 |
1 |
1 |
| 19 |
21 |
-2 |
4 |
| 28 |
26 |
2 |
4 |
| 总计 |
|
|
10 |
- 计算误差: 找出每个实际值和预测值之间的差值。
- 计算平方误差: 将每个误差平方。
- 计算均方误差 (MSE): 对平方误差求平均值。
MSE=41+1+4+4=410=2.5
MSE 为 2.5 摄氏度平方。
- 计算均方根误差 (RMSE): 取 MSE 的平方根。
RMSE=MSE=2.5≈1.58
RMSE 约为 1.58 摄氏度。这表示模型的温度预测通常与实际值相差约 1.58 摄氏度。
RMSE 与 MAE 和 MSE 的比较
将 RMSE 与我们讨论过的其他误差指标进行比较会很有用:
- MAE: 衡量平均绝对误差。与 RMSE 相比,对大误差的敏感度较低。单位与目标变量相同。
- MSE: 衡量平均平方误差。由于平方运算,对大误差更敏感。单位是目标变量单位的平方。
- RMSE: 衡量平均平方误差的平方根。对大误差敏感(与 MSE 类似)。单位与目标变量相同(与 MAE 类似),使其比 MSE 更易于理解。
针对温度预测示例计算的误差指标。MAE 为 1.5°C,MSE 为 2.5°C²,RMSE 约为 1.58°C。请注意,RMSE 提供了与 MAE 相似的误差量级,但包含了平方误差的影响。
选择 MAE 还是 RMSE 通常取决于您是否希望大误差对指标产生按比例更大的影响。如果偶尔出现大误差可以接受,MAE 可能适用。如果大误差特别成问题且应受到严厉惩罚,则通常更倾向于使用 RMSE(或 MSE)。由于 RMSE 使用原始单位,因此在回归任务中报告模型性能时经常选用它。