跳到主要内容
临床统计方法速查站
方法分类

组序贯与期中分析 Group Sequential Design and Interim Analysis (GSD)

在预设信息时点比较累计检验统计量与组序贯界值,在允许期中停止的同时控制总体 I 类错误。

统计原理

组序贯设计在 KK 个预先计划的信息时点重复检验同一主要假设。第 kk 次分析使用截至该数据截点的累计数据,通常以标准化统计量 ZkZ_k 表示;各次 ZkZ_k 共享受试者和事件,因此彼此相关,不能把每次分析都当作独立的 α=0.025α=0.025 检验。

单侧优效性设计选择一组界值 b1,,bKb_1,\ldots,b_K,使得在零假设下:

PH0(max1kKZkbk)=α.P_{H_0}\left(\max_{1\le k\le K} Z_k\ge b_k\right)=\alpha.

信息分数 tk=Ik/IKt_k=I_k/I_K 描述第 kk 次分析相对最终分析的信息量。对均值、率或回归系数,信息常与有效样本量近似成正比;对生存终点,常与累计事件数近似成正比。实际信息分数若偏离计划,应按方案指定的 alpha-spending 或边界调整规则处理,不能只按日历时间硬套原界值。

O’Brien–Fleming 型界值早期很高,只有极强证据才会提前拒绝 H0H_0;最终界值则接近固定样本设计的常规临界值。随附示例是三阶段、单侧 α=0.025α=0.025、仅允许因疗效停止的 O’Brien–Fleming 设计,不包含无效性界值。

期中查看需要更严格的停止界值

多次查看数据会消耗 alpha;组序贯设计预先分配各次分析的界值。

方法与实现依据:FDA《Adaptive Designs for Clinical Trials of Drugs and Biologics》最终指南SAS PROC SEQDESIGN 官方说明与示例

什么时候用

确证性试验计划在主要终点积累到若干信息比例时,由独立数据监查委员会进行期中分析,并允许因压倒性疗效、无效性或安全性提前停止时,使用组序贯设计。它回答的是“在多次查看同一主要假设的情况下,当前证据是否越过预先控制总体错误率的界值”。

SAP 里长这样:

One interim analysis for efficacy will be performed after approximately 50% of the planned information is available. A group sequential design with an O’Brien–Fleming boundary will control the overall one-sided type I error at 0.025. The interim decision will be based on the actual information fraction and the prospectively specified efficacy boundary.

看到 interim analysis / group sequential / information fraction / alpha spending / O’Brien–Fleming / efficacy boundary,即可定位到本页。普通的盲态样本量复核、仅查看安全性而不影响主要检验,或未预设的“偷看结果”,不能直接套本页界值。

适用条件速查卡

条件
设计时点分析次数、信息时点、单/双侧 αα、功效和停止类型在方案中预先指定
信息定义明确 IkI_k 的计算;生存终点通常按事件数,其他终点按估计量方差或有效样本量
决策独立性未盲态期中结果只提供给有授权的独立委员会,执行团队保持盲态
统计量一致性各次分析的终点、模型、协变量、分层及缺失规则与最终分析一致或有预设映射
错误率同一主要假设的全部期中与最终检验合计控制总体 I 类错误
运行数据数据截点、清理程度、事件判定和实际信息分数可追溯
不适用时未预设的重复查看;高度复杂自适应且解析界值不足时,应按方案做模拟验证

核心 SAS 代码

proc import datafile="example.csv"
            out=interim_stats
            dbms=csv replace;
  guessingrows=max;
run;

proc sort data=interim_stats;
  by stage;
run;

ods output Boundary=gs_boundary_raw;
proc seqdesign altref=0.35;
  GSD: design nstages=3
       method=obf
       alt=upper
       stop=reject
       alpha=0.025 beta=0.10;
  samplesize model=twosamplemean(stddev=1);
run;
ods output close;

data gs_boundary;
  set gs_boundary_raw;
  stage=_Stage_;
  planned_information_fraction=_InfoProp_;
  planned_total_n=ceil(NObs);
  critical_z=Bound_UA;
  keep stage planned_information_fraction planned_total_n critical_z;
run;

proc sort data=gs_boundary;
  by stage;
run;

data stage_check;
  merge interim_stats(in=in_data) gs_boundary;
  by stage;
  if in_data;
  length decision $32;
  boundary_crossed=(z_stat >= critical_z);
  if missing(z_stat) then decision='Not yet observed';
  else if boundary_crossed then decision='Cross efficacy boundary';
  else decision='Continue to next look';
run;

proc print data=stage_check noobs;
run;
  • ALT=UPPERALPHA=0.025 定义单侧上界;若目标是双侧、非劣效或同时有无效性停止,必须重写设计,不能只改结果解释。
  • STOP=REJECT 只生成拒绝零假设的早停规则;本例没有无效性边界。
  • METHOD=OBF 生成 O’Brien–Fleming 形状界值。若方案按 Lan–DeMets alpha-spending 和实际信息分数更新,应使用对应误差消耗方法及正式数据传递链。
  • ALTREF=0.35STDDEV=1 只是原创模拟场景,用于演示样本量与边界;正式值必须来自方案假设。
  • 正式执行中通常用 PROC SEQTEST 接收当前估计量和标准误,并延续上一阶段的 test information。这里的 DATA 步仅透明演示“观察到的 Z 与设计界值比较”,不替代受控的期中分析系统。

变量解释表

变量含义典型来源
STAGE分析阶段,含期中与最终分析方案 / DMC charter
INFORMATION_FRACTION当前实际信息量除以计划最终信息量经冻结的数据截点与终点模型
Z_STAT方向与方案一致的累计标准化检验统计量当前主要分析估计值 / 标准误
_Stage_PROC SEQDESIGN 输出的计划阶段Boundary ODS 表
_InfoProp_计划信息分数Boundary ODS 表
NObs对示例两样本均值模型推导的累计总样本量Boundary ODS 表
Bound_UA单侧上方 alpha 拒绝界值Boundary ODS 表
DECISION本示例按 Z_STAT >= Bound_UA 生成的演示决策派生变量;正式决策还需遵守 charter

输出对照

随附程序已在 SAS 9.4 TS1M8 / SAS/STAT 15.3 上运行。对于示例参数,Boundary 表给出的三次上方 Z 界值约为 3.47112.45442.0040;模拟 Z_STAT 分别为 1.802.302.10,因此前两次继续,最终分析越界。数值仅说明程序闭环,不是临床结论。

SAS 输出编号对应报告或决策记录
Design Information / Alpha / Number of Stages设计版本、总体单侧 αα、分析次数
Boundary Information / _InfoProp_每次计划信息分数
Boundary Information / Bound_UA各阶段疗效 Z 界值
Sample Sizes / N各阶段计划累计样本量;生存设计则通常映射累计事件数
STAGE_CHECK / Z_STAT当前冻结数据产生的累计检验统计量
STAGE_CHECK / DECISIONContinueCross efficacy boundary 的程序化复核字段

正式期中包应同时留存数据截点、实际信息分数、模型输出、边界版本、独立复核和 DMC 决议,不能只截取一张 p 值表。

示例数据与程序

  • example.csv — 3 个计划分析时点的原创模拟信息分数与累计 Z 统计量
  • example.sas — O’Brien–Fleming 设计、边界输出、模拟统计量合并与阶段决策完整程序

常见坑

常见坑

  • 把每次 p<0.025 都当成功:重复查看会膨胀总体 I 类错误;必须和该阶段的调整界值比较。
  • 用日历进度代替信息分数:入组 50% 不一定等于事件或 Fisher 信息 50%,实际信息偏移需按预设规则处理。
  • 临时增加一次期中分析:新增 look 会改变联合错误率;必须在揭盲前重新评价并有完整治理记录。
  • 方向写反:效应估计、Z 统计量与 upper/lower boundary 的有利方向必须一致。
  • 越界后仍按常规固定样本 CI 报告:序贯停止会影响估计和区间性质;报告方法须按方案预设。
  • 泄露未盲态趋势:操作团队获知中期效应可能改变入组、随访或终点判定,破坏试验完整性。
  • 把示例界值直接搬到正式试验:边界取决于侧数、αα、look、信息时点、停止类型和检验模型,必须为每个设计重新生成。

相关方法

  • 贝叶斯借用与后验分析 将预先规定的先验分布与当前试验似然结合,得到治疗效应后验分布、可信区间和决策概率。
  • 多重性控制 先定义假设家族和检验顺序,再用 Bonferroni、Holm 或预设层级策略控制确认性结论的总体一类错误率。