predict.coxph()的type="survival"输出及Cox模型预测相关问题咨询
生存概率对应时间点确认
你的理解完全正确。调用predict.coxph()时如果没有手动指定times参数,type = "survival"返回的每一个值,都对应测试集d.test中对应行的自身随访时间(即d.test$time取值)的生存概率估计。
如果需要获取所有样本在统一固定时间点的生存概率,可新增times参数指定目标时间:
# 示例:返回测试集样本在12、24个月的生存概率 pred_fixed <- predict(fit, type = "survival", newdata = d.test, times = c(12, 24))
你输出结果中的1.0000000也符合该逻辑:对应样本的随访时间短于训练集所有失效事件发生的时间,该时间点基准累积风险为0,因此生存概率为1。
疑问1:基准风险的估计方法
是的,survival包的coxph默认采用Breslow估计量计算基准累积风险,属于非参数估计方法,通过汇总训练集各失效时间点的风险增量得到,与模型拟合时选择的ties处理规则(默认efron)不冲突,是当前Cox模型基准风险估计的标准实现。
疑问2:type = "expected"的含义与对应时间
type = "expected"的输出就是对应个体的累积风险值$H(t)$,与生存概率的换算关系为$S(t) = exp(-H(t))$,和帮助文档描述一致。
其对应的时间点规则和type = "survival"完全相同:
- 未指定
times参数时,对应测试集每行样本自身的随访时间 - 指定
times参数时,返回你指定的所有时间点对应的累积风险
内容的提问来源于stack exchange,提问作者Mao Pineda
相关产品推荐
相关产品推荐

