运营经理,你真的知道模型里的R平方吗?
想象一下这个场景:
分析师拿着2个模型的结果和运营经理讨论。
“我做了两个关于客户生命价值的模型,第一个看起来效果不错,R方有81%,第二个只有75%。这样看起来,我们下个月的留存客户运营从第一个模型里挑选人选吧。”
运营经理似懂非懂的点点头,”嗯,看起来第一个模型有81%的R方了,比较接近1,不错,我们准备一下,下周开始deploy。”
看完上面的对话,内行一定会有很多疑问,比如,你光给我一个R方的值,就来判断模型的好坏,未免也太草率了吧。的确,很多人其实都不知道R方是如何推倒的,他们只知道一个概念,就是R方越接近1就越好。其他的他们似乎也不在乎。
我想通过这篇文章,让你对R方有个更"形象化"的认识,再也不会忘记R方的推倒公式和含义。
首先,先用一句话介绍下R平方的概念,即描述因变量(Y)有多少能被自变量(X)解释的程度;简单的说就是真实值有多少能被模型解释。我们看一下R平方的公式:
分子部分是真实值和模型预测值的差距,我们可以说模型误差;
分母部分是真实值和不用模型的情况下,真实值和他们平均值的差距,我们可以说基准误差。
下面,我们用客户的家到公司的距离,来预测他们花费总额的例子来讲解这个概念。(为了简单,我们只取一个feature,4个数据点)
X = 家到公司距离 (公里) | Y = 购买总额(千) |
---|---|
3 | 7 |
4 | 9 |
5 | 11 |
12 | 21 |
我们先画一下这4个用户的数据点,X轴代表距离,Y轴代表花费(也就是我们要预测的)。
接下来,我们画一条线,这条线是这4个用户花费的平均值。(7+9+11+21)/4=12
这条取平均线的方法,我们可以称作为最简单的模型,也就是什么模型都不用建的情况下,我们做出的判断。
仔细回想一下,我们现实生活中很多的例子,用的都是这种概念。比如:一个学生,前四次考试是86,90,80,80分。那么我们最保守的猜测会是,这个学生第五次考试是
(86+90+80+80) / 4 = 84分
。
有了这个概念后,我们结合R方公式画出下面的图。我们从任意一点向这条平均线做垂线,这个距离可以告诉我们,每个点离开平均线的距离是多少,如果再把这个距离平方一下,就是一个正方型的面积不是吗? 把所有的正方形面积相加,就是分母部分的值,即图中所有红色正方行面积的和。
同样的,当我们模型建好后,用同样的方法描述出分子部分,即模型误差部分,图中绿色面积。
好,我们再用图形更形象地看一下R方的公式:
你觉得以后推倒R方公式是不是不那么难了呀。
我们再看一下,什么情况R方会等于1,也就是所谓的“好”?我们发现如果绿色部分的面积是0的话,那么R方为1。 如果绿色部分的面积和红色部分面积相等的话,那么R方为0,模型“不好”。回到最初运营经理和分析师的对话,是不是R方越大,模型越好呢? 我们看一下下面这个例子。
由于模型非常“准”,让绿色部分的阴影面积为0,所以R方等于1。你一定会觉得这个拟合的太准了,如果我真的用这个模型去预测其他的情况,应该不会太准确的吧。的确,这种情况我们称为“过拟合”。所以如果有人和你说R方很高,你还会单纯得觉得这个模型好吗?
另外,有些人会问,R方取值在[0,1],可能是负数吗?答案是:可以为负数,但是在默认参数的模型中,是不会出现的,即绝大多数情况下,不会出现负数。
我们回过来再看一下形象的图形公式,如果要出现负数的话,绿色部分的面积一定要比红色部分的面积大。而我们在建模过程中,绿色部分的面积是不会大过红色部分面积的。因为计算过程中,如果比平均线还要差的话,会采用平均线。所以最坏的情况绿色面积只会等于红色面积,不会大于。
可见,不管你是运营经理还是分析师,只有客观的对待R方,才会不被误导。