Cox回归的预测


38

我正在执行多变量Cox回归,我有重要的自变量和beta值。该模型非常适合我的数据。

现在,我想使用我的模型并预测新观测值的生存时间。我不清楚如何使用Cox模型执行此操作。在线性或逻辑回归中,这很容易,只需将新观测值放入回归中并将它们乘以beta,就可以预测结果了。

如何确定基线危害?除了计算预测之外,我还需要它。

在Cox模型中如何完成?

Answers:


30

以下Cox模型,对于个别的估计的危害有协矢量X 的形式 ħ= H ^ 0EXP X ' β 其中β是通过最大化局部可能性发现,而ħ 0从纳尔逊-阿伦估计如下 ħ 0= ð ixi

h^i(t)=h^0(t)exp(xiβ^),
β^h^012...的不同事件时间和ð死亡在数量 (参见,例如,第3.6节)。
h^0(ti)=dij:tjtiexp(xjβ^)
t1t2,diti

S^i(t)=S^0(t)exp(xiβ^)
S^0(t)=exp(Λ^0(t))
Λ^0(t)=j:tjth^0(tj).

编辑: 也可能是有趣的:-)


1
那正是我的问题...我需要对基线危害函数进行估算才能做出预测,对吗?您知道任何估算方法吗?
Marja 2012年

2
@Marjan折刀可能无法正确反映变量选择引起的不确定性。引导程序正确显示了更多的可变性,其中变量被标记为“重要”。如果您要进行“相对验证”,则可以在校正过度拟合后证明预测歧视是好的。这不需要处理基线危害,但可以验证相对的对数危害估计。的validate在R功能rms与结合包cph功能将这样做。唯一实现的逐步算法validate是向后降压。
Frank Harrell 2012年

1
获得预测的相对危险(即线性预测器)非常简单。但是我在1991
Frank Harrell 2012年

8
链接已失效:
。-gung-恢复莫妮卡

2
有没有一种方法可以预测特定个体的生存时间T?我的意思是,给定协变量的值列表,如何找出个人最有可能死亡的时间?
statBeginner 2015年

14

如果使用R predictSurvProb,则pec包装中的函数可以为您提供基于现有cox模型的新数据的绝对风险估计。

我无法解释的数学细节。

编辑:该函数提供生存概率,到目前为止,我将其视为1-(事件概率)。

编辑2:

没有pec包也可以做。仅使用生存包,以下函数将基于Cox模型返回绝对风险

risk = function(model, newdata, time) {
  as.numeric(1-summary(survfit(model, newdata = newdata, se.fit = F, conf.int = F), times = time)$surv)
}

1-生存概率是累积危害。我认为OP请求(基线的)瞬时危险函数或对其进行某种平滑的估计(muhazR中的程序包)。
ECII 2013年

1
1-生存概率不是累积危害。在没有竞争风险的情况下,将两者连接起来,具体方法请参见en.wikipedia.org/wiki/…
miura

1-生存概率=失败率(仅假设失败方法为1倍)。生存概率与累积危害的关系概述在公认的答案中:累积危害S(t)=exp(−Λ(t))在哪里Λ(t)
NickBraunagel

11

也许您还想尝试类似的方法?拟合Cox比例风险模型,并使用它来获得新实例的预测生存曲线。

从R中survfit.coxph的帮助文件中取出(我刚刚添加了行部分)

# fit a Cox proportional hazards model and plot the  
# predicted survival for a 60 year old 
fit <- coxph(Surv(futime, fustat) ~ age, data=ovarian) 
plot(survfit(fit, newdata=data.frame(age=60)),
     xscale=365.25, xlab="Years", ylab="Survival", conf.int=F) 
# also plot the predicted survival for a 70 year old
lines(survfit(fit, newdata=data.frame(age=70)),
     xscale=365.25, xlab="Years", ylab="Survival") 

尽管要记住比例风险假设仍可用于您的预测,但您应记住,您所预测的患者应与从中推导用于Cox比例风险模型的人在质上相同。预测。


6

包装的basehaz功能survival可在事件时间点提供基准危害。由此,您可以逐步提高ocram所提供的数学并包括coxph估计的OR。


2

Cox模型的重点是比例风险的假设和部分可能性的使用。部分可能性消除了基准风险函数。因此,您无需指定一个。那就是它的美!


2
但是,如果您想对特定变量的协变量向量获得危险或生存期的估算,那么您确实需要对基线危险或生存期进行估算。尼尔森-阿伦(Nelson-Aalen)的估算通常能胜任工作……
ocram 2012年

1
通常使用Cox模型来比较两个生存函数,关键是危险比而不是危险函数。基线危害就像一个令人讨厌的参数,Cox使用比例危害假设巧妙地将其从问题中消除了。在模型的上下文中,无论您要使用哪种方法来估计危害函数和/或基准危害,都将需要使用强制比例性的模型的Cox形式。
Michael Chernick 2012年

非常感谢您,如果您看到我对ocram的评论,那将是非常不错的。也许你也可以帮我吗?
Marja 2012年

3
您还可以对不在比例风险中的因素进行分层。但是无论如何,如果您需要长期随访,Cox模型及其基线危害的事后估算器都可以用来获得生存时间的预测分位数,各种生存概率以及预测的平均生存时间。所有这些数量都很容易从R封装中获得rms
Frank Harrell 2012年

您不需要指定它,但是它是估计的。
DWin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.