WFU

2022年7月6日 星期三

常見統計方法:Regression model 迴歸模型

 作者:許承越

     photo credit to Unsplash, Scott Graham

醫學與公共衛生的統計部分,通常可以簡化成一個簡單的公式模型(model):


Y = A*X1 + B*X2 + C*X3 + D*X4… + ε (常數)


生物統計學藉由不同的變數 / 因子 X ,來預測結果 Y。對於很多不同疾病的已知危險因子,大致上都是使用不同類似這樣的統計分析 ,反覆驗證出來的結果。


而常用的統計方式,有兩種,一種是 regression models,一種是 time-to-event analysis。這篇文章介紹 regression model。



Linear regression

Y 是一個 continuous variable。可以是身高、體重、血壓值、血糖值、或其他任何以連續狀態呈現出的數值。


跑完統計的結果,X的係數(A, B, C, D…)是 Risk difference,也就是X每多 1,Y的結果會相差多少。


在要使用 Linear regression 前,有一些前提與假設必須被滿足:1. 變數之間是獨立的、2. 變數符合特定的分佈狀況、3. Y 的結果會由不同的變數 X 組成的一個函式變化受影響、4. Y 的結果會受 X 的影響。


在進行 linear regression 前,我們可以使用 Correlation 來看 X 與 Y 之間的關聯性。Correlation 的意義是,兩個不同變數之間呈現 linear relationship 的程度。


跑完統計以後會有個 Correlation coefficient r,也會有個 p-value (一樣 p < 0.05 通常就會代表有統計上顯著意義)。 r 的值會落在 1 到 -1 之間的區間:-1 < r < 1。


1 是 100% 完全正相關,-1 是 100% 完全負相關。r 值大小的有效程度,通常會認為 r < 0.2 沒有太大意義,0.2 < r < 0.4 有弱相關,0.4 < r < 0.6 有中度程度的相關,0.6 < r 就算有一定程度的相關,不過還是要看實際使用情況跟探討內容而定。


常見的有兩種,Pearson’s correlation,以及 Spearman’s correlation。


Pearson’s correlation 評估兩者之間呈現 linear relationship的關係,也就是兩者之間的散佈圖上,有哪條直線最能代表兩者之間的關係。

Spearman’s correlation  評估兩者之間的關係,不一定要是線性的,可以是彎彎曲曲的(Monotonic relationship)

這個網站的作者有對於兩者之間圖片的比較,大家可以參考看看。



Logistic regression

Y 是一個 dichotomous variable。可以是有癌症/沒癌症、有懷孕/沒懷孕、死亡/存活、有發現/沒發現,等等。跑完統計的結果,X的係數(A, B, C, D…)是 Odds ratio(因為公式限制的關係,通常要用log以後才是 Odds ratio,不過大部分統計軟體有自動轉換的功能,所以可以記跑完的結果是 Odds ratio。)


又因為 logistic regression 實在太好用也太常見,所以後來統計學上又發展出幾個相關的統計技巧。 Logistic regression model 的 Y 是 0 or 1 的組合(有生病/沒生病、死亡/存活)等,所以如果適合的 logistic regression model 可以用來判斷陽姓與陰性。


但是會牽涉到判讀工具的 sensitivity (有病的人被正確地診斷為有病的機率)以及 specificity (沒病的人被正確地診斷為沒病的機率),而這邊可以使用的工具就是 ROC 曲線(Receiver Operating Characteristics curve)。


大家可以簡單記得,ROC curve 下面的面積(Area under the curve, AUC),也就是 C-statistic,的意義是,從樣本裡面隨機抽取一個確診的人以及一個沒有確診的人,使用這個工具來正確診斷確診者的數值高於沒有確診者的人之機率。所以如果 ROC 曲線面積越大,代表效果最好。


photo by Wikipedia, cmglee, MartinThoma - Roc-draft-xkcd-style.svg, CC BY-SA 4.0, (https://commons.wikimedia.org/w/index.php?curid=109730045)


ROC曲線 Y 軸是 sensitivity,也就是將有病者正確診斷出有病的機率。X 軸是 1-specificity ,也就是將沒病者診斷為有病的機率,也就是偽裝陽性。我們希望 sensitivity 越高,而 1-specificity 越低,因此 ROC 曲線若越靠近圖片的左上角,則越有說服力。


此外,使用 logistic regression 也可以計算出,將X1, X2, X3,... 到 Xn 帶入 logistic regression model的公式時, Y = 1 (也就是得到我們想要的結果時)的機率。計算方式的推導有點麻煩,有興趣的話可以再上網找找看。總之可以先記 probability = e^(regression model)/(1+e^(regression model) ) 就好。



Log-binomial regression

Y 是測 Risk 或 Prevalence。也就是測一個群體中的疾病發生率或盛行率。跑完統計的結果,X的係數(A, B, C, D…)是 Risk ratio 或是 Prevalence ratio。



Poisson regression

Y 是 Incidence rate,有把時間的概念涵蓋進去。跑完統計的結果,X的係數(A, B, C, D…),是 incidence rate ratio。



Ordinal and Multinomial regression model

Y 是 ordinal variable(順序變數,例如滿意度從 1, 2, 3, 4, 5)或是 multinomial variable(例如紅色、藍色、黃色,或者是居住地為台北市、台中市、台南市、高雄市等等,沒有順序大小上差別的 variable)。X的係數(A, B, C, D…)是 Odds ratio,但因為 Y 性質的關係,在解讀時要小心,因為通常是把 Y 中選擇最小或是最大的值當作 reference 來比較,一般而言在流行病學的研究中不是那麼常見。



Regression model 的使用

依據 outcome Y 的不同,每個 X 前面的係數,則在不同的 regression model 中代表著不同的意思;統計軟體通常會給一個係數的 95% 信賴區間 (Confidence Interval, CI)以及 p-value。這邊也可以簡單記 p-value 若 < 0.05 就是統計上這個係數有顯著意義;而如果統計上有顯著意義的話,95% CI 則不會涵蓋到 1 的數值(odds ratio, incidence ratio 等不等於 1 才代表有差別)。


如果是正向影響(positive effect),則係數會大於 1,但如果是負向影響(negative effect),則係數會小於 1 。唯一例外是 Linear regression 有統計上顯著意義的話代表 95% CI 不會涵蓋到 0 的數值(因為 linear regression 中 係數是代表 rick difference,若相減不為 0 才代表有意義)。


對於只需要統計簡單應用的基礎使用者,只要記得不同 regression model 中的係數代表什麼意思,以及 logistic, log-binomial, poisson 等三個 regression model 的係數都是 log 化,但統計軟體可以幫我們將之指數化成我們要的結果。


此外,如果想要研究 variable Xs 之間的交互作用,也可以納入 interactive terms,例如:

Y = A*X1 + B*X2 + C*X3 + D*X1*X2


則 D 的意義就是當 X1 和 X2 同時存在時對於Y的影響,比 X1 或 X2 單獨存在時對 Y 的影響還要多多少。


又或者有時候想要知道某個變數經過特定的譽職後或有不同的影響,例如兒童的身高生長速率進入青春期以後會迅速增加,則可以改成:

Y = A*X + B*(X-12)

但在這邊通常會定義 

If X1 > 12, 則用 X1-12帶入

If X1 <= 12, 則 X1-12 = 0


則 B 的意義就是 X 在 12 之後對 Y 的影響,比 X 在 12 之前多多少。也可以理解成當 X < 12 時,每新增 1 單位的 X,Y 受影響的幅度是 A,但是當 X > 12時,每新增 1 單位的 X,Y 受影響的幅度就是 A+B。這常見在有曲折的分佈上,或是在臨床上經過某個特別有意義的切點後,會有不同影響的變數。


其他流行病學與生物統計學筆記:請按這裡