我对我的预测结果计算了R方,发现小于0。我印象中R方的取值是0到1,难道R方可以小于0吗?
4个回答
R方可以是负数。如果拟合结果比平均值好,就是正数,比平均值差就是负数。
$$R^2=1-\frac{\sum_{i=1}^ne_i^2}{\sum_{i=1}^n(y_i-\bar y)^2}$$
如果我们用均值表示我们的预测值,那么残差$e_i=y_i-\bar y$,所以此时$R^2=0$。如果拟合度比均值还差,也就是$e_i^2 > (y_i-\bar y)^2$,那么$R^2$自然就是负数了。
SofaSofa数据科学社区DS面试题库 DS面经如果是用的线性回归模型,理论上不会出现$R^2<0$,最差不过接近于0。
但是使用一些其他方法做回归预测,可能会导致$R^2<0$,比如一个非常过拟合的xgboost之类的;或者当算法的优化函数不是RMSE,比如log后的回归,或者huber回归,也是有可能导致$R^2<0$的。