简介《ICH E9(R1)估计目标及敏感性分析蓝皮书》由DIA中国统计社区组织多位药企、研究机构及临床统计专家编写面向临床试验设计、统计分析与监管沟通相关从业者系统梳理估计目标框架及敏感性分析的应用要点。内容围绕估计目标五大属性、伴发事件处理策略、主估计方法与敏感性及补充分析展开并结合淋巴瘤CAR-T、哮喘多臂试验等案例说明框架在方案中的呈现方式可帮助读者厘清试验目的表述、评估结果稳健性并提升分析透明度。资源包共1个PDF文件大小约1.63MB便于检索与案头查阅。已有2806人学习适合需要深入理解ICH E9(R1)落地要求、完善统计考量章节或开展方法学培训的读者参考。1. 一次审评分歧暴露的真问题估计目标没定统计分析怎么算都是各说各话某降糖药三期项目主要终点是 24 周糖化血红蛋白较基线的变化。方案里写着补救治疗后的数据按缺失处理、用 LOCF 填补审评方的意见却是更想看到把补救后数据纳入进来的分析那样更接近真正的意向性分析。同一份数据、同一个终点两边争的其实是两个临床问题一个问「先给试验药、不给补救效果如何」另一个问「试验药加补救这条治疗路径对比对照加补救效果如何」。这正是 ICH E9(R1) 估计目标框架要解决的事——先把「要估计什么治疗效应」写清楚再谈怎么算。这份蓝皮书把结构化框架、伴发事件的五种处理策略、方案呈现模板和十个跨领域案例摆在一起做统计分析的人、写方案的人、要交一份完整临床试验设计的人都能照着从头走一遍。2. 结构化框架设计从试验目的到敏感性估计值的五步链条框架的价值不在于多出几个名词而在于把「问什么」和「怎么算」之间的断层补上。我在真实项目里见过太多次方案第 3 章的目的是 A第 9 章的统计分析计划SAP里主分析实际回答的是 B中间没人发现直到锁库前做数据审核才炸出来。E9(R1) 的结构化框架本质是一条带交付物的链条每一环都必须有明确产出且下游依赖上游。2.1 五步链条与每一步的交付物第一步明确试验目的也就是感兴趣的临床问题。产出物是一段能被临床、统计、注册三方同时认可的陈述在什么人群、比较哪两种治疗条件、用什么终点、在什么时间点、想说明什么。这段陈述写不出来后面全是空中楼阁。第二步定义估计目标。产出物是五属性的完整清单以及对「为什么选这个估计目标」的说明。注意这里不是写一句「估计目标为 XX」而是把人群、治疗、变量、伴发事件及策略、群体层面汇总逐条落定。第三步确定主估计方法。产出物是一个方法名加上两类假设统计模型假设比如比例风险、平行线假设、方差齐性和缺失数据处理假设比如 MAR、MNAR 的具体形式。这两类假设必须白纸黑字写进 SAP不写就等于默认默认是后续最容易被追问的地方。第四步设计敏感性分析。产出物是一组分析每个分析明确对应主估计方法里的哪一个假设并给出敏感性估计值。判断标准很朴素如果主分析的假设被违反这个敏感性分析能不能告诉你结论会不会翻盘。第五步判断是否需要补充分析。产出物是一份清单用来提供对治疗效应更全面的了解但它不承担确证职责解释优先级最低。提示这五步是串行依赖不是并列清单。第一步改了人群第二步的伴发事件判定可能跟着变第三步的主估计方法也要重选。我在项目里一般会把这条链条做成一个单页表格挂在方案评审会上改动任何一格都要求回溯上游。2.2 五大属性每个属性到底在回答什么问题五属性看着像填空实际每一格都在约束其他格。下面这张表是我在写方案时常用的自查版右列是「写不清楚会怎样」。属性回答的问题常见写法问题目标人群治疗效应要在哪群人身上估计只写「ITT 人群」没写是否包含未服药者、是否按随机分组分析治疗比较的是哪两种治疗条件只写药物名没写是否把补救治疗、背景治疗改变纳入治疗定义目标变量终点测量什么、在什么时间点、怎么汇总到个体终点定义里混入了伴发事件却不自知例如 PFS 中死亡已被纳入变量定义伴发事件及处理策略治疗开始后发生的、影响变量解释或存在的事件怎么处理事件定义太粗只写「提前终止治疗」没区分因疗效、因不良事件、因个人原因群体层面汇总组间比较的是哪个汇总量写「比较两组疗效」没说是均值差、率差、风险比还是优势比目标人群这一格最容易出的问题是把「适应症人群」和「入组人群」混为一谈。前者是临床问题指向的人群后者是实际被随机化的人两者往往不等。写方案时如果只写「符合入排标准的受试者」等于把人群属性交给了入排标准而没交代清楚感兴趣的人群边界。治疗属性在伴发事件采用疗法策略时会被改写。这一点很多人第一次接触会卡住如果补救治疗按疗法策略处理那么治疗属性的对照组就不再是「对照药」而是「对照药 补救治疗」试验组同理。此时优效性结论的含义发生了变化它比较的是两条治疗路径而不是两个单药。群体层面汇总要和变量尺度匹配。连续变量常用均值差或中位数差二分类变量用率差、相对风险或优势比时间事件变量用风险比或限制平均生存时间差。汇总量选定后主估计方法基本就被框定了这也是为什么我建议在写估计目标时就把汇总量写死。2.3 属性联动动一处会牵动哪几处伴发事件是五属性里唯一一个「主动去改别人」的属性它至少有三条影响路径。第一条影响治疗属性采用疗法策略时伴发事件被吸收进治疗定义比较对象从单药变成治疗路径。第二条影响人群属性采用主层策略时感兴趣的人群变成「潜在不会发生伴发事件」的那部分人这和「已经发生的亚组」完全是两回事。第三条影响变量属性采用复合策略或在治策略时伴发事件进入终点定义本身比如把「启用下一线治疗」直接判为无应答。这三条路径意味着改伴发事件的策略不能只改一行字。我在评审时经常看到方案里把策略从假想改成复合但目标人群那一节还留着「所有随机化受试者」终点定义里也没写「启用下一线治疗判为无应答」三处对不上SAP 一写就露馅。2.4 多学科对齐把框架当沟通工具用框架的另一个用途是让不同部门说同一套话。临床开发关心的是问题和终点选得对不对统计关心的是能不能估出来注册关心的是监管方认不认数据管理关心的是要收哪些数据。这四方的分歧通常在伴发事件上爆发——临床觉得某个事件不该算失败统计觉得不算失败就没法估注册觉得不算失败审评方不会认。比较有效的做法是在方案定稿前开一次专门的估计目标对齐会按「目的 → 伴发事件清单 → 策略 → 估计目标 → 设计与数据收集 → 主估计方法与敏感性分析」的顺序过一遍每一步当场确认。会上最该记录的不是结论而是「为什么没选另一个策略」这段理由后面会直接进方案的考量说明也是和监管沟通时最有用的材料。3. 伴发事件与五种处理策略把临床问题翻译成统计问题的关键一步伴发事件是 E9(R1) 相对旧版指导原则真正新增的实质内容也是落地时最容易走偏的地方。它的难点不在概念而在于同一个事件在不同临床问题下要走不同策略而策略一旦选定数据收集范围、终点定义、分析方法全都要跟着改。我在带新人时常用的比喻是伴发事件是岔路口策略是选哪条路估计目标是路的终点选错路口再怎么优化车速都没用。3.1 判定三条件以及它和方案违背不是一回事判定一个事件是不是伴发事件要同时满足三条治疗开始后发生影响患者的治疗比如转组、启用补救、终止治疗影响估计目标其他属性的解释或存在终点测量不存在了、终点含义变了、人群定义变了、治疗定义变了。三条缺一条就不算。第一条把治疗前的事件挡在外面既往用过某种治疗属于基线特征不是伴发事件。第二条把纯测量问题和治疗行为区分开。第三条最容易被忽略某些事件发生了但既没改变治疗也没影响终点解释那它就不是伴发事件。最容易混淆的是伴发事件和方案违背。方案违背是需要尽量避免的执行偏差伴发事件是治疗过程中自然发生、可以在设计阶段预料并纳入考虑的现象。长期治疗中的单次漏服、访视超窗如果预期不影响终点解释属于方案违背而非伴发事件。反过来因缺乏疗效提前终止治疗既是伴发事件也可能同时构成方案违背两者不互斥。还有一层细化伴发事件的定义必须细到能支撑策略选择。「提前终止治疗」作为事件太粗因为因缺乏疗效终止、因不良事件终止、因患者搬家终止对应的合理策略完全不同。前两种通常要往复合或假想方向走第三种更接近假想策略下的「临床状态良好」。所以数据收集层面必须把这些原因字段收上来否则策略选了也执行不了。3.2 五种策略同一组数据五种问法用一个抽象化的小例子把五种策略摆在一起看。某适应症人群随机接受试验治疗 A 或标准治疗 B第 1、3、5 周期评估第 6 周期后评估总体最佳缓解作为主要终点。治疗过程中部分受试者在疾病进展前、6 周期内退出了研究用药并启用了下一线治疗。这个「启用下一线治疗」就是伴发事件。策略关注的临床问题对数据收集的影响被改写的属性疗法策略治疗路径 A下一线 对比 B下一线 的效果伴发事件后的测量仍需收集治疗假想策略假如不发生伴发事件A 相对 B 的「纯」疗效伴发事件后测量不再是感兴趣的量可用模型预测替代变量通过填补间接体现复合策略把启用下一线视作不良结局时A 相对 B 的效果伴发事件发生即决定终点后续测量可不收变量在治策略仅在伴发事件发生之前A 相对 B 的效果伴发事件后测量与治疗无关可不收变量主层策略在潜在不会启用下一线的人群中A 相对 B 的效果需要特殊设计如入排标准识别主层人群疗法策略下那两个用了下一线治疗的受试者第 6 周期的缓解结果照常进入分析。此时估计出来的治疗效应里混入了下一线治疗的贡献对优效试验来说得先回答「试验组是不是真的优于加入了基础治疗的对照组」。这条策略在监管沟通里必须把治疗定义改写的部分讲明白否则容易被理解成故意稀释效应。假想策略关注的是「纯」疗效代价是伴发事件后的数据要靠模型预测或填补。这里有个坑只说「假想受试者未使用下一线治疗」是不完整的因为至少有两种情景——假想他根本拿不到下一线治疗和假想他临床状态良好、不需要下一线治疗。两种情景对应的填补模型不一样写方案时必须把具体情景写死。复合策略把伴发事件塞进终点定义那两个受试者直接判为无应答。它的优点是估计简单、不需要复杂模型缺点是如果某组伴发事件发生率明显更高结论解释要格外小心因为差异可能来自事件发生率而非药物本身。在治策略只用到伴发事件发生前的数据那两人的最佳缓解按启用下一线之前的评估算终点严格说已经不是「6 周期后的最佳缓解」了。这种策略适合想了解「用药期间」效应的场景但要注意它回答的问题和疗法策略差异很大不能混着解释。主层策略针对的是潜在不会或会发生伴发事件的人群需要靠设计层面识别比如通过入排标准排除掉高概率启用下一线的患者。它和亚组分析有本质区别亚组是已经发生事件的人主层是潜在不会发生事件的人后者无法从事后数据里直接划分出来。3.3 策略怎么选三个判断依据和两条红线第一依据是临床问题。同一个试验如果注册目的是证明药物本身的疗效倾向假想或在治如果目的是证明治疗策略的整体获益倾向疗法。这不是统计偏好问题是临床和注册要先拍板的事。第二依据是伴发事件的发生率和组间均衡性。如果两组发生率接近且都不高多数策略的结论差异有限如果某组明显更高疗法策略和复合策略都会把这个不均衡带进结论解释时必须交代。第三依据是假想情景的可验证性和数据量。假想策略的假设通常无法用数据验证所以敏感性分析尤其重要当大量受试者都走到假想填补这条路时估计的稳健性会明显下降这时候要重新考虑策略是否选得过于理想化。两条红线值得单独记。一是终末事件类型的伴发事件典型是死亡不能用疗法策略因为事件发生后变量根本不存在没有观测值可以纳入。二是主层策略不是亚组分析不能拿已经发生事件的人群去冒充主层这样估出来的不是主层效应。4. 方案与 SAP 的呈现设计估计目标章节怎么写才不返工框架想清楚了落到文本上还有一道坎。方案里怎么摆、SAP 里怎么接、数据收集怎么配套这三件事不同步前面所有讨论都会在锁库前打回原形。蓝皮书给出的呈现建议是参考性的不强制方案结构但有几条是我在项目里验证过确实省事的。4.1 估计目标条目的四段式写法每个估计目标建议按四段写先写它要回答的临床问题再逐条定义五属性然后说明选择理由最后标注对应的方案章节。这套写法能直接对接监管沟通因为对方最常问的就是「你这个估计目标想回答什么」。下面是我常用的条目模板可以直接改成自己项目的措辞主要估计目标 1 临床问题 在有【疾病/状况】的受试者中不考虑因任何原因终止治疗、不考虑是否 开始补救治疗或改变背景治疗的前提下治疗【X 时间】后通过 【终点指标】评估的组间治疗差异是多少 估计目标的定义 - 目标人群【疾病/状况】的受试者详见方案第 X 章。 - 治疗随机分配的治疗伴有或不伴有【补救治疗/背景治疗改变】 疗法策略。治疗与伴随用药的细节见第 X 章。 - 目标变量【终点指标】在【时间点】相对基线的变化。 - 伴发事件及处理策略【事件 1】与【事件 2】均按疗法策略处理 未定义其他伴发事件。 - 群体层面汇总两组间平均变化的差值。 选择该估计目标的考量 【一段说明讲清为什么这样定义治疗条件和伴发事件策略 以及它对应哪一条注册或临床决策需求。】 对应章节方案第 X 章终点定义、第 Y 章统计分析。模板里最容易被跳过的是最后那段考量说明。很多人觉得结论写清楚就够了实际上评审时被追问最多的恰恰是「为什么不用另一种策略」。这段说明写好了等于提前把答辩答案放进了方案里。多个主要估计目标时按主估计目标 1、2 的顺序依次展开每个都要配齐主估计方法和敏感性分析不能只给第一个写全。次要估计目标和探索性估计目标可以简化但五属性同样不能缺。4.2 伴发事件汇总表一张表管住所有估计目标即使方案不同章节都提到了伴发事件我仍然建议单独放一张汇总表把每个伴发事件在每个估计目标下的处理策略列清楚。这张表的作用是在方案评审和 SAP 编制时提供唯一事实来源避免前后矛盾。伴发事件主估计目标次要估计目标 1次要估计目标 2终止治疗疗法策略复合策略在治策略暂停用药疗法策略疗法策略疗法策略启用补救治疗假想策略疗法策略在治策略背景治疗改变疗法策略疗法策略疗法策略死亡假想策略复合策略在治策略表格本身不复杂难的是让每一行都站得住。填表时我会逐行问三个问题这条策略对应的临床问题是什么、数据收集是否支持这条策略、SAP 里的分析方法是否和它一致。三个问题有一个答不上来这一行就要退回重议。表格下方通常还要配一段数据收集说明「终止治疗的原因」这类支持性信息必须明确写进 CRF否则策略只是纸面文章。4.3 统计分析章节的三层结构统计考量章节要按主估计方法、敏感性分析、补充分析三层写层层对应估计目标。主估计方法必须写清模型和缺失数据假设敏感性分析必须写清它针对的是哪个假设补充分析只需说明目的不承担确证职责。一个常见问题是敏感性分析写成「换几种方法试试」。这不是敏感性分析因为不同方法往往在回答不同的估计目标。正确的做法是一次只动一个假设其他条件保持不变这样才能定位到底是哪个假设导致了结论差异。同时动多个假设结果不一致时根本没法解释。以假想策略下的多重插补为例下面这段 R 代码是我做敏感性分析时的骨架用来评估缺失数据假设偏离时结论的稳健性library(mice) # 第一步:按伴发事件定义把伴发事件后的终点观测置为缺失 # ice_next_line 1 表示启用了下一线治疗,这类受试者的原始终点 # 在假想策略下不再是感兴趣的量,交给插补模型处理 dat$y_ice - ifelse(dat$ice_next_line 1, NA, dat$y) # 第二步:多重插补。插补模型需与方案里写明的假想情景一致, # 预测变量包含随机化分组、基线值、分层因素和既往观测 imp - mice( dat[, c(y_ice, arm, baseline, age, strata)], m 50, # 插补次数,一般 20 起步,关键分析取 50 method pmm, # 预测均值匹配,适合连续型终点 seed 20240101 # 固定种子,保证结果可复现 ) # 第三步:对每个插补数据集拟合主分析模型 fit - with(imp, lm(y_ice ~ arm baseline strata)) # 第四步:按 Rubin 规则合并,得到敏感性估计值与置信区间 summary(pool(fit), conf.int TRUE)参数上有几个点值得说明。m 50是插补次数插补次数太少会让合并后的标准误偏小关键分析我一般取 50。method pmm是预测均值匹配适合连续型终点且能避免插补出不合理值二分类终点要换成logreg计数类换polyreg。seed固定后结果可复现这在和监管沟通时很重要对方要能跑出同样的数字。pool()执行的是 Rubin 合并规则输出的估计值和置信区间才是可以写进报告的量。需要强调的是这段代码只解决「怎么算」不解决「假想什么」。假想情景必须先在 SAP 里写清楚——是假想受试者拿不到下一线治疗还是假想其临床状态良好无需使用——插补模型的预测变量和分层方式要与之匹配。情景和模型脱节跑出来的数字再漂亮也解释不通。如果假想策略下发生伴发事件的受试者比例很高还可以补一个 tipping point 分析人为给试验组或对照组加上不同程度的效应偏移观察结论在偏移多大时翻转这个翻转点本身就是很有说服力的稳健性证据。5. 避坑五个最容易在评审现场翻车的点这一节里的每一条我都在项目或评审场合见过实物写出来是为了让后来的人少走一遍。5.1 把伴发事件当成方案违背处理现象方案里只有「方案违背处理」一节写着「重大方案违背的受试者将排除于符合方案集」通篇找不到伴发事件的定义和策略。原因沿用了旧版指导原则的思路把治疗后的所有偏离都归入执行质量问题没意识到其中一部分事件是临床问题的一部分必须被定义进估计目标。解决单列伴发事件章节逐个列出事件、发生原因、处理策略并配汇总表。同时明确区分需要尽量避免的执行偏差走方案违背流程需要被纳入估计目标的事件走伴发事件流程两者可以有交集但不能互相替代。5.2 估计目标写了SAP 没跟上现象方案里伴发事件写的是疗法策略SAP 里的主分析却对伴发事件后的数据做了截尾处理实际上执行的是在治策略。原因方案和 SAP 由不同人起草中间没有做一致性核对或者方案改过一轮SAP 沿用了旧版本。解决建一张估计目标到分析的追溯矩阵左侧列五属性右侧列 SAP 里对应的分析数据集、变量定义、模型和缺失数据处理方法逐行对齐。这张矩阵在锁库前必须再过一遍我一般会把它作为数据审核会的固定材料。5.3 敏感性分析变成「多跑几个模型」现象SAP 里列了四五种敏感性分析方法各异但没写每个分析针对哪个假设结果出来后互相矛盾谁也说不清该信哪个。原因把敏感性分析理解成「多试几种方法增加可信度」忽略了它必须锚定在同一个估计目标下的同一个主估计方法上。解决每个敏感性分析标注它检验的假设一次只改一个假设。改缺失数据假设的就保持模型不变改模型假设的就保持缺失数据处理不变。结果不一致时先看差异来自哪个假设再决定如何在报告中解释。5.4 假想策略的「假想」写得太笼统现象方案里写「假想受试者未使用下一线治疗」被问「假想什么情景」时答不上来只能补一句「就是假设没用」。原因没意识到同一个「未使用」至少对应两种临床情景而不同情景对应不同的填补模型和不同的临床含义。解决把假想情景写成可操作的描述比如「假想该受试者临床状态良好、无需启用下一线治疗其后续终点按临床状态相似且未启用下一线的受试者预测」并注明预测模型和协变量。情景描述越具体敏感性分析越站得住。5.5 缺失数据假设默认成 MAR 却不写现象SAP 里主分析用了多重插补但通篇没提缺失数据机制假设评审时被问「你假设的是 MAR 还是 MNAR」才发现没人定过。原因把插补方法当成了假设本身。方法只是实现手段假设才是需要被声明和被检验的对象。解决主估计方法一节明确写出缺失数据假设及其依据并至少配一个偏离该假设的敏感性分析比如 tipping point 或 delta 调整。假设写不清楚后面的稳健性讨论就没有落脚点。6. 验收与答辩用一张自检表把方案过一遍这套东西最终要落到「能不能过评审」上。我习惯在方案定稿前拿一张自检表逐项打勾每项都要求指到具体章节或表格指不到的就算没做。检查项合格标准证据位置临床问题陈述人群、治疗条件、终点、时间点齐全临床与统计表述一致方案目的章节五属性完整性五个属性逐条可查无「按常规处理」这类模糊表述估计目标章节伴发事件定义每个事件写明判定依据和发生原因分类伴发事件章节策略一致性汇总表中每个估计目标下的策略与对应分析方法匹配汇总表 SAP主估计方法假设模型假设与缺失数据假设分别写明SAP 分析方法节敏感性分析每项分析标注所检验的假设一次只动一个假设SAP 敏感性分析节数据收集配套支持策略判断的字段已进入 CRFCRF 与数据管理文档补充分析定位明确不承担确证职责SAP 补充分析节答辩或评审现场被问得最多的通常是三个问题这个估计目标回答的临床问题是什么为什么这个伴发事件选这个策略而不是另一个如果主分析的假设不成立结论会不会变。三个问题的答案其实都在前面的工作里能不能答上来取决于方案里有没有把「考量说明」写出来而不是临场组织语言。我自己的教训是第一次做这类方案评审时把全部精力放在把五属性填满觉得填完就万事大吉。结果现场被问「你这个疗法策略下治疗属性变了优效性结论还成不成立」当场卡住因为我在写的时候从没顺着属性联动往下推过一遍。从那以后我每次定稿前都强制走一遍「改一处会牵动哪几处」的推演把联动关系写进考量说明再拿去评审来回拉扯的次数明显少了。文末这份蓝皮书的十个案例覆盖了肿瘤、呼吸、自免、心血管等多个领域把每个案例的伴发事件和策略选择对着自检表过一遍基本就能摸清自己方案该怎么写。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?