WFU

2018年11月6日 星期二

多變項迴歸分析的呈現方式


文章作者:林星帆
本文為重新編輯 2018/3 發表在晨晰統計部落格的文章,在這裡這裡



圖片來源在此


多變項迴歸分析


多變項迴歸分析(Multivariable or multi-predictor regression analysis)指的是迴歸方程式中,同時有 2 個或 2 個以上的解釋變項,反應變項(Response variable, Y)則可能是各種尺度的變項。

常見的有線性(連續變項)、二元、計數與存活資料等,分別適用線性迴歸(Linear regression)、羅吉斯迴歸(Logistic regression)、卜瓦松迴歸(Poisson regression)及 Cox 比例危險模型(Cox proportional hazard model)等。

呈現多變項分析結果最常見的方式就是列表,列出迴歸係數、勝算比或危險比的值、信賴區間以及顯著性,如下表所示。


表一、最常見的多變項分析之呈現方式



方程式除了列解釋變項的迴歸係數(或勝算比、危險比)之外,也列出截距項(Intercept or constant)的數值,以利讀者可以帶入特定值,以計算出預測的結果變項的數值。

例如 50 歲男性且 Creatinine 是 0.8,此人的預測 Y 值是多少。預測 Y 值在線性迴歸跟卜瓦松迴歸代表的是平均值,在羅吉斯迴歸與 Cox 模型則是代表發生事件的機率。 


將結果轉換為絕對風險


以上表格易於看出哪些解釋變項是跟結果變項有關,但對於轉換為「絕對風險」(Absolute risks)則是較為不直觀,因為讀者必須自行帶入截距項或是基線危險值(Baseline hazard)計算出 Y 的預測值。

另外一方面,表格提供的資訊並不容易比較各個解釋變項的預測效果之強弱,以上表為例,由於 age 跟 creatinine 的單位不同,並無法直接從迴歸係數或風險比直接比較兩者的效果。 

在本文之中,筆者介紹兩種呈現多變項分析結果的方法,分別為 nomogram 跟 risk score(或稱simplified points system1),可以讓讀者更能做到以下兩點:
  1. 能簡單地直接轉換特定 X 值(例如 50 歲男性且 Creatinine 是 0.8)並得到預測 Y 值
  2. 能直接評估比較不同解釋變項之間的預測效果。 


Nomogram


首先先介紹 nomogram,它其實就是直接帶入迴歸方程式,以某個個案的特定值帶入迴歸係數與截距項,所得出的預測 Y 值。以羅吉斯迴歸為例,預測 Y 值(成為事件組的機率)為以下方程式:


圖一、羅吉斯迴歸預測 Y 值的公式 


Nomogram 使用方式很簡單,根據這位個案的各個解釋變項的實際數值,在第一列會有個相對應的分數(Points),例如 Teratoma 為 1 者的分數約為 4.7 分,於是每位個案都會有一個總分(倒數第三列的 Total Points),接著再比對最後一列的預測機率(p)。

關於「評估比較不同解釋變項之間的預測效果」,則可以看各解釋變項的分數多寡,例如由本例中可得知 Teratoma, Pre.AFP, Pre.HCG 三者對於結果變項的預測效果大致差不多,都介於 4-5 分之間。反之 LHDst, Post.size 跟 Reduction 的預測力就明顯比較強。 



資料來源:Steyerberg 2009 page 31822


Nomogram 使用雖然便利,但仍有其侷限,當解釋變項太多個的時候(例如 >10),使用者在使用此工具時,當用尺量的次數變多,會造成困擾。

目前 Nomogram 可利用 Frank Harrell 撰寫的 R 套件「nomogram」3產生,針對各種配適函數(fit)都可以輕易地產生出圖形,這個部分筆者未來會專門介紹羅吉斯迴歸與 Cox 模型的實際 R 語法的應用。


Points system 


如上所述,nomogram 不適用於解釋變項太多的情況(例如 >10),當我們的多變項分析同時包括 10 個甚至 15 個變項時,此時則可以考慮以points system來呈現多變項模式的結果。

points system 會先找一個連續變項作為參考變項(reference variable),以本例中就是adenoid(介於0-100%),並且對於此連續變項作「有臨床意義的分組」,例如將 Adenoid 以每 20%分成一組,這個動作等於將迴歸係數四捨五入。

假設我們將 Adenoid 分成 <20%, 21-40%, 41-60%, 61-80%, >80% 共五組,先找出每個組別的中點(Midpoint),分別是 10%、30%、50%、70%、90%,此時 >80% 比上 <20% 就是 90% 比 10%,80 乘以迴歸係數 0.025 等於 2 。

假使我們給予 Adenoid>80% 為 8 分(比上 <20%),於是我們得知「2 單位的迴歸係數等同於8分」,那麼由於 Breathing pause 的迴歸係數是 1 單位,所以 Breathing pause=1 會被指派 4 分,若有其餘變項的話,也是以此類推。 


表二、舉例說明


關於 points system 的詳細計算,包括羅吉斯迴歸與 Cox 模型,可參見 Sullivan 2004 的文章說明1

前述表二的例子是只有舉出 2 個變項為範例說明,下表則是列出完整範例: 



資料來源:Kang 2016 的文章4


使用方式非常簡單,根據該個案的實際數值帶入得到分數(Point),然後再加總總分並直接對應到 Risk(predicted probability)。

不過要提醒讀者,points system 雖然較 nomogram 更易於臨床使用,但以精準度來說,由於 points system 是將連續變項予以分組,所以預測值的精準度會比較低。


參考文獻


  1. Sullivan LM, Massaro JM, D'Agostino RB. Presentation of multivariate data for clinical use: the Framingham Study risk score functions. Statistics in medicine 2004; 23(10): 1631-60. 
  2. Steyerberg EW. Restrictions on candidate predictors. Clinical Prediction Models: Springer; 2009. 
  3. Harrell Jr FE. Regression modeling strategies: with applications to linear models, logistic and ordinal regression, and survival analysis: Springer; 2015. 
  4. Kang KT, Weng WC, Lee CH, Hsiao TY, Lee PL, Hsu WC. Clinical risk assessment model for pediatric obstructive sleep apnea. The Laryngoscope 2016; 126(10): 2403-9.