第十四章 活着--Survival菜单详解(下) (医学统计之星:董伟) ??? Cox Regression过程 上面给大家介绍的是两种生存分析方法,但它们只能研究一至两个因素对生存时间的影响,当对生存时间的影响因素有多个时,它们就无能为力了,下面我给大家介绍Cox Regression过程,这是一种专门用于生存时间的多变量分析的统计方法。 Cox Regression过程主要用于: 1、 用以描述多个变量对生存时间的影响。此时可控制一个或几个因素,考察其他因素对生存时间的影响,及各因素之间的交互作用。 例13.3 40名肺癌患者的生存资料(详见胡克震主编的《医学随访统计方法》1993,77页) 生存时间 状态 生活能力评分 年龄 诊断到研究时间 鳞癌 小细胞癌 腺癌 疗法 癌症类别  411 1 70 64 5 1 0 0 1 1.00  126 1 60 63 9 1 0 0 1 1.00  118 1 70 65 11 1 0 0 1 1.00  注:原数据库是用亚变量定义肺癌分类:0,0,0为其它癌;1,0,0为鳞癌;0,1,0为小细胞癌;0,0,1为腺癌。表中的最后一个变量是我加上去的癌症类别,1为鳞癌;2为小细胞癌;3为腺癌;4为其它癌。实践表明结果与用亚变量计算一样。 13.3.1 ???界面说明  图9??? Cox回归主对话框 【Time】框、【Status】框前文已经介绍过了,这里我就不再废话唠叨的了。Block 1 of 1右边的Next钮被激活。这个按钮用于确定不同自变量进入回归方程的方法,详见Method框的内容。用同一种方法进入回归方程的自变量在同一个Covariates框内。 【Covariates】框 选入自/协变量,即选入你认为可能对生存时间有影响的变量。 【Method】框 选择自变量进入Cox回归方程的方法,SPSS提供下面几种方法: Enter: Covariates框内的全部变量均进入回归模型。 ?Forward: Conditional: 基于条件参数估计的向前法。 Forward: LR: 基于偏最大似然估计的向前法。 ?Forward: Wald: 基于Wald统计量的向前法。 ?Backward: Conditional: 基于条件参数估计的后退法。 ?Backward: LR: 基于偏最大似然估计的后退法。 ?Backward: Wald: 基于Wald统计量的后退法。 【Strata】框 定义分层因素,将生存时间按分层因素分别进行Cox回归。 【Categorical】选项 用于告诉系统,Covariates框内的变量中哪些是分类变量或字符型变量。系统默认字符型变量为分类变量,数字型变量为连续型变量。 选入自变量后,categorical钮被激活。按categorical钮,进入确定分类变量的对话框。见图10。  图10?? 确定分类变量对话框 左边的Covariates框中列出了刚刚被选取的自变量,将分类变量选入Categorical Covariates框中。此时Change Contrast框被激活,请你选择比较方法,即计算参数OR/βi的方法。当选入分类变量后,Change Contrast框被激活,此时可选择比较方法。SPSS提供下面几种比较方法。 Indicator:指示对比。用于指定某一分类变量的基线,即参照水平。这样计算出来的参数OR/βi是以该变量的第一个或最后一个水平为基准水平(取决于下面的reference category中你选择的是last还是first)。在这里SPSS自动创建亚变量,对照水平在对比分类矩阵中用0行代表。在这里我再多说两句,如本例中的肿瘤类型,若规定鳞癌为1,小细胞癌为2,腺癌为3,其它癌为4。若选indicator及last,则以其它癌为参照,计算出来的OR及βi是以其它癌为基准,即其它癌的OR为1,其他计算出来的OR值是与其它癌相比的结果。 Simple:差别对比。可计算该分类变量的各水平与参照水平相比的OR值。参照水平自己当然就不用跟自己相比了。对于本例来说,Simple与Indicator选项是一样的,前提是下面的Reference Category中你所选择的同是last(或first)。 Difference:差别对比。分类变量欲比较水平与其前面的各水平平均值进行比较,当然也不包括第一水平。与Helmert法相反,因此也叫反Helmert法。如3水平与1、2水平的平均值相比,下同。 ?Helmert:赫尔默特对比。分类变量欲比较水平与其后面各水平平均值进行比较,当然不包括最后一个水平。 ?Repeated:重复对比。分类变量的各水平与其前面相邻的水平相比较(第一水平除外)。 ?Polynomial:多项式对比。仅用于数字型的分类变量。无效假设是假设各水平是等距离的(可以是线性的关系,也可以是立方、四次方的关系)。例如年龄每增加10岁,死亡风险的增加值是一样的,但实际情况常常与此相反,如在20岁与60岁年龄段,年龄都增加10岁,所增加的死亡风险肯定是不一样的,具体情况需根据各人的研究课题,专业而定。 ?Deviation:离差对比。除了所规定的参照水平外,其余每个水平均与总体水平相比。 Reference category:如果你选择了Deviation, Simple, 或Indicator三个选项,就必须选择First或Last作为参照水平。 完成上述选择后,击change钮,确认选择。 你若对上面写的一段不感兴趣的话,可跳过去,直接用系统默认的选项。 【Plots】选项  图11????????????? Cox回归统计图对话框 ????? ?Survival:累积生存函数曲线。 ????? ?Hazard:累积风险函数曲线。 ????? ?Log minus log:对数累积生存函数乘以-1后再取对数。 ????? ?One minus survival:生存函数被1减后的曲线。 ?Change Value:系统默认用各变量的均数进行作图,但对字符型变量如癌症类型取均值则没有实际意义。若用分类变量的其它水平进行作图,则选定该变量,此时Change Value钮被激活,按Value钮,在其右边的框内输入你所想要用于作图的值。击Change。 ?Separate Line for:输入分类变量的名称,此时可以用分类变量的不同水平进行作图,对于本例则可作出不同癌症的曲线。此分类变量必须包括在前面的自变量框中。 【Save】存为新变量  图12????? Cox回归存为新变量对话框 ????????? Survival:生存函数。 ?Function:累积生存函数估计值。 ?Standard error:累积生存函数估计值的标准误。 ?Log minus log:对数累积生存函数乘以-1后再取对数。 ????????? Diagnostics:回归诊断。 ?Hazard function Cox-Snell:残差。 ?Partial residual:偏残差。 ?Dfbeta(s):剔除某一观察单位后的回归系数变化量。 ?X*Beta:线性预测得分。 【Options】选项 击Options按钮,弹出选项对话框。  图13?? Cox回归选项对话框 ????????? Model Statistics:模型统计量。 ?CI for exp(?) 95%:相对危险度的可信区间。系统默认95%可信区间。 ?Correlation of estimates:回归系数的相关阵。 ????????? Display model:输出模型方式。 ????????? At each step:输出每一步的模型。系统默认。 ????????? At last step:输出最后一步的模型。 ????????? Probability for Stepwise:模型保留变量的显著性水平。 ?Entry:系统默认选入变量为P≤0.05。 ?Removal:系统默认剔除变量为P>0.10。 ?Maximum Iterations:最大迭代次数,系统默认20次。 ?Display baseline function:输出风险基准函数以及基于各协变量均值的生存函数与风险函数。 操作如下: 1.?????? Analyze==>Survival ==>Cox regression 2.?????? Time框:选入survival time 3.?????? Status框:选入status;击define events钮,在single value框右边的空格中输入1; 4.?????? Covariate框:选入x1,x2,x3,x7,x8; 5.?????? Categorical列表框:选入x8; 6.?????? Plots 列表框: ????????? Plot Type:选survival; ????????? Separate Line for:选入x8; 7.?????? Option列表框: ????????? Model Statistics: ?选CI for exp(?):输出回归系数?的95%可信区间。 ?选Correlation of estimate:输出自变量的相关矩阵。 单击OK钮 13.3.2 结果解释: Cox Regression  上表输出总例数、删失例数、失访例数。  输出各种癌症的频数及系统所赋的亚变量x81、x82、x83值,当癌症类型是鳞癌时,x81取值为1,其它亚变量取值为0,依此类推。 Block 0: Beginning Block  模型拟合迭代过程,可不管它。 Block1: Method = Enter  描述模型参数(常数项除外)是否全为0,本例,χ2=30.120,自由度υ=7,P=0.000。说明βI不全为0。  对回归方程各参数的估计,B即?值;SE,标准误;Wald,Wald卡方;df,自由度;sig,自由度;exp(B),OR值;95%Ci for EXP(B),OR值的95%可信区间。  自变量的相关矩阵。本例,X1与X2的相关系数是0.072,其它依此类推。  输出自变量的均数及其在不同模式下的取值,因X1,X2,X3,X7四个变量没有生成亚变量,故在此输出它们的均数。  输出在各自变量的均值水平时的累积生存函数曲线。  输出各种癌症的累积生存函数曲线。 §13.4? Cox w/Time-Dep Cov过程 Cox w/Time-Dep Cov过程应用于: 1.???????? 在建立Cox回归方程时,风险比例可能会随时间变化而变化,即有些危险因素作用的强度随时间而变化,这样的资料是不适合前面所讲的一般的Cox回归模型的。此时,就应改为时间依存协变量模型,也称为非比例风险模型。你可把所怀疑的那个协变量及时间变量T_定义成时间依存协变量(多个协变量时就必须用编程来做了),常用的方法是把它们简单地进行相乘,然后通过对时间依存协变量系数的显著性检验来判断比例风险是否合理。 2.?????? 用到Cox w/Time-Dep Cov过程的另一种情况是:有些变量虽然在不同的时间点取不同的值但与时间并非系统地相关,在这种情况下,需用逻辑表达式定义一个分段时间依存协变量,逻辑表达式取值1时为真,取0时为假。用一系列的逻辑表达式,你可以从一系列观测记录中建立自己的时间依存变量。例如:对病人血压每周观察一次,共观察4次,(变量名为BP1至BP4)。时间依存协变量可以这样定义:(T_ < 1) * BP1 + (T_ >= 1 & T_ < 2) * BP2 + (T_ >= 2 & T_ < 3) * BP3 + (T_ >= 3 & T_ < 4) * BP4(&表示“逻辑与”,即一般编程语言中的“AND”)。请注意括号中的值只能有一个取1,而其它的值只能取0,也就是说,这个函数意味着当时间小于一周时(此时第一个括号内取值为1,而其它括号内取值为0)使用BP1的值,大于一周而小于两周时使用BP2的值,依次类推。  下面请大家跟我一起看例子。因我到处找不到例子,所以我自己编了一个(因此我在此仅列出3例)。 例13.4 27名高血压病人共测了4次血压,计算高血压对生存时间的影响。 编号 BP1 BP2 BP3 BP4 生存时间 状态  1 ?93 ?97 102 133 55 0  2 111 164 ?91 149 36 1  3 111 173 129 123 7 1  13.4.1 界面说明  图14????? 构造时间依存变量对话框 【Expression for T_cov_】框: 左边的框中列出了数据库中的所有变量,以供构造时间依存变量用,其中的T_是系统提供的时间变量。可以用右边的各个键和SPSS提供的各种函数构造时间依存变量;也可以在右边的Expression for T_cov_框中直接输入时间依存变量的表达式。时间依存变量的表的是构造完以后,击Model钮,出现下面的对话框。  图15?? 定义模型对话框 对话框左边是数据库中出现的变量名。在【Time】中输入生存时间变量Time;【Status】中输入状态变量status;【Covariates】中输入时间依存变量T_COV_。因本例无其它协变量,如有别的不随时间变化的协变量,一并输入Covariates框中。 对话框中的其他选项均在Cox模型中介绍过,这里就不再罗嗦了。 13.4.2 结果解释 Cox Regression  上表输出总例数、删失例数、失访例数。 Block 0: Beginning Block  模型拟合迭代过程,可不管它。 Block1: Method = Enter  整个方程检验无统计学意义,χ2=1.702,υ=1,P=0.192。  输出方程中协变量的系数、标准误、Wald卡方值、自由度、P值、OR值。  输出协变量均数。 说明: 1.???????? 对于分段时间依存协变量,有缺失值的病例将不能被分析。因此,你必须保证所有病例每个时间点均有协变量值。虽然这些值在分析中用不到,但它们能有效地防止这些病例被丢掉。例如,以上面规定的时间依存协变量为例,假使一个病例在第二周时终检,但它的BP3及BP4值仍必须有,可以取0或其它值,这个无关紧要,因为它们在统计分析中并不用到。 2.???????? 那位又说了,既然寿命表法和Kaplan-Meier法都可以计算累积生存函数和风险函数,那么它们之间有什么差别呢?区别就在于寿命表法是生存时间分为许多时间段进行分析计算的,适用于大样本资料;而Kaplan-Meier法是计算每一终止事件发生时的生存率,适用于小样本资料。