拟合优度 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)
2. 在一元线性回归中,拟合出的函数的输出y_hat,和真值y的R2 等于 自变量x和真值y的相关系数r_xy的平方,证明见
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
留言
張貼留言