運營經理,你真的知道模型裡的R平方嗎?

weixin_34185560發表於2018-01-14

想象一下這個場景:


6342708-4dc8cf3239b26e80.png

分析師拿著2個模型的結果和運營經理討論。

“我做了兩個關於客戶生命價值的模型,第一個看起來效果不錯,R方有81%,第二個只有75%。這樣看起來,我們下個月的留存客戶運營從第一個模型裡挑選人選吧。”

運營經理似懂非懂的點點頭,”嗯,看起來第一個模型有81%的R方了,比較接近1,不錯,我們準備一下,下週開始deploy。”

看完上面的對話,內行一定會有很多疑問,比如,你光給我一個R方的值,就來判斷模型的好壞,未免也太草率了吧。的確,很多人其實都不知道R方是如何推倒的,他們只知道一個概念,就是R方越接近1就越好。其他的他們似乎也不在乎。

我想通過這篇文章,讓你對R方有個更"形象化"的認識,再也不會忘記R方的推倒公式和含義。

首先,先用一句話介紹下R平方的概念,即描述因變數(Y)有多少能被自變數(X)解釋的程度;簡單的說就是真實值有多少能被模型解釋。我們看一下R平方的公式:

6342708-1959e2b73e6fa54e.png

分子部分是真實值和模型預測值的差距,我們可以說模型誤差;
分母部分是真實值和不用模型的情況下,真實值和他們平均值的差距,我們可以說基準誤差。

下面,我們用客戶的家到公司的距離,來預測他們花費總額的例子來講解這個概念。(為了簡單,我們只取一個feature,4個資料點)

X = 家到公司距離 (公里) Y = 購買總額(千)
3 7
4 9
5 11
12 21

我們先畫一下這4個使用者的資料點,X軸代表距離,Y軸代表花費(也就是我們要預測的)。

6342708-f47eb58c130201ed.png

接下來,我們畫一條線,這條線是這4個使用者花費的平均值。(7+9+11+21)/4=12

6342708-5b2779a4c53c7197.png

這條取平均線的方法,我們可以稱作為最簡單的模型,也就是什麼模型都不用建的情況下,我們做出的判斷。

仔細回想一下,我們現實生活中很多的例子,用的都是這種概念。比如:一個學生,前四次考試是86,90,80,80分。那麼我們最保守的猜測會是,這個學生第五次考試是 (86+90+80+80) / 4 = 84分

有了這個概念後,我們結合R方公式畫出下面的圖。我們從任意一點向這條平均線做垂線,這個距離可以告訴我們,每個點離開平均線的距離是多少,如果再把這個距離平方一下,就是一個正方型的面積不是嗎? 把所有的正方形面積相加,就是分母部分的值,即圖中所有紅色正方行面積的和。

6342708-ff3b715614606340.png

同樣的,當我們模型建好後,用同樣的方法描述出分子部分,即模型誤差部分,圖中綠色面積。

6342708-28786ad80321bf15.png

好,我們再用圖形更形象地看一下R方的公式:

6342708-8cc6d3ec94e59671.png

你覺得以後推倒R方公式是不是不那麼難了呀。

我們再看一下,什麼情況R方會等於1,也就是所謂的“好”?我們發現如果綠色部分的面積是0的話,那麼R方為1。 如果綠色部分的面積和紅色部分面積相等的話,那麼R方為0,模型“不好”。回到最初運營經理和分析師的對話,是不是R方越大,模型越好呢? 我們看一下下面這個例子。

6342708-d31795f55f9f0680.png

由於模型非常“準”,讓綠色部分的陰影面積為0,所以R方等於1。你一定會覺得這個擬合的太準了,如果我真的用這個模型去預測其他的情況,應該不會太準確的吧。的確,這種情況我們稱為“過擬合”。所以如果有人和你說R方很高,你還會單純得覺得這個模型好嗎?

另外,有些人會問,R方取值在[0,1],可能是負數嗎?答案是:可以為負數,但是在預設引數的模型中,是不會出現的,即絕大多數情況下,不會出現負數。

我們回過來再看一下形象的圖形公式,如果要出現負數的話,綠色部分的面積一定要比紅色部分的面積大。而我們在建模過程中,綠色部分的面積是不會大過紅色部分面積的。因為計算過程中,如果比平均線還要差的話,會採用平均線。所以最壞的情況綠色面積只會等於紅色面積,不會大於。

可見,不管你是運營經理還是分析師,只有客觀的對待R方,才會不被誤導。

相關文章