决定系数R2 浅谈一 : 决定系数R2为什么计算出来小于0/为负数、大于1/远大于1、决定系数R2为什么计算出来不在0~1之间

        今天浅谈一下本人对决定系数R2的理解,我们在对模型进行训练时,经常会用到决定系数R2这一模型评价指标,在对训练集和测试集进行模型评价时,经常会出现决定系数R2不在[0,1]之间,而是出现标题所说的情况:决定系数R2为什么计算出来小于0/为负数、大于1/远大于1、决定系数R2为什么计算出来不在0~1之间?

        在百度百科上以及相关资料上(在百度百科上叫:确定系数可决系数),决定系数的定义常见有如下两种:

faa1dced81d442dfa6f7a5f150ea80f9.png

        其中关于总平方和Stot、回归平方Sreg和以及残差平方和Stot的定于如公式(3)、(4)、(5):

6371b6ab6e3d4cb19b5b09be92c53268.png

        公式(1)~(5)在网上以及相关资料均能找到证明,在此便不花费时间证明其正确性。

        根据公式(1)、(2)决定系数的定义,我们可以很明显的感受到,公式(1)的计算结果一定是大于0的,稍加证明,也能证明其小于1,即公式(1)的R2在[0,1]之间。具体我们看总平方和Stot、回归平方Sreg和以及残差平方和Stot之间的关系:

5ef3768e88624f5e84417f1d4d081722.png

        请记住式(6)这个部分,关于本文所写的决定系数R2以及网上很多关于决定系数R2出现问题的部分就是这个部分,这里我们假设它是成立的(大部分资料里都是默认成立的),后面的文章我会介绍这部分内容。

        根据式(6),我们可以很容易得到式(1)中的R2范围:

3d65e6db8e504a588839e925fbaacd77.png

        因为这三个平方和都是平方的关系,所以都是一定大于等于0 的,从式(7)很容易判断分子一定是小于等于分母的,故由式(7)很容易计算出R2在[0,1]之间。

        同时,根据式(6),也很容易推断出式(2)的R2的定义,实际上,我们很多朋友在进行模型评价时,使用的都是式(2)所示的决定系数R2。

be0483b5bb414d94b422021665b25194.png

        由式(8)可以看到式(8)与式(7)是完全等价的,但是,注意一个前提,我们是在式(6)成立的时候才能证明这两者相等,但是很多朋友计算出来R2小于0的情况,往往是使用式(8)引起的,甚至同样的预测值和观测值,式(1)跟式(2)两种计算出来R2不一样 。

        这里我用一个简单的例子来验证一下上述两者计算结果会出现不一样的问题,假设我们的观测值y=[1 2 3];我们的预测值y'=[2 3 4];我们分别用式(1)、(2)计算一下最终的结果。

d8bfe2cd4bf047718bd67c163a7abd48.png

        上述这个例子我不知道有没有问题,但是假设我们的预测结果不好,就如我这个例子一样,两个式子计算得出的R2就是不一样有问题的,一个大于1,一个小于0。这个问题很大程度上是关于式(6)满不满足,实际上大部分情况下不好满足,后续文章会出关于式(6)的证明。

        通过这个例子其实说明在模型评价时使用决定系数R2是 会出现本文标题所说的情况的,但是出现这种情况也很大程度上说明了模型训练的不好,或者模型不适合这个数据集,并不是说我们所使用的R2有问题。

        如有不足之处,还请各位批评指正!

        记得点赞,收藏,关注一键三连,谢谢未来的各位工程师、教授、院士……!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小雄abc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值