跳到主要内容

临床医学与生存分析

Cox 比例风险回归

评估一个或多个变量对生存时间影响的半参数回归模型,支持按分组变量进行分组独立建模对比。

更新日期 2026-08-29 生存

这篇能回答什么

Cox 比例风险回归回答的是:「在处理删失的前提下,某个协变量每变化一单位(或相对参照水平),瞬时风险变为原来的多少倍」。它不需要指定基准生存的参数形式,只估计协变量在风险函数上的乘积效应(风险比 HR)。HR > 1 表示该因素升高风险、预后更差;HR < 1 表示保护。

适合:已有随访时间与 0/1 事件,并且要同时看年龄、标志物、治疗等多个变量的独立贡献。可选一个定类分组,按亚组分别拟合 Cox,而不是自动加入交互项。未调整的组间曲线仍应先看Kaplan-Meier。

什么时候不该用

只想描述两条生存曲线、暂不调整混杂时,用 KM 即可。存在竞争终点时,把竞争事件当删失会扭曲目标事件的 HR,应改用竞争风险模型。比例风险明显不成立(例如 KM 曲线交叉且效应随时间翻转)时,单一 HR 不能概括全程,解读需谨慎或改用时依效应、分层 Cox。若目标是固定时点的患病状态而非带删失的时间,用ROC或逻辑回归。要把 Cox 做成临床打分尺,衔接列线图。

如何选择方法

生存问题按「要不要调整协变量、有没有竞争事件、要不要做成预测工具」分支。单因素曲线用 KM;多因素 HR 用 Cox;竞争事件用 CIF/CSH;连续暴露的非线性剂量—反应用限制性立方样条;床旁打分用列线图。

  • Cox 比例风险回归:随访时间 + 事件 + 1–30 个协变量,可选 1 个分组做亚组模型;输出 HR、95% CI、C-Index 与森林图。

  • Kaplan-Meier / Log-rank:不调整协变量的生存曲线与组间比较。

  • 竞争风险:多种互斥终点,不能把其他死亡当普通删失。

  • RCS:连续暴露与结局的非线性轨迹(可与回归框架结合)。

  • 列线图:把回归系数翻译成可加的临床得分。

输入、输出与限制

输入

随访时间为定量持续时间。事件状态为二元定类(1 = 发生,0 = 删失)。协变量为定量或定类。分组可选,用于拆成多个独立 Cox,不是模型内的分层因子。

  • 协变量:最少 1 个,最多 30 个,定量或定类。

  • 随访时间:最少 1 个,最多 1 个,定量。

  • 事件状态:最少 1 个,最多 1 个,二元定类。

  • 分组变量:最少 0 个,最多 1 个,定类。

输出

结果表列出各协变量的系数、HR、标准误、z、P 值与 HR 的 95% 置信区间。表注给出 C-Index(区分度)与整体似然比检验 P 值。图为对数轴 HR 森林图(含 HR = 1 参考线)。分组时先出各亚组摘要,再按组独立建模。

产品限制

  • 协变量至少 1 个、最多 30 个;时间与事件各恰好 1 列。

  • 严重共线性或事件时刻完全分离会导致拟合失败。

  • 分组后对各组分别拟合,某一组事件过少会被跳过。

  • 输出 HR、C-Index 与似然比检验;不把 Schoenfeld 残差图当作默认表。

  • 本教学示例事件数很少时,模型整体可以不显著,这是数据形态而不是界面错误。

案例

研究问题。 在同一批随访数据上,控制年龄与标志物后,二者是否仍与终点风险独立相关。这是 KM 之后的多因素问题:KM 比较方案组,Cox 把定量协变量放进风险函数。

教学示例来自临床随访表,工作表为「survival」,有效样本量 280,终点事件 12 例。列包括随访时间、事件、竞争事件、分组、年龄、性别、标志物。本页协变量为「年龄」与「标志物」(未纳入分组或性别)。事件数相对两个协变量偏少,适合练习如何报告「模型未达显著」而不是寻找虚假的独立预后因素。下载后可按同样角色复现。

下载教学示例表(临床随访)

在 StatsX 中操作

  1. 步骤 1 · 上传表格

    打开工作台,将 Excel / CSV / JSON 拖入上传区。本案例使用临床随访 xlsx,确认工作表为「survival」。单文件不超过 20 MB。

  2. 步骤 2 · 查看画像与质量

    确认随访时间为正的定量、事件为 0/1、年龄与标志物为定量。不要把竞争事件列当作 Cox 的事件状态。

  3. 步骤 3 · 选择「Cox 比例风险回归」

    在算法目录搜索「Cox」或「比例风险」,点选后进入变量角色配置。

  4. 步骤 4 · 指定变量并运行

    随访时间勾选「随访时间」;事件状态勾选「事件」;协变量勾选「年龄」「标志物」(至少 1 个,最多 30 个)。亚组建模时再放 1 个分组变量。点击运行分析。

  5. 步骤 5 · 阅读结果

    先看事件数与似然比检验,再读每个 HR 是否跨过 1,最后看 C-Index。事件很少时,不显著是预期结果。

StatsX 工作台上传临床随访教学示例
将教学示例表拖入工作台上传区。
列画像
列画像给出类型与缺失,便于确认时间、事件与协变量角色。
在目录中选择 Cox 比例风险回归
在算法目录中选定「Cox 比例风险回归」。
为 Cox 指定随访时间、事件与协变量
时间、事件与协变量(年龄、标志物)配置完成后运行。

如何阅读输出

下表由同一份教学示例在 StatsX 中运行 Cox 得到。有效样本 280,事件数 12。年龄 HR = 0.974(95% CI 0.934–1.016,P = 0.226),标志物 HR = 1.124(0.969–1.304,P = 0.123),两个区间都穿过 1。似然比检验 P = 0.197,不能拒绝「所有协变量系数为零」。C-Index = 0.629,区分能力偏弱。

Cox 比例风险回归模型分析结果
特征变量回归系数(Coef)风险比(HR, Hazard Ratio)标准误z值P值HR 95% 置信区间
年龄-0.02610.97420.0216-1.21130.226[0.934, 1.016]
标志物0.11691.12410.07571.54390.123[0.969, 1.304]

左右滑动可查看完整表格

模型拟合诊断:C-Index (一致性指数) = 0.6291;似然比检验 P值 = 0.1973。

Cox 回归结果表
工作台中的 Cox 结果表,数字应与上表一致。
协变量风险比森林图
对数轴森林图;横线跨过 HR = 1 表示该因素在本样本中未达显著。

【独立预后因素】纳入协变量均未显示独立预后效应(P≥0.05);建议结合样本量、共线性与临床意义综合解读。

解读顺序:事件数是否支撑拟纳入的协变量个数(经验上每变量至少约 10 个事件,本例 12 个事件配 2 个变量已经偏紧)→ 整体似然比 → 各 HR 与置信区间 → C-Index。正确写法是:在当前随访与 12 例终点下,未能证明年龄或标志物为独立预后因素;不要因为 HR 点估计略偏离 1 就宣称保护或危险。若 KM 已显示方案组曲线重叠,Cox 再塞入稀疏终点,同样难以检出效应。

理论与公式

比例风险模型把时刻 t 的风险写成基准风险 h₀(t) 与协变量指数项的乘积,不对 h₀(t) 作参数假设:

风险比是系数的指数。对连续变量,HR 表示该变量增加一个单位时的风险倍数;区间含 1 等价于系数含 0:

估计基于偏似然:在每个事件时刻,用当时仍处于风险集中的个体构造「谁发生了事件」的条件概率。C-Index 是可比较的受试者对中,模型打分与实际生存顺序一致的比例,0.5 为随机,越接近 1 区分越好。本页 0.629 仅略高于随机。似然比检验比较当前模型与空模型的偏似然。

注意事项

  • 删失机制应与协变量条件独立(非信息性删失);把删失改成事件会严重偏倚 HR。

  • 事件数太少时系数方差大,C-Index 也不稳定,优先报告事件数而不是「阴性结果等于无关」。

  • 比例风险是模型假设:效应随时间强烈变化时,单一 HR 是加权平均,可能误导。

  • 时间原点必须统一;把日历年或年龄当作随访时间会让风险集错误。

  • 竞争事件被编码为 0 时,Cox 估计的是原因特异性风险,解释须与 CIF 区分。

  • 分组建模不是交互检验:各组 HR 不能直接当「效应不同」的 P 值。

常见问题

参考文献

  • 陈峰. 医用多元统计分析方法[M]. 中国统计出版社.

  • Cox, D. R. Regression Models and Life-Tables[J]. Journal of the Royal Statistical Society: Series B, 1972, 34(2): 187–202.

  • Collett, D. Modelling Survival Data in Medical Research[M]. CRC Press.

  • Harrell, F. E. Regression Modeling Strategies[M]. Springer.