1. 当Cox回归遇到"善变"的变量:为什么我们需要时变系数模型?
在临床研究中,我们经常需要分析各种因素对患者生存时间的影响。Cox比例风险模型(Cox Proportional Hazards Model)是这个领域的明星工具,它简单高效,能同时处理多个协变量对生存时间的影响。但就像所有工具一样,Cox模型也有它的使用前提——比例风险假设(Proportional Hazards Assumption,简称PH假设)。
这个假设要求协变量对风险的影响在整个研究期间保持不变。听起来很合理,但现实往往更复杂。想象一下肾功能随时间恶化的尿毒症患者,或者糖尿病状态会变化的血液透析患者——这些变量的影响怎么可能一成不变呢?这就是传统Cox模型可能失效的地方。
我在分析一个肺癌数据集时就遇到了这种情况。医师评定的Karnofsky表现评分(ph.karno)对患者生存的影响会随时间变化。最初这个影响很强,但随着时间推移逐渐减弱。如果强行用传统Cox模型分析,就会得出错误结论。这时候,时变系数模型(Time-varying Coefficients Model)就派上用场了。
2. 诊断PH假设违背:你的数据真的适合传统Cox模型吗?
2.1 使用cox.zph函数进行假设检验
在R语言的survival包中,cox.zph函数是我们的第一道防线。它能检验每个协变量是否满足PH假设。我通常会在拟合Cox模型后立即运行这个检验:
fit2 <- coxph(Surv(time, status) ~ age + ph.karno + sex, data=lung)
zph <- cox.zph(fit2)
print(zph)
输出结果会显示每个协变量的p值。如果ph.karno的p值小于0.05,就说明它的影响会随时间变化,违背了PH假设。全局检验的p值也很重要,它能告诉我们整个模型是否存在问题。
2.2 可视化检验结果
数字可能不够直观,所以我总是建议绘制检验结果:


361

被折叠的 条评论
为什么被折叠?



