logistic回歸分析與等位基因OR值的探討
來自專欄基因檢測與健康管理4 人贊了文章
Logistic回歸雖然名字叫」回歸」 ,但卻是一種分類學習方法。使用場景大概有兩個:第一用來預測,第二尋找因變數的影響因素。
一 從線性回歸到Logistic回歸
線性回歸和Logistic回歸都是廣義線性模型的特例。假設有一個因變數y和一組自變數x1, x2, x3, ... , xn,其中y為連續變數,我們可以擬合一個線性方程:
y =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
並通過最小二乘法估計各個β係數的值。如果y為二分類變數,只能取值0或1,那麼線性回歸方程就會遇到困難: 方程右側是一個連續的值,取值為負無窮到正無窮,而左側只能取值[0,1],無法對應。為了繼續使用線性回歸的思想,統計學家想到了一個變換方法,就是將方程右邊的取值變換為[0,1]。最後選中了Logistic函數:
z = 1 / (1+e-x)
這是一個S型函數,值域為(0,1),能將任何數值映射到(0,1),且具有無限階可導等優良數學性質。我們將線性回歸方程改寫為:
y = 1 / (1+e-z),其中,z =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
此時方程兩邊的取值都在0和1之間,進一步做對數變換,可以寫為:
ln(y/(1-y)) =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
ln(y/(1-y))稱為Logit變換。我們再將y視為y取值為1的概率p(y=1),因此,1-y就是y取值為0的概率p(y=0),所以上式改寫為:
p(y=1) = ez/(1+ez),
p(y=0) = 1/(1+ez),
其中,z =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn.
接下來就可以使用」最大似然法」估計出各個係數β。
二 醫學統計學中odds與OR值的含義
odds: 稱為幾率、比值、比數,是指某事件發生的可能性(概率)與不發生的可能性(概率)之比。用p表示事件發生的概率,則:odds = p/(1-p)。
OR:比值比,為實驗組的事件發生幾率(odds1)/對照組的事件發生幾率(odds2)。在全基因組關聯分析中,某個基因的多態性位點其危險鹼基和參考鹼基的風險比值也常常用OR值表示。具體來講, 等位基因的OR值是指病例組中某等位基因的待研究基因型與參照基因型的比值除以對照組中該等位基因的待研究基因型與參照基因型的比值。
舉例:假定我們要研究的某個基因的基因位點SNP有兩個等位基因(等位):記為Allele 1和Allele 2,如下表所示:
Allele1的odds 值在病例和對照可以計算如下:
病例Allele 1 Odds = A (A + B)/ B (A + B) = A / B
對照Allele 1 Odds = C (C + D) / D (C + D) = C / D
那麼Allele 1的OR值可以計算如下:
Odds Ratio = (A / B)/(C / D) = A D/ B C
西方人標準風險值(OR)是指以高加索人(美國人和歐洲人)為研究對象,病例組中某等位基因的待研究基因型與參照基因型的比值除以對照組中該等位基因的待研究基因型與參照基因型的比值。而國人的OR值是以中國人群作為研究對象的,由於同一基因的基因型分布頻率在不同類型的人群中往往是不一樣的,所以最後基於不同人群計算出來的某個基因在同一疾病中的OR值可能會有一定的差異。logistic回歸中,OR值=1,表示該因素對疾病的發生不起作用;OR值大於1,表示該因素是一個危險因素;OR值小於1,表示該因素是一個保護因素。
三 Logistic回歸結果的解讀
我們用一個例子來說明,這個例子中包含200名學生數據,包括1個自變數和4個自變數:
因變數: hon,表示學生是否在榮譽班(honors class),1表示是,0表示否;
自變數:
female :性別,分類變數,1=女,0=男
read: 閱讀成績,為連續變數
write: 寫作成績,為連續變數
math:數學成績,為連續變數
1、不包含任何變數的Logistic回歸模型的構建
首先擬合一個不包含任何變數的Logistic回歸,
模型為 ln(p/(1-p) =β0,回歸結果如下表所示:
這裡的係數β就是模型中的β0 = -1.12546,我們用p表示學生在榮譽班的概率,所以有ln(p/(1-p) =β0 = -1.12546, 解方程得:p = 0.245,odds = p/1-p = 0.3245。 這裡的p是什麼意思呢?p就是所有數據中hon=1的概率。我們來統計一下整個hon的數據:
hon取值為1的概率p為49/(151+49) = 24.5% = 0.245,我們可以手動計算出ln(p/(1-p) = -1.12546,等於係數β0。可以得出關係:β0=ln(odds)。
2、包含一個二分類因變數的模型
擬合一個包含二分類因變數female的Logistic回歸, 模型為 ln(p/(1-p) =β0 +β1* female。回歸結果如下:
在解讀這個結果之前,先看一下hon和female的交叉表:
根據這個交叉表,對於男性(Male),其處在榮譽班級的概率為17/91,處在非榮譽班級的概率為74/91,所以其處在榮譽班級的幾率odds1=(17/91)/(74/91) = 17/74 = 0.23;相應的,女性處於榮譽班級的幾率odds2 = (32/109)/(77/109)=32/77 = 0.42。女性對男性的幾率之比OR = odds2/odds1 = 0.42/0.23 = 1.809。我們可以說,女性比男性在榮譽班的幾率高80.9%。
回到Logistic回歸結果。截距的係數-1.47是男性odds的對數(因為男性用female=0表示,是對照組),ln(0.23) = -1.47。變數female的係數為0.593,是女性對男性的OR值的對數,ln(1.809) = 0.593。所以我們可以得出關係: OR = exp(β),或者β= ln(OR)(exp(x)函數為指數函數,代表e的x次方)。
3、包含一個連續變數的模型
擬合一個包含連續變數math的Logistic回歸,模型為 ln(p/(1-p) =β0 +β1* math.
回歸結果如下:
這裡截距係數的含義是在榮譽班中math成績為0的odds的對數。我們計算出odds = exp(-9.793942) = .00005579,是非常小的。因為在我們的數據中,沒有math成績為0的學生,所以這是一個外推出來的假想值。 怎麼解釋math的係數呢?根據擬合的模型,有:
ln(p/(1-p)) = - 9.793942 + .1563404*math
我們先假設math=54,有:
ln(p/(1-p))(math=54) = - 9.793942 + .1563404 *54
然後我們把math提高提高一個單位,令math=55,有:
ln(p/(1-p))(math=55) = - 9.793942 + .1563404 *55
兩者之差:
ln(p/(1-p))(math=55) - ln(p/1-p))(math = 54) = 0.1563404.
正好是變數math的係數。
由此我們可以說,math每提高1個單位,odds(即p/(1-p),也即處於榮譽班的幾率)的對數增加0.1563404。
那麼odds增加多少呢?根據對數公式:
ln(p/(1-p))(math=55) - ln(p/1-p))(math = 54) = ln((p/(1-p)(math=55)/ (p/(1-p)(math=54))) = ln(odds(math=55)/ odds(math=54)) = 0.1563404.
所以:
odds(math=55)/ odds(math=54) = exp(0.1563404) = 1.169.
因此我們可以說,math每升高一個單位,odds增加16.9%。且與math的所處的絕對值無關。
聰明的讀者肯定發現,odds(math=55)/ odds(math=54)不就是OR嘛!
4、包含多個變數的模型(無交互效應)
擬合一個包含female、math、read的Logistic回歸,模型為 ln(p/(1-p) = β0 +β1* math+β2* female+β3* read.
回歸結果如下(結果經過編輯):
該結果說明:
(1) 性別:在math和read成績都相同的條件下,女性(female=1)進入榮譽班的幾率(odds)是男性(female=0)的exp(0.979948) = 2.66倍,或者說,女性的幾率比男性高166%。
(2) math成績:在female和read都相同的條件下,math成績每提高1,進入榮譽班的幾率提高13%(因為exp(0.1229589) = 1.13)。
(3)read的解讀類似math。
5、包含交互相應的模型
擬合一個包含female、math和兩者交互相應的Logistic回歸,
模型為 ln(p/(1-p) =β0 +β1* female+β2* math+β3* female *math.
所謂交互效應,是指一個變數對結果的影響因另一個變數取值的不同而不同。
回歸結果如下(結果經過編輯):
注意:female*math項的P為0.21,可以認為沒有交互相應。但這裡我們為了講解交互效應,暫時忽略P值,姑且認為他們是存在交互效應的。 由於交互效應的存在,我們就不能說在保持math和female*math不變的情況下,female的影響如何如何,因為math和female*math是不可能保持不變的! 對於這種簡單的情況,我們可以分別擬合兩個方程:
對於男性(female=0):
log(p/(1-p))= β0 + β2*math.
對於女性(female=1):
log(p/(1-p))= (β0 + β1) + (β2 + β3 )*math.
然後分別解釋。
參考材料:
博客網址:深入解讀Logistic回歸結果(一):回歸係數,OR_王江源_新浪博客
OR值的意義和計算公式,和95% CI
推薦閱讀:
※華夏基因揭示:姚明7歲女兒遺傳基因如此強大,郭敬明王祖藍都不淡定了!
※如何有效精準地安排基因檢測--基因檢測需要注意的問題
※華夏基因揭示:人類智力高低由52個基因決定,你做過基因檢測了嗎?
※【科普資訊】「癌症基因檢測」新技術靠譜嗎?
※華夏基因揭示:加強醫生基因科技專業培訓,院線基因檢測人群潛力巨大