教你三招:Cox回歸比例風險(PH)假定的檢驗
Cox回歸是生存分析中的常用方法,其假定Hazard Ratio(HR)不隨時間變化,即滿足比例風險假定(Proportional Hazards Assumption, PH假定)。在進行Cox回歸前需要對該假定進行檢驗,本文介紹三種方法。
1、-ln(-ln(survival)) 圖法
判斷標準:如果待評價的變數分成的亞組曲線平行,說明滿足PH假定。
2、預測生存概率圖法
判斷標準:利用擬合的Cox回歸方程生成概率曲線,該曲線假定PH成立,然後與實際得到KM曲線做比較,如果兩條曲線基本重合說明PH假定成立。
3、統計檢驗法
判斷標準:該法將給出統計學檢驗的P值,通過P值判斷。
下面通過裏一個例子展示如何利用Stata軟體進行操作。示例數據來自於一個真實的白血病研究(Garrett 1997),包含42例患者,其變數意義如下:
表1. 示例變數及賦值
我們假定變數Treatment1是滿足PH假定的。首先需要在Stata中定義數據結構為生存數據結果,然後再進行後續的分析。方法如下:
1. 依次點擊:Statistics—Survival analysis—Setup and utilities—Declare data to be survival-time data(圖1),會出現相應窗口(圖2)。
圖1
2. 將代表時間的變數week選入Time variable框內,代表結局事件的變數relapse選入Failure variable框內,「1」代表發生事件,填入Failure values框內。
圖2
3. 點擊OK。
定義好數據後,接下來介紹如何用三種方法進行檢驗。
1、-ln(-ln(survival)) 圖法
Stata命令框內輸入命令:stphplot, by(treatment1),回車,得如下圖(圖3):
圖3
判斷:從圖中可以看出,Treatment1代表的兩種治療方法,曲線基本平行,因此可認為該變數的PH假定基本成立。
如果在判斷的時候需要對其他協變數(如wbc2,wbc3)進行調整,可修改代碼為:stphplot, strata(treatment1) adj(wbc2 wbc3),得到下圖(圖4):
圖4
可以看到,對其他協變數進行調整後兩曲線依然基本平行。
2、預測生存概率圖法
Stata命令框內輸入命令:stcoxkm, by(treatment1),回車,得如下圖(圖5):
圖5
判斷:圖中Observed曲線為根據實際數據得到的K-M曲線,Predicted曲線為假定PH成立的Cox模型擬合出的曲線,可以看到,在兩個治療組中,曲線基本重合,因此說明PH假定是成立的。
該法無法調整其他變數。
3、統計檢驗法
在進行PH統計學檢驗之前,需要首先運行要檢驗的Cox模型,後續的檢驗會自動使用模型運算的某些結果。
首先運行要檢驗的Cox模型(假設調整wbc2和wbc3協變數),輸入命令:
stcox treatment1 wbc2 wbc3, nolog
然後輸入命令:estat phtest, detail,回車,得如下結果(圖6):
圖6前三行給出的是納入Cox模型的三個變數各自的檢驗結果,可以看到P值均不顯著,因此不能認為違反PH假定。最後一行給出的模型整體性的PH檢驗結果,同樣不能認為違反PH假定。
實際上,本例中變數Treatment2是不滿足PH假定的,為了給大家一個直觀的印象,本文僅給出-ln(-ln(survival)) 圖法的結果,輸入命令:stphplot, by(treatment2),得到圖7:
圖7
對比圖3,可以看出很明顯的差別。該圖中兩曲線不再平行,而是發生了交叉,因此有理由相信Treatment2變數不滿足PH假定。
其他方法的嘗試大家可以自己進行。
總結
上面我們介紹了三種具體的方法,其中前兩種利用主觀判斷,最後一種通過統計學檢驗。主觀性判斷往往因人而異,而統計學檢驗在P值無統計學意義時僅能說明在當前樣本量下不能認為違反PH假定,也無法給出明確的答案。因此推薦多種方法同時使用,以利於綜合判斷。
除上面介紹的三種方法外,還可以在Cox模型中設置待檢驗變數與時間的交互項,通過判斷係數是否有統計學意義判斷是否違反PH假定,但該方法相對複雜,限於篇幅,將在另外的文章中予以介紹。
(更多內容可關注「醫咖會」微信公眾號:傳播醫學知識和研究進展,探討臨牀研究方法學。)
推薦閱讀: