假设我正在使用训练、验证和测试集进行回归。我可以从我的软件(例如 R 的 lm() 函数)的输出中找到 RMSE 和 R 平方(R^2,决定系数)。
我的理解是,测试 RMSE(或 MSE)是衡量预测验证/测试值的优度,而 R^2 是衡量训练集方差的拟合优度。
在现实世界中,我真正关心的是对我未见过的数据的广义预测准确性。那么,与 RMSE 相比,R^2 值的效用是什么?
假设我正在使用训练、验证和测试集进行回归。我可以从我的软件(例如 R 的 lm() 函数)的输出中找到 RMSE 和 R 平方(R^2,决定系数)。
我的理解是,测试 RMSE(或 MSE)是衡量预测验证/测试值的优度,而 R^2 是衡量训练集方差的拟合优度。
在现实世界中,我真正关心的是对我未见过的数据的广义预测准确性。那么,与 RMSE 相比,R^2 值的效用是什么?
Chaconne 在定义度量公式以及从数学角度如何密切相关方面做得非常出色。如果您使用相同的数据集对模型进行基准测试或排名,那么这两个度量是可以互换的,这意味着无论您使用 R Square(从高到低排名)还是 RMSE(从低到高排名),您都将获得完全相同的模型排名.
但是,这两种措施的含义和用途截然不同。R Square 不仅是拟合优度的度量,也是模型(您选择的一组自变量)解释因变量行为(或方差)的程度的度量。因此,如果您的模型的 R 平方为 0.60,则它解释了因变量 60% 的行为。现在,如果您使用调整后的 R 平方,它实质上会因您使用的变量数量而对 R 平方进行惩罚,那么您会很好地了解何时应该停止向模型添加变量(最终只是得到一个过度拟合的模型)。如果您的调整后 R 平方为 0.60。而且,当您添加一个额外的变量时,它只会增加到 0.61。添加这个额外的变量可能不值得。
现在,转向 RMSE 也最常被称为标准误差。它的用途与 R Square 完全不同。假设您感兴趣的置信水平(通常为 99%、95% 或 90%),标准误差允许您围绕回归估计建立置信区间。实际上,标准误差相当于 Z 值。因此,如果您想围绕回归趋势线构建 95% CI,您可以将标准误差乘以 1.96,然后快速生成一个高低估计值作为回归线周围 95% CI 的边界。
因此,R 平方(和调整后的 R 平方)和标准误差在评估模型的统计稳健性方面都非常有用。并且,如前所述,它们具有完全不同的实际应用。一是衡量模型的解释力。另一个允许您建立置信区间。两者都非常有用但不同的东西。
关于评估您未见过的数据的预测准确性,这两种方法以及您可以想到的大多数其他方法都有其局限性。对于样本外的新数据,模型的历史或学习样本上的 R 平方和标准误差将没有多大用处。样本外的东西只是一个很好的测试来检查你的模型是否过拟合(R 平方很大,标准误差很低,但在样本外表现不佳)。我理解对前瞻性数据(您尚未看到的数据)更好的衡量标准是包括 AIC、BIC、SIC 在内的信息标准。而且,具有最佳信息标准值的模型应该更好地处理看不见的数据,换句话说,更具预测性。这些措施是调整后的 R 平方概念的近亲。然而,
未调整的被定义为
让我们把 RMSE 设为
对于给定的数据集和是固定的,因此只考虑不同的模型改变。这意味着在上述表达式中,只有 MSE 发生变化。所以两者和是同一事物的功能,因此通过考虑一个与另一个没有太大区别(解释除外)。
如果我们改为查看调整后的或使用那么我们也会有, 模型的维度,针对不同的模型而变化。