邏輯回歸的嫋娜曲線,你是否會過目難忘?

原創 張之昊


筆者按:在上一集47.你在 或者不在 需要邏輯回歸來算裡,我們初次認識了一種新的統計學方法——邏輯回歸。和線性回歸相比,邏輯回歸能説明我們應對一種新的情況:因變數是二元變數(通常表現為是/否,數值上分別用10表示)。

相信你還會記得,一個包含k個引數、不包括交互效應項的邏輯回歸模型長這個樣子:

 

WeChat 圖片_20200601131125.jpg

 

等式右邊與線性回歸十分相似,包含一個截距,再依次加上各個引數與其回歸係數的乘積。而邏輯回歸與線性回歸的根本區別在於等式左邊:這裡不再是因變數y本身,而是y1的概率p分對數。在上集文章裡,我們詳細討論了為什麼我們要對概率p(而不是因變數y自己)進行建模,為什麼又需要再對p做分對數變換,不熟悉的讀者不妨重溫上集文章。在此基礎上,今天我們將進一步為大家介紹邏輯回歸模型的解法,以及回歸係數的意義。

 如何確定邏輯回歸模型的係數?

當我們收集了資料、選定了邏輯回歸模型的形式以後,接下來首先要做的事情,自然是把模型對樣本進行擬合,確定模型中的參數(也就是從的那一堆回歸係數)該取什麼數值了。就像其他統計方法和模型一樣,對於我們之中的大多數,這一步是最不需要操心的——因為有各種各樣的統計學軟體可以為我們代勞。因此,我們這裡只對基本思路做個粗略的介紹。

這個問題我們怎麼著手呢?前面我們已經看到,邏輯回歸和我們已經熟悉的線性回歸有很大的相似之處。既然如此,我們是否可以從線性回歸模型的擬合方法中得到一些啟發?

我們曾經在37.回歸線三千,我只取這一條裡詳細討論過,線性回歸模型中的回歸係數是如何確定的。簡單地回顧一下,給定一組回歸係數的具體取值,根據線性回歸模型,就可以算出得到每個數據點的概率,進而找到在假定這些回歸係數為真的情況下,整個資料集的可能性(似然)大小。如果我們給回歸係數們換一組取值,又能得到一個新的似然值。如何判斷哪一組回歸係數更好?根據極大似然估計的思想,能使似然最大的回歸系數值是最合適的,因此我們要解決的問題就變成:在所有可能的回歸係數取值裡,哪一組會讓似然最大?找到了那一組回歸係數,線性回歸模型也就確定下來了。

回到邏輯回歸,我們能否也用上一樣的方法呢?當然可以。我們先來看看,在邏輯回歸模型的情形下,似然函數是什麼樣子的。

遵循和線性回歸一樣的思路,我們首先要找出單個資料點的概率。假設樣本量為n,也就是說,我們總共有n個資料點,每個數據點包含k個引數的取值,以及因變數y的值。它們分別是

 

WeChat 圖片_20200601131313.jpg

 

要注意,x有兩個下標,第一個下標代表的是資料點的排序(從1n),第二個下標代表了不同的引數(從1k)。比如說,是第6個資料點中,第5個引數的測量值。

根據邏輯回歸模型,對第i個資料點,因變數的概率與該資料點的k個引數取值之間存在如下關係:

 

WeChat 圖片_20200601131347.jpg

 

根據對數的定義,這相當於

 

WeChat 圖片_20200601131416.jpg

 

這看起來似乎很複雜,但實際上當回歸係數給定的時候,等式右邊的一堆只不過是個常數。把上面的式子看作一個關於的方程,可以很容易解出

 

WeChat 圖片_20200601131441.jpg

 

如果這個數據點的因變數y不是1而是0怎麼辦?好辦!取

 

WeChat 圖片_20200601131525.png

 

就可以了。

這樣一來,有了上面(1)(2)兩條式子,對於樣本中的所有n個資料點,我們都可以根據因變數取值為1或者0寫出各點的概率,把所有這些概率相乘,就是一個關於回歸係數的函數了。有了這個似然函數,統計學軟體就可以在後臺幫我們找出能使似然函數最大的回歸係數取值,這個過程有兩點值得一提:

一、與其他極大似然估計問題類似,由於概率值總在01之間,許多個概率相乘後,乘積會變得越來越小,而電腦處理的數值精確程度是有極限的(只能到小數點後若干位)。為了避免精度的損失,一般會把似然函數取個對數。這樣一來,許多個概率的乘積就變成許多個概率的對數之和,整個函數的值就不會變得很小。而且,由於對數是單調增函數,因此求對數以後我們的目標仍然是最大化這個新的函數。

二、在37.回歸線三千,我只取這一條中我們提到,對於線性回歸,回歸係數的極大似然解有個現成的公式。而邏輯回歸由於非線性的分對數變換WeChat 圖片_20200601131651.jpg的存在,失去了這個良好的性質。因此,邏輯回歸模型的擬合需要用到稍微麻煩一些的演算法,才能找出最優的係數。這也是邏輯回歸模型在早年電腦尚不發達時應用並不廣泛的一大原因。

 如何解讀回歸係數的意義?

知道了邏輯回歸的係數是怎樣找出來的,我們的下一步自然就是解讀這些係數的含義了。下面呢,又讓我們來開開腦洞,看個例子——讓我們張開想像的翅膀,飛到熟悉的藍精靈國度:那裡正在進行開天闢地以來的第一次民主選舉,兩位個性迥異的候選人聰聰、樂樂為鎮長的職位展開了角逐。

作為吃瓜群眾的你,對藍精靈選民們投票決策的相關因素產生了強烈的好奇。如果我們忽略棄權或者中立的藍精靈,那麼任何一位藍精靈的投票只有兩種結果:要麼支持聰聰,要麼支持樂樂。而我們想研究的因素可能是多種多樣的,也許會有分類變數(如性別),也許會有連續變數(如收入、年齡),那麼邏輯回歸自然是一種應當優先考慮的方法——因為邏輯回歸的因變數是二分類變數,而引數則可以可以包含多個不同類型的因素,這一點則是和線性回歸相似的。

現在我們來想像一下,經過初步的調查,你似乎感覺到,能言善辯但有些高冷的聰聰似乎更受教育程度更高的藍精靈歡迎,而笑容陽光、平易近人的樂樂好像在教育程度低一些的藍精靈裡更有群眾基礎。在收集了隨機抽取的若干藍精靈選民支援誰和他們的教育程度(以上過多少年學來表示)後,你分別用10表示支持聰聰、支持樂樂,用統計學軟體擬合得到了下面的邏輯回歸模型:

 

WeChat 圖片_20200601131804.jpg

 

好了,這個模型到底告訴了我們什麼呢?回憶一下,邏輯回歸模型的基本架構,就是用引數的線性組合來預測我們感興趣的某種結果發生的概率。因此,我們首先可以和本文第一部分一樣,把上述模型改寫成為關於支援聰聰的概率的形式:

 

WeChat 圖片_20200601131837.png

 

這樣一來,模型的含義清晰了許多,但是右邊那一堆複雜的函數還是很不直觀——到底教育程度與支持哪位候選人是個什麼關係?讓我們來以支援聰聰的概率為y軸,教育程度為x軸,畫出這個模型(圖1)。

 

WeChat 圖片_20200601131933.jpg

 

1 支持聰聰的概率與教育程度之間的邏輯回歸模型

1中的藍色曲線,就是前面的邏輯回歸模型,曲線上的實心圓點是根據上述邏輯回歸模型以及各資料點的教育程度算出的支持聰聰的概率預測值。我們立刻就能知道,根據這個邏輯回歸模型,一個藍精靈選民教育程度越高,支持聰聰的可能性就越大,這與我們的假說是一致的。

在圖1中,我們還畫出了原始資料——該圖上方和下方的空心圓點就是資料中每個選民的教育程度和支持的候選人。為什麼這樣畫呢?注意圖1 y軸是支持聰聰的概率,而資料集的因變數把支援聰聰和支持樂樂分別記為10,兩者恰好是完全對應的:如果我們已經知道一個選民給聰聰投了票,那麼它支持聰聰的概率當然就是1了;反過來,如果它支持的是樂樂,自然它支持聰聰的概率就是0

我們不難發現,原始資料的大致分佈同樣支援邏輯回歸模型得出的結論。儘管在很大範圍內,相似教育程度的選民既有支持聰聰的,也有支持樂樂的,但總體看來,教育程度越高,支持聰聰的比例就更高。這一點在教育程度範圍的兩頭(小於8年和大於14年)尤其明顯。

但是,光是教育程度越高,支持聰聰的可能性越大這樣的定性結論,還不能讓我們滿意。別忘了,在線性回歸裡,我們能夠得到更為精確的定量結論,比如說,父母平均身高每增加1釐米,孩子的身高平均來說就能增加0.62釐米。我們如何能從邏輯回歸模型得到相似的推斷和預測呢?更具體地說,我們這個例子裡頭的邏輯回歸模型裡,教育程度的回歸係數0.72代表了什麼?

回顧圖1中的藍色曲線,我們很容易能看到,儘管教育程度和支持聰聰的概率之間有正相關關係,但是教育程度每增加1個單位,支援聰聰的概率提高的程度並不是恒定的。換言之,與線性回歸不同,因變數、引數之間的關係並不是線性的。如果觀察得再仔細一點,這條曲線在兩端(概率接近01)時最為平緩,而在中間(概率在0.5左右)時最為陡峭。

我們在下面的圖2中還能看到更具體的實例:當教育程度分別為1112年時,支持聰聰的概率分別為0.4090.587,兩者之差為0.178;而當教育程度分別為1415年時,支持聰聰的概率分別為0.8570.925,兩者之間只有0.068的差距。

 

WeChat 圖片_20200601132003.jpg

 

在邏輯回歸模型中,因變數隨引數的增長率並不恒定

因此,在邏輯回歸模型中,如果我們要對因變數取1的概率隨引數變化的程度進行描述,一定要同時說明是對引數取值範圍內的哪個位置進行討論的。在通常情況下,一種常見的做法,是描述因變數取1的概率隨引數變化而變化的速度的最大值(也就是曲線最陡峭位置的斜率)。

我們已經說過,曲線最陡峭的位置,是因變數取1的概率恰好為0.5的時候。這時引數會取什麼數值?我們只需回到邏輯回歸模型本身:

 

WeChat 圖片_20200601132039.jpg

 

可以得到

 

WeChat 圖片_20200601132115.jpg

 

也就是

 

WeChat 圖片_20200601132137.jpg

 

於是我們知道,當

 

WeChat 圖片_20200601132208.jpg

 

時,支持聰聰的概率恰好為0.5,同時這也是這個概率隨引數教育程度變化最快的地方。更普遍地說,當邏輯回歸模型中只含有一個引數時,在曲線最陡峭的位置、同時也是因變數兩種情況概率相等的位置,引數的值是截距除以斜率的相反數。

在這個地方,概率隨引數的變化率是多少呢?在數學(運用微積分知識求個導數即可)上可以證明,這個變化速度的最大值恰好就是回歸係數除以4(稱為4法則)。比如說,前面的邏輯回歸模型中,教育程度的回歸係數是0.72,那麼支持聰聰的概率隨教育程度增長1個單位的變化率的最大值就是0.72/4 = 0.18,而且這個最大的變化率是在曲線的中間點(支援聰聰的概率預測值為0.5,此時對應的教育程度約為11.5年)時取到的。大家不妨回顧一下,教育程度從14年增加到15年,這個範圍離中心點很近,而支持聰聰的概率增加了0.178 ,與理論最大值0.18確實很接近。

解釋了教育程度的回歸係數0.72,那麼還剩下一個截距-8.29,它又有什麼含義呢?與線性回歸相似,截距的意義要在引數都取0時才能體現出來。在這個例子裡,-8.29就是當教育程度為0時,支持聰聰概率的分對數WeChat 圖片_20200601132236.jpg變換的預測值。換言之,教育程度為0時,支持聰聰的概率是WeChat 圖片_20200601132336.jpg。當然了,在許多實例裡,引數取0往往沒有實際意義(這個例子裡的教育程度雖然理論上可以為0,但是它離實際資料點的引數取值範圍相差很遠),這時我們就不必關注模型的截距了。

在這一集裡,我們給大家介紹了邏輯回歸模型的係數是如何確定的,並且討論了在最簡單的、只含有一個引數的情形下,邏輯回歸係數的意義和解讀。在下一集,我們將會繼續討論有多個引數及含有交互作用時,邏輯回歸係數又該如何解讀,以及邏輯回歸模型的假設檢驗方法。

作者張之昊
編輯畢日陽古 

本系列文章

1 章  高屋建築看統計

1.你真的懂p值嗎?

2.做統計,多少資料才算夠?(上)

3.做統計,多少資料才算夠?(下)

4.提升統計功效,讓評審心服口服!

5.你的科研成果都是真的嗎?

6.見識資料分析的「獨孤九劍」

7.貝葉斯vs頻率派:武功到底哪家強?

 

2 章  算術平均數與正態分佈

8.數據到手了,第一件事先幹啥?

9.算術平均數:簡單背後有乾坤

10.正態分佈到底是怎麼來的?

 

3   t 檢驗:兩組平均數的比較

11.想玩轉t檢驗?你得從這一篇看起

12.就是要實用!t 檢驗的七十二變

13.不是正態分佈,t 檢驗還能用嗎?

14.只有15個標本,也能指望 t 檢驗嗎?

15.樣本分佈不正態?數據變換來救場!

16.數據變換的萬能鑰匙:Box-Cox變換

17. t 檢驗用不了?別慌,還有神奇的非參數檢驗

18.只講 p 值,不講效應大小,都是耍流氓!

19.找出 t 檢驗的效應大小,對耍流氓 say no

20.置信區間,就是這麼(不)自信!

21.如何確定 t 檢驗的置信區間

22.優雅秀出你的 t 檢驗,提升Paper

23.要做 t 檢驗,這兩口毒奶可喝不得!

 

4 章  方差分析(ANOVA):多組平均數的比較

24.要比較三組資料,t 檢驗還能用嗎?

25.ANOVA在手,多組比較不犯愁

26.ANOVA的基本招式你掌握了嗎?

27.ANOVA做出了顯著性?事兒還沒完呢!

28.聽說,成對t檢驗還有ANOVA進階版?

29.重複測量ANOVA:你要知道的事兒都在這裡啦

30.沒聽說過多因素 ANOVA ?那你就可就 OUT 了!

31.多因素ANOVA=好幾個單因素ANOVA?可沒這麼簡單!

32.兩個因素相互影響,ANOVA結果該如何判讀?

33.ANOVA還能搞三四五因素?等等,我頭有點兒暈

34.要做ANOVA,樣本量多大才夠用

 

5 章  線性回歸:統計建模初步

35.統計學模型你會玩嗎?

36.如果只能學習一種統計方法,我選擇線性回歸

37.回歸線三千,我只取這一條

38.三千回歸線裡選中了你,你靠譜嗎?

39.引數不止一個,線性回歸該怎麼做?

40.找出「交互效應」,讓線性模型更萬能

41.沒考慮到混雜因素,後果會這麼嚴重?

42.回歸係數不顯著?也許是打開方式不對!

43.評價線性模型,R平方是個好裁判嗎?

44.如果R平方是砒霜,本文教你三種解藥!

45.線性模型生病了,你懂得怎樣診斷嗎?

46.「脫離群眾」的資料點,是「春風化雨」還是「秋風掃落葉」

6  廣義線性模型:統計建模進階

47.你在 或者不在 需要邏輯回歸來算

48.邏輯回歸的嫋娜曲線,你是否會過目難忘?

arrow
arrow
    創作者介紹
    創作者 HCHUNGW 的頭像
    HCHUNGW

    HCHUNGW的部落格

    HCHUNGW 發表在 痞客邦 留言(0) 人氣()