廣義線性模型觀點:統計迴歸分析(Regression)的基本原理與結構

差不多 2 月左右,衝假的緣故休得特別多,又正好碰到統計上無法解決的問題,於是本人也很有野心的列了一張清單,幾月的時候要看完哪些書目、做點小研究、整理一些心得什麼的,不過就像許多人每年的「夢想板」,寫的成分比較多…,趁著空檔,終於趕在開工前夕把 ptt 上也常有推薦的經典譯作, Neter 原著的「應用線性迴歸模型」掃完,再加上看了一部分的「類別資料分析導論」,穿插著幾本統計小書,一時恐怕是整理不完了。

我們準備來談談「迴歸分析的本質」以及它的歷史軼事,但無論如何,一窺迴歸分析的堂奧之前,還是有些觀念需要先建立起來。

為何這麼麻煩?把方法完整巡遊一遍後,回頭探討基本結構是很有好處的,像是出國旅行,人生地不熟的時候,常常只能跟著人潮與旅行團規劃走,但熟練的旅行者,會鑽進街巷之中,尋找連結著城市各處的最短途徑以及稍縱即逝的美麗風景。

首先,故事從這裡開始:迴歸是什麼?

統計迴歸模型( Regression )的起源:天才可以無限制地被遺傳下去嗎?

時空來到好久好久以前,英國的達爾文(對,就是那個達爾文)有個謠傳智商高達 200 的天才表弟叫 Galton , Galton 是個驚人的另類科學家,雖不是正統的學院學者,卻出版了數以百計的書籍與論文,領域之廣幾乎無所不包,被尊稱為「 Victorian Polymath 」

Galton 身為偉大的達爾文的表弟,不意外地,他對遺傳學也很有心得,並首創了優生學( Eugenics )用詞。由於出身銀行業兼軍火商的家族, Galton 幸運地得以任意從事他喜愛的探險與科學活動,在 1880 中期到 1890 年代這段時間, Galton 找來了一群人做了各種人體特徵的紀錄,他得到兩個心得:

第一,有兩隨機變數 X 、 Y ,當其中一者的改變多少受到另一方的影響時,必然存在同時作用於此二者的因素,將這種關係定義為「有相關」,反之則為獨立。

第二,當時人類遺傳學開始相信優勢是可以遺傳給後代的,但是會不會持續下去則是未證實的疑問,譬如身高都很高的夫妻,是否會生下更高的兒女?

eugenic-statistics

Galton 發現,父母特徵的確會遺傳給後代,但是並不會產生極端身高的族群。當父母的身高已經遠離平均身高時,生下的兒女身高並沒有持續「遠離」平均,而會稍微「靠近」平均,也就是相對矮了一點;反之父母身高很矮的後代,身高會相對其父母「靠近」平均一點。

當然雙親身高都很高的後代,比起雙親身高都很矮的後代,還是相對較高的,不過差距並未一直增加,反而會持續減少。

Galton 把這個「極端」往「平均」移動的現象稱為「 regression to the mean 」。用東方人的說法,就是「物極必反」,至於「極物」將「反向」何方?

Galton 說,這個答案就叫「平均數」。

Galton 的第一項發現「相關係數 r 」,後來由另一位在統計史上名氣鼎盛的 Karl Pearson 推導出線性通則,該式又名「 Pearson 積差相關係數」。

晚年的 Galton 與 Pearson 及 Weldon 關係相當好,不僅是研究夥伴,也資助二人創辦了至今影響力仍鉅的生物統計期刊《 Biometrika 》,在 Galton 的支持下,早期的《 Biometrika 》皆以超水準的規格發行,讓該刊知名度大開, Galton 過世以後也是由 Pearson 親自為其整理傳記。

Pearson 的介紹,可參閱《 卡方檢定 ON THE CROSS:PEARSON, YATES AND FISHER 》

regression-introduction

迴歸分析概念的視覺化

Galton 的迴歸概念,被逐漸補充、擴大,變得越來越完整,現在迴歸已是一個意義廣泛的用詞,更好的說法是「迴歸模型」,在這個模型底下包含了許多用以解釋、判斷、修正的諸多內容,若要產生一個「真正正確而有用」的模型所需的知識量,只看入門教科書絕對是不夠的。

從模型整合的角度出發,所有迴歸都具有三個基本要件:

1. 系統成分( Systematic Component )

2. 隨機成分( Random Component )

3. 連結函數( Link Function )

系統成分是給定的迴歸中,用來解釋研究現象的元素,隨機成分則是研究希望討論的「未知」的現象。而「連結」就是描述系統成分與隨機成分兩者之間關係的函數。

從文字定義似乎不易理解「迴歸」是什麼,由圖入手或許清楚得多,以下利用某地區房屋「坪數 X 」對應「房價(單位:千萬) Y 」的簡迴歸 ( Simple Regression ) 範例說明之:

statistics-simple-linear-regression-example

圖中的圓點,是抽樣的資料點,貫穿其中的直線,則是「迴歸直線」,迴歸直線的意義即是 Galton 所謂的「平均」。殘差 e31 、 e33 分別表示第 31 、 33 個資料點與平均線的差異,其餘以此類推。其中,「坪數 X 」就是系統成分,而「房價 Y 」則是隨機成分,對一個簡單直線迴歸,連結函數就是線性方程式。

由於「迴歸到平均」的性質,觀察迴歸直線與資料點的距離,即可推估該資料的一些特性,掌握這些數學特性,可以幫助我們做幾件事:

1.可推估某資料點是否為「離群的極端值」。

2.可計算自變數 X 與應變數 Y 的相關性。

3.根據上述的相關性,可描述資料集的發展趨勢。

4.拓展到擁有多個預測變數 X 的「複迴歸」,可分析多個自變數與應變數的互動。

5.可大膽預測「資料集之外(括號外的部份)」的資訊,對應變數的可能影響。

例圖用的是「線性迴歸」,然而迴歸用以描述自變數與應變數關係的函數不只有直線而已,二次或三次以上曲線、指數、對數、分段都是可行的方式,這也衍生出各種迴歸問題。

迴歸分析的公式化與殘差

以最普遍的直線迴歸為例,典型的線性迴歸式如下:

statistics-simple-linear-regression-example-2

此式稱為「母體迴歸直線」,是描述「真實未知情況」的完美配適。但是因為完整、正確的普查在多數情況下幾乎是不可行的,因此沒人知道「真實情況」究竟是如何,退而求其次,統計學容忍些許錯誤的可能性,改以抽樣資料推算真實的大概樣貌。

樣本迴歸直線因此誕生:

statistics-simple-linear-regression-example-3

迴歸式中的「殘差( Residual )」描述「觀察資料 Yi 」與「配適結果 Yi-hat 」的差異,殘差越小,代表模型的配適越接近觀察資料,假如可證明觀察資料之於真實情況具有代表性,就可利用配適結果對真實情況的良好描述進行有用的統計推論。

可以想像,對一個良好模型,其模型殘差的期望值 E( ei )應該要等於 0

殘差的實際用法,改天再討論,本文僅著重於殘差與模型的關係描述。

在一般的直線迴歸中,殘差的假設為:

注意,其中殘差的常態假設並非必要,雖然假設殘差服從常態分配對很多人而言可能是理所當然的…,一些作者直接就把它寫成基本假設,卻沒交代清楚,稍後會談到殘差的假設分配對模型的影響。

先來看看為何殘差不必要是常態分配?

根據高斯-馬可夫定理( Gauss-Markov Theorem ),以「最小平方法( Least Squares Method )」計算線性迴歸參數 b0 、 bi 將有「最佳線性不偏估計量( BLUE ,  Best Linear Unbiased Estimator )」性質的前提,要求殘差符合以下條件:

1. 殘差期望值為 0 。

2. 殘差具有同質變異,變異數為一固定常數。

3. 殘差間沒有自相關( Autocorrelation )

4. 自變數與殘差無關,即「正交性( Orthogonality )」。

發現了嗎?最小平方法下的殘差其實是不需要常態假設的。關於迴歸係數的最小平方估計,可參閱《一場關於猜的魔術:統計估計的形成》

regression-introduction

統計迴歸分析與常態分配的關係

回到迴歸分析的主題上,針對殘差假設為常態分配的意義有三:

第一,迴歸是需要相對大樣本才較有意義的方法,特別是多元變數的複迴歸,對樣本的需求量很大,很自然會符合中央極限定理。實務上,筆者會建議 300-500 個樣本或是更多時才適用。

第二,統計推論常見的 Z 、 T 、 Chi-squared 、F 基本上都是跟常態的機率分布性質( Normal Distribution )有關,光是有殘差,要是無法對殘差進行推論也是不夠力的。

第三,係數檢定用的 T 分配及類  T  統計量都是對偏離常態不太敏感的統計量,因為它們本身就是常態 Z 統計量的近似,因此近似又近似的結果就是,除非是殘差真實分配遠離常態,不然影響非常有限。在稍大的樣本條件下更是如此(理由同第一點)。

那有沒有殘差不為常態的迴歸模型範例?

有的,像 Logistic 迴歸式就沒有殘差的假設,因為「根本沒有殘差」,那是因為推導中代換掉的關係,有機會再來談。

回到殘差的分配對模型的影響上,記得常態分配具有「水平位移」的特性嗎?

對模型:

statistics-regression-residual-normal-distribution

由此可知,當假定殘差服從常態分配時,其實也就等於假定Y將服從常態分配,期望值 E( Y )= b0 + biX +… bkX ,變異數與殘差相同。

應該有人看過教科書這麼說:對 Y 而言,假設其為常態分配…,理由可以從這裡找到。

在迴歸裡,殘差變異數的估計量數是 MSE ( Mean Squared Error ),因此迴歸線的變異數也等於 MSE ,記得以前做專題還看過一個很爛的翻譯叫做「均方差」…,天啊,什麼東西?

假如你也被書中一下子說殘差變異數、一下子說模型變異數、一下子均方差搞得糊裡糊塗,那麼現在應該鬆一口氣了,因為都是同一件事。

所以一般說的直線迴歸究竟是不是常態的方法?

某個程度上視你從什麼角度切入。基本上,迴歸的分配取決於殘差的假設,而 XY 對應關係則決定迴歸的函數形式。在上述的直線模型中,假如只有一個自變項,通常稱為簡迴歸或簡單直線迴歸( Simple Regression ),同時存在多個自變項的情形,稱為複迴歸或多元迴歸( Multiple Regression ),兩者在許多基本性質上可以直接推廣,不過在複迴歸,容易產生因多元變數而起的模型問題,是以在統計教學中通常會將兩者分開討論。

簡迴歸的式子其實就是國中學過的 Y = a*X + b ,但在統計上描述得更實務、更精細,直線迴歸基本特性,可由符號下標看出來:

第一,每一組樣本 Xi1~Xik 對應到一個應變數 Yi (函數基本定義)。

第二,截距項與斜率項在迴歸配適完成之後就固定住了,因此可以任意代入想觀察的自變數組合,或者稍作修正,做資料集外的「預測」,做討論比較時也很方便…,總之這種一目了然的形式深受分析人員喜愛。

接著來談談迴歸函數的形式吧。

廣義線性模型的變化與結構:直線、曲線與非線

如果從自變數「 X 」與應變數「 Y 」的函數反應形狀來決定迴歸的「線性」,那麼我們基本上可以得到三個種類:直線、曲線與非線。

但是!對於這幾種對應關係的迴歸稱呼,似乎沒有一致的標準。

舉個例子來說好了,某些作者會用「線性」來表示「直線 + 曲線」,但問題是曲線在沒有充分指定的情況下是非常任意的,也就是所有的對應關係都是廣義的曲線,其實直線本身也不過曲率= 0 的曲線特例罷了。

另一些作者,用「線性」代表「直線」,非線性代表「廣義的曲線」,這個分法本身就有誤導之嫌,畢竟線性不等於直線,在書目之前來來去去很容易混為一談。

至於直線與非直線的區別,曾看過這樣的分法:直線迴歸永遠是「一階式」,只要是「二階」以上式子基本上就是非直線。但是這個有點可議…,等一下的例子告訴你為什麼。

statistics-regression-question

剛開始很令人納悶,明明就可以清清楚楚劃分成三種情形,統計學家何苦老愛用個意義不定的「線性」一詞來描述迴歸…?不過這是有原因的。

到目前為止,本文使用的範例都是「直線」。

不如來看看「非直線」的迴歸能不能給我們一些線索:

statistics-simple-non-linear-regression-example

拋物線迴歸不難懂,是很常見的曲線,但是多項式迴歸就很複雜了,隨著次方項增高,結果可能是一平面、曲面或者無法圖像化,總之,對應關係根本就不是線型。你可能會有點意外的是,其實,這兩個式子,「曲線」與「不是線」的迴歸,都是「線性」迴歸。

關鍵在於變數轉換!

用拋物線迴歸的例子,只要設新變數 X’ = X^2 ,再換入原先的公式,不就令「二階式」變為「一階式」了嗎?有樣學樣,交互作用以及更高階項次也都能比照辦理。

總之只要迴歸式表示成「相加式」,不管是怎樣的對應關係,曲線或者非線都可以透過代入新變數轉成直線。

至於「相乘式」的迴歸…,沒錯,還是線性迴歸。不過轉換的方式不一樣。

我們曾在《 Data Transformation的一些探討 》中看過這個公式:

statistics-simple-linear-regression-data-transformation

statistics-simple-linear-regression-data-transformation-2

是的,該式加入殘差項就成為「相乘式」的迴歸,轉換後的 e’ = log( e ) 。

在前面提到的《 Data Transformation的一些探討 》一文中,筆者沒有特意以「迴歸模型」為例的原因是,這個資料變造手法即使在非模型分析,也可能產生不錯的作用,當然了,資料轉換在迴歸中是很重要的技巧。

再換個例子,以經濟學柯布-道格拉斯生產函數( Cobb-Douglas Production Function ) 為例並加入殘差項如下:

Cobb-douglas-regression

其中 Q 代表產出, L 代表勞動力投入, K 代表資本投入。

轉換的方式同上,取對數轉換:

Cobb-douglas-regression-2

這正是一個標準的線性迴歸式。

看完「曲線」與「非線」轉換成「直線」的過程,相信你也不難理解為何眾多統計學家都愛用「線性迴歸」的名稱,因為不管是怎樣的函數形式,在統計學家的巧手下,都有辦法合理地轉成線性關係!

雖然變數轉換好不好用有時候見仁見智,但是理論上提供的彈性確實非常強大。

線性這種極強的相容性,提供了一個「超級模型」所需要的基礎,你一定在想,有沒有可能利用這種性質把各種不同類型的迴歸模型全都包在同一個理論下來解讀呢?

事實上,此模型就名為「廣義線性模型( GLM , Generalized Linear Model )」,廣泛包納了 ANOVA 、直線迴歸、多項式迴歸、 Poisson迴歸 、 Logistic 迴歸等等模型,不光反應變數是連續型的迴歸,反應變數是類別變數的模型也可以用它來解釋。

還記得前面提過所有迴歸的共同組成嗎?一個迴歸模型包含了三個基本元素:

1. 系統成分( Systematic Component )

2. 隨機成分( Random Component )

3. 連結函數( Link Function )

這三個元素,就是廣義線性模型的結構定義!

廣義線性模型從兩個方向將常態線性模型擴充到其他模型:

第一,隨機成分假設為非常態的其他分配;

第二,將連結函數從直線方程式改為其他函數。

當隨機成分 Y 不限於常態,那麼以類別變數為反應變數的模型就能用同一套概念運作,譬如 Y 服從二項分配,那麼 Y 取値就成為非 0 即 1 ,而非常態分配的範圍負無限大到正無限大之間。甚至計數資料也可以應用上來,譬如 Poisson 分配。

連結函數的彈性,則允許 GLM 納入各種不同的對應關係,並利用前述的資料轉換技巧,將曲線與非線案例變為直線函數,成為名符其實的「 廣義線性模型 」。

廣義線性模型的常見應用:直線迴歸、 ANOVA 與卡方檢定

對社會科學領域的學生來說,它們三個可能是最廣泛學習的方法了,但在我的學習印象中,也是最傻傻搞不清楚的方法。

ANOVA 與卡方,在大學的時候許多老師都會要求學生手動計算,主要的方法就是開表格,對 ANOVA 開二維表,對卡方也是開二維表,瞎的地方則是統計量算著算著,怎麼兩個方法好像都差不多!

後來敎迴歸,才終於導入模型化的概念,但是這下可慘了,因為已經把卡方檢定跟 ANOVA 混在一起,我實在無法理解為什麼 ANOVA =直線迴歸?

事後想想,這個疑惑某個程度上可歸因為沒有細分「變數類型」的關係。

統計的資料維度,概分四類:

1. 名目變數或類別變數( Nominal Variable 、 Categorical Variable )

2. 順序變數( Ordinal Variable )

3. 區間變數( Interval Variable )

4. 比例變數( Proportional Variable )

其中 1 、 2 合稱「質」變數; 3 、4 稱為「量」變數。

對於具有絕對原點的比例資料相信多數人都不陌生,統計上較容易產生問題的是前面三種,譬如順序變數,喜好分數從 1~3 , 1 為最喜歡, 3 為最不喜歡,看起來好像可以直接做加減運算,不過這樣會有個隱藏的問題,因為你不曉得分數 1 與分數 2 的差距是不是等於分數 2 到分數 3 的差距。

假如不是這樣的話,那麼運算結果就失真了。若是單位「等距」,順序變數就會變成「區間變數」。詳細內容可參考 UCLA Academic Technology Services 的網站,此處有相關說明

在二維卡方檢定當中,行列代表的兩個變數都是「類別變數」,內容是運用各類別的次數,檢定機率的「獨立性」與比例的「同質性」,但對 ANOVA 而言,比較的是各組的「平均數」差異,也就是說「組別是類別變數」,但平均數卻是「連續變數」。

而直線迴歸,稍早之前已經解釋過,應變數 Y 受到殘差的影響,服從「常態分配」, Y 是理所當然的「連續變數」,至於 X 的變數類型…,前面沒提,因為類別變數或順序變數都適用,比例變數更是不在話下,可說「沒什麼限制」。

數學裡,無限制的狀況是很難得的,理由可以從前面「水平位移」與「轉直線」的過程找到一點線索。

因為對迴歸線而言, X 不影響迴歸的分配誰屬,由於有了轉直線的方法, X 對 Y 的真實函數對應也不太重要了,因此 X 只要不與殘差有相關,能符合高斯-馬可夫定理,除此之外則是很自由的。

如此說來,直線迴歸與 ANOVA 的關係就清楚多了,對僅有 1 個預測變數 X ,且是「屬質」變數的直線迴歸,根本就是 ANOVA 。

從這層關係來看,迴歸分析的檢定報表使用 ANOVA Table 實在是再合理不過了。

順道一提, X 為「屬質」變數的迴歸,將會用到「虛擬變數( Dummy Variable )」的變數轉換,質對量的分析,不論用 ANOVA 計算或者跑 Dummy 迴歸,結果會一模一樣,對於 GLM 將 ANOVA 納入廣義線性的家族之中,現在你應該一點都不意外了。

另外要提醒,在其他的迴歸當中,是有以「類別變數」為應變數 Y 的模型,所以這裡特別指出「直線迴歸」。

最後就以一張簡化的圖示,來說明三者的差異,但是下圖的對應式並不保證 XY 具有因果關係,這又是另一個大主題了,我們改天再深入討論。

statistics-linear-regression-overview

閱讀一分鐘,台下十年功!精選文章推薦:

* DATA TRANSFORMATION的一些探討

* 維度縮減DIMENSION REDUCTION,通往線性代數的聖母峰 : 特徵值分解(EIGENVALUE DECOMPOSITION)、奇異值分解(SINGULAR VALUE DECOMPOSITION) 與主成份分析(PRINCIPAL COMPONENT ANALYSIS)

* 隨機性、大數法則與中央極限定理

* 統計R語言實作筆記系列 – 資料尺度與變數類型

* 統計R語言實作筆記系列 – 2D視覺化進階 GGPLOT()的基本架構(一)

* 數大有時不美的統計性質

 

(Visited 19,203 times, 47 visits today)

Wendell.Huang

科技公司嫌棄太活潑,消費品牌挑剔太沉悶..., 經常必須解釋自己在學什麼, 不小心就摔破對方眼鏡的跨領域玩家。