生存分析-Cox比例风险回归模型残差图
时间: 2025-01-09 14:11:10 浏览: 51
Cox比例风险回归模型中的残差图
在生存分析中,Cox比例风险回归模型是一种广泛应用的方法来评估多个因素对事件发生时间的影响。为了验证该模型的有效性和假设条件,绘制并解释残差图是非常重要的。
Schoenfeld残差图
Schoenfeld残差用于检验协变量效应随时间变化的情况。如果这些残差相对于时间呈现随机分布,则说明满足了比例风险假定;反之则可能违反此前提。对于每一个预测因子都可以计算相应的Schoenfeld残差,并通过图形化展示来进行直观判断[^1]。
library(survival)
fit <- coxph(Surv(time, status) ~ age + sex, data=lung)
schoen_resid <- resid(fit,type="scaledsch")
plot(cox.zph(fit))
abline(h=0,lty=2,col='red')
上述R代码展示了如何基于survival
包拟合一个简单的Cox PH模型以及获取缩放后的Schoenfeld残差。最后利用内置函数cox.zph()
生成对应的诊断图表,在其中添加水平线帮助识别趋势。
Martingale残差图
Martingale残差衡量的是观察到的结果与期望之间的差异程度。当个体经历事件时其值接近于零;而未经历过事件者通常具有负数范围内的较大绝对数值。这类残差有助于发现异常点或影响较大的观测对象[^2]。
martin_resid <- resid(fit,type="martingale")
par(mfrow=c(1,2))
hist(martin_resid,breaks=30,xlab="Martingale Residual",main="")
boxplot(martin_resid~sex,data=lung,outline=F,
ylab="Martingale Residual",
main="Sex")
这里提供了两种方式可视化Martingale残差:直方图可以查看整体分布形态;箱形图为不同类别下的比较提供便利工具。
Deviance残差图
Deviance残差是对原始数据进行标准化处理得到的一种形式,它综合考虑了存活时间和状态信息。正态性的偏离可以通过QQ图来检测是否存在潜在问题。此外还可以借助散点图探索自变量间的关系模式及其合理性[^3]。
devi_resid <- resid(fit,type="deviance")
layout(matrix(c(1,2),nrow=1))
qqnorm(devi_resid); qqline(devi_resid,col=2)
plot(predict(fit), devi_resid, pch='.'); abline(h=0,v=median(predict(fit)),lty=2,col='blue')
这段脚本先创建了一个包含两个子窗口的布局以便同时显示QQ图和平面投影视图。前者用来检查偏差是否近似服从标准正态分布;后者能够揭示预测得分同实际表现之间联系紧密与否。
相关推荐


















