生物統計學習筆記從概念、推導到實務判讀

CHAPTER 07 · TOPIC 06

多元迴歸分析

多元線性迴歸(multiple linear regression)同時使用兩個以上的解釋變數來描述或預測一個連續結果 Y。它不只是把 X 的數量增加,也讓每個係數能在其他變數保持不變時,表示該變數與 Y 的條件關係。

本頁內容
  1. 多個係數要如何解釋?
  2. 先看多元模型如何拆解 Y 的變異
  3. 三種平方和如何組成整體 F 檢定?
  4. 再從個別虛無假設檢查每個係數
  5. 多組類別比較如何連到 ANOVA?
  6. 虛擬變數如何編碼?
  7. 為什麼要把干擾因子納入模型?
  8. Crude、部分校正與完整模型
  9. 建議的分析與報告順序

多元線性迴歸(multiple linear regression)同時使用兩個以上的解釋變數來描述或預測一個連續結果 Y。它不只是把 X 的數量增加,也讓每個係數能在其他變數保持不變時,表示該變數與 Y 的條件關係。

母體模型Yi=β0+β1X1i+β2X2i++βpXpi+εiY_i=\beta_0+\beta_1X_{1i}+\beta_2X_{2i}+\cdots+\beta_pX_{pi}+\varepsilon_i
樣本預測式Y^i=b0+b1X1i+b2X2i++bpXpi\hat Y_i=b_0+b_1X_{1i}+b_2X_{2i}+\cdots+b_pX_{pi}

多個係數要如何解釋?

例如用年齡、性別與身高描述體重,可寫成下列模型。性別是類別變數,必須先選定參考組並以虛擬變數編碼;假設 Female=1、Male=0:

E(Weight)=β0+β1(Age)+β2(Female)+β3(Height)E(\text{Weight})=\beta_0+\beta_1(\text{Age})+\beta_2(\text{Female})+\beta_3(\text{Height})
係數在其他變數固定時的解釋
β₀年齡與身高為 0、且屬於男性參考組時的平均體重;是否有實質意義取決於變數零點
β₁性別與身高相同時,年齡每增加 1 單位,平均體重改變多少
β₂年齡與身高相同時,女性相對男性的平均體重差
β₃年齡與性別相同時,身高每增加 1 單位,平均體重改變多少

先看多元模型如何拆解 Y 的變異

多元迴歸的每一個預測值 Ŷᵢ,不是由單一 X 算出,而是同時代入該觀察對象的 X₁ᵢ、X₂ᵢ、…、Xₚᵢ。以下所有 Regression 與 Error 都是相對於這個包含 p 個斜率的完整模型:

Y^i=b0+b1X1i+b2X2i++bpXpi\hat Y_i=b_0+b_1X_{1i}+b_2X_{2i}+\cdots+b_pX_{pi}
變異來源讀法它在問什麼?
Total總平方和 SST尚未使用任何 X 時,所有 Y 相對總平均一共有多少變異?
Regression迴歸平方和 SSR把 X₁~Xₚ 同時放入模型後,整個模型共同解釋多少變異?
Error誤差平方和 SSE每個實際值與多元模型預測值之間還剩多少未解釋變異?
每一筆資料的離差分解YiYˉ=(Y^iYˉ)+(YiY^i)Y_i-\bar Y=(\hat Y_i-\bar Y)+(Y_i-\hat Y_i)
總平方和SST=i=1n(YiYˉ)2SS_T=\sum_{i=1}^{n}(Y_i-\bar Y)^2
多元模型解釋的平方和SSR=i=1n(Y^iYˉ)2SS_R=\sum_{i=1}^{n}(\hat Y_i-\bar Y)^2
多元模型剩下的誤差平方和SSE=i=1n(YiY^i)2SS_E=\sum_{i=1}^{n}(Y_i-\hat Y_i)^2
平方和分解SST=SSR+SSESS_T=SS_R+SS_E

三種平方和如何組成整體 F 檢定?

整體 F 檢定比較的是:p 個斜率合在一起所解釋的平均變異,是否明顯大於模型仍未解釋的平均誤差。它不是先分別檢定每個 X,而是一次檢定整組斜率。

H0:β1=β2==βp=0H1:至少一個 βj0H_0:\beta_1=\beta_2=\cdots=\beta_p=0\qquad H_1:\text{至少一個 }\beta_j\ne0
變異來源平方和自由度
Regression:X₁~Xₚ 共同解釋SSRp
Error:完整模型仍未解釋SSEn−p−1
Total:Y 原本的全部變異SSTn−1

為什麼 Regression 是 p?因為模型有 β₁~βₚ 共 p 個斜率,每個可獨立估計的斜率使用 1 個模型自由度。為什麼 Error 是 n−p−1?因為 n 筆 Y 資訊已用來估計 1 個截距與 p 個斜率,共使用 p+1 個參數,所以剩下 n−(p+1)=n−p−1。

模型均方MSR=SSRpMS_R=\frac{SS_R}{p}
誤差均方MSE=SSEnp1MS_E=\frac{SS_E}{n-p-1}
整體 F 統計量F=MSRMSE=SSR/pSSE/(np1)F=\frac{MS_R}{MS_E}=\frac{SS_R/p}{SS_E/(n-p-1)}
H₀ 成立時FFp,np1F\sim F_{p,n-p-1}

如果 F 足夠大而拒絕 H₀,只能得到「β₁~βₚ 至少有一個不是 0」;尚不能知道是哪一個 X,也不能說每一個 X 都有獨立貢獻。接下來才查看各係數的 t 檢定,或比較巢狀模型來檢定一組指定係數。

再從個別虛無假設檢查每個係數

整體檢定之後,可以對截距及每個斜率分別進行 t 檢定。對第 j 個斜率,最常見的虛無假設是 H₀:βⱼ=0;t 值用樣本估計值與虛無假設指定值的差,除以該估計值的標準誤。

個別假設H0:βj=0H1:βj0H_0:\beta_j=0\qquad H_1:\beta_j\ne0
個別 t 統計量t=bj0SE(bj),df=np1t=\frac{b_j-0}{SE(b_j)},\qquad df=n-p-1
VariableDFParameter estimateStandard errort valuep value
Intercept1−128.5512.61−10.20<0.0001
Age12.380.564.25<0.0001
Female10.341.600.210.8335
Height13.100.2711.62<0.0001

以上表格沿用同一個示意結果。以 Female 為例,估計值 b₂=0.34 相對於標準誤 1.60 很小,因此 t=0.21、p=0.8335;在年齡與身高相同的條件下,資料沒有提供足夠證據支持女性與男性的平均體重不同。這不等於證明性別完全沒有影響。

多組類別比較如何連到 ANOVA?

ANOVA 與迴歸都是線性模型。ANOVA 以組別平均數描述差異;迴歸則把組別轉成虛擬變數,以係數表示各組相對參考組的差異。若類別變數共有 J 組,只需要 J−1 個虛擬變數,因為最後一組由全部虛擬變數皆為 0 來表示。

J 組需要的虛擬變數數量p=J1p=J-1
只有組別變數時的誤差自由度np1=n(J1)1=nJn-p-1=n-(J-1)-1=n-J

因此,模型只包含一個 J 組類別變數時,多元迴歸的整體 F 檢定與單因子 ANOVA 會得到相同的結論。若整體 F 拒絕各組平均相同的虛無假設,接著可用事先指定的 contrasts 或經多重比較校正的兩兩比較,找出差異所在;不能只把每個係數的未校正 p 值當成所有事後比較。

虛擬變數如何編碼?

假設壓力程度有無壓力、壓力中等、壓力大三組。若選擇無壓力為參考組,可建立兩個虛擬變數:

分類X₁:壓力中等X₂:壓力大
無壓力(參考組)00
壓力中等10
壓力大01
E(Y)=β0+β1X1+β2X2E(Y)=\beta_0+\beta_1X_1+\beta_2X_2
組別代入模型後的平均係數意義
無壓力β₀參考組平均
壓力中等β₀+β₁β₁ 是中等組−無壓力組
壓力大β₀+β₂β₂ 是壓力大組−無壓力組

為什麼要把干擾因子納入模型?

假設未分層時看見財富愈高、視力愈差;但分成年輕與年長族群後,各年齡層內都看不出財富與視力的關係。可能的原因是年長者平均較富有,同時視力也較差,年齡因此同時與財富及視力相關,造成未校正關係受到混淆。

年齡干擾財富與視力關係的示意圖:合併年長與年輕族群時呈負向關聯,但各年齡層內沒有明顯關聯
合併資料時,財富與視力看似呈負向關聯;依年齡分層後,各組內的關聯很弱。年齡同時與財富及視力相關,因此可能造成混淆。來源:本站依原始筆記圖重製
未校正模型E(Vision)=β0+β1(Wealth)E(\text{Vision})=\beta_0+\beta_1(\text{Wealth})
加入年齡後E(Vision)=β0+β1(Wealth)+β2(Age)E(\text{Vision})=\beta_0+\beta_1(\text{Wealth})+\beta_2(\text{Age})

加入年齡後,β₁ 比較的是年齡相同者之間財富與視力的關係。如果 β₁ 明顯縮小,表示未校正結果可能受到年齡混淆。不過,是否應校正某變數必須依研究問題、因果時間順序與領域知識事先判斷,不能只依 p 值自動選擇。

Crude、部分校正與完整模型

模型納入的變數用途
Crude model主要解釋變數呈現未校正關係
Age/sex-adjusted model主要解釋變數+年齡、性別呈現基本人口學因素校正後的關係
Full model主要解釋變數+事先選定的干擾因子呈現完整調整集合下的條件關係

依序報告不同模型,可以讓讀者看見主要係數在校正前後如何改變。但 Full model 不代表把所有可取得變數全部塞入模型;若把中介變數、碰撞因子或高度共線的變數不加判斷地納入,反而可能造成偏差或不穩定。

建議的分析與報告順序

  1. 先依研究問題決定結果變數、主要解釋變數與需要校正的干擾因子。
  2. 確認連續變數的線性形式,並為類別變數選定參考組與建立 J−1 個虛擬變數。
  3. 檢查遺漏值、離群值、高槓桿值、殘差型態、等變異性與解釋變數間的共線性。
  4. 先報告整體 F 檢定與 R²,再報告各係數、標準誤、信賴區間、t 與 p 值。
  5. 需要多組比較時,清楚寫出 contrasts、參考組及多重比較校正方法。
  6. 並列 crude 與 adjusted model,說明加入哪些變數、係數如何改變,以及結果可支持到什麼程度。