我有以下 Cox PH 模型:
(时间,事件)~ X + Y + Z
我想得到预测的危险率(我说的是危险率而不是危险比)给定的特定值X, Y, Z。我知道muhaz R 包可以计算观察到的危险率,但我对预测模型感兴趣。
有没有办法在 R 中做到这一点?
我有以下 Cox PH 模型:
(时间,事件)~ X + Y + Z
我想得到预测的危险率(我说的是危险率而不是危险比)给定的特定值X, Y, Z。我知道muhaz R 包可以计算观察到的危险率,但我对预测模型感兴趣。
有没有办法在 R 中做到这一点?
R 生存包中获取基线危险率的函数是basehaz.
然后你需要将它乘以各种在给定您找到的系数的情况下获得特定的危险率。
一个简单的例子可能会有所帮助:
library(survival) #survival analysis
library(eha) #used for data
data(oldmort) #create the data
# Create surv data set
mort <- Surv(time=oldmort$enter,time2=oldmort$exit,event=oldmort$event)
reg_fit <- coxph(formula=mort~oldmort$sex)
summary(reg_fit)
# Now get baseline curve
baseline <- basehaz(reg_fit)
# Draw baseline hazard (that's male)
plot(baseline$time, baseline$hazard, type='l',main="Hazard rates")
# Draw female hazard
lines(baseline$time, exp(-0.1929)*baseline$hazard, col="blue")
这是从 cox 回归的汇总结果中复制粘贴的summary(reg_fit),表示数据中的女性有危险率低于男性。
该函数basehaz(来自上一个答案)提供累积风险,而不是风险函数(比率)。我相信这个问题是关于危险函数的。估计危险函数需要指定平滑类型(如密度估计)。MuhazR 包可以对一个样本数据执行此操作。我不知道可以为 Cox 模型中的基线危险执行此操作的函数。我也需要这个。我想我需要自己消除累积的风险。