之前的一篇文章,我們比較細緻的講解了一下K-M法與壽命表法這兩種非參數的研究方法。實現了對數據的一個初步應用,並能夠完成單因素分析,接下來將介紹一下生存分析中最常用的模型—Cox比例風險迴歸模型,這是一種含參數的模型,能夠實現對數據的多因素分析。
Cox比例風險迴歸模型
Cox比例風險迴歸模型(Cox’s proportional hazards regression model),簡稱Cox迴歸模型。
該模型由英國統計學家D.R.Cox於1972年提出,主要用於腫瘤和其它慢性病的預後分析,也可用於隊列研究的病因探索。其優點:
(1) 多因素分析方法
(2) 不考慮生存時間分佈
(3) 利用截尾數據
Cox迴歸模型是生存分析最重要也最常用的模型,是一種半參數模型
1.Cox模型的基本形式
即生存時間已到達t的一羣觀察對象在t時刻的瞬時死亡率。(詳見生存分析(1))
函數右側分爲兩部分一個是無規定的
某危險因素
式中暴露組與費暴露組的危險率之比,稱爲相對危險度RR
易知,
RR>1,表示風險越大
RR=1,變量對生存無影響
RR<1,表示風險越小
利用
兩邊同時對t求積分,得
其中
2.Cox模型的前提條件
Cox模型必須滿足比例風險假定(PH假定)
任何兩個個體的風險函數之比,即風險比(HR)保持一個恆定的比例,與時間t無關
模型中協變量的效應不隨時間改變而改變
其中,
檢查某協變量是否滿足PH假定,最簡單的方法是觀察按該變量分組的生存曲線,若生存曲線交叉,提示不滿足PH假定
PH檢驗的思想是這樣的,令
其原假設爲H0:
不滿足PH假定時,可採用分層比例風險模型
3.參數估計——偏似然估計
危險集:對於每個生存時間
下面以一個例子說明如何對
條件死亡概率
因此對應上表中的三個死亡時刻(18、48、90),有三個條件死亡概率如下:
將上述各個條件概率相乘可以得到偏似然函數
各個條件死亡概率可以表示爲:
其中,
將n個病人的死亡條件概率相乘得:
第
爲了體現刪失數據不參與計算的特點,用
兩邊同時以e爲底取對數,得:
求關於
可解得
現在我們已經擁有了計算
4.影響因素的篩選
- 篩選方法有前進法、後退法和逐步迴歸法、最優迴歸子集法,實際工作根據具體情況選擇使用,最常用的爲逐步迴歸法。
- 因素篩選時需規定顯著性水平,一般確定爲0.1或0.15,設計較嚴格的研究可定爲0.05。
- 篩選因素時,還要考慮因素間是否有共線性。若存在共線性,應考慮消除共線的影響,如採用主成分迴歸等方法。
參數假設檢驗
Cox提供三種基於極大似然法的大樣本檢驗方法,通過檢驗結果選擇協變量。
- 似然比檢驗(likelihood ratio test)
- Wald檢驗
- 得分檢驗(score test)(又稱爲拉格朗日乘數法)
這三種假設檢驗的原假設或者約束都是
若原假設成立則不選擇該協變量,否則選擇該協變量進入迴歸模型
1)似然比檢驗(LR)
用於模型中原有不顯著變量的剔除和顯著變量的引入,以及包含不同變量數時模型間的比較。
檢驗新增加的協變量是否有統計學意義的統計量爲:
把原有模型中無統計學意義的協變量剔除,其方法與增加協變量的檢驗方法相似。
2)Wald檢驗
它用於模型中的協變量是否應從模型中剔除。檢驗模型中協變量
它服從自由度爲1的
當
3)拉格朗日乘子檢驗(LM)
- 用於一個或多個新變量是否能入選模型
- 用於檢驗變量間的交互作用能否對生存時間產生影響
基本思想:拉格朗日乘子檢(LM),又稱爲Score檢驗。該檢驗基於約束模型,無需估計無約束模型。
假設約束條件爲
約束條件下最大化問題就是求解下式根,
如果約束條件成立,對數似然函數值不會有明顯變化。這就意味着在一階條件下,第二項應該很小,特別是
但是直接檢驗
如果約束條件成立,在約束估計值處計算對數似然函數的導數應該近似爲零,如果該值顯著異於零,則約束條件不成立,拒絕原假設
對數似然函數的導數就是得分向量,因此,LM檢驗就是檢驗約束條件下參數估計值的得分向量值是否顯著異於零,因而,LM檢驗又稱爲得分檢驗。
三種假設檢驗
LR:需要同時最小化有約束和無約束模型
Wald:只需要優化無約束模型
LM:只需要約束有約束模型
LR、Wald、LM關係(一般情況下成立):
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.指數迴歸模型
指數分佈是歷史上第一個生存時間分佈模型,是最簡單與最重要的分佈,在生存分析中佔據重要地位。指數分佈是一種純隨機死亡模型,在任何時間上的風險函數爲一常數,即風險函數的大小不受生存時間長短的影響,以獨特的“無記憶性”而聞名,常被看成隨機失效(死亡)模型。
設數據來自指數分佈,其概率密度函數爲:
分佈函數爲:
生存函數爲:
風險函數爲:
指數迴歸是在指數分佈的基礎上引入預後因素後的模型,指數迴歸模型在疾病的影響因素研究中起很重要的作用,在疾病的影響因素研究中,患者的生存狀況總是和其他的某些指標以及病情的某些特徵緊密相關的,因此,在考慮某一因素對病人生存時間的影響時,還必須考慮其他影響因素或協變量的影響,並對其作用大小進行分析,需建立多因素迴歸模型,從而查明各種因素如何影響生存率。
在指數迴歸模型中,設
式中
基準風險表示其餘因素都“不存在”的情況下的風險。
相應t時刻的生存率爲:
2.Weibull模型
Weibull分佈也是生存分析的理論基礎,由瑞典科學家Waloddi Weibull提出。Weibull分佈是一種連續性分佈,它是指數分佈的一種推廣形式,它不像指數分佈假定危險率是常數,因而有更廣的應用性。
f(t)的概率密度函數爲:
分佈函數:
生存函數:
風險函數:
其中
如果資料服從Weibull分佈,則可用迴歸模型對危險因素進行分析。在Weibull迴歸模型中,風險函數與影響因素間的關係也假設爲指數關係,即:
風險函數爲:
生存函數爲:
基準風險爲:
3.Gamma模型
生存分析討論兩類不同的Gamma模型:標準Gamma模型(2參數)和廣義Gamma模型(3參數)。
標準Gamma分佈的特性取決於兩個參數γ和λ,γ爲形狀參數,λ爲尺度參數。當0<γ<1時,若時間從0增加到無窮時,風險函數從無窮單調地減小到λ,表現爲負老化;當γ>1時,若時間從O增加到無窮時,風險函數從0增加到λ,表現爲正老化;當γ=1時,風險等於常數λ,即指數分佈情形。
廣義Gamma模型可以呈現不同於其他任何分佈特例的形狀。特別地,它可以是U形或浴盆形的風險函數,在這樣的函數中風險函數先下降,下降到最低值後又升高。總所周知,人累在整個生命週期中的死亡危險性就屬於這種形狀。
有關實用軟件實現生存分析,由於編者比較熟悉R,因此只介紹R的實現。具體內容,請參考R語言學習類博文。