本文翻译自 John Myles White 的博客 Why I’m Not a Fan of R-Squared。翻译工作已经获得作者授权同意。
人们通常喜欢用 $R^2$
作为评判模型拟合好坏的标准。与 MSE 和 MAD 不同,$R^2$
不只是模型误差的函数,它的定义中还隐含了两个模型的比较:一个是当前被分析的模型,一个是所谓的常数模型,即只利用因变量均值进行预测的模型。基于此,$R^2$
回答的是这样一个问题:“我的模型是否比一个常数模型更好?”,然而我们通常想要回答的是另一个完全不同的问题:“我的模型是否比真实的模型更差?”
通过一些人为构造的例子我们可以很容易发现,对这两个问题的回答是不可互换的。我们可以构造一个这样的例子,其中我们的模型并不比常数模型好多少,但同时它也并不比真实的模型差多少。同样,我们也可以构造出另一个例子,使得我们的模型远比常数模型要好,但也远比真实模型要差。
与所有的模型比较方法一样,$R^2$
不单是被比较模型的函数,它也是观测数据的函数。几乎对于所有的模型,都存在一个数据集,使得常数模型与真实模型之间是无法区分开的。具体来说,当使用一个模型区分效能很低的数据集时,$R^2$
可以任意地向零趋近——即使我们对真实模型计算 $R^2$
也是如此。因此,我们必须始终记住,$R^2$
并不能告诉我们模型是否是对真实模型的一个良好近似:$R^2$
只告诉我们,我们的模型在当前的数据下是否远比一个常数模型要好。