線性回歸能玩多變數,邏輯回歸當然也能! | 協和八

原創 張之昊

 

在過去我們用三篇文章搭起了邏輯回歸的基本框架,你還記得多少?       

47.你在 或者不在 需要邏輯回歸來算》指出了當因變數為二分類變數時,線性回歸不再適用,但是施加一個小小的變換(不翻看老文章,你能寫出這個變換的數學表示嗎?)以後,我們就得到了邏輯回歸這個新工具。

48.邏輯回歸的嫋娜曲線,你是否會過目難忘?》則詳細剖析了邏輯回歸背後的數學模型,以及其中的回歸係數的含義。在此基礎上,我們還討論了如何用極大似然估計,確定最符合資料的回歸係數。

49.邏輯回歸的統計檢驗,原來招數辣麼多?講的則是如何對擬合邏輯回歸模型後得到的回歸係數進行統計推斷,用Wald檢驗或者似然比檢驗得到我們關心的顯著性(p值)等指標。

有了這個基本框架,邏輯回歸差不多就算是學到手了。不過也別急著出師——你也許會注意到,在前面三集裡,我們集中討論的都是邏輯回歸裡最簡單的、只有一個引數時的情形,這當然是不夠用的。今天我們就來講講,多個引數的邏輯回歸怎麼做。

 

既然我們已經學過多重線性回歸,那麼我們是否可以利用已經掌握的知識,讓多重邏輯回歸掌握起來要容易一些?的確如此。我們不妨先從根本出發,看看兩者背後的統計學模型究竟有什麼異同。

回顧一下,邏輯回歸模型長這個樣子

WeChat 圖片_20200601150458.jpg

 

其中,p是二分類因變數(用01表示)取1的概率。對比一下,多個引數的線性回歸模型則是

 

WeChat 圖片_20200601150528.jpg

 

最明顯的相同之處,自然就是兩者在等式右邊都有一組k個引數的線性組合

WeChat 圖片_20200601150600.jpg

而不同的地方有兩個:

其一,等號左邊,邏輯回歸模型是WeChat 圖片_20200601150639.png,而線性回歸模型則是簡簡單單一個y。這個原因我們在《47.你在 或者不在 需要邏輯回歸來算》講過,正是因為兩者的因變數的性質不同,線性回歸的因變數可以在負無窮到正無窮之間取值,而邏輯回歸的因變數只能取01,因此需要對其取01的概率進行建模。而概率只能取01之間的數,因而還需要用分對數變換把它轉換到負無窮到正無窮之間,這樣才能和右邊的線性組合對接得上。

其二,線性回歸模型的右邊還拖了個正態分佈的隨機誤差𝜀,這個我們也已經知道,是由於模型認為實際值由於隨機因素會圍繞預測值上下波動。為什麼邏輯回歸沒有呢?難道邏輯回歸沒有隨機誤差?非也非也。邏輯回歸中的隨機性,其實已經藏在了概率p裡面——由於p01之間,因此y的取值總是不確定的(邏輯回歸裡p無法正好取到01,想想看為什麼?)。雖然y的取值根據模型的預測,有一定的趨勢(p接近1y更可能取1,反之則更可能取0),但總不會是板上釘釘的事兒。這就是在邏輯回歸裡隨機誤差的表現形式。本質上說,其根源和上一個不同點一樣,還是源於因變數的形式。

回到兩者的相同點上來,不論是邏輯回歸還是線性回歸,多個引數WeChat 圖片_20200601150741.jpg的共同作用都是線性疊加。這就意味著,在回歸係數的解讀上,任一個引數的回歸係數的意義,都是在保持其他引數取值不變的情況下,引數增加一個單位時帶來的變化。

如果你已經有些生疏了,我們不妨一起回想一下,在《39.引數不止一個,線性回歸該怎麼做?》裡,我們研究過子女身高與子女性別和父母平均身高之間的關係,並得到了這樣一個線性回歸模型:

 

WeChat 圖片_20200601151030.jpg

 

 

以父母平均身高的回歸係數0.395為例,它的含義是,在其他引數(這裡僅為子女性別)保持不變時,父母平均身高每增長1個單位,子女身高平均來說會增長0.395個單位。子女性別(男孩記為1)的回歸係數的含義也類似,同樣是在父母平均身高保持不變時,男、女孩之間的平均身高差。

多重邏輯回歸的係數解讀也要遵循相似的法則。我們來看一個具體的例子。前兩集我們研究過藍精靈王國在兩位候選人聰聰和樂樂之間的選舉。通過一個單變數邏輯回歸模型,我們發現,教育程度越高,支援聰聰的概率越大。得到了這個初步結論以後,我們進一步思考,還有沒有其他因素會影響藍精靈選民的決策?

你意識到,兩位鎮長候選人聰聰和樂樂來自不同的村落,聰聰是地道的海邊村村民,而樂樂則是山上村的代表。村裡村外的選民對他們的熟悉程度自然不一樣。地理位置是否也會影響藍精靈選民的決策?在已經知道教育程度是一個重要因素的情況下,我們就要使用多重邏輯回歸模型,同時考慮教育程度和地理位置的影響了。

 

假設這次選舉的選民一共來自三個村莊,除了海邊村、山上村以外,還有一個林間村。和前面的性別一樣,這也是個分類變數,但是有三個類別。這裡有一個新問題:我們之前還沒有碰到過多於兩個類別的分類變數,那麼我們到底應該在模型中如何表示它?

想一想,性別有兩種類別(至少在我們之前的例子中如此),我們選定其中某一個(如男性)用1表示,另一個類別則是0。現在有了三個類別,一個變數恐怕就不夠用了。我們不妨先用一個0/1變數,如果是海邊村村民,則該變數為1,否則為0。有這個變數,我們可以把海邊村和其他分開來,但是剩下的兩個村子還是混在了一起。

再加一個0/1變數如何?為了區分餘下的山上村和林間村,我們讓這個變數對山上村的村民取1,對其他(也包括海邊村)村民取0。這樣,山上村和林間村也能區分開了。

那我們還需要再來一個林間村為1、其他為00/1變數嗎?不需要!我們的目的是把地理位置的三個類別分開,而有了這兩個變數以後,海邊村的村民第一個變數取1、第二個變數取0,山上村的村民第一個變數取0、第二個變數取1,林間村的村民兩個變數都取0。因為根據這兩個變數的取值,我們就可以判斷出任意一個選民的地理位置,所以如果再加上第三個變數就多餘了。

更普遍來說,如果一個分類變數有n個類別,我們就需要用n10/1變數(稱為啞變數,dummy variables)來表示,所有這些啞變數的定義,都是當樣本中的一個個體屬於某一個類別時取1,不屬於該類別時取0。既然啞變數比類別的數目少一個,那麼一定就會剩下某一個類別沒有自己專屬的啞變數,此時屬於這個類別的成員所有啞變數取值都為0(就像前面的林間村村民),而該類別被稱為參考類別reference category)。可能有些讀者還會記得,在《39.引數不止一個,線性回歸該怎麼做?》裡介紹身高的例子時,我們也把女性(在性別變數中記為0)稱為參考類別,其實這只是在僅有一個啞變數時的特殊情況。參考類別何以稱為參考呢?這層意義接下來也會變得更清晰。

 

解決了地理位置的三個類別如何表示,現在讓我們回到要研究的問題:地理位置和教育程度是否分別與選民的投票決策有相關性?為了一目了然,我們把地理位置的兩個啞變數直接叫做海邊村和山上村。這樣一來,我們的多重邏輯回歸模型就是下面這個樣子了:

 

WeChat 圖片_20200601151144.jpg

 

 

 

多重邏輯回歸模型的擬合方法和單變數的情況一樣,都是通過極大似然估計,這裡我們就不再重複了。我們最關心的是,得到回歸係數之後,應當如何解讀其含義。假設我們得到了如下結果:

 

WeChat 圖片_20200601151213.jpg

 

 

我們前面說過,多重邏輯回歸係數的解讀,在很多方面遵循著與多重線性回歸相同的法則。首先,我們來關注教育程度的作用,在這裡,我們不妨把地理位置的三種類別都列出來。

海邊村村民:海邊村=1,山上村=0,因此相應的模型是

 

WeChat 圖片_20200601151248.jpg

 

 

山上村村民:海邊村=0,山上村=1,因此相應的模型是

 

WeChat 圖片_20200601151316.jpg

 

 

林間村村民:海邊村=0,山上村=0,因此相應的模型是

 

WeChat 圖片_20200601151350.jpg

 

比較三個類別,我們很容易發現,教育程度的係數一直保持不變。具體地說,教育程度每增加一個單位,支援聰聰概率的分對數WeChat 圖片_20200601151417.jpg就會增加0.953。這一點和多重線性回歸相似——如果模型中不包含交互效應,那麼某個變數對因變數的效應(用它的回歸係數表示)不會因為其他變數的改變而改變。給定其他變數的取值,該變數的效應總是恒定的。在圖形上,我們也可以看到這一點——在下面的圖1中,三個村落的曲線形狀是相同的,只是位置發生了平移而已。

然而,與多重線性回歸不同的是,對於我們真正關心的概率本身,它與教育程度的關係並不是線性的。在《48.邏輯回歸的嫋娜曲線,你是否會過目難忘?》裡我們已經知道,邏輯回歸模型描繪的是一個S形曲線,因此在教育程度取不同的數值時,隨教育程度的增長率呈現兩頭緩、中間急的特徵,而變化最快的位置出現在=0.5處,在此處的變化率可以用4法則算出。

 

WeChat 圖片_20200601151555.jpg

 

1 地理位置與教育程度對投票決策的影響。紅色、藍色、黑色曲線分別代表海邊村、山上村、林間村的選民。

 

研究過了教育程度,現在我們再來審視地理位置。海邊村、山上村這兩個啞變數的回歸係數代表了什麼?我們依然要緊記,在多重回歸中,要討論回歸係數的意義,就必須固定住其他變數的取值。再次回顧三類選民的邏輯回歸模型:

1)海邊村村民:

WeChat 圖片_20200601151626.jpg

 

2)山上村村民:

WeChat 圖片_20200601151711.jpg

 

3)林間村村民:

WeChat 圖片_20200601151740.jpg

 

 

在教育程度給定時,三個等式右邊的部分都相同,如果我們把海邊村的等式減去林間村的等式,等式右邊的差值正好是啞變數海邊村的回歸係數3.06。換言之,海邊村的回歸係數代表了在教育程度相同時,該村村民與林間村村民支持聰聰的概率之分對數WeChat 圖片_20200601151824.jpg的差別。該係數為正,則說明在教育程度相同時,海邊村比林間村村民支援聰聰的概率更大。同樣,啞變數山上村的回歸係數代表的則是山上村與林間村的區別。

因此,推廣到一般情形,啞變數的回歸係數代表了這個啞變數對應的類別與參考類別之間的差異,這也解釋了為什麼我們把沒有自己專屬啞變數的類別稱為參考類別。我們可以視具體問題的需要選定參考類別,進而確定啞變數的取值。選擇不同的參考類別,得到的回歸模型在數學上都是等價的,但是回歸係數的意義會有所不同。在生物醫學研究中,如果有對照組,那麼將其確定為參考類別往往是一種合理的選擇,因為這樣我們就能從回歸係數上直接體現其他處理與對照組的區別了。

我們還可以借助圖形來説明理解。在上面的圖1中,任意選定一個教育程度,代表海邊村的紅色曲線總在代表林間村的黑色曲線上方,而代表山上村的藍色曲線總在下方,這與海邊村啞變數的回歸係數為正、山上村啞變數的回歸係數為負是吻合的。

 

明確了回歸係數的意義,我們還得會對其進行統計推斷,找出哪些效應是顯著的。在上一集《邏輯回歸的統計檢驗,原來招數辣麼多?》裡,我們介紹過Wald核對總和似然比檢驗兩種方法,它們同樣適用於多重邏輯回歸。根據統計軟體給出的Wald檢驗結果,啞變數海邊村、啞變數山上村、教育程度的回歸係數各自對應的p值是0.0060.180.001,因此海邊村(與林間村的差別)和教育程度兩者有顯著效應,而山上村(與林間村的差別)尚不顯著。似然比檢驗給出的結果與此相似。

 

最後,既然我們之前曾經擬合過僅僅包含教育程度的邏輯回歸模型(參見《48.邏輯回歸的嫋娜曲線,你是否會過目難忘?》),而今天在模型中加入了代表地理位置的兩個啞變數,我們自然還想知道,地理位置作為一個整體,是不是一個與選舉投票決策相關的重要因素?換言之,對於包含地理位置和教育程度的模型

 

WeChat 圖片_20200601151906.jpg

 

我們希望考察,海邊村和山上村這兩個啞變數有沒有必要。對於這個目的,Wald檢驗就無能為力了,因為它針對的是單個變數的回歸係數是否顯著不等於0。然而,似然比檢驗可以幫助我們回答這個問題。對於不包含地理位置的模型

WeChat 圖片_20200601152023.jpg

 

它實際上就是上一個模型(i)中使得WeChat 圖片_20200601152102.jpg。似然比檢驗可以對根據資料擬合出的這兩個模型的似然值進行比較,進行這樣一個假設檢驗

原假設WeChat 圖片_20200601152155.jpg

備選假設WeChat 圖片_20200601152232.jpg至少有一個不為0

統計軟體得到的p值為0.003,因此我們可以拒絕原假設,從而認為地理位置的確是與支持哪位候選人的概率有顯著關聯的因素。

系列文章

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.邏輯回歸的嫋娜曲線,你是否會過目難忘?

49.邏輯回歸的統計檢驗,原來招數辣麼多?

50.線性回歸能玩多變數,邏輯回歸當然也能

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

    HCHUNGW的部落格

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