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

多重性控制 Multiplicity Control (FWER / Holm)

先定义假设家族和检验顺序,再用 Bonferroni、Holm 或预设层级策略控制确认性结论的总体一类错误率。

统计原理

若同一确认性家族包含 mm 个真原假设,每个都按 α\alpha 单独检验,则“至少错拒一个”的概率(FWER)可能明显高于 α\alpha。多重性控制不是把所有 p 值机械丢进一个函数,而是先回答三个问题:哪些假设属于同一个 family、每个结论在标签/决策中的角色、假设是否有预设顺序。

Bonferroni 用

piBonf=min(1,mpi)p_i^{\text{Bonf}}=\min(1,m p_i)

控制 FWER。Holm 方法把原始 p 值升序排列为 p(1)p(m)p_{(1)}\le\cdots\le p_{(m)},逐步使用阈值 α/(mi+1)\alpha/(m-i+1);相应调整 p 值还要做单调化,因此通常不比 Bonferroni 更保守。Holm 在任意依赖结构下控制 FWER。

把总体错误率分配给多个假设

检验越多,未经校正的假阳性风险越高;校正方法控制整体第一类错误率。

层级检验(gatekeeping/fixed sequence)把可检验性沿预设路径传递:只有前一假设达到要求,下一假设才具有确认性检验资格。它不能由一列调整后 p 值自动重建,必须按 SAP 的图或决策规则实现。

什么时候用

  • 同一研究有多个主要终点、关键次要终点、多个剂量或多个治疗比较,需要形成多个确认性结论。
  • 方案规定 Bonferroni/Holm、固定序列、gatekeeping、闭合检验或 alpha recycling 时。

SAP 里长这样:

The familywise type I error rate will be controlled at a two-sided 5% level. The two primary endpoints and two key secondary endpoints constitute family F1. Holm’s step-down procedure will be applied within F1. Key secondary endpoints will be interpreted confirmatorily only according to the prespecified testing strategy.

看到 family / FWER / alpha allocation / hierarchical testing / gatekeeping / adjusted p-value,要先画出假设关系,再选程序。

适用条件速查卡

条件
本页输入已由各终点正确模型生成的 4 个原始 p 值
family示例四个假设全部属于预设家族 F1
目标错误率两侧 FWER 0.05
演示方法Holm step-down;同时输出 Bonferroni 供核对
依赖要求Holm 不要求假设独立;其他方法的适用条件须单独核对
不覆盖复杂 gatekeeping、图形化 alpha recycling、多个嵌套 family 的完整执行引擎
关键前提family、顺序、alpha 和缺失/失败时的传递规则均在揭盲前固定

核心 SAS 代码

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

proc sort data=pvalues;
  by ordern;
run;

proc multtest inpvalues(raw_p)=pvalues holm bonferroni out=adjusted;
run;

proc print data=adjusted noobs;
  var endpoint family ordern raw_p stpbon_p bon_p;
run;
  • INPVALUES(raw_p)= 明确指定原始 p 值变量;该模式只做调整,不重新拟合终点模型。
  • STPBON_P 是 Holm(step-down Bonferroni)调整 p 值,BON_P 是单步 Bonferroni 调整 p 值。
  • 示例把一整个 family 一次送入程序。若有 F1/F2 两个独立规则,必须先按 SAP 分组处理,不能混成一个 mm

变量解释表

变量含义来源
ENDPOINT假设/终点的可读名称SAP 假设清单
FAMILY多重性家族标识;本页均为 F1SAP 多重性策略
ORDERN预设展示或固定序列编号;Holm 本身按 p 值排序SAP
RAW_P对应终点模型的未调整 p 值各主要/关键次要分析输出
STPBON_PHolm FWER 调整 p 值PROC MULTTEST
BON_PBonferroni FWER 调整 p 值PROC MULTTEST

输出对照

以下调整值由本页数据在 SAS 9.4 TS1M8 / SAS/STAT 15.3 实跑获得。输出映射强调“原始证据”和“可形成的确认性结论”分开记录。

ENDPOINTRAW_PSTPBON_P (Holm)BON_P
Primary symptom score0.0060.0240.024
Primary function score0.0210.0630.084
Key secondary quality of life0.0470.0940.188
Key secondary rescue medication0.1200.1200.480

因此在 F1/Holm、α=0.05\alpha=0.05 下,仅第一项可拒绝原假设。ENDPOINT 映射 shell 假设名称,RAW_P 映射原始 p 值,STPBON_P 映射确认性 Holm-adjusted p 值。

正式 shell 还应有 family、方法、总 alpha、假设状态(可检验/未进入/拒绝/未拒绝)和结论用途。若采用固定序列,必须把“前序未通过导致未检验”与“检验后未显著”区分开。

示例数据与程序

  • example.csv — 一个预设 family 的四个原创示例原始 p 值
  • example.sas — Holm 与 Bonferroni 调整及可审计输出

常见坑

先定 family,再谈调整方法

  • 把所有表中 p 值都放进一个 family:family 是确认性决策概念,不是输出库存。
  • 原始 p<0.05 就写“显著”:确认性结论要按调整后 p 值或预设序列资格判断。
  • 用 FDR 替代 FWER:探索性发现率控制不能自动满足确认性多终点的 FWER 要求。
  • 分析后挑方法:比较 Bonferroni、Holm、Hochberg 后选最有利者会破坏预设错误率控制。
  • 把 ORDERN 当成 Holm 顺序:Holm 按观察到的 p 值排序;固定序列则按临床预设顺序,两者不是一回事。

方法边界依据:FDA Multiple Endpoints in Clinical Trials;SAS 语法依据:PROC MULTTEST 官方文档

相关方法

  • 协方差分析 校正基线值后的组间连续终点比较,输出 LS Mean 及组间差(95% CI)。
  • 非劣效与等效性检验 明确治疗差方向和临床界值,用单侧置信下限判断非劣效,或用 TOST 判断治疗差是否完全落入等效区间。