拟合优度 R2 D2 TSS ESS RSS 非线性拟合优度 任意回归模型的评价

0. 
回归平方和:SSR(Sum of Squares for Regression) = ESS (Explained Sum of Squares)
残差平方和:SSE(Sum of Squares for Error) = RSS(Residual Sum of Squares)
总离差平方和:SST(Sum of Squares for Total) = TSS(Total Sum of Squares)

1. 线性回归的拟合优度就是R2,其公式R2 = ESS/TSS = 1 - RSS/TSS,其中TSS= ESS + RSS,R2 = 1 - RSS/TSS有一种广义的理解,RSS是预测的平方误差,TSS是用标签的均值去预测产生的平方误差(在线性回归和非线性回归中,用标签的均值相当于只有截距项),没有任何X,那这个预测就是一个baseline,加入X的模型的平方误差应该小于这个baseline,两者相比,越小越好,1-RSS/TSS相当于求补,这个指标就是越接近1越好。按这种广义的理解,R2实质上就是MSE,所以R2可以评价任何适合用MSE评价的回归问题,这种理解下R2的公式就只有一种 R2 = 1 - RSS/TSS,sklearn的ridge用了正则项,ESS/TSS ≠ 1-RSS/TSS,这个时候算法还是可以给出R2,它的计算方式就是R2 = 1-RSS/TSS。再发散一下,R2可以延伸为D2针对更general的情况,D2 = 1 - loss(y_hat,y)/loss(y_bar,y),D2就可以评价任何回归问题(二分类logloss应该也可以)。

2. 在一元线性回归中,拟合出的函数的输出y_hat,和真值y的R2 等于 自变量x和真值y的相关系数r_xy的平方,证明见


因为x经过线性变换kx+b后与y的相关系数不变(因为相关系数的求法中有一个中心化减均值的操作),所以也有 R2等于corr(y_hat,y)的平方

3、其实2的结论可以推广到非线性拟合的情况,我试了1组数据,对于一元回归的情况,无论对数还是多项式,按OLS拟合,最后都有 corr(y_hat,y)^2 = R2 = 1 - RSS/TSS = ESS/TSS,显然这个时候R2不等于corr(x,y)的平方。证明我没有仔细看,可参考https://www.zhihu.com/question/32021302

4、在3的基础上,我又试了一下多元线性回归,仍然有corr(y_hat,y)^2 = R2 = 1 - RSS/TSS = ESS/TSS,然后又试了对数/多项式/混合,都满足上式,只要按OLS拟合,所以我觉得R2可以衡量非线性OLS拟合的拟合优度,但如果是lightgbm进行回归,我得到的结果是1 - RSS/TSS不等于ESS/TSS,此时R2就不知道该用哪个公式计算, 且corr(y_hat,y)^2 ≠ 1-RSS/TSS ≠ ESS/TSS

5、如果在进行最小二乘拟合的时候还考虑了正则项(这种带正则项的也许就不叫OLS了),我发现此时R2 ≠ corr(y_hat,y)^2,且1 - RSS/TSS ≠ ESS/TSS,sklearn的Ridge.score()输出的R2用的是1-RSS/TSS,正则强度低(sklearn的Ridge的参数alpha小)的时候,这几个值之间都是约等于的,只有正则强度大的时候差异才体现出来,所以我得到的结论是凡是用OLS拟合的函数都满足 corr(y_hat,y)^2 = R2 = 1 - RSS/TSS = ESS/TSS

6、R2可以用于非线性回归的拟合优度,excel中二维散点的趋势线,对数趋势线/多项式趋势线都可以输出R2

7. 有种说法,非线性回归的拟合优度这样计算

8. TSS= ESS + RSS的证明

去年本来证过,不好理解的地方在于划红线的地方残差和为什么为0,以及第二个红线,
∑ei乘X1i为什么为0,这两个都是最小二乘的一阶条件,残差和为0是关于beta0求偏导等于0,而∑ei乘X1i等于0,自然就是关于beta1求偏导,详情见下
另外ui中还含有beta0到betak,系数还没解出来,但是最小二乘肯定要满足按系数求偏导等于0

留言

熱門文章