R中survival包构建仅截距Cox PH模型方法及含义说明
R中拟合仅截距Cox PH模型的方法
在survival包的coxph()函数中,只需要将模型公式的右侧设置为1(R公式语法中代表仅保留截距、不纳入任何协变量),即可拟合仅截距的Cox模型,参考代码如下:
# 加载survival包 library(survival) # 调用包内置的肺癌生存测试数据集 data(lung) # 拟合仅截距Cox模型 null_cox <- coxph(Surv(time = time, event = status) ~ 1, data = lung) # 查看模型拟合结果 summary(null_cox)
注意:运行上述代码后你不会在协变量系数输出表中看到截距项的估计值,这不是代码错误。标准Cox模型采用偏似然估计协变量效应,和截距对应的基准风险项在偏似然计算中会被边际消去,不会和协变量系数一同输出。如果需要获取模型对应的总体生存曲线,直接对拟合结果调用
survfit(null_cox)即可,输出结果对应全样本的生存估计。
仅截距Cox PH模型的统计含义
要理解这个设定的意义,先回到Cox比例风险模型的基本形式:h(t|X) = h0(t) * exp(β₁X₁ + β₂X₂ + ... + βₖXₖ)
其中h0(t)是基准风险函数,代表所有协变量取值为0时的个体在时间t的瞬时风险,exp(βX)是协变量带来的风险乘数。
当模型设为仅截距(即无任何协变量)时,线性预测部分取值为0,exp(0)=1,此时模型的统计含义可以从几个层面理解:
- 模型对样本的唯一假设是:所有观测个体的风险随时间的变化规律完全一致,都等于总体基准风险
h0(t),不存在个体间的风险异质性,也不纳入任何预测因子解释风险差异。 - 这个模型本质上是半参数框架下对总体生存分布的估计,其通过
survfit()输出的生存曲线,和直接用Kaplan-Meier法估计的全样本人群生存曲线完全重合。 - 它的作用和线性回归、逻辑回归中的空模型(null model)一致,通常作为基准参照,用于和加入协变量的完整模型做似然比检验,判断纳入的协变量整体是否具备统计显著性,也可以用于计算Cox模型的伪R²等模型拟合指标。
- 注意不要和参数生存模型(如指数模型、Weibull模型)的截距概念混淆:仅截距Cox模型不对基准风险
h0(t)的分布形态做任何参数假设,属于半参数估计;而参数生存模型的截距是对应特定分布的位置参数,有明确的参数化分布约束。
内容的提问来源于stack exchange,提问作者N B
相关产品推荐
相关产品推荐

