R语言生存分析: 时变竞争风险模型分析淋巴瘤患者
首页 专栏 算法 文章详情
0

R语言生存分析: 时变竞争风险模型分析淋巴瘤患者

拓端tecdat 发布于 5 月 7 日

原文链接:http://tecdat.cn/?p=22422 

在本文中,我们描述了灵活的竞争风险回归模型。回归模型被指定为转移概率,也就是竞争性风险设置中的累积发生率。该模型包含Fine和Gray(1999)的模型作为一个特例。这可以用来对次分布危险的比例假设做拟合度测试(Scheike和Zhang 2008)。还可以为预测的累积发病率曲线构建置信区间。我们将这些方法应用于Pintilie(2007)的滤泡细胞淋巴瘤数据,其中竞争风险是疾病复发和没有复发的死亡。

工作实例:滤泡细胞淋巴瘤研究

我们考虑Pintilie(2007)的滤泡细胞淋巴瘤数据。该数据集由541名疾病早期的滤泡细胞淋巴瘤(I或II)患者组成,并接受单纯放疗(化疗=0)或放疗和化疗的联合治疗(化疗=1)。疾病复发或无反应和缓解期死亡是两个竞争风险。患者的年龄(年龄:平均=57,sd=14)和血红蛋白水平(hgb:平均=138,sd=15)也被记录。随访时间的中位数是5.5年。首先我们读取数据,计算死亡原因指标并对协变量进行编码。

R> table(cause) cause 0 1 2 193 272 76 R> stage <- as.numeric(clinstg == 2) R> chemo <- as.numeric(ch == "Y") R> times1 <- sort(unique(time\[cause == 1\]))

有272个(无治疗反应或复发)因疾病引起的事件,76个竞争性风险事件(无复发的死亡)和193个删减的个体。事件时间用dftime表示。变量times1给出了原因为 "1 "的事件时间。我们首先估计非参数累积发病率曲线进行比较。

我们指定事件时间并删减变量为cause == 0。回归模型只包含一个截距项(+1)。cause变量给出了与不同事件相关的原因。cause= 1指定我们考虑类型1的事件。计算/基于估计值的时间可以由参数times = times1给出。

图1(a)显示了估计的两种原因的累积发生率曲线。在图1(b)中,我们构建95%的置信区间(虚线)和95%的置信带。

risk(Surv(dftime, cause == 0) ~ + 1,  causeS = 1, n.sim = 5000, cens.code = 0, model = "additive")

图1

R> fit <- cum(time, cause, group) R> plot(fit)

子分布危险法和直接二项式模型法都是基于反概率的删减加权技术。在应用这种权重时,关键是删减权重的估计不能有偏差,否则累积发病率曲线的估计也可能有偏差。

在这个例子中,我们发现删减分布明显取决于协变量血红蛋白、阶段和化疗,并可以由Cox的回归模型很好地描述。Cox模型的拟合是通过累积残差来验证的,进一步的细节见Martinussen和Scheike(2006)。因此,对剔除权重使用简单的KaplanMeier估计可能会导致严重的偏差估计。因此,我们在调用中加入了cens.model = "cox "的选项,这就使用了Cox模型中竞争风险模型的所有协变量作为剔除权数。一般来说,反概率删减权重的回归模型可以用来提高效率(Scheike等人,2008)。

现在我们来拟合模型

我们首先拟合一个一般比例模型,允许所有协变量具有时变效应。在下面的调用中,只有模型(6)中的协变量x被定义。模型(6)中的协变量z是由一个const操作符指定的。

summary(outf) OUTPUT: Competing risks Model Test for nonparametric terms Test for non-significant effects Supremum-test of significance p-value H_0: B(t)=0 (Intercept) 3.29 0.0150 stage 5.08 0.0000 age 4.12 0.0002 chemo 2.79 0.0558 hgb 1.16 0.8890 Test for time invariant effects Kolmogorov-Smirnov test p-value H_0:constant effect (Intercept) 8.6200 0.0100 stage 1.0400 0.0682 age 0.0900 0.0068 chemo 1.7200 0.0004 hgb 0.0127 0.5040 Cramer von Mises test p-value H_0:constant effect (Intercept) 3.69e+01 0.0170 stage 2.52e+00 0.0010 age 4.26e-03 0.0014 chemo 1.50e+00 0.0900 hgb 2.64e-04 0.4220

基于非参数检验的显著性检验显示,在非参数模型中,阶段和年龄是显著的,化疗是较显著的(p = 0.056),血红蛋白是不显著的(p = 0.889)。

图2

绘制估计的回归系数αj (t)及其95%的置信带,并分别绘制常数效应的观察检验过程和空值下的模拟检验过程。

R> plot(outf, score = 1)

图2显示了这些效应并不随时间变化而变化,在早期的时间段内效应相当明显。95%的指向性置信区间,以及95%的置信区间。

图3显示了相关的检验过程,用于决定时变效应是否具有显著的时变性,或者是否可以接受H0 : αj (t) = βj。这些图的摘要在输出中给出,我们看到阶段和化疗显然是时变的,因此与Fine-Gray模型不一致。Kolmogorov-Smirnov和Cramer von Mises检验统计数字对检验过程的两种不同总结是一致的,总的结论是三个变量都没有比例的Cox类型效应。我们看到血红蛋白被常数很好地描述,因此我们考虑用血红蛋白具有常数效应,其余协变量具有时变效应的模型。

图3

R> summary(outf1) OUTPUT: Competing risks Model Test for nonparametric terms Test for non-significant effects Supremum-test of significance p-value H_0: B(t)=0 (Intercept) 5.46 0 stage 5.18 0 age 4.20 0 chemo 3.89 0 Test for time invariant effects Kolmogorov-Smirnov test p-value H_0:constant effect (Intercept) 10.100 0.000 stage 1.190 0.048 age 0.101 0.004 chemo 1.860 0.000 Cramer von Mises test p-value H_0:constant effect (Intercept) 79.90000 0.000 stage 1.84000 0.006 age 0.00583 0.000 chemo 2.53000 0.000 Parametric terms : Coef. SE Robust SE z P-val const(hgb) 0.00195 0.00401 0.00401 0.486 0.627 Competing risks Model Test for nonparametric terms Test for non-significant effects Supremum-test of significance p-value H_0: B(t)=0 (Intercept) 6.32 0 Test for time invariant effects Kolmogorov-Smirnov test p-value H_0:constant effect (Intercept) 1.93 0 Cramer von Mises test p-value H_0:constant effect (Intercept) 14.3 0 Parametric terms : Coef. SE Robust SE z P-val const(stage) 0.45200 0.13500 0.13500 3.340 0.000838 const(age) 0.01450 0.00459 0.00459 3.150 0.001610 const(chemo) -0.37600 0.18800 0.18800 -2.000 0.045800 const(hgb) 0.00249 0.00401 0.00401 0.622 0.534000

我们注意到,血红蛋白的影响与更合适模型(如上图所示)的影响几乎相等。但由于模型中其他协变量的不适合,估计值可能有严重的偏差,因此可能误导了数据的重要特征。最后,我们将FG模型的预测与半参数模型的预测进行比较,后者对效应的描述更为详细。我们考虑对下面由新数据分配定义的两种不同的病人进行预测。患者类型I:疾病I期(阶段=0),40岁,没有化疗治疗(化疗=0),患者类型II:疾病II期(阶段=1),60岁,放疗加化疗联合治疗(化疗=1)。

R> newdata <- data.frame(stage = c(0, 1), age = c(40, 60), chemo = c(0, 1), + hgb = c(138, 138)) R> predict(out, newdata)

为了指定计算预测的数据,我们可以指定一个newdata参数。

基于该模型的预测可能不是单调的。我们绘制了没有点状置信区间(se = 0)和没有置信带(uniform = 0)的预测。图4(a)中的预测是基于灵活的模型,而图4(b)中的预测是基于FG模型的。I型和II型病人的复发累积发生率曲线分别用实线和虚线表示。图5(a)比较了基于灵活模型和FG模型对I型患者的预测结果。同样地,图5(b)比较了对II型病人的预测。两个预测值周围的断线代表了基于灵活模型的置信区。

图4

R> par(mfrow = c(1, 2)) R> plot(f1, se = 0, uniform = 1, col = 1, lty = 1 R> plot(fg, new = 0, se = 0, uniform = 0, col = 2, lty = 2,

较高的疾病阶段、较高的年龄和联合治疗会导致较高的累积发病率,其影响在时间段的早期更为明显(图4(a)和图2)。另一方面,化疗在时间段的最初增加了累积发病率,随后降低了发病率(图4(a)和图2)。图5显示,FG模型不能准确地模拟时变效应。尽管有这些差异,在这种情况下,总体预测有些类似,特别是当考虑到估计的不确定性。然而,协变量的时变行为显然是重要的。

图5

4. 讨论

本文实现了累积发病率曲线的灵活竞争风险回归模型,可以详细分析协变量效应如何预测累积发病率,并允许协变量的时间变化效应。可以检查较简单的模型的拟合度,同时可以产生带有置信区间和置信带的预测结果,这对研究人员很有用。

最受欢迎的见解

1.R语言绘制生存曲线估计|生存分析|如何R作生存曲线图

2.R语言生存分析可视化分析

3.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

4.r语言中使用Bioconductor 分析芯片数据

5.R语言生存分析数据分析可视化案例

6.r语言ggplot2误差棒图快速指南

7.R 语言绘制功能富集泡泡图

8.R语言如何找到患者数据中具有差异的指标?(PLS—DA分析)

9.R语言中的生存分析Survival analysis晚期肺癌患者4例

人工智能 算法 机器学习 深度学习 数据挖掘
阅读 57 发布于 5 月 7 日
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
拓端数据
拓端tecdat分享最in的大数据资讯,提供“一站式”的数据分析学习和咨询体验,让我们一起做有态度的数据人...
关注专栏
avatar
拓端tecdat

拓端(http://tecdat.cn )创立于2016年,自成立以来,就定位为提供专业的数据分析与数据挖掘服务的提供商,致力于充分挖掘数据的价值,为客户定制个性化的数据解决方案与行业报告等。

169 声望
27 粉丝
关注作者
0 条评论
得票数 最新
提交评论
你知道吗?

注册登录
avatar
拓端tecdat

拓端(http://tecdat.cn )创立于2016年,自成立以来,就定位为提供专业的数据分析与数据挖掘服务的提供商,致力于充分挖掘数据的价值,为客户定制个性化的数据解决方案与行业报告等。

169 声望
27 粉丝
关注作者
宣传栏
目录

原文链接:http://tecdat.cn/?p=22422 

在本文中,我们描述了灵活的竞争风险回归模型。回归模型被指定为转移概率,也就是竞争性风险设置中的累积发生率。该模型包含Fine和Gray(1999)的模型作为一个特例。这可以用来对次分布危险的比例假设做拟合度测试(Scheike和Zhang 2008)。还可以为预测的累积发病率曲线构建置信区间。我们将这些方法应用于Pintilie(2007)的滤泡细胞淋巴瘤数据,其中竞争风险是疾病复发和没有复发的死亡。

工作实例:滤泡细胞淋巴瘤研究

我们考虑Pintilie(2007)的滤泡细胞淋巴瘤数据。该数据集由541名疾病早期的滤泡细胞淋巴瘤(I或II)患者组成,并接受单纯放疗(化疗=0)或放疗和化疗的联合治疗(化疗=1)。疾病复发或无反应和缓解期死亡是两个竞争风险。患者的年龄(年龄:平均=57,sd=14)和血红蛋白水平(hgb:平均=138,sd=15)也被记录。随访时间的中位数是5.5年。首先我们读取数据,计算死亡原因指标并对协变量进行编码。

R> table(cause) cause 0 1 2 193 272 76 R> stage <- as.numeric(clinstg == 2) R> chemo <- as.numeric(ch == "Y") R> times1 <- sort(unique(time\[cause == 1\]))

有272个(无治疗反应或复发)因疾病引起的事件,76个竞争性风险事件(无复发的死亡)和193个删减的个体。事件时间用dftime表示。变量times1给出了原因为 "1 "的事件时间。我们首先估计非参数累积发病率曲线进行比较。

我们指定事件时间并删减变量为cause == 0。回归模型只包含一个截距项(+1)。cause变量给出了与不同事件相关的原因。cause= 1指定我们考虑类型1的事件。计算/基于估计值的时间可以由参数times = times1给出。

图1(a)显示了估计的两种原因的累积发生率曲线。在图1(b)中,我们构建95%的置信区间(虚线)和95%的置信带。

risk(Surv(dftime, cause == 0) ~ + 1,  causeS = 1, n.sim = 5000, cens.code = 0, model = "additive")

图1

R> fit <- cum(time, cause, group) R> plot(fit)

子分布危险法和直接二项式模型法都是基于反概率的删减加权技术。在应用这种权重时,关键是删减权重的估计不能有偏差,否则累积发病率曲线的估计也可能有偏差。

在这个例子中,我们发现删减分布明显取决于协变量血红蛋白、阶段和化疗,并可以由Cox的回归模型很好地描述。Cox模型的拟合是通过累积残差来验证的,进一步的细节见Martinussen和Scheike(2006)。因此,对剔除权重使用简单的KaplanMeier估计可能会导致严重的偏差估计。因此,我们在调用中加入了cens.model = "cox "的选项,这就使用了Cox模型中竞争风险模型的所有协变量作为剔除权数。一般来说,反概率删减权重的回归模型可以用来提高效率(Scheike等人,2008)。

现在我们来拟合模型

我们首先拟合一个一般比例模型,允许所有协变量具有时变效应。在下面的调用中,只有模型(6)中的协变量x被定义。模型(6)中的协变量z是由一个const操作符指定的。

summary(outf) OUTPUT: Competing risks Model Test for nonparametric terms Test for non-significant effects Supremum-test of significance p-value H_0: B(t)=0 (Intercept) 3.29 0.0150 stage 5.08 0.0000 age 4.12 0.0002 chemo 2.79 0.0558 hgb 1.16 0.8890 Test for time invariant effects Kolmogorov-Smirnov test p-value H_0:constant effect (Intercept) 8.6200 0.0100 stage 1.0400 0.0682 age 0.0900 0.0068 chemo 1.7200 0.0004 hgb 0.0127 0.5040 Cramer von Mises test p-value H_0:constant effect (Intercept) 3.69e+01 0.0170 stage 2.52e+00 0.0010 age 4.26e-03 0.0014 chemo 1.50e+00 0.0900 hgb 2.64e-04 0.4220

基于非参数检验的显著性检验显示,在非参数模型中,阶段和年龄是显著的,化疗是较显著的(p = 0.056),血红蛋白是不显著的(p = 0.889)。

图2

绘制估计的回归系数αj (t)及其95%的置信带,并分别绘制常数效应的观察检验过程和空值下的模拟检验过程。

R> plot(outf, score = 1)

图2显示了这些效应并不随时间变化而变化,在早期的时间段内效应相当明显。95%的指向性置信区间,以及95%的置信区间。

图3显示了相关的检验过程,用于决定时变效应是否具有显著的时变性,或者是否可以接受H0 : αj (t) = βj。这些图的摘要在输出中给出,我们看到阶段和化疗显然是时变的,因此与Fine-Gray模型不一致。Kolmogorov-Smirnov和Cramer von Mises检验统计数字对检验过程的两种不同总结是一致的,总的结论是三个变量都没有比例的Cox类型效应。我们看到血红蛋白被常数很好地描述,因此我们考虑用血红蛋白具有常数效应,其余协变量具有时变效应的模型。

图3

R> summary(outf1) OUTPUT: Competing risks Model Test for nonparametric terms Test for non-significant effects Supremum-test of significance p-value H_0: B(t)=0 (Intercept) 5.46 0 stage 5.18 0 age 4.20 0 chemo 3.89 0 Test for time invariant effects Kolmogorov-Smirnov test p-value H_0:constant effect (Intercept) 10.100 0.000 stage 1.190 0.048 age 0.101 0.004 chemo 1.860 0.000 Cramer von Mises test p-value H_0:constant effect (Intercept) 79.90000 0.000 stage 1.84000 0.006 age 0.00583 0.000 chemo 2.53000 0.000 Parametric terms : Coef. SE Robust SE z P-val const(hgb) 0.00195 0.00401 0.00401 0.486 0.627 Competing risks Model Test for nonparametric terms Test for non-significant effects Supremum-test of significance p-value H_0: B(t)=0 (Intercept) 6.32 0 Test for time invariant effects Kolmogorov-Smirnov test p-value H_0:constant effect (Intercept) 1.93 0 Cramer von Mises test p-value H_0:constant effect (Intercept) 14.3 0 Parametric terms : Coef. SE Robust SE z P-val const(stage) 0.45200 0.13500 0.13500 3.340 0.000838 const(age) 0.01450 0.00459 0.00459 3.150 0.001610 const(chemo) -0.37600 0.18800 0.18800 -2.000 0.045800 const(hgb) 0.00249 0.00401 0.00401 0.622 0.534000

我们注意到,血红蛋白的影响与更合适模型(如上图所示)的影响几乎相等。但由于模型中其他协变量的不适合,估计值可能有严重的偏差,因此可能误导了数据的重要特征。最后,我们将FG模型的预测与半参数模型的预测进行比较,后者对效应的描述更为详细。我们考虑对下面由新数据分配定义的两种不同的病人进行预测。患者类型I:疾病I期(阶段=0),40岁,没有化疗治疗(化疗=0),患者类型II:疾病II期(阶段=1),60岁,放疗加化疗联合治疗(化疗=1)。

R> newdata <- data.frame(stage = c(0, 1), age = c(40, 60), chemo = c(0, 1), + hgb = c(138, 138)) R> predict(out, newdata)

为了指定计算预测的数据,我们可以指定一个newdata参数。

基于该模型的预测可能不是单调的。我们绘制了没有点状置信区间(se = 0)和没有置信带(uniform = 0)的预测。图4(a)中的预测是基于灵活的模型,而图4(b)中的预测是基于FG模型的。I型和II型病人的复发累积发生率曲线分别用实线和虚线表示。图5(a)比较了基于灵活模型和FG模型对I型患者的预测结果。同样地,图5(b)比较了对II型病人的预测。两个预测值周围的断线代表了基于灵活模型的置信区。

图4

R> par(mfrow = c(1, 2)) R> plot(f1, se = 0, uniform = 1, col = 1, lty = 1 R> plot(fg, new = 0, se = 0, uniform = 0, col = 2, lty = 2,

较高的疾病阶段、较高的年龄和联合治疗会导致较高的累积发病率,其影响在时间段的早期更为明显(图4(a)和图2)。另一方面,化疗在时间段的最初增加了累积发病率,随后降低了发病率(图4(a)和图2)。图5显示,FG模型不能准确地模拟时变效应。尽管有这些差异,在这种情况下,总体预测有些类似,特别是当考虑到估计的不确定性。然而,协变量的时变行为显然是重要的。

图5

4. 讨论

本文实现了累积发病率曲线的灵活竞争风险回归模型,可以详细分析协变量效应如何预测累积发病率,并允许协变量的时间变化效应。可以检查较简单的模型的拟合度,同时可以产生带有置信区间和置信带的预测结果,这对研究人员很有用。

最受欢迎的见解

1.R语言绘制生存曲线估计|生存分析|如何R作生存曲线图

2.R语言生存分析可视化分析

3.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

4.r语言中使用Bioconductor 分析芯片数据

5.R语言生存分析数据分析可视化案例

6.r语言ggplot2误差棒图快速指南

7.R 语言绘制功能富集泡泡图

8.R语言如何找到患者数据中具有差异的指标?(PLS—DA分析)

9.R语言中的生存分析Survival analysis晚期肺癌患者4例