非比例风险生存设计(Non-Proportional Hazards / Weighted Log-Rank)

背景

标准 log-rank 检验(Cox PH 假设)在延迟效应 / 交叉生存曲线 / 免疫治疗等 PH 不满足时功效下降。解决方案:用加权 log-rank 或非 PH 效应度量(RMST / 里程碑生存率)。

资料陈述:加权 log-rank 的权重族由 Fleming & Harrington 提出(Biometrika 1982;69(3):553–566,本页旧版误引为 JASA 1981)1;RMST 的推广见 Uno et al. (2014)2;lrstat / PwrGSD 均实现这些方法3。

两种主流思路

方法 核心思想 典型 R 实现 关键参数
加权 log-rank 对事件时间打权重,抑制早期/强调晚期 lrstat lrsamplesize(), PwrGSD wtdlogrank() WtFun = "FH"/"SFH"/"Ramp", param (ρ, γ 或截止时间)
RMST / 里程碑 不假设 PH,直接估计截断生存期均值或特定时间点生存率差异 lrstat rmsamplesize(), kmsamplesize() truncation.time (τ), arm 配置

加权 log-rank 权重族

权重族 公式/含义 适用场景
Fleming-Harrington (FH) Ŝ(t)^ρ (1−Ŝ(t))^γ,其中 Ŝ(t) 为合并组 Kaplan-Meier ρ>0 强调早期,γ>0 强调晚期;ρ=0,γ=1 对应延迟效应
停止 FH (SFH) FH 加截断时间 τ:Ŝ(t)^ρ (1−Ŝ(t))^γ 1{t≤τ} 避免尾部极端权重
Ramp 时间 t 线性增权,τ 处封顶 平滑过渡

RMST / 里程碑样本量

  • RMST:截断时间 τ 内生存曲线下面积 μ = ∫₀^τ S(t) dt。样本量基于 μ₁ − μ₂ 的正态近似。
  • 里程碑:固定时间点 τ 的生存率差 S₁(τ) − S₂(τ)。

主流 R 包

包 定位 典型入口 独特能力
lrstat 非 PH 全栈 lrsamplesize(), rmsamplesize(), kmsamplesize() 218 导出;同时提供 BOIN/mTPI 一期、Simon 两阶段、MMRM/配对比例 功效
PwrGSD 生存成组序贯 + 加权 log-rank wtdlogrank(), GrpSeqBnds() Fleming-Harrington 延迟效应 + Lan-DeMets 序贯边界(实跑 z=−3.87/p=1e−4)

关键文献

方法 核心文献 书目(Crossref 核实)
加权 log-rank (FH) Fleming & Harrington 1982 Biometrika. 1982;69(3):553–566. DOI 10.1093/biomet/69.3.553
RMST Uno et al. 2014 J Clin Oncol. 2014;32(22):2380–2385. DOI 10.1200/jco.2014.55.2208
里程碑 Royston & Parmar 2013 BMC Med Res Methodol. 2013;13:1(本库未用 Crossref 逐条核实)
生存序贯边界 Lan & DeMets 1983 Biometrika. 1983;70(3):659–663. DOI 10.1093/biomet/70.3.659

书目更正(本页旧版):旧版把 F&H 写作「JASA 1981;76(1180)」,实为 Biometrika 1982;69(3):553–566;旧版把 Uno 写作「Stat Med 2014;33:2788」,Crossref 检索到的同文是 J Clin Oncol 2014;32(22):2380–2385(DOI 10.1200/jco.2014.55.2208)。Stat Med 33:2788 未能在 Crossref 定位,若日后找到再补。

实跑示例(本库 R 实跑记录,原始日志未随页发布)

# lrstat 加权 log-rank (FH ρ=0,γ=1) 延迟效应
lrsamplesize(events=NULL, n=200, narms=2, allocation=1,
  hazard.rate=c(0.1,0.1), hazard.rate2=c(0.1,0.06),   # 延迟 HR 从 1.0 → 0.6
  dropout.rate=c(0.01,0.01), dropout.rate2=c(0.01,0.01),
  accrual.intensity=10, followup.time=10,
  weight="fh", entry="unif", power=0.8)

# PwrGSD wtdlogrank
wtdlogrank(Surv(time,event) ~ arm, data=d, WtFun="FH", param=c(0,1), sided=2)
# 输出:z = -3.87, p = 1.08e-4

与标准 log-rank (Schoenfeld 1983) 的关系

Schoenfeld log-rank (PH) 加权 log-rank / RMST (非 PH)
假设 恒定 HR 无 PH 假设 / 权重函数指定
包 gsDesign/rpact/TrialSize/powerSurvEpi lrstat/PwrGSD
文献 Schoenfeld (1981/1983) Fleming & Harrington (1982); Uno (2014)

⚠️ 常见误用:在延迟效应下仍用 Schoenfeld 公式会严重低估样本量;应改用加权 log-rank 或 RMST。

相关

补充:教材层的「PH 基准」与竞争风险(第 7 章)

第 7 章给出的是比例风险框架下的基准算法,正好用来对照本页的非 PH 方法:

  • HR 的定义:HR = λ_T/λ_S = log π_T/log π_S = M_S/M_T(式 7.3)——同一 HR 可以用风险率、生存概率或中位生存期三种方式表达,规划时只需给出其中一种4。
  • 先算事件数、再算人数:事件数 E = (1/φ)[(1+φHR)/(1−HR)]²(z+z)²(式 7.7);受试者数 N = E/Ψ,其中 Ψ = [(1−π_S)+φ(1−π_T)]/(1+φ) 是事件发生概率(式 7.8)4。这一步在非 PH 方法里同样存在(加权 log-rank 也要把「事件数 → 入组人数 → 研究时长」拆开)。
  • 研究时长:由入组速度与事件概率共同决定,第 7.2 节给了指数生存下的换算;退出(dropout)另有修正(第 7.4 节)4。
  • 竞争风险(第 7.3 节):第 7.3 节给出两套并行方法——
    • 原因别风险比(csHR):把竞争事件当作删失,用 cause-specific Cox;
    • 亚分布风险比(subHR):Fine-Gray 型,直接对累积发生率建模。 两套给出不同样本量(式 7.10–7.18),书中用脑肿瘤婴儿、鼻咽癌两个实例并列展示两种算法的结果差异4。

本库归纳(范围差异,不是冲突):第 7 章只在 PH 假设成立时有效,因此它不能替代本页的加权 log-rank / RMST;反之,非 PH 方法在 PH 成立时也仍可用(只是损失一点效率)。实务顺序应是:先检验/预设 PH 是否可信 → 若可信用第 7 章(或 Schoenfeld),若不可信用本页方法。竞争风险则是另一条正交维度:即使 PH 成立,存在竞争事件时仍需在 csHR 与 subHR 之间选一个,而这与本页的非 PH 议题可以叠加(非 PH + 竞争风险 = 目前没有现成闭式解,需模拟)。

参考文献


  1. Fleming TR, Harrington DP. A class of rank test procedures for censored survival data. Biometrika. 1982;69(3):553–566. DOI: 10.1093/biomet/69.3.553. ↩︎

  2. Uno H, Claggett B, Tian L, et al. Moving beyond the hazard ratio in quantifying the between-group difference in survival analysis. Journal of Clinical Oncology. 2014;32(22):2380–2385. DOI: 10.1200/jco.2014.55.2208. ↩︎

  3. lrstat 与 PwrGSD 包文档(CRAN)。见 frontmatter source_urls。 ↩︎

  4. Machin D, Campbell MJ, Tan SB, Tan SH. Sample Sizes for Clinical, Laboratory and Epidemiology Studies. 4th ed. Wiley-Blackwell; 2018. DOI: 10.1002/9781118874905. ISBN 9781118874943 / 9781118874905. 依据章节:第 7 章「生存时间结局」(式 7.3、7.4、7.7、7.8、7.10–7.18;第 7.2–7.4 节;例 7.1–7.7)。 ↩︎ ↩︎ ↩︎ ↩︎