生存分析(3)

之前的一篇文章,我們比較細緻的講解了一下K-M法與壽命表法這兩種非參數的研究方法。實現了對數據的一個初步應用,並能夠完成單因素分析,接下來將介紹一下生存分析中最常用的模型—Cox比例風險迴歸模型,這是一種含參數的模型,能夠實現對數據的多因素分析

Cox比例風險迴歸模型

Cox比例風險迴歸模型(Cox’s proportional hazards regression model),簡稱Cox迴歸模型。
該模型由英國統計學家D.R.Cox於1972年提出,主要用於腫瘤和其它慢性病的預後分析,也可用於隊列研究的病因探索。其優點:
(1) 多因素分析方法
(2) 不考慮生存時間分佈
(3) 利用截尾數據

Cox迴歸模型是生存分析最重要也最常用的模型,是一種半參數模型

1.Cox模型的基本形式

h(t,X)=h0(t)exp(β1X1+β2X2+βpXp)

h(t,X)風險函數
即生存時間已到達t的一羣觀察對象在t時刻的瞬時死亡率。(詳見生存分析(1)

h0(t)基準風險率,是與時間有關的任意函數,函數形式無任何限定(此時所有協變量取值爲0)

Xi協變量,即影響因素
函數右側分爲兩部分一個是無規定的h0(t) 屬於非參部分,另一部分是含參的部分,因此Cox模型又稱爲半參數模型

βj迴歸係數
βj>0 時,協變量的取值越大,風險函數h(t,X) 的值越大,表示病人死亡的風險越大
βj=0 時,表示協變量對風險函數h(t,X) 沒有影響
βj<0 時,協變量的取值越大,風險函數h(t,X )的值越大,表示病人死亡的風險越小

某危險因素Xi 在非暴露組取值爲0,在暴露組取值爲1

h(t,Xi=1)h(t,Xi=0)=h0(t)exp(βi)h0(t)=exp(βi)=RR

式中暴露組與費暴露組的危險率之比,稱爲相對危險度RR
易知,
RR>1,表示風險越大
RR=1,變量對生存無影響
RR<1,表示風險越小

利用h(t,X) 與協變量的關係還可以推導出S(t,x) 與協變量的關係

h(t)=f(t)S(t)=F(t)S(t)=(1S(t))S(t)=S(t)S(t)

兩邊同時對t求積分,得t0h(t)dt=ln(S(t)) ,結果帶入迴歸方程:
S(t,X)=exp[t0h(t,X)dt]=exp[t0h0(t)exp(βX)dt]=[S0(t)]exp(βX)

其中S0(t)=exp[t0h0(t)dt]
2.Cox模型的前提條件

Cox模型必須滿足比例風險假定(PH假定

  • 任何兩個個體的風險函數之比,即風險比(HR)保持一個恆定的比例,與時間t無關

  • 模型中協變量的效應不隨時間改變而改變

其中,

HR=hi(t)hj(t)=exp[β1(Xi1Xj1)+β2(Xi2Xj2)++βp(XipXjp)]

檢查某協變量是否滿足PH假定,最簡單的方法是觀察按該變量分組的生存曲線,若生存曲線交叉,提示不滿足PH假定

PH檢驗的思想是這樣的,令

h(t,X)=h0(t)exp[(β1+G(t)θ)X1+β2X2++βpXp]

其原假設爲H0:θ=0 ,如果驗證了則說明該協變量的效應(係數)與時間無明顯關係,所以P值應越大越好。

不滿足PH假定時,可採用分層比例風險模型

3.參數估計——偏似然估計

危險集:對於每個生存時間ti 來說,凡生存時間大於等於ti的所有病人組成一個危險集。

下面以一個例子說明如何對βj 進行偏似然估計
這裏寫圖片描述
條件死亡概率

qi=(ti,ti+1)ti=(ti,ti+1)ti=ti×hi(t)ji[ti×hj(t)]

=hi(t)jihj(t)
因此對應上表中的三個死亡時刻(18、48、90),有三個條件死亡概率如下:
q1=eb1+b2eb1+b2+e0+eb2+eb1q2=11+eb2+eb1q3=eb1eb1

將上述各個條件概率相乘可以得到偏似然函數Lp=q1q2qk
各個條件死亡概率可以表示爲:
qi=hi(t)jihj(t)=h0(t)exp(β1Xi1+β2Xi2++βpXip)SR(ti)h0(t)exp(β1Xs1+β2Xs2++βpXsp)

=exp(β1Xi1+β2Xi2++βpXip)SR(ti)exp(β1Xs1+β2Xs2++βpXsp)

其中,S 表示ti 時刻以後危險集R(ti) 中對似然函數做貢獻的個體
將n個病人的死亡條件概率相乘得:

L(β)=i=1nexp(β1Xi1+β2Xi2++βpXip)SR(ti)exp(β1Xs1+β2Xs2++βpXsp)

i 個研究對象在ti 時刻死亡的概率應當是兩部分的乘積,一是患者存活到ti 時刻的概率(與h0(t) 有關),二是該暴露人羣Ri 中恰好第i個患者死亡的概率(qi ),L(β) 忽略了前者,故稱之爲偏似然函數

爲了體現刪失數據不參與計算的特點,用δi=1 表示病人在ti時刻死亡,用δi=0 表示病人在ti時刻刪失,其偏似然函數爲:

L(β)=i=1n[exp(β1Xi1+β2Xi2++βpXip)SR(ti)exp(β1Xs1+β2Xs2++βpXsp)]δi

兩邊同時以e爲底取對數,得:
lnL(β)=i=1n{δi[(β1Xi1++βpXip)lnSR(ti)exp(β1Xs1++βpXsp)]}

求關於βjj=1,2,p 的一階偏導數,並使其等於0,即令lnL(β)βj=0
可解得βj
現在我們已經擁有了計算βj 的方法,那麼接下來要解決的問題是:究竟選擇哪些協變量參與模型呢?
4.影響因素的篩選
  • 篩選方法有前進法、後退法和逐步迴歸法、最優迴歸子集法,實際工作根據具體情況選擇使用,最常用的爲逐步迴歸法
  • 因素篩選時需規定顯著性水平,一般確定爲0.1或0.15,設計較嚴格的研究可定爲0.05。
  • 篩選因素時,還要考慮因素間是否有共線性。若存在共線性,應考慮消除共線的影響,如採用主成分迴歸等方法。

參數假設檢驗
Cox提供三種基於極大似然法的大樣本檢驗方法,通過檢驗結果選擇協變量。

  • 似然比檢驗(likelihood ratio test)
  • Wald檢驗
  • 得分檢驗(score test)(又稱爲拉格朗日乘數法)

這三種假設檢驗的原假設或者約束都是H0:βj=0
若原假設成立則不選擇該協變量,否則選擇該協變量進入迴歸模型

1)似然比檢驗(LR)
用於模型中原有不顯著變量的剔除和顯著變量的引入,以及包含不同變量數時模型間的比較。
檢驗新增加的協變量是否有統計學意義的統計量爲:

χ2=2ln[lnL(p+1)lnL(p)]

χ2 服從自由度1的χ2 分佈,如果差值無統計學意義則不引入改協變量,反之則引入。
把原有模型中無統計學意義的協變量剔除,其方法與增加協變量的檢驗方法相似。

2)Wald檢驗
它用於模型中的協變量是否應從模型中剔除。檢驗模型中協變量Xj 對模型的貢獻是否有統計學意義,其對應的wald統計量爲:

χ2ω=(βjSβj)2

它服從自由度爲1的χ2 分佈。式中Sβj 表示迴歸係數βj 的標準誤
βj 的95%可信區間包含0時,βj 爲0

3)拉格朗日乘子檢驗(LM)

  • 用於一個或多個新變量是否能入選模型
  • 用於檢驗變量間的交互作用能否對生存時間產生影響

基本思想:拉格朗日乘子檢(LM),又稱爲Score檢驗。該檢驗基於約束模型,無需估計無約束模型。

假設約束條件爲H0:g(θ)=C ,在約束條件下最大化對數似然函數,令λ 表示拉格朗日乘子向量,此時,拉格朗日函數爲:

LnL(θ)=LnL(θ)+λ[g(θC)]

約束條件下最大化問題就是求解下式根,
LnL(θ)θ=LnL(θ)θ+λg=0
LnL(θ)λ=g(θ)C=0

如果約束條件成立,對數似然函數值不會有明顯變化。這就意味着在一階條件下,第二項應該很小,特別是λ 應該很小。因此約束條件是否成立檢驗轉化成檢驗H0:λ=0 ,這就是拉格朗日乘子檢驗的思想.

但是直接檢驗H0:λ=0 比較困難,有一個等價而簡單的方法。
如果約束條件成立,在約束估計值處計算對數似然函數的導數應該近似爲零,如果該值顯著異於零,則約束條件不成立,拒絕原假設

對數似然函數的導數就是得分向量,因此,LM檢驗就是檢驗約束條件下參數估計值的得分向量值是否顯著異於零,因而,LM檢驗又稱爲得分檢驗。

三種假設檢驗
LR:需要同時最小化有約束和無約束模型
Wald:只需要優化無約束模型
LM:只需要約束有約束模型

LR、Wald、LM關係(一般情況下成立):

WaldLRLM
5.Cox模型+Roc預測生死?

這是基於我所看到的一些醫學文獻的做法做的小小總結,實話說小生之前對ROC不是很明白,爲此看了不少內容。之後應該會在統計類博客裏面做更詳細的介紹,只想瞭解大概的同學可以看這兒

一般來說通過Cox模型我們能夠得到風險函數,也就能夠通過每個個體的特徵計算其“風險值”(與存活時間t相關)。但風險值是一個迴歸結果,只能表示患者死亡的風險大小並不能直接用來做分類,我們必須找到一個“風險值”的臨界點,當患者的“風險值”大於這個臨界值則預估其在t時刻死亡,否則存活。

一般來說ROC曲線是用來描述二分類模型的優劣的,而爲了描繪曲線需要多個點,如何通過一個Cox模型的風險函數獲得多組分類結果呢?

我們可以通過將“風險值”從小到大排序,將每一個“風險值”都作爲一次臨界值,分別以此判斷患者的生存情況並計算AUC,AUC最大時的“風險值”則是最優臨界值,我們便可以以此爲臨界值去預估其他患者在t時刻的生存情況啦~~~

算例:
我們根據每個測試樣本屬於正樣本的概率值從大到小排序。下圖是一個示例,圖中共有20個測試樣本,“Class”一欄表示每個測試樣本真正的標籤(p表示正樣本,n表示負樣本),“Score”表示每個測試樣本屬於正樣本的概率。

這裏寫圖片描述

接下來,我們從高到低,依次將“Score”值作爲閾值,當測試樣本屬於正樣本的概率大於或等於這個閾值時,我們認爲它爲正樣本,否則爲負樣本。舉例來說,對於圖中的第4個樣本,其“Score”值爲0.6,那麼樣本1,2,3,4都被認爲是正樣本,因爲它們的“Score”值都大於等於0.6,而其他樣本則都認爲是負樣本。每次選取一個不同的閾值,我們就可以得到一組FPR和TPR,即ROC曲線上的一點。這樣一來,我們一共得到了20組FPR和TPR的值,將它們畫在ROC曲線的結果如下圖:

這裏寫圖片描述

靈敏度-特異度最大時的“閾值”便是我們的最優臨界值。

6.幾種參數迴歸模型

生存分析中常見的迴歸參數模型,主要有指數迴歸模型、Weibull迴歸模型、對數logistic迴歸模型、Gamma模型等。

1.指數迴歸模型
指數分佈是歷史上第一個生存時間分佈模型,是最簡單與最重要的分佈,在生存分析中佔據重要地位。指數分佈是一種純隨機死亡模型,在任何時間上的風險函數爲一常數,即風險函數的大小不受生存時間長短的影響,以獨特的“無記憶性”而聞名,常被看成隨機失效(死亡)模型。
設數據來自指數分佈,其概率密度函數爲:

f(t)={λeλt,0,t0,λ>0t<0

分佈函數爲:
F(t)=1eλt (t 0)

生存函數爲:
S(t)=1F(t)=eλt

風險函數爲:
h(t)=f(t)/S(t)=λλ>0,t0

λ 爲指數分佈的風險率,稱爲刻度參數或尺度參數,其大小決定了生存時間的長短。風險率越大,生存率下降越快,生存時間越短;風險率越小,生存時間越長。在指數分佈模型中,λ 爲常數,與時間T無關,這是指數分佈的特點,可利用此特點識別某生存時間分佈是否服從指數分佈。
指數迴歸是在指數分佈的基礎上引入預後因素後的模型,指數迴歸模型在疾病的影響因素研究中起很重要的作用,在疾病的影響因素研究中,患者的生存狀況總是和其他的某些指標以及病情的某些特徵緊密相關的,因此,在考慮某一因素對病人生存時間的影響時,還必須考慮其他影響因素或協變量的影響,並對其作用大小進行分析,需建立多因素迴歸模型,從而查明各種因素如何影響生存率。
在指數迴歸模型中,設 x1,x2,xp 爲 影響因素,如果生存時間服從指數分佈,則參數lambda 與各因素間的關係可用如下回歸方程表示:
ln(λ)=β0+β1x1+β2x2++βpxp

式中β0 爲常數項,表示無任何因素影響時的基準風險之對數。(比一般Cox模型多了一個β0βi 表示控制其他影響因素時,變量xi 每改變一個單位所引起的風險函數λ 之對數值的該變量。風險函數爲:
h(t)=λ=exp(β0+β1x1+β2x2++βpxp)

基準風險表示其餘因素都“不存在”的情況下的風險。
h0(t)=λ0=eβ0

相應t時刻的生存率爲:
S(t)=exp[texp(β0+β1x1+β2x2++βpxp)]

2.Weibull模型
Weibull分佈也是生存分析的理論基礎,由瑞典科學家Waloddi Weibull提出。Weibull分佈是一種連續性分佈,它是指數分佈的一種推廣形式,它不像指數分佈假定危險率是常數,因而有更廣的應用性。
f(t)的概率密度函數爲:

f(t)=λγ(t)γ1exp[λ(t)γ]

分佈函數
F(t)=1exp[λ(t)γ]

生存函數
S(t)=exp[λ(t)γ]

風險函數
h(t)=λγ(t)γ1

其中λγ 爲兩個參數。λ 稱爲尺度參數,它決定分佈的分散度;γ形狀參數,它決定該分佈的形態。γ>1 時風險函數隨時間單調遞增;γ<1 時風險函數隨時間單調遞減;顯然,當γ=1 時,風險不隨時間變化,weibull分佈簡化爲指數分佈,所以指數分佈是weibull分佈在γ=1 時的特例。
如果資料服從Weibull分佈,則可用迴歸模型對危險因素進行分析。在Weibull迴歸模型中,風險函數與影響因素間的關係也假設爲指數關係,即:
λ=exp(β0+β1x1+β2x2++βpxp)

風險函數爲:
h(t)=γ(t)γ1exp(β0+β1x1+β2x2++βpxp)

生存函數爲:
S(t)=exp[tγexp(β0+β1x1+β2x2++βpxp)]

基準風險爲:
h0(t)=γ(t)γ1eβ0

3.Gamma模型
生存分析討論兩類不同的Gamma模型:標準Gamma模型(2參數)和廣義Gamma模型(3參數)。
標準Gamma分佈的特性取決於兩個參數γ和λ,γ爲形狀參數,λ爲尺度參數。當0<γ<1時,若時間從0增加到無窮時,風險函數從無窮單調地減小到λ,表現爲負老化;當γ>1時,若時間從O增加到無窮時,風險函數從0增加到λ,表現爲正老化;當γ=1時,風險等於常數λ,即指數分佈情形。
廣義Gamma模型可以呈現不同於其他任何分佈特例的形狀。特別地,它可以是U形或浴盆形的風險函數,在這樣的函數中風險函數先下降,下降到最低值後又升高。總所周知,人累在整個生命週期中的死亡危險性就屬於這種形狀。

有關實用軟件實現生存分析,由於編者比較熟悉R,因此只介紹R的實現。具體內容,請參考R語言學習類博文。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章