轉自個人微信公眾號【Memo_Cleon】的統計學習筆記:生存分析
生存分析是分析生存時間的統計學方法,其因變量需要用生存時間和結局狀態兩個變量來刻畫,可以將終點事件是否發生以及發生終點事件所經歷的時間相結合起來。生存分析的主要內容有生存時間的分佈描述、生存時間分佈的組間比較以及生存時間分佈的影響因子的效果評估。在SPSS中其分析過程存在於菜單"分析(Analyze)>>生存分析(Survival)"中。
本次筆記內容:
- 幾個概念
- 壽命表法
- Kaplan-Meier法
- Cox比例風險模型回歸
- 含時依協變量的Cox回歸
【1】幾個概念
失效事件(Failure Event):常被簡稱為事件,研究者規定的終點結局,醫學研究中可以是患者死亡,也可以是疾病的發生、某種治療的反應、疾病的復發等。與之對應的起始事件可以是疾病的確診、某種治療的開始等。
生存時間(Survival Time):常用t表示,從規定的起始事件開始到失效事件出現所持續的時間。對於失訪者,是失訪前最後一次隨訪的時間。
刪失/截尾(Censoring):由於某些原因在隨訪中並沒有觀測到失效事件而不知道確切的生存時間,此部分數據即刪失數據。常見原因有失訪、患者退出試驗、事件發生是由於非研究性疾病(如研究病人發生腦卒中後的生存時間,結果病人因為車禍死亡)、研究結束時研究對象仍未發生失效事件。刪失數據的生存時間為起始事件到截尾點所經歷的時間。
生存函數(Survival Function)與風險函數(Hazard Function):生存函數也稱為積累生存函數/概率(Cumulative Survival Function)或生存率,符號S(t),表示觀察對象生存時間越過時間點t的概率,t=0時生存函數取值為1,隨時間延長生存函數逐漸減小。以生存時間為橫軸、生存函數為縱軸連成的曲線即為生存曲線。風險函數表示生存時間達到t後瞬時發生失效事件的概率,用h(t)表示,h(t)=f(t)/S(t)。其中f(t)為概率密度函數(Probability Density Function),f(t)是F(t)的導數。F(t)為積累分佈函數(Cumulative Distribution Function),F(t)=1-S(t),表示生存時間未超過時間點t的概率。累積風險函數H(t)=-logS(t)。本人數學很差,概率密度和積累分佈的關系類似於速度與位移的關系。
中位生存時間(Median Survival Time)/平均生存時間(Mean Survival Time):中位生存時間又稱半數生存期,表示恰好一半個體未發生失效事件的時間,生存曲線上縱軸50%對應的時間。平均生存時間則表示生存曲線下的面積。
不同的方法有不同適應條件,本筆記僅用於SPSS的操作演示及結果解讀,各種分析方法使用同一份數據,數據來源於孫振球主編的《醫學統計學》第三版。數據是一項關於HIV陽性患者的生存時間的臨床隨訪研究,研究對象是於2002年1月1日至2004年12月31日期間在某市確診為HIV陽性患者。隨訪這些對象直至死於AIDS,研究截止日期為2008年12月31日。數據錄入:研究對象生存時間(Time),性別(Gender=0為女,Gender=01為男),年齡(Age,歲),是否用藥(Drug=1為用藥,0為不用),事件狀態(Status=1為死亡,0為刪失)。
【2】壽命表法
單因素生存分析分析方法,可用於的生存率估計與比較。更傾向於回答生存時間內的生存率如何。適用於樣本較大的生存資料,或者數據已經按若幹時段的頻數形式表示的數據。
分析(Analyze)>>生存分析(Survival)>>壽命表(Life Tables…)
- 生存時間(Time):選入生存時間變量,本例為Time
- 顯示時間間隔(Display Time Intervals):
0到(0 through)[ ] 步長(by)[ ]
定義壽命表時間區間的終點和長度。by前為最後一個區間的開始時間,本例研究自2002年1月1日開始,截止日期為2008年12月31日,理論上最長生存時間是7年(84個月),按年可以分為7個區間,按月可以分為84個區間。實際上查看數據,本例生存時間最長為61個月。應註意壽命表分析的第一個區間的起始時間為0,若分為61個區間則最後一個區間的起始時間為60。by後為區間的組距,本例可按每月統計數據進行時間間隔的設置,設為1。
- 狀態(Status):生存結局狀態變量,是失效事件還是刪失數據,本例選入Status。點擊定義時間按鈕(Define Event…)定義終點事件發生的值,單值(Single Value)處填入表示事件發生的值,本例Status=1時表示HIV患者死亡。也可以用某范圍內的數值表示事件。
- 因素(Factor):定義分組變量,結果中用一階控制(First-order Controls)來表示該因素的各水平情況。本研究想比較下用藥與不用藥的生存率是否有差別,可將變量Drug選入。點擊定義組距按鈕(Define Range…)定義組別的最小值和最大值,本例Drug=0表示不用藥,Drug=1表示用藥,因此最小值為0,最大值為1。
- 按因素(By Factor):分層變量,一般選入混雜因素。如在因素(Factor)中選入瞭分組變量,此處的入選變量在結果中用二階控制(Second-order Controls)來表示其各水平情況。如果在因素(Factor)中未選入分組變量,此處的入選變量在結果中用一階控制(First-order Controls)來表示其各水平情況。實際上當因素(Factor)和按因素(By Factor)隻用其中一個,如選入相同的變量,效果是等同的。
- 選項按鈕(Options…)
壽命表(Life Tables),默認選項,壽命表法估計生存率。
作圖(Plot):生存函數曲線(Survival)、對數生存函數曲線(Log Survival )、 風險函數散點圖(Hazard)、密度函數散點圖(Density)、1-生存函數曲線(One minus survival)。本例選生存函數曲線。
第一因素各水平的比較(Compare levels of First Factor):用於組間各水平的比較。默認不進行比較(None);整體比較(Overall)是按分組因素進行采用Wilcoxon(Gehan)法對各水平進行整體比較,本例選該項;成對比較( Pairwise)則是進行分組變量間的兩兩比較,本例隻有Drug隻有兩個水平,因此進行整體分析和成對分析的結果是一致的。Compare Levels of First Factor: If you have a first-order control variable, you can select one of the alternatives in this group to perform the Wilcoxon (Gehan) test, which compares the survival of subgroups. Tests are performed on the first-order factor. If you have defined a second-order factor, tests are performed for each level of the second-order variable.
結果及其解讀:
(1)壽命表
- First-order Controls(一階控制因素):通過分組因素(Factor)/分層因素(By Factor)文本框確定的控制因素
- Interval Start Time(區間期初時間):組段開始時間,註意壽命表開始的第一個區間是從0開始
- Number Entering Interval(區間期初例數):組段開始時計入的例數
- Number Withdrawing during Interval(區間內退出例數):組段內退出的例數,即發生刪失/截尾的人數
- Number Exposed to Risk(暴露於危險因素的例數):等於區間期初例數-區間退出例數的一半,相當於校正的例數。此處是壽命表法與Kaplan-Meier不同的地方。
- Number of Terminal Events(發生終點事件的例數):發生失效事件的人數
- Proportion Terminating(發生終點事件的比例):等於發生終點事件的例數/暴露於危險因素的例數。以區間期初時間2為例,其值等於3/45=0.07
- Proportion Surviving(生存比例):1-發生終點事件的比例,以區間期初時間2為例,其值等1-0.07=0.93
- Cumulative Proportion Surviving End of Interval(區間期末累積生存比例):本組段生存函數估計值,等於生存比率累積相乘,以區間期初時間2為例,其值等於1×0.90×0.93=0.84
- Probability Density(概率密度):即概率的密度,累積分佈函數的導數,An estimate of the probability of experiencing the terminal event during the interval
- Std.Error of Probability Density(概率密度標準誤)
- Hazard Rate(風險率):風險函數,生存時間達到t後的瞬時發生失效事件的概率。An estimate of the risk of experiencing the terminal event during the interval, conditional upon surviving to the start of the interval.
- Std.Error of Hazard Rate(風險率標準誤)
(2)中位生存時間。用藥和不用藥的中位生存時間分別為5.09個月和11.41個月,即用藥死亡人數達到一半的時間是5.09個月,不用藥死亡人數達到一半的時間是11.41個月。【如果這些數據是臨床試驗結果,那麼這個藥物不是一個好的治療藥物】
(3)生存曲線。橫坐標為生存時間,縱坐標為累積生存函數。橫坐標上每個點代表瞭經過這個時間點仍然存活的概率。
(4)控制變量組間比較。結果顯示,用藥和非用藥的HIV患者生存率差別有明顯的統計學意義(D=10.469,P=0.001<0.05)。
Comparisons for Control Variable: Drug
如分組變量文本框不選入變量,而分層變量選入Drug,結果跟上面是一樣的。若分組變量選入Drug,分層變量選入性別Gender,則上述所有結果按如下形式輸出:直接輸出男和女兩種性別下,各自用藥和不用藥的比較,其並不考慮分層因素性別對生存時間的影響。以組間比較為例,結果如下:女患者用藥和不用藥的生存率是不同的(P=0.002),但男患者用藥和不用藥的生存率差別無統計學意義(P=0.339)
【3】Kaplan-Meier法,也稱乘積極限法
單因素生存分析方法,可用生存率的估計、生存率比較及較影響因素分析。傾向於給與某種治療措施後生存時間的變化情況。大小樣本均適用,除比較因素外要求其他混雜因素組間均衡。當用分層變量控制混雜因素時,分層因素隻限一個,且須是分類變量。
分析(Analyze)>>生存分析(Survival)>>Kaplan-Meier…
- 生存時間(Time):選入生存時間變量,本例為Time
- 狀態(Status):生存結局狀態變量,是失效事件還是刪失數據,本例選入Status。點擊定義時間按鈕(Define Event…)定義終點事件發生的值,單值(Single Value)處填入表示事件發生的值,本例Status=1時表示HIV患者死亡。
- 因素(Factor):分組變量,本例選入變量Drug。
- 層(Strata):分層變量,用於分層分析,控制混雜因素。若選入變量,結果將按該變量的各水平分別輸出。
- 個案標簽(Label Cases by):選入變量後在結果的生存表中將顯示個案的該變量內容
- 因素比較(Compare Factor…)
檢驗統計量(Test Statistics):對數秩(Log rank)、Breslow、Tarone-Ware。本例三種方法均選入進行兩組生存率的比較。因素水平的線性趨勢(Linear trend for factor levels):用於分析風險率隨分組等級的變化而變化的趨勢,一般用於分組因素為有序多分類的等級資料的線性分析,本例分組因素隻有2水平,必成線性趨勢,沒有什麼實際意義。
壽命表法中的分層僅是按分層變量的不同水平進行分層輸出,並不考慮其對生存時間的影響。與壽命表的處理方法不同,Kaplan-Meier法是控制分層變量後研究分組因素對生存時間的影響,輸出的是校正後的結果。選入分層變量後,分組因素不同水平間生存函數的比較會因分層變量的處理方式不同而按不同的形式輸出,具體處理方式及輸出形式如下,輸出結果見結果及解讀部分。
在層上整體比較因素各水平(Pooled over strata):控制分層因素後,對分組因素進行整體比較。是對沒有分層因素結果的校正。隻有一個統計量。
分層整體比較(For each stratum):按分層變量的不同水平分層輸出,每層分別對分組因素的各水平進行整體比較。
在層上成對比較因素水平(Pairwise over strata):控制分層因素後,對分組因素的各水平進行兩兩比較。線性趨勢檢驗不進行兩兩比較。
分層成對比較因素水平(Pairwise for each strata):按分層因素的不同水平分層輸出,每層分別對分組因素的各水平進行兩兩比較。線性趨勢檢驗不進行兩兩比較。
- 保存(Save…):可以保存新變量,生存函數(Survival )、生存函數標準誤(Standard error of survival)、危險函數(Hazard)、累積事件(Cumulative events)
- 選項按鈕(Options…)
統計量:生存分析表(Survival table)、均值和中位數生存時間(Mean and median survival)、四分位數(Quartiles)
- 作圖(Plot):生存曲線(Survival)、1-生存率曲線(One minus survival)、 風險函數曲線(Hazard)、對數生存曲線(Log Survival )。本例選生存曲線。
結果及解讀:
(1)個案處理概要表:各組生存情況總結,顯示總例數、事件數及刪失比例。本例不用藥組51例,發生失效事件(死亡)42例,刪失9例;用藥組49例,發生失效事件(死亡)38例,刪失11例。總共100例,發生事件80例,刪失20例。
(2)生存表:給出生存時間、生存結局、積累生存比例、累積事件數和剩餘個案數等信息。本案指定瞭分組變量Drug,結果按Drug的不同水平進行輸出。刪失數據無法估算生存函數、標準誤等信息,刪失數據也不算入累積事件數,但該時間點後的剩餘個案數需要減去刪失數。本例具體情況見下表。
(3)生存表的平均值和中位值:給出瞭各組生存時間均值和中位值,及其相應的標準誤和95%CI。該表考慮瞭刪失情況後校正值。本例不用藥組均值19.628,中位值11;用藥組均值8.076,中位值5;總體均值14.463,中位值7。
(4)整體比較:通過統計學檢驗給出瞭生存函數的組間比較,本例3種檢驗方法均有統計學意義,表明用藥和不用藥組生存函數的不同是由於不同的治療方式造成的。
(5)生存曲線:從圖形上看,本例不用藥組患者的存活狀況要比用藥組更好。這種差異是抽樣誤差造成的還是不同的治療方式造成的,還需要看前面的統計學檢驗。
本例未選入分層變量,如選入分層變量後,除整體比較表外,上述其他各表將均按分層變量的不同水平分別輸出。以生存時間均值和中位值表為例,如分層變量選入Gender,結果如下
整體比較結果會因分層變量的處理方式不同而按不同的形式輸出,以Gender為分層變量為例,具體處理方式及相應的輸出形式如下。需要說明的是,因素水平的線性趨勢檢驗用於有序多分類的等級資料的檢驗,如結果有統計學意義,可以表述為,隨著(因素各水平)的增加/遞減,生存率呈線性遞增/遞減。本例分組因素隻有2水平:用藥和不用藥,也不是等級資料,因為隻有2水平,結果肯定呈線性,線性趨勢檢驗實際上並沒有什麼實際意義,為更好的演示其輸出形式,各種處理方式及對應的輸出結果如下:
- 在層上整體比較因素各水平(Pooled over strata)。默認的選項,控制分層因素Gender後,對分組因素進行整體比較。
- 因素水平的線性趨勢(Linear trend for factor levels)
- 在層上整體比較因素各水平(Pooled over strata)
輸出的是線性趨勢的3種統計檢驗結果(本例分組因素隻有2水平,僅為演示無實際意義)。
- 分層整體比較(For each stratum):按分層變量的不同水平分層輸出結果,每層分別對分組因素的各水平進行整體比較
- 因素水平的線性趨勢(Linear trend for factor levels)
- 分層整體比較(For each stratum)
表格上方按分層變量不同水平(女和男)輸出兩組的生存函數的整體比較結果,最下方是校正分層變量後線性趨勢的3種統計檢驗結果(本例分組因素隻有2水平,僅為演示無實際意義)。
- 在層上成對比較因素水平(Pairwise over strata):控制分層因素後,對分組因素的各水平進行兩兩比較。線性趨勢檢驗不進行兩兩比較。本例隻有兩組,其結果跟整體比較時一致的。
- 分層成對比較因素水平(Pairwise for each strata):按分層因素的不同水平分層輸出,每層分別對分組因素的各水平進行兩兩比較。線性趨勢檢驗不進行兩兩比較。
【4】Cox比例風險模型回歸
多因素分析生存分析方法,可用於多因素的生存率估計、比較和影響因素分析。Cox回歸模型要求滿足比例風險的前提條件,在進行Cox回歸前需進行比例分線性的檢驗。樣本含量要求同logistic回歸類似,要求至少10倍的自變量個數。
Cox比例風險回歸模型的基本形式為:將某時點t個體出現失效事件的風險分為兩部分:h0(t)和h(t,X)。第i個影響因素X使風險函數從h0(t)增加exp(βiXi)而成為h0(t)*exp(βiXi)。多個因素同時影響的模型為:
其中h(t,X)表示個體在協變量X(X=X1,X2…Xp)的作用下在時刻t的風險函數(風險率,瞬時事件發生率)。h0(t)為基準風險函數,是所有協變量取值為0時的風險函數。β為Cox回歸模型的系數,是一組待估的回歸參數,βp>0時X取值越大代表風險越大,βp<0時X取值越大代表風險越小,βp=0時X取值對風險函數無影響。exp(β)為預後指數,其值越大,風險函數h(t,X)越大,預後越差。
兩個個體風險函數之比稱為風險比(hazard ratio,HR),HR=暴露組的風險函數hi(t)/非暴露組的風險函數hk(t)。進一步的公式推導可得出:
該比值與h0(t)無關,在時間上為常數,即模型中協變量效應不隨時間變化而改變。通俗點講,不論基準風險如何,在任何時間點上存在某一暴露的個體相對不存在該暴露的個體發生事件的風險是恒定的,也即兩組人群在任何時間點上發生事件的風險比例是恒定的,護著解釋為某一暴露在所有時間裡對發生事件的作用都是相同的,這就是所謂的Cox回歸模型的比例風險性(PH)假定。在0-1變量的Cox模型中,0組的風險函數=h(t,X=0)=h0(t),即基準風險函數,1組的風險函數=h(t,X=1)=h1(t)=h0(t)exp(β),由此可得h(t)/h0(t)=exp(β),即兩組風險函數之比在時間上是常數,或兩組風險函數成比例。
Cox回歸最重要的前提條件是假定風險比為固定值,當PH不滿足時,可將不呈比例關系的協變量作為分層變量,然後再將剩餘變量進行Cox回歸分析;第二種方法是采用時依協變量進行分段Cox回歸;第三種方法是采用參數回歸模型替代Cox回歸模型。
註意風險比與風險率(Hazard Rate)的區別,風險率即風險函數指危險率函數、條件死亡率、瞬時死亡率。HR與RR(相對危險比):不同於RR,HR包含時間因素在內,也就是說包含瞭時間效應的RR就是HR。生存資料中RR考慮瞭終點事件的差異,而HR不僅考慮瞭終點事件的有無,還考慮瞭到達終點所用的時間及截尾數據。在Cox回歸中對exp(β)的解釋實際上是跟RR一致的:自變量每增加一個單位,發病風險比原水平增加exp(β)倍。因此在許多教材中兩者是混用的。Cox比例風險模型回歸SPSS操作及解讀:分析(Analyze)>>生存分析(Survival)>>Cox Regression……
對話框是Kaplan-Meier主對話框和Logistic回歸對話框的綜合。
- 生存時間(Time):選入生存時間變量,本例為Time
- 狀態(Status):生存結局狀態變量,是失效事件還是刪失數據,本例選入Status。點擊定義時間按鈕(Define Event…)定義終點事件發生的值,單值(Single Value)處填入表示事件發生的值,本例Status=1時表示HIV患者死亡。
- 協變量(Covariable):本例Gender、Age、Drug
- 變量篩選方法(Method):本例選Forward:LR,各方法的區別可參見因變量二分類資料的logistic回歸。
- 分類(Categorical…)、繪圖(Plots…)、保存(Save…)、選項(Option…)按鈕對應的對話框見下圖。特別說一下繪圖按鈕。需要按某個變量進行分組(或者叫分層)繪制曲線時,可將此變量選入單獨繪圖(Separate line for…)中,前提是該變量必須通過分類按鈕(Categorical…)設置為啞變量(分類變量)方能選入。因此本例將分類變量Drug指定為啞變量,以不用藥水平為參照水平,單獨繪圖文本框選入變量Drug。同時在繪圖對話框中選中生存函數,在選項對話框中選中exp(B)的95%CI。
結果及解讀
(1)個案處理概要。本例有效分析總例數100例,其中事件數80例,刪失數20例。
(2)分類變量編碼。本例對Drug進行瞭分類啞變量設置(按Drug水平進行分組輸出繪圖,必須進行啞變量設置),結果輸出啞變量各分類編碼及頻數,以不用藥為參照水平。
(3)-(7)步結果及解釋與因變量二分類logistic回歸是類似的。
(3)尚未納入模型方程的變量及其比分檢驗結果。結果顯示如將變量Age和Drug分別納入方程,方程的改變均有統計學意義;而Gender納入方程,方程改變無統計學意義。下一步方程首先納入P值最小的Age。
Block 0: Beginning Block
(4)模型系數的綜合檢驗。同logistic回歸類似,采用似然比檢驗。本例共進行瞭兩個變量的引入,-2倍的對數似然值與無效模型(各自變量β均為0)、上一步、上一區塊進行比較【註:-2logLR差值服從自由度為引入變量數的卡方分佈】結果見下表。由於本例隻有一個Block,因此Block與整體model的似然比檢驗應該是一致的。SPSS在結果輸出時,整體比較對應的是比分檢驗,因此與Block略有差異。本例-2倍的對數似然值逐漸變小,說明引入新的自變量後模型效果更加優秀,比分和似然比檢驗也顯示有統計學意義。
Block 1: Method = Forward Stepwise (Likelihood Ratio)
(5)每一步擬合入選方程的變量估計值及Wald檢驗情況。最終引入變量Age和Drug,表達式h(t)=h0(t)exp(0.091·Age+0.942·Drug)。
Age和Drug的回歸系數分別是0.091和0.942,P值均小於0.001,HR值分別為exp(0.091)=1.096、exp(0.042)=2.565。不考慮其他因素的影響,患者的年齡每增加1歲,死亡風險是小1一歲患者的1.096,如要估計相差十歲患者間的死亡風險,則需系數乘以10。不考慮其他因素的影響,患者用藥的死亡風險是不用藥的死亡風險的2.565倍。
(6)尚未進入模型的自變量是否可能被納入的比分檢驗結果,每一步將不在模型中的變量引入模型,模型的改變是否有統計學意義。在Step2時已經沒有需要引入的變量瞭。
(7)輸出每一步被納入的自變量是否需要被剔除,本例變量剔除方法采用的是Foeward:LR(向前法:似然比檢驗),默認的剔除標準是0.1。結果顯示已納入的變量一個都不能被剔除。
(8)協變量均值和模式值。給出瞭各變量的平均值及模式值。分類變量的均值實際上是樣本構成比,本例將按Drug兩水平進行分別繪圖。
(9)協變量均值處的生存函數:總的生存率變化
(10)分組累積生存函數曲線。在控制瞭其他變量後,有無用藥組的生存函數曲線比較,圖形比較直觀的看出,不用藥組患者的生存情況優於用藥組的患者。
Cox回歸要求風險比例假定,實際資料的比例風險假定的檢驗方法也很多,比如生存概率曲線識別法,殘差分析及參數檢驗等。
生存概率曲線識別法:以協變量Drug為分組變量生成Kaplan-Meier生存曲線(具體步驟可參見【3】Kaplan-Meier法,在Plot對話框中選中生存函數),結果見下圖(左)。如圖兩組的Kaplan-Meier生存曲線趨勢基本一致,無交叉,提示自變量Drug基本滿足風險比例假定的要求。該法不能直接對連續型協變量進行分析,如需要分析,需將連續資料轉化為分類資料。
負對數生存函數的對數(LML)曲線法:對於滿足PH假定兩樣本的生存資料,可由h(t)=h0(t)exp(βx)推導出ln[-lnS(t)]=ln[-lnS0(t)]+βx,本人數學極差,具體的微積分推導就略過瞭。以ln[-lnS(t)]對t作圖,曲線大致“平行”或者等距,如曲線交叉則違反PH。本例以協變量Drug為分組變量生成負對數生存函數的對數曲線(具體步驟可參見【4】Cox比例風險模型回歸,Plot對話框中選中Log minus log),兩組對應曲線基本平行,提示基本滿足風險比例的假定。
偏殘差分析:殘差與生存時間不存在線性趨勢
①通過Cox Regression過程的保存(Save…)對話框分別獲得Gender、Age及Drug的偏殘差(Partial residuals);
②分別用殘差和生存時間繪制散點圖:圖表(Graphs)>>圖表構建器(Chart Builder):散點圖(Scatter/Dot)>>簡單散點圖(Simple Scatter):橫坐標選入生存時間,縱坐標分別選入Gender、Age及Drug的殘差。本例Age的散點較為分散,線性趨勢不明顯,分類資料(Gender、Drug)給出的信息量較差。
③以生存時間為因變量,Gender、Age和Drug殘差,建立線性回歸模型。如果模型整體的方差分析無統計學意義(所有自變量的回歸系數均為0),則說明所有自變量對生存風險的作用不隨時間變化而變化,即滿足PH假定;當模型整體的方差分析有統計學意義,則說明至少有一個自變量的系數不為0,需要進一步觀察回歸系數的檢驗表格,查看哪些變量的回歸系數無統計學意義(無統計學意義表示系數與0沒有差異,該自變量對生存風險的作用不隨時間變化而變化,滿足PH假定)。
分析(Analyze)>>回歸(Regression)>>線性(Linear…):因變量(Dependent)選入Time,Independents選入新生成的自變量殘差,變量篩選方法Enter。確定。本例三個自變量的系數均無統計學意義,都滿足PH假定。
時依協變量檢驗:構建包含時間的交互作用項並做統計學檢驗,具體方法可參見本筆記的第五部分:【5】含時依協變量的Cox回歸 5.1驗證Cox回歸模型的比例風險性假設。
當協變量檢驗顯示不滿足比例風險假定時,可將不呈比例關系的協變量作為分層變量,然後再將剩餘變量進行Cox回歸模型分析。如本例,假設Gender不滿足PH假定,可在Cox對話框中將Gender選入分層變量框(Strata)中,結果將按男和女兩個水平分別輸出結果。
該方法分層允許基準風險率在分層變量的各個水平層(本例為男和女)中完全不同,在不同的層中函數曲線可以有不同的形狀,但其他協變量的HR在各個時點及層內保持一致。采用這種方法無法分析分層變量對生存的影響強度。
通過啞變量也可以實現分層(Categorical對話框中將需要分層的分類變量設置成啞變量,在Plot對話框中將設置好的分類啞變量選入單獨繪線框中),與上述的通過Strata分層不同,基準風險率在不同的性別間成比例變化,函數曲線形狀類似,其他因素的HR在各層中保持一致。
層設置與相應結果
Strata:Gender(無論Plot>>Separate Lines for中有無其他分層變量)
Plot>>Separate Lines for:Gender
Strata:Gender(左圖)
Plot>>Separate Lines for:Gender(右圖)
在Strata分層後,也可以啞變量中再次分層繪圖。本例如Strata中選入Gender,在單獨繪圖中選入Drug(首先進行分類變量設置)。
Strata:Gender;
Plot>>Separate Lines for:Gender
則結果在顯示上圖左圖後,緊接著還顯示男女兩個水平層的Drug分層結果:
不滿足PH假定的處理方法還可以采用含時依協變量的Cox分段回歸,具體方法可參見本筆記的第五部分:【5】含時依協變量的Cox回歸 5.2建立分段Cox回歸模型
【5】含時依協變量的Cox回歸
可用於驗證Cox回歸模型的比例風險性假設,建立分段Cox回歸模型
5.1 驗證Cox回歸模型的比例風險性假設
①分析(Analyze)>>生存分析(Survival)>>時依協變量Cox回歸(Cox w/Time -Dep Cov……)
Expression for T_COV_: LN(T_)*Drug變量列表中除瞭已有的變量外,還有一個變量Time[T_],用此變量代替時間變量(本例為Time)來構建時依協變量,新構建的時依協變量名稱為T_COV_。一般時間呈偏態分佈,為減少極端值的影響取時間的自然對數。
②點擊模型按鈕進入Cox回歸對話框,操作同風險比例模型的Cox回歸一致,具體操作可參見前面的“Cox比例風險模型回歸”,不同的是待選變量中多瞭一個以T_COV_[T_COV_]命名的自變量,也就是我們新構建的自變量Drug的時依協變量。將變量Drug和新構建的T_COV_[T_COV_]選入協變量對話框中,變量篩選方法選擇Enter。
結果如下表,Drug的時依協變量T_COV_的Wald卡方=0.418,P=0.518>0.05,表示Drug的效應不隨時間的變化而變化,滿足Cox回歸的比例風險性假設。
同理,分別構建Gender和Age的時依協變量,檢驗結果分別為Wald卡方=2.036,P=0.154;Wald卡方=0.054,P=0.816,均滿足Cox回歸的比例風險性假設。
以上相當於單個變量分別進行的分析,但有時可能需要納入多個時依協變量同時進行分析,而SPSS的Expression for T_COV_一次隻能生成一個時依變量。如想同時納入多個時依變量,需要借助編程功能,方法如下:
構建Drug的時依協變量後進入Cox回歸對話框,將變量Drug、Age、Gender以及新構建的時依協變量選入協變量框,變量篩選方法可根據需要進行選擇(具體納入哪些變量可根據專業,或者是經變量篩選後的變量。本例僅為演示,全部納入)。
點擊下方的粘貼按鈕(Paste),按下圖將原程序修改為黃框內的程序(紅框內為修改內容),增加其他時依協變量及其顯示,點擊運行(工具欄紅框內的綠色三角)即可。結果顯示在多變量的模型中,幾個時依協變量均無統計學意義,均滿足Cox回歸的比例風險性假設。
5.2 建立分段Cox回歸模型
分段模型的思路很簡單:比例風險假定雖然在整個研究觀察期間內不成立,但在一個較短的時間段內是有效的,所以可以把整個時間軸分為數個時間段,每個時間段分別配合一個風險比例模型。實際操作可以真正將數據分為幾個數段分析,也可以建立統一模型,用時間與協變量的交互作用(時依協變量)來實現。
假如本例Drug不符合比例風險假定
- 分析(Analyze)>>生存分析(Survival)>>時依協變量Cox回歸(Cox w/Time -Dep Cov……)
Expression for T_COV_: T_*Drug
- 點擊Model,進入Cox回歸對話框
Time:選入Time
Status:選入Status;定義事件:單值=1
Covariates:選入T_COV_、Gender、Age、Drug;方法:Enter(本例實際上是滿足PH假定的,如果選用其他方法進行變量篩選,則時依協變量不能進入最終的方程。為更好演示操作結果,篩選方法選Enter)
- OK
主要結果如下
本例Drug是符合PH假定的,其效應隨著時間的變化保持一致的。本例假設不符合PH假定(T_COV_的P值<0.05),就不能隻用HR=Exp(1.106)=3.022來描述Drug的影響強度,Drug的HR應該是一個時間函數,隨著時間變化而變化:HR=Exp(1.106-0.027t)。
當個體的狀態隨時間發生變化,比如患者在治療期間患者婚姻狀況發生瞭變化,婚姻這個協變量取值變化可能對效應HR造成影響,可構建時依協變量來對模型進行擬合。還有一種情況,如前所言,當PH假定在整個研究觀察期間內不成立時,可以把整個時間軸分為數個滿足PH假定的時間段,對每個時段進行Cox回歸。如本例假定Drug不滿足PH假定,中位值在7-8之間結合生存曲線假定分界點為8個月(分界點的確定涉及cut-off值的確認,本次筆記不涉及。此處的8個月也隻是假定整個時間段以8個月分為兩個時間段後都滿足PH)。
按如下表達式建立時依協變量,其餘步驟同上
Expression for T_COV_: (T_ >= 8 )* Drug
用邏輯表達式定義的時依協變量,當邏輯表達式為真時取值“1”,為假時取值“0”,“&”表示邏輯與,“|”表示邏輯或。
當生存時間少於8個月,調整Gender和Age後,Drug的回歸系數為0.985,HR=exp(0.985)=2.678,用藥患者是不用藥患者發生死亡風險的2.678倍;
當生存時間大於等於8個月,調整Gender和Age後,Drug的回歸系數為0.985-0.189=0.796,HR=exp(0.796)=2.217,用藥患者是不用藥患者發生死亡風險的2.217倍。
END
轉自個人微信公眾號【Memo_Cleon】的統計學習筆記:生存分析
-
扫码下载安卓APP
-
微信扫一扫关注我们微信扫一扫打开小程序手Q扫一扫打开小程序
-
返回顶部