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

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

在本文中,我们描述了灵活的竞争风险回归模型。回归模型被指定为转移概率,也就是竞争性风险设置中的累积发生率。该模型包含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

讨论

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

目录
打赏
0
1
1
0
111
分享
相关文章
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
81 3
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分类分析预测房价及交叉验证
上述介绍仅为简要概述,每个模型在实施时都需要仔细调整与优化。为了实现高度精确的预测,模型选择与调参是至关重要的步骤,并且交叉验证是提升模型稳健性的有效途径。在真实世界的房价预测问题中,可能还需要结合地域经济、市场趋势等宏观因素进行综合分析。
112 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等