本文涵盖了Prism中可用的生存分析方法,包括Kaplan-Meier生存估计以及使用Cox比例风险回归进行生存分析。这两种方法截然不同,它们在各自的页面上都有详细的解释。
- 生存分析的基本概念
- Prism中的生存分析方法
- 如何进行Kaplan-Meier(非参数)生存分析
- Kaplan-Meier生存分析的结果
- 如何进行Cox比例风险回归
- Cox比例风险回归的结果
如何进行Cox比例风险回归
Cox比例风险回归用于估计各种预测变量对某事件发生时所经过时间的影响。通常(特别是在生物科学领域),这种感兴趣的事件是死亡,这赋予了其生存分析的名称。Cox比例风险回归的目标是生成一个与所观察人群的风险率相关的模型,该风险率与该人群的生存函数直接相关。然后可以基于模型中的预测变量值为人群内的特定群体或个体生成生存曲线。
A word of caution!
Cox比例风险回归是在Prism 9.3.0中引入的。这种分析在行业内作为生存分析的标准已经非常成熟,并且允许对多种不同类型的预测变量(包括分类变量和连续变量)及其对生存的影响进行复杂的研究。我们已经做了大量工作以确保Prism生成的结果是准确的,并且在本文中您将找到对这些结果如何生成的大量解释,以及如何解释这些结果的基本指导。
然而,Cox回归是高级的-可以说比Prism中可用的任何其他分析都更高级。在使用Cox回归分析您的数据之前,请确保您了解生存分析的基本知识(即Kaplan-Meier生存估计和用于比较所得生存曲线的各种可用测试:对数秩检验、对数秩趋势检验和Gehan-Breslow-Wilcoxon检验)。Cox回归还严重依赖于统计概念,这些概念赋予了其他形式的多重回归(如多元线性回归和多元逻辑回归)力量。
- 输入Cox比例风险回归数据
- 执行Cox比例风险回归
- 示例:Cox比例风险回归
输入Cox比例风险回归数据
创建数据表
从“欢迎或新建表”对话框中,选择创建一个多变量数据表。如果您刚开始进行Cox比例风险回归,且没有自己的数据,您可以从一个样本数据集开始。
输入数据
与对多变量数据表进行的其他分析一样,该数据表的结果必须遵循一个通用格式。数据表的每一行代表一个不同的观察、个体、参与者等。数据表的每一列代表一个不同的变量。
对于Cox比例风险回归,至少有三个变量是绝对必须的:
- 失效时间(Elapsed time):每个个体/观察直到事件发生或删失时间的持续时间。这个失效时间可以用任何方便的单位表示,例如天数、周数或月数。输入的失效时间值不需要是整数、目前,Prism并不要求输入开始时间和结束时间来计算单个观察的持续时间。
- 事件/删失分类器(Event/Censor classifier):一个变量,其值指示个体/观察是否经历了事件或被删失。这个变量可以是连续的或分类变量。通常,此信息被编码为一个连续变量,值为“1”表示经历了事件的个体,值为“0”表示被删失的个体。然而,一个带有“死亡”和“删失”水平的分类变量也可以正常工作。在任何情况下,模型的“分析参数”对话框中的控制将允许您指定哪个值(或水平)代表事件,哪个代表删失观察。额外的控制还将允许您指示如何处理所选变量中的任何其他值(它们可以被视为缺失、作为事件处理或作为删失观察处理)。
- 至少一个预测变量:附加变量(分类或连续)可以包含在Cox回归中,并且每个变量应输入到其自己的列中。请注意,您无需对分类变量进行手动编码,相反,您可以简单地输入文本标签来标识分类变量的水平,并且数据表中的变量类型应设置为分类。
最后,请注意,模型中不需要为交互作用编写代码。除了指定要包含在模型中的预测变量外,Prism还将允许您指定双向和三向交互作用(如果您选择包含它们)。
执行Cox比例风险回归
要开始分析,请点击工具栏“分析”部分中“分析”按钮,或者打开“分析”菜单并选择“回归和曲线>Cox比例风险回归”(Cox比例风险回归也可以在“生存分析”部分的“分析菜单和分析数据对话框”中找到。该分析参数对话框包含八个选项卡):
- 模型(Model):指定分析的时间-事件(响应)变量和结果(事件/删失)变量。这两个变量是进行每个Cox比例回归分析所必须的。指定哪个值(或水平)代表观察到的“事件”,哪个代表观察到的“删失”,以及如何处理所选变量的任何其他值或水平。在此选项卡上,还可以指示Prism应如何处理重复时间、交互作用和您希望在模型中包含的转换(使用“定义模型”部分)。
- 参考水平(Reference level):为每个分类预测变量设置一个参考水平。该参考水平指示分类变量的“基线”或“通常”水平,对解释分析结果很重要。
- 预测(Predictions):使用Prism估计的模型,根据每个预测变量的特定删失时间预测生存概率。
- 比较(Compare):选择第二个模型并指定如何比较这两个模型。
- 选项(Options):指定Prism应报告的结果(注:拟合优度、残差和图表选项卡还包含用于自定义分析结果输出的重要选项)。
- 拟合优度(Goodness-of-fit):指定Prism应报告哪些分析指标。这些指标对了解模型对给的那个数据的拟合程度提供了一些见解。
- 残差(Residuals):选择Prism应报告和绘制哪些分析残差。请注意,Cox比例风险回归中的“残差”在数学上与线性回归中的残差不同。相反,这些值用于回答关于回归模型的类似问题并测试类似假设,标准残差通常用于线性回归。
- 图表(Graphs):使用Prism估计的模型,根据模型中所选预测变量的值生成跨越数据中所有观察时间点的预测生存曲线。
示例:Cox比例风险回归
- 设置并运行分析
- Cox回归分析示例结果
- 示例分析总结
设置并运行分析
数据
首先,我们要从欢迎对话框中创建一个新的多变量数据表。
选择在多变量数据表的教程数据集列表中找到的Cox比例风险回归样本数据。数据的一部分如下所示:
这些数据是一项临床研究之后发布的,该研究旨在套索冠心病(CHD)死亡的潜在预测变量。这项研究包括299名参与者(105名女性和194名男性),并对每位参与者测量了11个不同的变量。此外,该数据集还包括一个事件变量,用于指示每位参与者是死于CHD还是被删失。最后,时间变量包含每个个体从进入研究到死亡或被删失的生存时间(观察的失效时间)。
数据集中有三个连续变量:
- 年龄(以年为单位)
- 血清钠水平
- 肌酸磷酸激酶水平
数据集中有八个分类变量:
- 性别(男、女)
- 吸烟状况(是、否)
- 糖尿病状况(是、否)
- 高血压(是、否)
- 贫血(以血细胞比容水平低于36衡量)(是、否)
- 射血分数(低、中、高)
- 血清肌酐水平(正常、高)
- 血小板计数(低、正常、高)
使用这些Cox比例风险回归数据,我们应该能够回答一些问题,包括:
- 与无预测变量的空模型相比,带有选定预测变量的指定模型在估计该人群中个体的风险率/生存时间方面是否做得更好?使用模型诊断来回答。
- 每个预测变量对该人群中个体的风险率/生存时间是否有单独的影响?使用参数估计的置信区间、风险比或P值来回答。
- 给定预测变量的不同值(水平)对风险率/生存时间有什么影响?使用风险比来回答。
启动分析
要开始分析,点击工具栏“分析”部分中的“分析”按钮,然后从可用的多变量分析列表中选择“Cox比例风险回归”。或者,您可以使用“分析”菜单,并在“回归和曲线”或“生存分析”下找到“Cox比例风险回归”。
分析对话框
选择分析后,参数对话框将出现。对于这个示例,我们将接受Prism提供的大多数默认选项。这里将简要讨论所选选项的结果,但在“参数:多重Cox回归”的各个不同选项卡上还有许多可用选项。
在上述显示的对话框的模型选项卡上,您可以看到Prism已经为事件发生时间(响应)和结果(事件/审查)变量选择了变量。此外,由于结果变量(事件)是一个分类变量,我们应该验证“表示事件的值”。在这种情况下,这两个也是正确的。展开“定义模型”部分中的“主要效应”,您可以看到所有预测变量都包含在默认模型中(这在标签底部的黄色文本框中得到确认,该文本框提供了要执行的模型的简单表示)。
在我们单击“确定”之前,我们将切换到“图表”选项卡。此选项卡上的控件用于为指定模型中的变量所代表的不同组生成估计生存曲线。此选项卡上的两组控件用于:
- 定义您想要创建的图表数量
- 指定用于定义Prism应为每个图表生成估计生存曲线的组的变量
本文提供了一个完整的示例,说明如何使用这些控件来生成各种不同的估计生存曲线。处于本示例的目的,让我们创建一个单一图表,并添加以下变量值:
- 高血压(两个水平:“是”和“否”)
- 年龄(样本群体中观察到的最小年龄值为40)
设置了这些选项后,我们可以点击“确定”,然后我们将被带到结果表。
Cox回归分析示例结果
参数估计
您将看到的第一部分结果是针对指定模型的回归系数(β系数)的最佳拟合值。请注意,与其他一些多重回归技术不同,Cox比例风险回归不包括截距项(β0)。即使强制将截距项加入模型,它也会被基线风险(h0(t))“吸收”。此外,请注意当分类变量包含在模型中时,这些变量会被“虚拟编码”自动处理,从而为分类变量的每个水平产生一个单独的参数估计值,而不是像连续变量那样只有一个估计值。因此,我们的模型结果包括十三个单独的β系数,如下所示:
对这些参数估计值的解释与标准多元线性回归有很大不同。考虑本分析的Cox比例风险模型:
如果我们通过除以基线风险重新排列这个等式,我们得到:
最后,我们对两边取自然对数,我们得到:
使用这种形式的方程,可以看出左侧是特定个体或群体(使用特定预测变量对应于该个体或群体)的风险比的对数,除以基线风险(这代表当所有预测变量都设置为零或其他参考值时的风险率)。这就是比例风险(proportional hazards)的概念来源,因为在此分析中,模型实际上是在估计风险比(使用不同预测变量的组与基线组相比)。
了解这一点后,我们可以看到β系数的值表示对数风险率的增加(对于正值)或减少(对于负值)。例如,在我们的结果中,β1(Sex[Male])等于-0.1879。这意味着与女性相比,男性的对数风险率在所有时间点都降低了0.1879。对于β6 (Age)的值为0.04589。这意味着每增加一岁,个体的对数风险率增加0.04589。
风险比
直接解释β系数是复杂的,因为这些系数与对数风险率的变化相关,而在线性尺度上理解变化通常更容易。因此,结果的溪西岸一部分是风险比。
本质上,风险比表示当预测变量增加一个单位时,风险率增加(或减少)的倍数。再次,以年龄为例,我们看到风险比等于1.047。这意味着每增加一岁,参与者的风险率就会乘以1.047。从数学上讲,风险比就是指数化的β系数(例如,年龄的风险比为exp(0.04589),其中0.04589是年龄的β系数)。
综合考虑所有这些因素,我们可以看到,这个模型的一般结论是,我们预计那些心脏功能较差(低射血分数)、血压高和肾功能差(高血清肌酐)的老年人的风险率会增加(因此生存期会缩短)。还应注意,尽管年龄的风险比似乎相对较小(例如,年龄为1.047,而血清肌酐高则为2.226),但这是每年的影响。这意味着每增加一岁,风险率只会增加1.047=1.047倍,即每十年增加1.58倍。
P值
默认情况下,参数估计值的P值不会给出,因此这里不会详细讨论。但是,如果您想在表格结果中包含P值,您可以通过分析对话框中的“选项”选项卡启用此选项。
模型诊断
Cox比例风险回归结果的下一个表格部分提供了将指定模型与不含预测变量(协变量)的模型进行比较的信息。默认情况下,这里显示的数值包括每个模型的参数数量和赤池信息准则(Akaike’s Information criterion, AIC)值。其他诊断值可以通过分析对话框中的“选项”选项卡添加。
本节中列出的AIC值允许您快速评估分析中指定的模型在拟合数据方面是否比空(null)模型做得更好。计算AIC值的方法有点复杂,但是使用这些值来比较两个模型实际上很简单:AIC越小表示模型拟合越好。没有协变量的模型值为1018,分析中指定的模型值为960.5,我们可以确定指定的模型在描述观测数据方面做得更好。
数据汇总
Cox比例风险回归的表格结果页面的最后一部分简单地提供了输入数据的详细摘要,包括输入数据表中的数据行数、被跳过的行数以及这两个值之间的差异导致分析中包含的观测数。接下来,本节报告关联的数量(对具有相同运行时间的事件的观察)。在此之后,提供经过审查的观察结果的数目和记录了有关死亡/事件的观察结果的数目。根据这两个值,报告了截尾观测值与事件的比值。根据所研究的事件,这个比例可能会有很大的变化(当事件相对不常见时,审查后的观测与事件的比例可能很大,例如在这个例子中;当事件很常见时,该比率可能非常小,因为大多数观察都会导致事件发生)。
此外,在本节中,剔除的观测数和总观测数以及这两个值的比值(提供分析中使用的剔除的观测数的比例)被重复。最后,重复记录有兴趣的死亡/事件的观测次数,以及参数估计的总数和这两个值的比率。通常,每个参数的事件数的比率应该在10左右。
个体值
有两个由Cox比例风险回归默认生成的结果标签页。第一个是个体值标签页。顾名思义,该表为输入数据表中的每个个体(行)提供计算值。该表包含每个个体的失效时间,以及根据生成模型计算出的线性预测值、风险比(指数化预测值)、累积风险和累积生存概率。
基线值
除了为输入数据表中的每个特定观察(行)提供估计值外,Prism还会生成一个基线值表,其中包括基线累积风险(H0(t))和基线累积生存概率(S0(t))。与个体值表不同,该表为输入数据中的每个唯一时间包含一行,并按这些时间值的升序排列。
基线累积风险和基线累积生存概率的计算在单独的页面上进行,但需要注意的是,该表用于生成可以设置为显示基线累积风险或基线累积生存概率(本分析中显示的两个示例如下)的基线值图。
重要的是,这些基线图可以用来构建使用参数估计(或风险比)的特定人群的估计生存/风险曲线。
残差图
默认情况下,Prism会生成三种不同的残差图:
- 标准化Schoenfeld残差vs时间/行顺序
- 偏差残差vs线性预测值/HR
- 偏差残差vs协变量
这些图可以用来检查模型拟合的不同方面。
标准化Schoenfeld残差vs时间/行顺序
此图的主要用途是检验指定模型中的比例风险假设。对于模型中包含的每个参数(在我们的例子中,β1到β13)都会生成一组标准化的Schoenfeld残差。通过将这些残差在Y轴上与X轴上的时间(或行顺序)进行绘图,我们期望在绘制的数据中没有显著趋势。可以在同一张图上检查每组不同的残差(使用“格式图”对话框更改Y轴上绘制的变量),并且这些残差中的任何强趋势都表明比例风险假设可能已被违反。在我们的例子中,对于β1:Sex[Male]和β6:Age,这些似乎是成立的(下面给出示例)。
偏差残差vs线性预测值/HR
这张残差图可用于检查数据中是否存在潜在异常值。这些残差应大致围绕零值分布。极大或极小的值可能代表数据中的潜在异常值。这些点表示那些经历事件的时间比模型预测的要早得多(极大的正残差)或晚得多(极大的负残差)的个体。通过使用“格式图”对话框(双击绘图区域打开),可以将每个观察值的线性预测值或风险比(基于个体值标签页上的结果值)绘制在X轴上。这两者之间的唯一区别在于,风险比是线性预测值的指数化。请注意,由于数据集中存在大量删失观察值,绘图区域中左下角的点聚集在一起。根据定义,删失观察值必须具有负偏差残差(基于用于计算残差的数学公式,此处未显示)。直观地说,这是有道理的。一个被删失的观察值没有观察到事件的时间,因此,这些观察到事件时间不能早于模型预测的时间(偏差残差为正的要求)。因此,所有删失观察值都必须具有负偏差残差。


雷达卡





京公网安备 11010802022788号







