本文介绍了利用 MSTATA 软件,一键完成单因素+多因素竞争风险模型分析表格,生成带有风险人数表的累积发生率曲线,生成单因素累积发生率表格,得到满足论文发表所需的的所有 word 图表,可以直接投稿。
软件位于 www.mstata.com 进入软件后选 “因果推断” 下拉菜单,选 “经典先单因素后多因素分析(竞争风险回归)” 模块。
竞争风险模型简介
竞争风险模型是一种统计方法,用于分析多个互相排斥的事件发生时间的数据。与传统的生存分析不同,竞争风险模型考虑了一个事件的发生会影响其他事件的发生概率。在医学、流行病学和公共卫生研究中,竞争风险模型广泛应用于多种结局的分析。
定义与出处
竞争风险模型最早由 Gray 和 Fine & Gray 等学者提出,他们的方法论在各类统计学和生存分析的经典著作中得到了广泛讨论和应用。Gray 提出的累积发病率函数 (CIF) 及其相关的 Fine & Gray 竞争风险回归模型为这一领域奠定了基础。
适用范围
竞争风险模型主要适用于以下几类研究:
多种互相排斥的疾病结局(如死于癌症或死于其他疾病)的研究
不同治疗方案对多种结局影响的比较
长期随访数据中的多事件分析
互斥事件的概念
在竞争风险模型中,互斥事件指的是一个事件的发生会排除其他事件的发生。例如,在一项研究中,如果患者可以因不同原因死亡(如死于癌症或死于其他疾病),一旦某个患者因癌症去世,他便不可能再死于其他疾病。因此,这些结局是互斥的。竞争风险模型正是通过考虑这些互斥事件的相互排斥关系来进行分析的。
传统生存分析的弊端
如果在存在竞争结局的情况下仍然使用传统的生存分析方法(如Kaplan-Meier法或Cox回归模型),会存在以下弊端:
高估事件发生概率:传统生存分析会假设所有其他竞争事件不存在,这会导致对目标事件发生概率的高估。
错误的风险估计:忽略竞争事件的影响,会导致风险因子的估计值偏差,从而无法准确识别真正的危险因素。
误导的研究结论:由于未考虑竞争风险,研究结论可能会具有误导性,不利于临床决策和公共卫生政策的制定。
医学研究应用示例
在一项关于癌症患者的研究中,研究者可能会关心患者的不同结局,如死于癌症和死于其他疾病。假设在这项研究中有一部分患者死于癌症,而另一部分患者死于其他疾病。如果仅使用传统生存分析方法,会忽略死于其他疾病的竞争风险,导致对死于癌症的概率估计过高。
通过使用竞争风险模型,研究者能够分别估计患者死于癌症和死于其他疾病的累积发病率,精确识别影响这些结局发生的危险因素。这对于临床决策制定和个体化治疗方案的选择具有重要意义。
本软件提供了便捷的工具,帮助您进行竞争风险模型的单因素和多因素分析,使您能够在复杂的数据中挖掘出有价值的信息,为您的研究提供强有力的支持。
准备数据
首先务必按照下面的格式准备数据(网站上可下载,下载后在此基础上修改):
下载csv样例数据(右击另存为)
打开如下图:
该数据集包含了一组患者的临床信息及其随访结果,主要用于竞争风险模型的分析。数据集中包含了患者的治疗方案、年龄、生物标志物、疾病分期、病理等级、治疗响应、死亡情况及随访时间等变量。以下是各变量的详细说明:
trt: 患者接受的治疗方案(Drug A 或 Drug B)
age: 患者的年龄
marker: 生物标志物水平
stage: 疾病分期(T1, T2, T3, T4)
grade: 等级(I, II, III)
response: 对治疗的响应情况(0:无响应,1:有响应)
death: 死亡情况(0:存活,1:死亡)
death_cr: 死亡的具体原因(censor:无事件,death from cancer:死于癌症,death other causes:死于其他原因)
ttdeath: 发生事件的时间(以月为单位)
数据准备指导
用户在准备自己的数据集进行竞争风险分析时,需要特别注意结局变量和时间变量的构建。以下是具体的准备步骤和要求:
结局变量(Outcome Variable)
主要事件:用户关心的主要事件,例如死于癌症。
竞争事件:可能影响主要事件分析的其他事件,例如死于其他疾病。
删失(censoring):随访结束时未发生任何事件。
事件类型变量:如上述数据集中的
death_cr
,该变量应明确标识出每个样本的结局类型。通常包含以下几种情况:
时间变量(Time Variable)
随访时间:如上述数据集中的
ttdeath
,该变量应记录从基线时间(如诊断日期、治疗开始日期等)到事件发生或随访结束的时间。时间单位可以是天、月或年,但需在分析前明确说明。如果发生了事件,则填发生事件的时间,如果没有发生事件(censor),则填最后一次随访时间。
影响因素分析
下一步就是影响因素分析啦:
选择时间变量
进入竞争风险分析页面,系统将自动检测数据中的数值型变量。请选择代表时间的变量(如从开始到发生事件的时间,或从开始到末次随访时间)。
选择状态变量
在选择了时间变量后,系统将自动检测数据中水平数较多的分类变量。请选择代表患者最终状态的变量。该变量需要在数据准备阶段被设置为因子型,且至少有三个取值,例如“未发生事件(censor)”,“死于癌症”,“死于其他疾病”。
选择未发生事件的状态
从状态变量的不同水平中选择一个表示未发生事件(censor)的状态。请确保选择正确,因为这将影响分析结果的准确性。
选择感兴趣的事件
从状态变量的不同水平中选择一个表示感兴趣的事件(如“死于癌症”)。系统会将剩余的其他事件自动设为竞争风险。如果需要,您可以分别选择不同的事件进行多次分析。
选择影响因素/自变量
系统将自动检测数据中的数值型和分类变量。请选择您感兴趣的候选影响因素/自变量,可以多选。系统支持拖拽和移除按钮以方便操作。
设定分类变量的参照组
对于每一个选择的分类变量,选择其参照组。这一步有助于确定分析时的比较基准。
标准化连续变量
系统支持对连续变量进行尺度转换或标准化处理。您可以选择不做处理、中心化、标准化或进行Log变换。
选择纳入多因素分析的变量
系统提供三种选择方式:
全部变量纳入多因素分析
自主选择部分变量纳入多因素分析
使用逐步回归法选择模型变量(推荐先利用“自动变量筛选”模块完成变量筛选)
设置其他选项
可以选择是否将取值范围较少的数值型变量转换为分类变量。将连续变量根据分位数转换为n等分的分类变量。选择是否显示N、Event列,设置P值显示方式,调整效应量和P值的小数位数。
生成影响因素分析表
点击“生成/更新影响因素分析表”按钮,系统将根据您的设置生成竞争风险分析表。
生成森林图
批量生成累积发生率曲线:
累积发生率分析
选择时间变量单位
在进行累积发生率分析之前,首先需要明确您原始数据中的时间变量每 1 个单位代表的时间长度。请根据实际情况在以下选项中进行选择:
天
周
月
年
选择累积发生率表的时间单位
为了生成累积发生率表,您需要选择结果展示的时间单位。系统会根据您的选择自动进行时间单位转换,具体转换规则如下:
1 年 = 365.25 天
1 月 = 30.4375 天
1 周 = 7 天
请在以下选项中进行选择:
天
周
月
年
输入累积发生率时间点
根据您选择的累积发生率表的时间单位,输入您希望统计的累积发生率时间点。例如,如果选择的单位是“月”,您可以输入“3, 6, 12”表示计算3个月、6个月和12个月的累积发生率。不同时间单位的示例如下:
天:30天、90天、180天
周:6周、12周、24周
月:3月、6月、12月
年:1年、3年、5年
注意:累积发生率时间点不应超过数据集的最大随访时间。
设置小数位数
您可以通过滑动条选择累积发生率结果需要保留的小数位数,范围为0到2位小数。
生成累积发生率分析结果
在完成以上所有设置后,点击“生成/更新累积发生率分析结果”按钮,系统将根据您的设置生成累积发生率分析结果。