前面我们厘清了一些观察性研究与因果推断背景下的概念。在今天这篇文章里,我们试图介绍清楚一种观察性研究的范式,Target Trial Emulation。
文章较长,建议大家收藏阅读。
一、为什么 Target Trial Emulation 这几年这么火
医学研究里,大家都知道随机对照试验(randomized controlled trial, RCT)是因果推断的理想设计。因为一旦随机分组做得好,治疗组和对照组在平均意义上就是可比的,后续结局差异更有理由归因于治疗本身,而不是病人原本就不同。
但现实问题是,RCT 并不能回答所有问题。
- 有些试验做不了,比如伦理上不允许。
- 有些试验太贵、太慢,等结果出来时临床决策窗口已经过去了。
- 有些试验理论上能做,但没有商业激励,没人出钱。
- 有些关键问题是上市后比较,比如两种都已有效的治疗,究竟谁更好、谁更安全,往往缺少 head-to-head trials。
于是,临床和公共卫生决策不可能永远等着 RCT。我们不得不使用真实世界数据、医保数据库、电子病历、注册登记数据来回答因果问题。
问题也随之而来:观察性研究不是随机分组的,怎么尽量减少偏差?
这就是 Target Trial Emulation(目标试验模拟,以下简称 TTE)进入视野的原因。
一句话总结 TTE:TTE 不是神奇地把观察性研究变成 RCT,而是要求我们先明确“理想中的随机试验应该怎么设计”,再用观察性数据尽可能去逼近这个试验。(Hernán, Wang, and Leaf 2022)
二、先回到因果推断最核心的问题:我们到底在比较什么
因果推断的底层思想是反事实(counterfactual)。
所谓反事实,说白了就是:
如果这个人接受了治疗 A,而不是治疗 B,会发生什么?
现实世界里,同一个人在同一时刻不可能既接受 A 又接受 B,所以我们永远看不到同一个人的两个结果。RCT 的价值,在于它通过随机分配,把两组人在平均意义上做到了可比,让“不同人之间的比较”尽量接近“同一个人两种可能结果的比较”。
TTE 的出发点也是一样的。它不是先拿到数据就上一个多变量模型,而是先回答:
- 理想试验的纳入标准是什么?
- 比较的是哪两个或哪几个治疗策略?
- 分组发生在什么时候?
- 随访从什么时候开始?
- 结局是什么?
- 因果 estimand 是什么?是 intention-to-treat effect,还是 per-protocol effect?
如果这些问题没有先定义清楚,那么后面的模型再复杂,也很可能是在回答一个模糊甚至错误的问题。
三、TTE 最重要的贡献,往往不是“调混杂”,而是把问题问对
很多人一提观察性研究,就想到“把混杂变量放进回归模型里控制一下”。这当然重要,但:大量观察性研究出错,并不只是因为没控制好混杂,而是因为连研究设计本身都错了。(Hernán et al. 2016)
最常见的错误包括:
- 没有对齐 eligibility、treatment assignment 和 follow-up 的起点
- 用 prevalent users 而不是 incident users
- 把未来信息拿来定义当前分组
- 产生 immortal time bias
- 因错误入组或错误起点带来 selection bias
这些偏差,往往不是靠“多调几个协变量”就能补救的。
1. 什么叫 time zero 必须对齐
在随机试验中,time zero 很清楚:通常就是满足纳入标准并被分配治疗策略的那一刻。
但在观察性研究中,如果研究者把“开始随访”的时间放在一个与目标试验不一致的位置,就会出问题。
经典例子是绝经后女性激素治疗与冠心病风险。早期很多观察性研究没有发现激素治疗增加心脏病风险,后来一个重要原因被指出:研究的随访并不是从开始用药时启动,而是在女性已经用了药几个月甚至几年之后才开始。这样就漏掉了治疗早期可能更高的风险阶段。(Hernán et al. 2016)
所以,TTE 的第一原则不是建模,而是:
让纳入标准、治疗分配和随访起点在同一个时间点对齐。
2. prevalent user 为什么危险
如果研究纳入的是“已经持续用药一段时间的人”,而不是“刚开始治疗的人”,就会天然选进一些“存活下来并且坚持到现在的人”。这类人已经经过了某种筛选,早期不良反应、早期停药、早期死亡的人反而被排除在外。
这会造成 selection bias,也会系统性低估治疗早期风险。
四、用一个最典型的例子理解 TTE:COVID-19 与 tocilizumab
一个例子:重症 COVID-19 患者早期使用 tocilizumab 是否降低死亡风险。(Hernán, Wang, and Leaf 2022)
Gupta 等人在 JAMA Internal Medicine 2020 发表的一项多中心队列研究中,比较了 ICU 入院后 2 天内使用 tocilizumab 与未早期使用者的死亡风险。研究纳入 3924 名重症患者,采用逆概率加权后的 Cox 模型,估计的死亡风险 HR 为 0.71,95% CI 0.56-0.92。(Gupta et al. 2021)
这个例子之所以重要,不是因为“模型高级”,而是因为它把 TTE 里几个最关键的设计问题都暴露出来了。
1. 什么是 grace period
如果目标试验里的治疗策略定义为:
- 策略 A:ICU 入院后 2 天内开始 tocilizumab
- 策略 B:ICU 入院后 2 天内不开始 tocilizumab
那么这里的“2 天内”就是一个 grace period。
grace period 的含义不是“随便放宽标准”,而是:
- 让治疗策略更贴近真实临床流程
- 承认从入组到真正给药之间可能存在合理延迟
- 把研究问题定义为现实可执行的策略,而不是“入组后 0 秒内必须完成给药”的不现实方案
但 grace period 也带来一个关键问题:
在这 2 天结束之前,病人最终会落入哪一组,其实还不完全确定。
2. 为什么会出现 immortal time bias
假设研究者天真地这样分组:
- 2 天内真正用上 tocilizumab 的,算治疗组
- 2 天内没用上的,算对照组
那就会出问题。
因为对某个最终被归入“治疗组”的病人来说,他必须先活到真正开始给药的那一刻。也就是说,从 ICU 入院到用药之间那段时间,对他而言是一个“必须存活”的时间窗口。如果这段时间被错误地记在治疗组的受益里,就形成了 immortal time bias。(Hernán et al. 2016)
更麻烦的是,如果一个病人本来可能在第 2 天用药,但他在第 1 天先去世了,那么按上面这种简单分法,他会被放进“未用药组”。这样一来,很多本应归属于“可能接受治疗策略的人”的早期死亡,被错误地压到了对照组里,治疗看上去就会被夸大。
3. 为什么要 clone
这就是 clone-censor-weight 方法出现的地方。
对于在 time zero 时尚未开始 tocilizumab、但未来 2 天内可能开始的人,可以先在统计上做两个副本:
- 一个 clone 分配到“2 天内用药”策略
- 一个 clone 分配到“2 天内不用药”策略
然后从同一个 time zero 开始随访。
之后:
- 如果“用药策略”的 clone 在 2 天内没有真正开始用药,就因偏离方案而被删失
- 如果“不用药策略”的 clone 在 2 天内开始了用药,也因偏离方案而被删失
这样处理后,grace period 内发生的早期死亡不会被错误地只归到某一组,而是被正确纳入两条潜在策略路径的比较中。
这里要特别强调两点。
第一,clone 不是说现实里一个病人真的被招募了两次。它只是一个统计技巧,用来表示:在 time zero 时,这个人对两种策略都仍然“兼容”。
第二,time zero 并不会因为有 grace period 而后移。随访必须从满足纳入标准的当下开始,grace period 是随访初始阶段的一部分,而不是另起一个时间点。
4. 既然 clone 了两份,是否 double counting
这是初学者最自然的问题。
答案是:点估计上看起来像“重复使用了信息”,但不是 naive 的重复计数。
更准确地说,clone 相当于把“随机把这类病人分到某个策略,再重复很多次”的过程做了解析化表达。它提高了信息使用效率,但同一个人的两个 clone 并不是独立观测,因此方差估计必须调整,否则标准误会偏小、置信区间会过窄。
五、为什么在 TTE 里,删失和加权经常同时出现
一旦使用 clone-censor-weight,几乎就一定会碰到 IPCW。
1. 删失是怎么来的
在 clone 之后,每个 clone 都被分配到一条策略上。只要现实中的病程偏离了这条策略,这个 clone 就需要被人工删失。
例如:
- 被分到“2 天内用药”的 clone,结果 2 天内没用药,删失
- 被分到“2 天内不用药”的 clone,结果 2 天内用了药,删失
2. 为什么删失后还要加权
因为这种删失通常不是随机的。
病情更重的患者,可能更容易提前用药,也更容易死亡;病情较轻的患者,可能更容易留在“不用药”的策略路径里。如果简单删失而不做调整,留下来的样本会越来越不代表原始研究对象。
所以需要用 inverse probability of censoring weighting, IPCW 来纠正这种非随机删失带来的偏差。
其直觉是:
谁本来很容易被删失,但实际上还留在样本里,谁就要有更大的权重,因为他需要代表那些已经被删失掉的相似个体。
3. IPCW 和 IPTW 的区别
两者都叫“逆概率加权”,但作用不同。
- IPTW:调整的是治疗分配上的不平衡,即“为什么这个人更可能接受治疗”
- IPCW:调整的是删失上的不平衡,即“为什么这个人更可能中途消失、失访、偏离方案”
在 clone-censor-weight 框架里,最核心的权重通常是 IPCW,因为偏差主要来自“因偏离策略而被人工删失”。但在更复杂分析中,两类权重也可以同时出现。
4. IPCW 的模型怎么建
IPCW 的权重,本质上是“到当前时点仍未被删失的逆概率”。实际估计时,常见做法包括:
- 离散时间:logistic regression 或 pooled logistic regression
- 连续时间:Cox 模型
- 更灵活的做法:机器学习模型,如 boosting、随机森林、Super Learner 等
不论用什么模型,目标都一样:尽可能准确地估计给定历史信息后,一个个体在每个时点仍未被删失的概率。
但这里又有一个经常被忽视的问题:删失模型里必须尽量纳入关键的时间变化协变量。
如果删失概率受病情动态变化影响,而这些变化又和结局有关,那么仅靠基线变量是不够的。否则即便用了 IPCW,偏差也无法真正消除。
六、为什么“把变量放进回归模型”并不总是正确答案
很多人对因果推断的第一反应是:“那我把所有相关变量都塞进模型里不就好了?”
问题没这么简单。
1. 为什么 confounder 放进模型通常有帮助
混杂因素是指同时影响治疗和结局的变量。把 confounder 放进回归模型,本质上是在做“条件比较”:
在这些混杂因素相同的人之间,治疗和结局还有什么关系?
如果混杂因素测量充分、模型设定合理,那么这种做法有助于阻断后门路径,减少偏差。
2. 为什么 mediator 不能随便放
如果一个变量位于因果路径上,例如:
- 治疗 → 炎症下降 → 死亡风险下降
其中“炎症下降”就是 mediator。此时如果把 mediator 当成“协变量”控制掉,等于把治疗作用于结局的真实路径切断了。
所以,如果目标是估计治疗的总效应,随意把 mediator 放进模型往往是错的。
3. 为什么时间变化混杂更难
最麻烦的情况是:某个变量既影响后续治疗和结局,又会被既往治疗影响。
例如 ICU 患者的病情严重程度:
- 它影响医生后续是否给药
- 它影响死亡
- 它本身又会被之前的治疗改变
此时如果用普通回归在结局模型里“控制当前病情”,常常会把治疗通过改善病情而产生的真实效应一起调掉。这也是为什么在 TTE 和更广义的因果推断中,MSM、IPTW、IPCW 等方法如此重要。
七、TTE 能解决什么,不能解决什么
这可能是理解 TTE 最重要的一部分。
1. 它最擅长解决的是“坏设计”
TTE 非常擅长纠正以下自我制造的偏差:
- time zero 错位
- immortal time bias
- prevalent user bias
- 因分组定义不当造成的 selection bias
也就是说,TTE 先把研究设计拉回到一个像 trial 的框架里。
2. 它不能自动消灭未测量混杂
这一点必须反复强调。
TTE 不能替代随机化。如果关键混杂因素根本没有被测到,或者测得很差,那么研究设计再漂亮,结果也仍然会偏。
Prof. Hernán 举了一个很有启发的例子:他们可以用 Medicare 数据去模拟筛查性肠镜对结直肠癌发病率的影响,并且后续随机试验的结果与之相近;但同样的数据如果拿来研究总死亡,就不够了。原因并不神秘:总死亡受到更多健康行为、衰弱状态、社会因素和整体健康状况的影响,而这些在 Medicare 数据里并没有充分测量。
换句话说,同样的数据、同样的 treatment、不同的 outcome,对混杂控制的要求可能完全不同。
3. 它只能模拟“数据里存在的、现实世界可执行的策略”
如果数据库里只有治疗 A 和 B,没有 C,就不能模拟 A、B、C 三臂试验。
如果真实世界里没有 placebo,也无法用日常医疗数据逼真模拟 placebo-controlled trial。
如果真实世界中没有双盲、没有每周严密监测,也不能要求观察性数据去模拟一个高度解释性、强干预、双盲安慰剂对照试验。
因此,TTE 更适合模拟的是:
一个现实世界中可执行的 pragmatic trial。
八、为什么 TTE 不应被理解为“拿观察性研究去对抗 RCT”
这是 JAMA 2022 文章里我们认为最成熟的一点。(Hernán, Wang, and Leaf 2022)
Hernán 明确提出:随机试验和观察性研究不是竞争者,而是协作者。
1. benchmark and extend
最有用的策略之一是:
- 先在与 RCT 尽可能一致的人群、随访长度、结局定义下,用观察性数据去复现 trial 结果
- 如果复现得不错,就说明这个观察性分析框架在这个问题上有一定可信度
- 然后再把观察性研究扩展到 trial 无法回答的问题,比如:
- 更老年的人群
- 更长的随访
- trial 中样本量不足的亚组
- 不同结局
这就是所谓的 benchmark and extend。
2. 观察性因果方法也可以反过来帮助 trial
很多 pragmatic trial 里存在 substantial non-adherence。此时传统的 intention-to-treat 分析回答的是:
“如果把人分配到某个策略上,最终会怎样?”
但它不一定回答:
“如果大家更好地遵守这个策略,会怎样?”
在这种情况下,TTE 中使用的那套方法,包括处理动态依从性、人工删失、逆概率加权等,也可以反过来用于重新分析试验数据,估计更接近 per-protocol 的效果。
所以,TTE 不是“trial 的替代品”,而是 trial 思维在观察性研究中的延伸,同时也能反哺 trial 分析。
九、给初学者的一个实用框架:怎么判断一项 TTE 研究靠不靠谱
我们建议至少问以下 8 个问题。
1. 目标试验定义清楚了吗
是否明确写出了:
- 目标人群
- 纳入排除标准
- 治疗策略
- 随访起点
- 结局
- estimand
如果这些没有明确写出,往往就不是严格意义上的 TTE。
2. time zero 是否与 eligibility 和 assignment 对齐
这是第一道关卡。只要这里错了,后面常常全错。
3. 是否混入了 prevalent users
如果是,研究有没有充分解释为什么这样做不会带来偏差。
4. 是否存在 grace period
如果存在,是否说明了为什么这个 grace period 具有临床合理性。
5. grace period 内的事件怎么处理
研究是否明确说明了:
- 是否使用了 clone-censor-weight
- 或其他等价方法
- 早期死亡如何归属
6. 混杂信息是否足够
这是决定成败的关键。别只看有没有做 IPTW/IPCW,要看:
- 有哪些关键 confounders
- 是否测量充分
- 是否有时间变化协变量
- 是否存在明显未测量混杂
7. 权重是否稳定
是否报告了:
- 权重分布
- 极端权重
- truncation
- 平衡性诊断
8. 研究问题是否超出了数据能力
例如:
- 要研究 placebo 对照,但真实世界里没有 placebo
- 要研究总死亡,但数据里缺少健康行为和衰弱指标
- 要比较尚未上市的治疗
这类问题不是方法选得不够高级,而是数据本身不支持。
十、一个容易被忽视的判断:什么时候不要硬做 TTE
在方法学传播中,最容易出现的误区是:只要学会了 TTE,就可以用任意观察性数据估计因果效应。
这是错误的。
真正成熟的态度应该是:
- 先判断是否存在一个清晰可定义的 target trial
- 再判断数据是否足以支持该 trial 的核心要素
- 最后才是选择具体统计方法
如果关键 confounders 没有测到,TTE 也救不了。
如果研究问题本身不具有现实中的可执行策略含义,TTE 也无从谈起。
如果时间起点、治疗策略、依从定义都模糊不清,那么“模拟目标试验”往往只是方法学包装,而不是实质上的试验模拟。
十一、Takeaways
Target Trial Emulation 不是一种单独的统计模型,而是一种先按随机试验逻辑定义因果问题,再用观察性数据尽量逼近该试验的研究框架。
它真正改变研究质量的地方,往往不是多高级的算法,而是以下几个朴素但容易被忽略的原则:
- 先定义 trial,再分析数据
- 对齐 eligibility、assignment 和 time zero
- 不用未来信息定义当前分组
- 明确 grace period 的临床含义
- 必要时使用 clone-censor-weight 处理策略归属不确定
- 用 IPCW/IPTW 处理非随机删失或治疗分配
- 始终承认:未测量混杂不能靠方法学口号消失
对于生物统计和临床研究者来说,TTE 最值得学习的地方,并不只是它提供了一套分析工具,而是它迫使我们回到一个更根本的问题:
我们到底想让数据回答哪一个因果问题?
我想,这个问题如果没有事先想清楚,任何模型都只是“算得很认真”,未必是“答得正确”。