?說人話的統(tǒng)計學(xué)?
從邏輯回歸模型開始,我們連續(xù)講了好多集有些相似又特點各異的幾種統(tǒng)計模型。它們有個統(tǒng)一的旗號,叫做「廣義線性模型」(generalized linear model)。 許多在大學(xué)里學(xué)過一點統(tǒng)計的讀者,可能對廣義線性模型還是會感到比較陌生。為什么這些模型能被歸為一個大類?它們的共同點在哪里?今天我們就和大家一塊再來系統(tǒng)地認(rèn)識一下,廣義線性模型到底是何方神圣。
在耐著性子把這篇文章讀完之前,大家肯定會想,為什么要學(xué)習(xí)廣義線性模型呢?畢竟光是理解線性模型的各種用法就已經(jīng)夠頭疼的了,再加個廣義更繞不清楚了。
普通線性模型對數(shù)據(jù)有著諸多限制,真實數(shù)據(jù)并不總能滿足。而廣義線性模型正是克服了很多普通線性模型的限制。在筆者的心里,廣義模型能解決的問題種類比普通線性模型多很多,用圖來表示,大概就是這樣的:
圖一:定性對比廣義線性模型和普通線性模型的能解決的問題多少
我們前面通過討論邏輯回歸、定序回歸以及泊松回歸模型,已經(jīng)帶著讀者們在廣義線性模型的世界里面轉(zhuǎn)了一大圈。今天,我們將要回到廣義線性模型的本質(zhì),從廣義線性模型的三個要素——線性預(yù)測、隨機(jī)性和聯(lián)系函數(shù)入手,在理論層面系統(tǒng)深入地了解廣義線性模型。
各路線性模型的共同點:線性預(yù)測
不管是普通線性模型,還是廣義線性模型,既然打著「線性模型」旗號,總該是有個原因的吧?這里的「線性」指的是多個自變量的「線性組合」對模型預(yù)測產(chǎn)生貢獻(xiàn),也叫做線性預(yù)測,它具有類似于下面的形式:
這個形式讀者們已經(jīng)非常熟悉了,因為之前講的所有模型使用的都是線性預(yù)測。
統(tǒng)計模型中的β0、β1、β2等是模型的參數(shù),如果把模型看成是一個音箱,這些參數(shù)就像看是音箱上一個個控制聲音的旋鈕。為啥音箱得要怎么多旋鈕呢?因為雖然擰每一個旋鈕達(dá)到的效果不同,可能β0管的是低音炮部分,β1管的是中音區(qū),β2管的是高音區(qū),模型里面需要這么多參數(shù)也是為了控制各種自變量對因變量的影響的。
為什么各種常用的模型都選擇線性預(yù)測呢?當(dāng)我們調(diào)節(jié)某一個旋鈕的時候,我們當(dāng)然希望聲音的效果與旋鈕擰了多少成正比,如果擰了一圈聲音跟蚊子叫一樣,而擰了兩圈聲音突然震耳欲聾,這樣的音箱用起來就得經(jīng)過反反復(fù)復(fù)地調(diào)節(jié)才能找到最佳音量,非常的不方便。統(tǒng)計模型的在尋找最優(yōu)參數(shù)的時候做得就是調(diào)節(jié)音量這件事,使用線性預(yù)測使得β0、β1、β2這些參數(shù)改變的值與預(yù)測的結(jié)果的改變值成正比,這樣才能有效地找到最佳參數(shù)。
「隨機(jī)性」— 統(tǒng)計模型的靈魂
我們之所以會建立統(tǒng)計模型,是想研究自變量(模型的輸入)與因變量(模型的輸出)之間的定量關(guān)系。通過模型計算出來的自變量的預(yù)測值與因變量的測量值越接近,就說明模型越準(zhǔn)確。
雖然在建立模型時,我們希望統(tǒng)計模型能準(zhǔn)確地抓住自變量與因變量之間的關(guān)系,但是當(dāng)因變量能夠100%被自變量決定時,這時候反而沒有統(tǒng)計模型什么事了。典型的例子是中學(xué)時學(xué)習(xí)的物理定律,我們都知道,物體的加速度與它受的合力大小成正比,也就是說給定物體的質(zhì)量和受力大小,加速度是一個固定的值,如果你答題的時候?qū)懀?span>「有一定的概率是a,也有一定的概率是b」,物理老師肯定會氣得暈過去。
統(tǒng)計模型的威力就在于幫助我們從混合著噪音的數(shù)據(jù)中找出規(guī)律。假設(shè)這個世界還沒有人知道物體受的合力大小與加速度成正比,為了驗證這一假說, 你仔細(xì)測了小滑塊 在不同受力條件下的加速度,但由于手抖眼花尺子爛等等理由,哪怕是同樣的受力,多次測量得到的加速度也會不一樣,具有一定的隨機(jī)性。也就是說,由于測量誤差的存在,測量到的加速度(因變量y)與物體的受力大小(自變量x)之間不是嚴(yán)格的正比關(guān)系。
統(tǒng)計模型是怎樣從具有隨機(jī)性的數(shù)據(jù)中找到自變量和因變量之間的關(guān)系的呢?原因在于是隨機(jī)誤差也是有規(guī)律的。在測量不存在系統(tǒng)性的偏差的情況下,測量到的加速度會以理論值為平均值呈正態(tài)分布,詳情可回顧《正態(tài)分布到底是怎么來的?| 協(xié)和八》。抓住這一統(tǒng)計規(guī)律,統(tǒng)計模型就能幫我們可以透過隨機(jī)性看到自變量與因變量之間的本質(zhì)聯(lián)系,找出加速度與受力大小的關(guān)系。
如果不對自變量的隨機(jī)性加以限制,再好的統(tǒng)計模型也無可奈何。試想一下,假如測量到的加速度值是不認(rèn)真做實驗的某個同學(xué)隨手編的數(shù)值,那就不能保證它的平均值與實際值接近,自然也就無法正確地計算出加速度與受力大小的關(guān)系。
雖然在加速度的例子里面,因變量y的隨機(jī)性來源于測量誤差,但是實際應(yīng)用中,y的隨機(jī)性遠(yuǎn)不止測量誤差,也有可能是影響y值變化的一些變量沒有包含在模型中。比如一個公司的薪水由工齡,工作崗位和每月工時三個因素決定,但是在用模型預(yù)測薪水的時候,只用了工齡和工作崗位兩個因素,這時模型就會把由工時不同導(dǎo)致的薪水不同看做是隨機(jī)誤差。
其實,統(tǒng)計模型并不在意y的隨機(jī)性是由什么產(chǎn)生的:統(tǒng)計模型把因變量y中不能被模型解釋的變化都算在誤差項里面,并且通過對誤差作出合理的假設(shè),幫助我們找到自變量與因變量之間內(nèi)在的關(guān)系。如何對隨機(jī)性作出合理的假設(shè),得根據(jù)具體情況具體分析,這也就演化出了各種各樣的統(tǒng)計模型。
各路統(tǒng)計模型如何對付「隨機(jī)性」?
在統(tǒng)計模型中,當(dāng)自變量取特定值,因變量y的隨機(jī)性由y的概率分布來決定。無論是普通線性模型還是廣義線性模型,預(yù)測的都是自變量x取特定值時因變量y的平均值。因變量y的實際取值與其平均值之差被稱為誤差項,而誤差的分布很大程度上決定了使用什么模型。我們下面就來回顧一下在不同的模型里面誤差項得滿足什么樣的分布。
普通線性模型的基本假設(shè)之一是誤差符合方差固定的正態(tài)分布(高斯分布)。只有一個因變量的普通線性模型具有下面的形式:
模型的輸出β0+β1*x預(yù)測的是y的平均值,而誤差項ε描述了y的隨機(jī)性,普通線性模型中的方差不隨自變量x取值的變化而變化。想深入回顧普通線性回歸模型的讀者,可以戳《如果只能學(xué)習(xí)一種統(tǒng)計方法,我選擇線性回歸 | 協(xié)和八》。
當(dāng)誤差項ε不再滿足正太分布,或者誤差項的方差會隨著x的變化而變化的時候,普通線性模型就不夠用了。由于正太分布描述的是一個連續(xù)變量的分布, 當(dāng)因變量y是類別變量或是計數(shù)變量這樣的非連續(xù)變量時 ,顯然誤差項就不能滿足普通線性模型關(guān)于誤差得是正態(tài)分布的要求,這時候就需要廣義線性模型來救場了。
咱們先從最常用的邏輯回歸模型說起。邏輯回歸模型預(yù)測的是因變量y=1的概率P(y=1),它具有下面的形式:
對邏輯回歸記不太清或者不熟悉的讀者可以先不用糾結(jié)等式左邊復(fù)雜的形式,我們一會兒再說。 與普通線性回歸不同,邏輯回歸的模型形式似乎并不能直接體現(xiàn)出y的誤差項,畢竟等式的右邊沒有一個。 那么y的隨機(jī)性是如何在邏輯回歸中體現(xiàn)出來的?
在知道P(y=1)的情況下,y有可能取0也有可能取1,這是y隨機(jī)性的來源。有趣的是,當(dāng)我們用概率分布來描述y的隨機(jī)性時,我們會發(fā)現(xiàn),這不就是P(y=1)嗎?由于y只能取兩個值,知道取1的概率,自然就確定了y的概率分布,也就是說,y的隨機(jī)性恰好被y的平均值刻畫了,這與普通線性回歸完全不一樣。在普通線性回歸里面,我們強(qiáng)調(diào)了,當(dāng)y的預(yù)測值改變時,y實際值的方差是不變的,而在邏輯回歸模型里面,模型的預(yù)測值同時也決定了方差。
下面再看看針對因變量是整數(shù)變量情形的泊松回歸,泊松回歸具有下面的形式
那泊松回歸是如何處理y的隨機(jī)性的呢? 泊松回歸模型認(rèn)為給定自變量的取值,因變量y滿足泊松分布,模型的輸出eβ0+β1*x1預(yù)測的是y的平均值,由于泊松分布只有一個參數(shù),知道了分布的平均值整個分布也就確定了,于是泊松分布中y的誤差的分布也就由y的平均值決定了,這一點倒是和邏輯回歸模型異曲同工。
對比普通線性模型,邏輯回歸模型,以及泊松回歸模型,我們可以發(fā)現(xiàn)這幾個模型除了等式左邊形式不同,當(dāng)因變量取特定值時,這些模型所假設(shè)的y的隨機(jī)分布形式也不一樣,如下圖:
圖二:普通線性模型,邏輯回歸模型,以及泊松回歸模型的對比。圖中紅色虛線代表模型預(yù)測的因變量y的平均值,圖中的點代表了實際數(shù)據(jù)值,泊松回歸模型中的灰色細(xì)線代表了特定自變量取值下因變量y的分布。
廣義線性模型繞不開的聯(lián)系函數(shù)(link function)
說完了隨機(jī)性,下面再來看看廣義線性模型的最后一個要素:聯(lián)系函數(shù)。聯(lián)系函數(shù)是啥?它是一個關(guān)于因變量y的函數(shù),它把前面說到的線性預(yù)測的結(jié)果與因變量y的值之間建立一座橋梁。在學(xué)習(xí)統(tǒng)計的人看來,它就是廣義線性模型中那個最匪夷所思最麻煩的一項:
它是邏輯回歸中的
它是定序回歸中的
它是泊松回歸中的
在我們最熟悉的普通線性回歸中,它就是y本身,是最樸實的聯(lián)系函數(shù)。從這個角度,普通線性模型也被包含在里廣義線性模型的框架底下,只是使用的聯(lián)系函數(shù)以及對于y的隨機(jī)性假設(shè)與其它廣義線性模型不同。
聯(lián)系函數(shù)為什么會在各個模型中具有不同的形式?首先,是為了把y的取值范圍變換成負(fù)無窮到正無窮,這樣就與模型中等式右邊的線性預(yù)測項的取值范圍一致了。當(dāng)然,對于任意類型的因變量y,符合上面這個條件的變換都可以有無數(shù)個,那為什么我們會取上面這些特定的形式呢? 在理論層面上,當(dāng)y是二項分布時,使用邏輯函數(shù)作為聯(lián)系函數(shù),能夠使得模型有一些有效的解法;當(dāng)y是泊松分布的情況下,使用對數(shù)函數(shù)作為聯(lián)系函數(shù),也有同樣的效果。在實際應(yīng)用中,上面提到的聯(lián)系函數(shù)形式也常常能有效地擬合數(shù)據(jù),這些原因綜合導(dǎo)致了它們是最常用的聯(lián)系函數(shù)形式。
上面羅列的理由只能說明這些常見的聯(lián)系函數(shù)使用起來比較方便,但并非是說它們是唯一合法的聯(lián)系函數(shù)。在以后讀者們在接觸到更多的廣義線性模型的時候,看到新的聯(lián)系函數(shù)不要被嚇到,雖然形式可能很復(fù)雜,但是功能不外乎是讓y的取值范圍與預(yù)測值范圍一致,以及讓模型比較好地擬合當(dāng)下的數(shù)據(jù)。
一個實用的廣義線性模型總結(jié)
最后,我們用一張表格來總結(jié)各種不同的線性模型。在表中,我們把普通線性模型看做是廣義線性模型的一個特例。
圖三:常用線性模型小結(jié)
一個吃貨的線性模型總結(jié)
最后,作為一個吃貨,竟然覺得線性模型與火鍋有一種神似,在這里和大家分享一下。總有一款線性模型適合你的數(shù)據(jù),就像總有一種火鍋能打動你。數(shù)據(jù)就像是火鍋的食材,而選擇哪款線性模型就像是選擇湯底。我們都知道,湯底得按照食材的特性選擇,才能釋放出食材的全部美味。
對于新鮮又質(zhì)量上層的肉片,清淡一點的湯底能更好得帶出食材的香味,就像當(dāng)因變量屬于正常正態(tài)分布的數(shù)據(jù)時,選用普通線性模型就能得到良好的效果;對于本身味道比較重的食材,比如毛肚百葉等,經(jīng)過麻辣的湯底的洗滌再放到嘴里簡直爽到飛起,就像當(dāng)因變量是二元變量或計數(shù)變量時,用邏輯回歸模型或者泊松回歸模型才能較好地擬合數(shù)據(jù)。
吃火鍋時湯底是很關(guān)鍵,但蘸料的妙用也會錦上添花,極大地提高食物的美味程度。聯(lián)系函數(shù)之于廣義線性模型,就如蘸料之于火鍋。蘸料一般選擇基本款就可以了,就像根據(jù)因變量y的分布,聯(lián)系函數(shù)的選擇也有一些萬能基本款,遇到特殊問題的時候,也可以靈活變通,選擇使用「口味」更適合的聯(lián)系函數(shù)。
作者:田菊
編輯:鵝不食草
* 點擊下方標(biāo)題,或回復(fù)關(guān)鍵詞「說人話的統(tǒng)計學(xué)」可隨時查閱本系列任意文章!
干貨
第 1 章 高屋建瓴看統(tǒng)計
做統(tǒng)計,多少數(shù)據(jù)才算夠?(上)
做統(tǒng)計,多少數(shù)據(jù)才算夠?(下)
第 2 章 算術(shù)平均數(shù)與正態(tài)分布
第 3 章 t 檢驗:兩組平均數(shù)的比較
樣本分布不正態(tài)?數(shù)據(jù)變換來救場!
找出 t 檢驗的效應(yīng)大小,對耍流氓 say no!
第 4 章 方差分析(ANOVA):多組平均數(shù)的比較
多因素 ANOVA=好幾個單因素 ANOVA?可沒這么簡單!
第 5 章 線性回歸:統(tǒng)計建模初步
如果只能學(xué)習(xí)一種統(tǒng)計方法,我選擇線性回歸
第 6 章 廣義線性模型:統(tǒng)計建模進(jìn)階
只問方向,無問遠(yuǎn)近,定序回歸的執(zhí)念你懂嗎?
自檢
統(tǒng)計學(xué)的十個誤區(qū),你答對了嗎?
番外篇
聯(lián)系客服