首页 > 解决方案 > 使用 ranger 计算一致性指数(R 包)

问题描述

我正在尝试使用来自使用 Ranger 计算的随机生存森林的预测来计算特定时间点的 c 指数。我知道使用以下代码可以轻松地为 coxph 模型完成此操作:

  cox_model = coxph(Surv(time, status == 1) ~ ., data = train)
  c_index_test  <- pec::cindex(cox_model, formula = Cox_model$formula, data=test, eval.times= c(30, 90, 730)) 
#want to evaluate at 1 month, 3 months, and 2 years

但是,虽然我可以使用生成的随机森林轻松计算这些时间点的 c-index,但我无法rfsrc()使用 ranger 来完成。

除了 peccindex()函数(它不适用于“ ranger ”类的对象之外,我还尝试了 concordance.index 函数(survcomp 包的一部分)并尝试了使用 predict.ranger 函数生成的不同组合生存概率预测,但没有任何效果。

如果有人可以提供有关如何计算游侠 RSF 的 c-index 的代码(在特定时间点和外部验证集上),我将不胜感激!!!我已经能够使用 randomforestSRC 来做到这一点,但是它需要很长时间,以至于我的 R 会话经常会超时,而且我实际上无法通过运行超过 10 棵树来获得任何结果......

标签: rrandom-forestsurvival-analysis

解决方案


ranger 包计算 Harrell 的 c-index,它类似于 concordance 统计量。如果您有一个拟合模型rf,则该属性prediction.error相当于1 - Harrell's c-index. 请查看以下链接以获取更多详细信息。


推荐阅读