迴歸分析(Regression analysis)可以一次檢視多個自變項對於依變項的預測效果,當依變項為連續變項時適合用線性迴歸(Linear regression)分析、當依變項為二元類別變項時則最適用羅吉斯迴歸(Logistic regression)、當依變項為計數變項(Count data)則適用以Poisson regression來分析,甚至是結合二元類別及受限資料(Censored data)的Cox regression,或是其他種類的迴歸,因此迴歸分析在量化研究的重要性無庸置疑。

 

不過許多研究人員在作迴歸分析的時候,常常沒有對於自變項之間的相關性作審慎的評估,就貿然地將許多個自變項同時放到迴歸方程式裡頭:

 

以上面這個方程式為例,研究同時將X1X2……一直到Xp放到線性迴歸方程式裡頭,因此研究者可得到p個未標準化迴歸係數(在很多教科書會以β表示標準化的迴歸係數,在本例β指的是未標準化迴歸係數),每一個迴歸係數的意義是「在排除了其他所有自變項對依變項的預測效果之下,這個自變項與依變項的關係」,因此許多人員都忽略了其實同時也是「考慮其他自變項跟這個自變項的關係之下,這個自變項與依變項的關係」,因此當自變項之間的相關性太高的時候,會導致多元共線性(multi-collinearity)的產生,以下舉一個impact factor高達15分的心臟科頂尖期刊的例子來作說明【Lam et al. (2010). Aortic Root Remodeling Over the Adult Life Course: Longitudinal Data From the Framingham Heart Study. Circulation, 122: 884-890】。

 


 

由上圖可知,該研究的依變項為Aortic root diameter,指的是主動脈的寬度,以公釐為單位,因此是連續的變項,另外由Model 1可知,所包括的自變項有:

    Age(定義為虛擬變項:≧52歲為1,<52歲為0

    Sex(定義為虛擬變項:Male1Female0

    BMI(連續變項)

    SBP(舒張壓,為連續變項)

    DBP(收縮壓,為連續變項)

    Treatment(定義為虛擬變項:有使用抗血壓療程為1,沒有使用為0

因此Model 1的線性迴歸方程式如下圖所示:


但是大家有沒有發現一件很詭譎的事情,就是β4β5的迴歸係數的方向是相反的(-0.134 vs. 0.209,理論上SBPDBP一定是高度正相關的,因為舒張壓越高的人也肯定會有越高的收縮壓,如果說SBP越低的人會有越寬的主動脈寬度(迴歸係數為負),那沒道理反而DBP越高則有越高的主動脈寬度(迴歸係數為至),此時這種奇怪的結果就是因為多元共線性的原因所造成,但本文並未要探討統計原理,因此並不詳細說明其數理上的原因,反正我們只要知道這種結果是有問題的即可。

(給我一堂爽快的統計課)

那我們怎麼知道自變項之間存在著嚴重的共線性,而導致得到錯誤的結論呢?最簡單的方式就是,先以簡單迴歸或Pearson相關,以每一個自變項個別與依變項跑相關,假設我們有五個自變項,當在跑簡單迴歸的時候,其迴歸係數都是正的,可是當我們五個自變項聯合預測依變項的時候,卻有迴歸係數變成負數,此時就可知道自變項中存在著足以導致錯誤結論的共線性。

 

那遇到共線性的時候怎麼處理呢?許多迴歸分析的教科書會教大家使用以主成分分析(principal component analysis)法將有共線性的數個自變項縮減成數個彼此獨立的成分(當然數量一定比原本自變項還少),然後以這些獨立的成分當成自變項,以避免共線性的問題;或是甚至會以脊迴歸(ridge regression)從數理上來嘗試處理共線性的問題。

 

但這兩種方法實務上的使用情形並不常見,因此我個人建議兩個方案,是如以上個例子而言,可將SBPDBP平均成MBP(即平均血壓),在迴歸方程式以MBP當成自變項;不過有的時候兩個變項之間是無法直接平均的,例如肝指數GOPAST)跟GPTALT)若直接平均是無意義的,此時我會建議在迴歸方程式挑選其中一樣比較重要的來分析即可,並在文中略作說明由於共線性的緣故,因此不將兩個變項同時置入迴歸方程式。

 

在迴歸分析中,共線性可能會導致錯誤的結果解釋,因此希望各位讀者未來在進行迴歸分析時,能以本文的建議,更仔細檢視自變項之間的關係。


 

 

arrow
arrow
    全站熱搜

    晨晰部落格新站 發表在 痞客邦 留言(2) 人氣()