Cox 回归的比例风险假设怎么检验?不满足怎么办
简要回答:Cox 回归要求各变量的风险比(HR)不随时间变化。常用 Schoenfeld 残差检验(R 中 cox.zph())和 log-minus-log 曲线判断;不满足时可以对该变量分层、加入与时间的交互项,或者分时间段分析。
什么是比例风险假设
Cox 比例风险模型假设:某个变量对风险的影响倍数(HR)在整个随访期间保持恒定。如果某治疗在前半年效果好、之后效果消失,HR 就随时间变化,违反该假设。
怎么检验
- Schoenfeld 残差检验:R 中用 survival 包的 cox.zph(),对每个变量和整体模型给出检验 P 值,P < 0.05 提示可能不满足;同时画残差随时间变化的图,看是否有明显趋势;
- log-minus-log 曲线:分类变量各组的 log(-log(S(t))) 曲线应大致平行,交叉或明显不平行提示违反;
- 加入时间交互项:在模型中加入变量 × 时间(或 log 时间),交互项显著提示 HR 随时间变化。
不满足怎么办
| 方法 | 适用情况 |
|---|---|
| 分层 Cox(strata()) | 违反假设的变量是需要调整的混杂因素,不关心它本身的 HR |
| 时间交互项 | 关心该变量的效应如何随时间变化 |
| 分段分析 | 在不同时间段内分别估计 HR,例如 1 年内和 1 年后 |
| 换用其他模型 | 如限制平均生存时间(RMST)、加速失效时间模型 |
SPSS 里怎么做
SPSS 可以通过"分析 → 生存分析 → 含依时协变量的 Cox"加入时间交互项来检验;画 log-minus-log 图可在 Cox 回归的"图"选项中勾选。
报告时注意
在方法部分写明如何检验比例风险假设及结果;若有变量不满足,说明采取了什么处理。
什么时候需要找导师
多个变量都不满足假设、KM 曲线交叉不知道怎么解释、审稿人要求补充检验时,可以请统计方向导师帮你选择合适的处理方法。
常见追问
KM 曲线交叉一定不能用 Cox 吗?
曲线交叉通常提示比例风险假设不成立,直接报告单一 HR 可能误导;可以考虑分段分析、时间交互项或 RMST。
整体检验通过但某个变量不通过怎么办?
针对该变量处理即可,例如对其分层或加入时间交互项,其他变量可以保持不变。
样本量很大时 cox.zph 总是显著怎么办?
大样本下轻微偏离也会显著,应结合残差图判断偏离是否有实际意义。
本文由鉴刊课堂教研组整理,仅介绍科研方法,供学习参考。鉴刊课堂只提供方法指导,不代写论文、不代做数据分析。
