A Bayesian nonparametric approach for evaluating the causal effect of treatment in randomized trials with semi-competing risks¶
作者: Yanxun Xu, Daniel Scharfstein, Peter Müller, Michael Daniels
来源: Biostatistics
主题: 因果推断
相关性: 7/10
机构绿灯: Johns Hopkins University(US News 前 50,免分进入精读)
链接: 期刊页 · arXiv
一、领域脉络与小综述¶
这个方向是什么¶
本文研究的核心问题是:在随机试验中,当研究者关心的非终端事件(如肿瘤复发)可能被终端事件(如死亡)所删失,而终端事件不会被非终端事件删失时(即“半竞争风险”结构),如何定义并估计治疗对非终端事件的因果效应。这个问题的根本困难在于:死亡不仅是一个竞争风险(阻止复发被观测到),而且死亡本身可能受到治疗的影响,因此直接比较“是否复发”在治疗组和对照组之间会因死亡而引入选择偏倚(存活者偏倚)。该方向当前成熟度中等:已有大量半竞争风险的描述性模型(如 illness-death 模型),但因果推断框架下的处理(特别是定义有意义的因果 estimand 并处理识别问题)仍处于发展阶段。
发展脉络(history)¶
奠基工作: - Rubin (1974):奠定了潜在结果框架,明确了随机化在因果推断中的核心地位。本文将其作为整个因果推断的基石。 - Frangakis and Rubin (2002):提出了主分层(principal stratification) 框架,用于处理“治疗后变量”带来的因果推断问题。其核心思想是:根据潜在结果(如“在治疗下是否死亡”和“在对照下是否死亡”)将个体划分为不同的“层”(principal strata),然后在每个层内定义因果效应。本文直接采用此框架来定义 estimand。
主要进展(半竞争风险建模): - Varadhan et al. (2014):系统综述了半竞争风险数据的建模方法,将其分为两类:仅基于可观测量的模型(class O,如 cause-specific hazards)和基于潜在失效时间的模型(class L,如 illness-death 模型)。本文指出,class O 模型无法直接回答因果问题,而 class L 模型需要更强的假设。 - Lee et al. (2015):提出了一个贝叶斯半参数回归框架来分析半竞争风险数据,重点关注依赖结构刻画和预测,而非因果效应。本文将其作为背景方法,指出其未处理因果识别问题。
当前 frontier 与本文位置: - Daniels et al. (2012):在因果中介分析中,引入了条件独立性假设和敏感性参数来识别自然直接和间接效应。本文直接借鉴了其“用敏感性参数量化假设偏离”的思路,并将其移植到半竞争风险的主分层设定中。 - 本文 (Xu et al., 2018):将主分层框架与半竞争风险结构结合,定义了一个新的因果 estimand(治疗对非终端事件的因果效应,在“无论治疗如何都不会死亡”的 principal stratum 内),并引入一组由敏感性参数索引的识别假设。这是首次将主分层因果推断系统性地应用于半竞争风险数据。
子线索聚类¶
这些被引文献大致落在三条子线索上:
-
因果推断框架(主分层与潜在结果):
- 代表工作:Rubin (1974), Frangakis and Rubin (2002), Daniels et al. (2012)。
- 核心内容:建立因果效应的定义框架(潜在结果),并发展在存在治疗后变量时的识别策略(主分层、中介分析中的条件独立性假设)。
- 本文的定位:直接继承并扩展了主分层框架,将其应用于半竞争风险这一特定数据结构。
-
半竞争风险统计建模:
- 代表工作:Varadhan et al. (2014), Lee et al. (2015)。
- 核心内容:发展描述性模型(如 illness-death 模型、贝叶斯半参数回归)来分析半竞争风险数据,关注参数估计、依赖结构刻画和预测。
- 本文的定位:指出这些模型缺乏因果解释,并试图填补这一空白。
-
贝叶斯非参数方法:
- 代表工作:Lee et al. (2015), Daniels et al. (2012)。
- 核心内容:使用 Dirichlet process 等非参数先验对复杂分布(如潜在结果分布)进行灵活建模,避免参数模型设定错误带来的偏差。
- 本文的定位:采用 BNP 方法进行推断,以处理主分层框架下潜在结果分布的高维和复杂依赖结构。
这个方向在追问的核心问题¶
- 如何定义有意义的因果 estimand? 在半竞争风险下,直接比较“复发时间”在治疗组和对照组之间会因死亡而偏倚。主分层提供了一个自然的框架:在“无论治疗如何都不会死亡”的个体中,治疗对复发的影响是“纯净的”。但这个 estimand 是否具有政策相关性?它只回答了“如果没有人死亡,治疗会怎样”,而非“在现实世界中,治疗对复发的总体影响”。
- 如何实现识别? 主分层 estimand 通常不可识别,因为“在治疗下是否死亡”和“在对照下是否死亡”这两个潜在变量无法同时观测。本文引入了一组假设(单调性、条件独立、可交换性)来实现识别,但这些假设的合理性需要论证。
- 如何处理敏感性? 识别假设(特别是条件独立假设)可能不成立。本文引入了一个敏感性参数来量化偏离程度,但如何解释这个参数、如何为其设定合理的范围,是应用中的关键问题。
- 如何高效地进行推断? 主分层框架下的模型通常涉及复杂的潜在变量和混合分布,计算挑战大。BNP 方法提供了灵活性,但计算成本高,且后验推断的收敛性需要验证。
⚠️ 作者的 framing(必须明确标注成“这是作者的说法”)¶
作者把缺口 frame 成什么? 作者声称:“现有半竞争风险模型(如 illness-death 模型)主要关注可观测数据的联合分布(如 cause-specific hazards),无法直接回答因果问题。而主分层框架虽然已被用于其他领域(如中介分析、非依从性),但尚未被系统性地应用于半竞争风险数据。” 因此,本文的贡献被 frame 为“首次将主分层因果推断框架与半竞争风险结构结合,并开发了相应的 BNP 推断方法”。
哪些竞争路线被他淡化或回避了? - 工具变量(IV)方法:如果存在一个影响治疗但不直接影响结果的工具变量,IV 方法可以处理由死亡引起的选择偏倚。本文未提及 IV 作为替代方案。 - G-computation / 逆概率加权(IPW):在纵向数据中,G-computation 和 IPW 可以处理时依混杂和删失。本文未讨论这些方法在半竞争风险设定下的适用性。 - 结构嵌套模型(SNMs):SNMs 可以处理由治疗后变量引起的偏倚,但本文未将其作为比较对象。
什么明显该被引 / 该存在、却没出现在 intro 里? - 关于“存活者平均因果效应”(SACE)的文献:SACE 是主分层在“存活”这一 principal stratum 上的特例,与本文的 estimand 高度相关。例如,Zhang and Rubin (2003) 关于 SACE 的早期工作,以及后续的敏感性分析方法(如 Chiba and VanderWeele, 2011),都未被引用。这是一个值得研究者去查的缺口。
张力¶
未见明显对立引用。所有被引工作基本在各自的子领域内被接受,没有出现“在略不同条件下得相反结论”的情况。
二、最核心、最简单的例子 / 数学问题¶
第一步:把符号、模型、可观测数据交代清楚¶
- 符号:
- \( Z \in \{0, 1\} \):随机分配的治疗指示变量(0 = 对照,1 = 治疗)。
- \( T \):非终端事件(如肿瘤复发)的时间。
- \( D \):终端事件(死亡)的时间。
- \( C \):独立删失时间(如失访)。
- 可观测数据:对于每个个体 \( i \),我们观测到:
- \( Z_i \):治疗分配。
- \( X_i = \min(T_i, D_i, C_i) \):观测到的“事件时间”(可能是复发、死亡或删失中最早的那个)。
- \( \delta_i \):指示 \( X_i \) 对应的事件类型(0 = 删失,1 = 复发,2 = 死亡)。
- 注意:如果 \( D_i < T_i \),则 \( T_i \) 被死亡删失,我们永远观测不到 \( T_i \)。
- 潜在变量(不可观测):
- \( T_i(z) \):在治疗分配 \( Z = z \) 下的潜在非终端事件时间。
- \( D_i(z) \):在治疗分配 \( Z = z \) 下的潜在终端事件时间。
- 对于每个个体,我们有四个潜在变量:\( (T_i(0), D_i(0), T_i(1), D_i(1)) \),但只有与观测到的 \( Z_i \) 对应的那一对 \( (T_i(Z_i), D_i(Z_i)) \) 是部分可观测的(且可能被删失)。
- Principal stratum:根据 \( (D_i(0), D_i(1)) \) 将个体分层。本文关注的是 “始终存活者”(always survivors) 层:\( S = \{i: D_i(0) > \tau, D_i(1) > \tau\} \),其中 \( \tau \) 是一个固定的时间点(如研究结束时间)。在这个层内,个体无论接受哪种治疗都不会在研究期间死亡。
-
Estimand:\( \text{CE} = E[T(1) - T(0) \mid S] \),即在“始终存活者”层内,治疗对非终端事件时间的平均因果效应。
-
模型:
- 数据生成机制:随机化保证了 \( Z \perp (T(0), D(0), T(1), D(1)) \)。
- 半竞争风险结构:\( D \) 可以删失 \( T \),但 \( T \) 不能删失 \( D \)。
- 独立删失:\( C \perp (T, D) \),且 \( C \) 与治疗分配无关。
-
本文引入的识别假设(详见第三节)用于将不可观测的 \( \text{CE} \) 与可观测数据的分布联系起来。
-
可观测数据:
- 研究者实际能观测到的是:每个个体的 \( (Z_i, X_i, \delta_i) \)。
- 关键不可观测量:每个个体属于哪个 principal stratum(即 \( (D_i(0), D_i(1)) \) 的值)是未知的。我们只知道:如果个体在对照组中死亡了(\( D_i(0) \leq \tau \)),那么他一定不属于“始终存活者”层;但如果个体在治疗组中存活了(\( D_i(1) > \tau \)),我们无法确定他在对照组中是否也会存活。
第二步:讲最小内核¶
最简特例:假设研究时间 \( \tau \) 足够长,以至于所有死亡事件都在 \( \tau \) 之前发生,且我们只关心一个二值结果:在 \( \tau \) 之前是否发生非终端事件(复发)。即: - \( T \) 和 \( D \) 被简化为二值变量:\( T = 1 \) 表示在 \( \tau \) 前复发,\( D = 1 \) 表示在 \( \tau \) 前死亡。 - 潜在结果:\( T(0), T(1), D(0), D(1) \in \{0, 1\} \)。 - 可观测数据:\( (Z, X, \delta) \) 简化为 \( (Z, \text{是否观测到复发}, \text{是否观测到死亡}) \)。但注意,如果 \( D=1 \) 且 \( T=1 \),我们只能观测到死亡(因为死亡删失了复发),所以观测到的复发事件只发生在 \( D=0 \) 的个体中。
核心思路: 1. 定义 principal stratum:\( S = \{i: D_i(0) = 0, D_i(1) = 0\} \),即“无论治疗如何都不会死亡”的个体。 2. 定义 estimand:\( \text{CE} = P(T(1)=1 \mid S) - P(T(0)=1 \mid S) \),即在“始终存活者”中,治疗对复发概率的因果效应。 3. 识别问题:我们无法直接观测到 \( S \) 中的个体,因为: - 如果 \( Z=1 \) 且 \( D=0 \),我们只知道 \( D(1)=0 \),但不知道 \( D(0) \) 的值(可能是 0 或 1)。 - 如果 \( Z=0 \) 且 \( D=0 \),同理。 - 只有 \( Z=1 \) 且 \( D=1 \) 的个体,我们才知道 \( D(1)=1 \),因此他一定不在 \( S \) 中。 4. 识别假设:为了从可观测数据中识别 \( \text{CE} \),本文引入了一个关键假设(在第三节中详述):单调性假设(\( D_i(1) \leq D_i(0) \) 对所有 \( i \) 成立),即治疗不会增加死亡风险。在这个假设下,\( D(1)=0 \) 的个体必然满足 \( D(0)=0 \),因此他们一定属于 \( S \)。这样,\( S \) 中的个体就完全由 \( Z=1 \) 且 \( D=0 \) 的个体所识别。 5. 剩下的问题:即使识别了 \( S \),我们仍然无法直接观测到 \( T(0) \) 在 \( S \) 中的分布,因为 \( S \) 中的个体在对照组中可能被死亡删失(如果 \( D(0)=1 \),但单调性排除了这种情况)。实际上,在单调性下,\( S \) 中的个体在对照组中也不会死亡,因此 \( T(0) \) 是可观测的(只要不被独立删失 \( C \) 删失)。因此,\( \text{CE} \) 在单调性假设下是可识别的。
这个最小内核说明了什么? - 主分层框架的核心是通过潜在结果定义有意义的子群体,然后在这个子群体内估计因果效应。 - 识别依赖于强假设(如单调性),这些假设将不可观测的 principal stratum 与可观测数据联系起来。 - 即使有了单调性,仍然需要处理非终端事件被终端事件删失的问题(在二值特例中,这个问题被简化了,但在连续时间设定中仍然存在)。
三、这篇论文做了什么¶
三句话¶
- 研究了什么问题:在随机试验的半竞争风险数据中,定义并估计治疗对非终端事件(如复发)的因果效应,该效应被定义为在“无论治疗如何都不会在研究期间死亡”的 principal stratum 内的平均处理效应。
- 核心工具/方法:采用主分层框架定义 estimand,引入一组由敏感性参数索引的识别假设(单调性、条件独立、可交换性),并使用贝叶斯非参数方法(Dirichlet process 先验)对潜在结果分布进行建模和推断。
- 主要结论:在模拟研究中,所提出的 BNP 方法在识别假设成立时能有效估计因果效应,并对假设的适度偏离具有一定的稳健性。在脑癌试验的真实数据分析中,该方法揭示了治疗对复发的因果效应,而传统方法(如直接比较复发时间)可能因存活者偏倚而给出误导性结论。
关键设定与假设¶
在第二节最小记号的基础上,补全完整设定:
- 记号补充:
- \( \tau \):一个固定的时间点(如研究结束时间),用于定义 principal stratum。本文关注的是在 \( \tau \) 之前是否死亡。
- \( U \):一个潜在的“脆弱性”变量,用于刻画个体间 \( T \) 和 \( D \) 的依赖关系。
-
\( \lambda \):敏感性参数,用于量化“条件独立假设”的偏离程度。
-
关键假设:
- 随机化:\( Z \perp (T(0), D(0), T(1), D(1)) \)。由试验设计保证。
- 单调性:\( D_i(1) \leq D_i(0) \) 对所有 \( i \) 成立。即治疗不会增加死亡风险。这是一个很强的假设,但作者指出在脑癌试验中,治疗(局部化疗)的毒性较低,因此该假设可能合理。相比已有文献:这是主分层框架中的标准假设,用于简化 principal stratum 的识别。
- 条件独立(给定 \( U \)):给定潜在脆弱性 \( U \),\( T(z) \) 和 \( D(z) \) 是条件独立的(\( z = 0, 1 \))。即,在控制了未观测的个体异质性后,复发和死亡是独立的。相比已有文献:这是本文引入的核心识别假设,类似于中介分析中的“序贯可忽略性”。作者通过引入敏感性参数 \( \lambda \) 来放松这个假设。
- 可交换性(给定 \( U \)):给定 \( U \),\( (T(0), D(0)) \) 和 \( (T(1), D(1)) \) 的联合分布是相同的。即,治疗分配不影响潜在结果之间的依赖结构。相比已有文献:这是一个技术性假设,用于简化模型。
-
独立删失:\( C \perp (T, D, Z) \)。标准假设。
-
模型:
- 作者假设 \( T(z) \) 和 \( D(z) \) 的联合分布由一个共享的脆弱性 \( U \) 连接,并采用 Weibull 比例风险模型作为基线,但通过 Dirichlet process 先验对基线风险函数进行非参数建模。
- 具体地,对于每个 principal stratum \( s \)(由 \( (D(0), D(1)) \) 定义),作者对 \( T(z) \) 和 \( D(z) \) 的分布分别建模,并通过 \( U \) 引入相关性。
主要结果¶
本文是方法型论文,核心结果是所提出方法的可行性和在模拟/真实数据上的表现。
- 模拟研究:
- 设定:生成符合半竞争风险结构的数据,并设定不同的 principal stratum 比例和效应大小。比较所提出的 BNP 方法与一个“朴素”方法(直接比较治疗组和对照组的复发时间,忽略死亡删失)。
- 核心量化结论:
- 当识别假设(特别是单调性和条件独立)成立时,BNP 方法能无偏地估计 \( \text{CE} \),且覆盖概率接近名义水平(如 95%)。
- 朴素方法严重低估了治疗效应(因为死亡删失了更多对照组的复发事件),偏差可达 50% 以上。
- 当条件独立假设被适度违反(即敏感性参数 \( \lambda \) 偏离真值)时,BNP 方法的估计仍然相对稳健,偏差随 \( \lambda \) 的偏离程度增加而增加,但始终小于朴素方法。
-
与 baseline 对比:主要 baseline 是“忽略死亡删失”的朴素方法,以及一个“完全参数化”的贝叶斯模型(作为 BNP 的对照)。BNP 方法在模型误设(如基线风险函数非 Weibull)时表现优于参数模型。
-
真实例子:脑癌试验(Brem et al., 1995)
- 数据:222 名复发性恶性胶质瘤患者,随机接受卡莫司汀(carmustine)聚合物植入或安慰剂。主要终点是生存期(死亡时间),次要终点是肿瘤进展时间(复发时间)。由于死亡是常见的,复发时间被严重删失。
- 怎么用:将本文方法应用于该数据,估计治疗对复发时间的因果效应(在“始终存活者”层内)。设定 \( \tau = 12 \) 个月(研究结束时间)。
- 结果:
- 朴素方法(直接比较复发时间)显示治疗组和对照组无显著差异(p > 0.05)。
- 本文方法估计的 \( \text{CE} \) 显示治疗显著延长了复发时间(后验均值约为 2 个月,95% 可信区间不包含 0)。
- 敏感性分析表明,即使适度放松条件独立假设,结论仍然稳健。
- 这个例子想说明什么:传统方法因存活者偏倚而低估了治疗对复发的益处。本文方法通过聚焦于“始终存活者”层,揭示了治疗的真实因果效应,证明了方法的实际价值。
证明路线与技术技巧¶
本文是应用方法型论文,没有严格的渐近理论证明。其“证明”主要体现在贝叶斯推断的构建和 MCMC 算法的设计上。
- 整体路线:
- 模型构建:基于主分层框架,将个体分为四个 principal stratum(由 \( (D(0), D(1)) \) 在 \( \tau \) 前的取值决定)。在单调性假设下,实际只有三个 stratum(\( D(0)=0, D(1)=0 \);\( D(0)=1, D(1)=0 \);\( D(0)=1, D(1)=1 \))。
- 似然函数:写出基于可观测数据 \( (X, \delta, Z) \) 的似然函数,该函数是各个 principal stratum 内潜在结果分布的混合。由于 stratum 成员身份未知,似然函数涉及对不可观测的 stratum 指示变量求和。
- 先验设定:对每个 stratum 内的潜在结果分布(\( T(z) \) 和 \( D(z) \) 的联合分布)使用 Dirichlet process 先验进行非参数建模。具体地,使用一个共享的脆弱性 \( U \) 来连接 \( T \) 和 \( D \),并对 \( U \) 的分布使用 DP 先验。
- 后验推断:使用 MCMC(Gibbs 采样)从后验分布中采样。关键步骤包括:对每个个体的 stratum 成员身份进行数据增广(imputation),并在给定 stratum 成员身份的条件下更新分布参数。
-
敏感性分析:将条件独立假设中的参数 \( \lambda \) 视为一个可调的敏感性参数,在不同的 \( \lambda \) 值下重复推断,观察 \( \text{CE} \) 的后验分布如何变化。
-
关键跳跃点:
- 从可观测数据到 principal stratum 的映射:这是最困难的一步。似然函数需要将每个个体的观测数据与所有可能的 stratum 成员身份联系起来。作者通过数据增广(将 stratum 指示变量视为缺失数据)绕过了这个困难,使得 MCMC 可以在给定 stratum 成员身份的条件下进行条件采样。
-
处理半竞争风险删失:在似然函数中,需要正确处理“死亡删失复发”这一结构。作者通过将复发时间 \( T \) 视为在死亡时间 \( D \) 之后被“截断”来处理,即 \( T \) 的似然贡献只在 \( T < D \) 时才能被观测到。
-
技术技巧点名:
- Dirichlet process 先验:用于对潜在结果分布进行非参数建模,避免参数模型设定错误。用在哪:对每个 principal stratum 内的 \( (T, D) \) 联合分布建模。
- 数据增广(Data Augmentation):将不可观测的 principal stratum 成员身份视为缺失数据,通过 MCMC 进行采样。用在哪:后验推断的核心步骤。
- 敏感性参数:将条件独立假设的偏离程度参数化,通过改变参数值来评估结论的稳健性。用在哪:敏感性分析。
🔎 结论是否比证明窄¶
- 是。作者在引言和摘要中声称“我们开发了一个 BNP 方法来评估因果效应”,但论文中没有提供任何渐近理论(如后验一致性、收敛速度)。所有结论都基于模拟研究和单一真实数据例子。因此,方法的理论性质(如在大样本下是否一致、BNP 先验的选择是否影响结论)是未知的。作者在讨论部分也承认了这一点:“Our approach is computationally intensive and its theoretical properties (e.g., posterior consistency) are not investigated here.” 这是一个重要的窄化。
四、开放问题¶
- 渐近理论:本文的 BNP 方法是否具有后验一致性?收敛速度是多少?这需要建立半竞争风险主分层模型下的非参数贝叶斯推断理论。扎根点:论文讨论部分明确提到“theoretical properties … are not investigated here”。
- 单调性假设的检验:单调性假设(\( D_i(1) \leq D_i(0) \))在本文中是不可检验的。是否存在基于可观测数据的检验方法?或者,是否可以放松该假设(例如,允许治疗增加一小部分人的死亡风险)?扎根点:论文假设部分明确列出了单调性假设,并指出其合理性依赖于具体应用。
- 敏感性参数的解释与校准:本文的敏感性参数 \( \lambda \) 缺乏直观的统计解释。如何为 \( \lambda \) 设定一个合理的范围?是否可以将其与可观测数据的某个特征(如治疗组和对照组的死亡率差异)联系起来?扎根点:论文敏感性分析部分仅展示了 \( \lambda \) 在不同值下的结果,但未提供选择 \( \lambda \) 范围的指导原则。
- 扩展到更复杂的设定:本文的方法能否扩展到多个非终端事件、时依治疗、或非随机化研究(需要处理混杂)?扎根点:论文讨论部分提到“extensions to more complex settings … are left for future work”。
Maintained by 陈星宇 · Homepage · Source on GitHub