繁体   English   中英

如何用时变系数从考克斯生存模型做预测

[英]how to do predictions from cox survival model with time varying coefficients

我建立了一个生存cox模型,其中包括covariate * time相互作用(检测到非比例性)。 我现在想知道如何从模型中轻松获得生存预测。

我的模型被指定:

coxph(formula = Surv(event_time_mod, event_indicator_mod) ~ Sex + 
    ageC + HHcat_alt + Main_Branch + Acute_seizure + TreatmentType_binary + 
    ICH + IVH_dummy + IVH_dummy:log(event_time_mod) 

现在我希望使用survfit进行预测,并为我正在进行预测的变量组合提供new.data

survfit(cox, new.data=new)

现在我在模型的右侧有event_time_mod ,我需要在传递给survfit的新数据框中指定它。 需要在预测的各个时间设置此event_time 有没有一种简单的方法可以指定event_time_mod是正确的survfit时间? 或者还有其他选项可以从我的模型中实现预测吗?

当然,我可以在新数据框中创建尽可能多的行,因为预测中有不同的时间,并设置为event_time_mod来修正值,但感觉非常麻烦,我认为必须有更好的方法。

你完成了所做的事情

一种明显但不正确的方法......

如在R survival包的版本2.41-3 中的Cox模型小插图中使用时间相关协变量和时间相关系数中所述 相反,您应该使用时间转换功能 ,即同一个插图中所述的tt函数。 代码类似于插图中的示例

> library(survival)
> vfit3 <- coxph(Surv(time, status) ~ trt + prior + karno + tt(karno),
+                data=veteran,
+                tt = function(x, t, ...) x * log(t+20))
> 
> vfit3
Call:
coxph(formula = Surv(time, status) ~ trt + prior + karno + tt(karno), 
    data = veteran, tt = function(x, t, ...) x * log(t + 20))

              coef exp(coef) se(coef)     z       p
trt        0.01648   1.01661  0.19071  0.09  0.9311
prior     -0.00932   0.99073  0.02030 -0.46  0.6462
karno     -0.12466   0.88279  0.02879 -4.33 1.5e-05
tt(karno)  0.02131   1.02154  0.00661  3.23  0.0013

Likelihood ratio test=53.8  on 4 df, p=5.7e-11
n= 137, number of events= 128 

当你有一个tt术语时, survfit不起作用

> survfit(vfit3, veteran[1, ])
Error in survfit.coxph(vfit3, veteran[1, ]) : 
  The survfit function can not yet process coxph models with a tt term

但是,您可以通过predict轻松获得terms ,线性预测或平均响应。 此外,您可以使用此处的答案为tt术语创建一段时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM