跳转至

Permutation-based true discovery guarantee by sum tests

作者: Anna Vesely, Livio Finos, Jelle J Goeman
来源: Journal of the Royal Statistical Society Series B
主题: 数理统计 / 假设检验
相关性: 7/10
链接: 期刊页 · arXiv


一、领域脉络与小综述

这个方向是什么

本文所处的子方向是多重假设检验中的事后推断(post hoc inference)。其根本问题是:在同时进行成千上万个假设检验(如 fMRI 脑成像的每个体素、基因组学的每个基因)后,研究者可以在看到数据后任意选择一个子集(例如一个脑区、一个基因通路)进行报告,并希望对该子集中“真正有发现的比例”(True Discovery Proportion, TDP)给出一个同时有效的置信下界。这个方向当前已从“控制族系错误率(FWER)”和“控制错误发现率(FDR)”的经典框架,发展到允许事后选择子集并对其错误数量进行置信推断的阶段。其成熟度较高,已有若干理论框架(closed testing, reference families),但计算效率和适用检验类型的通用性仍是瓶颈。

发展脉络(history)

  • 奠基工作:Goeman & Solari (2011) 提出了“角色反转”的事后推断框架:用户自由选择子集,程序返回该子集错误发现数的置信上界。该工作基于 closed testing procedure,并指出其非和谐(non-consonant)拒绝是事后推断的关键。这是本文的直接理论基石
  • 主要进展(Simes 路线):Goeman, Meijer, Krebs & Solari (2016) 将 closed testing 与 Simes 局部检验结合,为所有子集提供了 FDP 的置信界,并证明了其与 Benjamini-Hochberg 程序的联系。Blanchard, Neuvial & Roquain (2017) 提出了更一般的“reference families”框架,将 higher criticism 等也纳入事后推断。这两条工作线都依赖于有序 p 值的临界向量,即局部检验必须是“基于排序”的(如 Simes、higher criticism)。
  • 当前 frontier 与本文位置:上述基于有序 p 值的方法虽然计算上可行(有 shortcut),但限制了可用的全局检验类型。本文的贡献在于:将事后推断框架推广到任意“和型检验”(sum-based global tests),如 Fisher 组合检验、Stouffer 检验、Cauchy 组合检验、广义均值检验等。作者通过置换检验(permutation testing)来适应未知联合分布,并提出了一个基于分支定界(branch and bound)的迭代 shortcut 来克服计算爆炸。这使得事后推断不再局限于 Simes 类检验,而是可以根据信号结构选择最有力的和型检验

子线索聚类

  1. 基于 closed testing 的事后推断:Goeman & Solari (2011, 2010) 奠定了理论基础;Goeman et al. (2016) 给出了 Simes 检验下的精确 shortcut;Ebrahimpoor et al. (2020) 将其应用于基因集分析。本文属于此线索,但将其推广到更一般的检验。
  2. 基于 reference families 的事后推断:Blanchard et al. (2017) 提出了更通用的框架,将 higher criticism 等纳入。此路线与 closed testing 路线有重叠,但视角不同。
  3. 和型全局检验(sum-based global tests):这是一个历史悠久的方向,从 Fisher (1925)、Pearson (1933)、Liptak (1958) 到现代的 Cauchy 组合检验 (Liu & Xie, 2020)、广义均值 (Vovk & Wang, 2012)、e-value 组合 (Vovk & Wang, 2019)。本文的核心创新是将这个丰富的检验库“接入”了事后推断框架。
  4. 置换检验在多重比较中的应用:Hemerik & Goeman (2014) 证明了随机置换检验的精确性;Winkler et al. (2014) 将其用于一般线性模型。本文依赖置换检验来获得任意和型检验在未知依赖结构下的 p 值,这是其“通用性”的关键。

这个方向在追问的核心问题

  • Q1(事后推断的通用性):能否为任意合理的全局检验(而不仅仅是 Simes 类)构建事后推断程序?本文正面回答了这个问题,但代价是计算复杂度。
  • Q2(计算可行性):对于成千上万的假设,如何避免穷举所有子集(2^m 个)?已有的 Simes shortcut 非常快,但通用检验的 shortcut 是什么?本文提出了分支定界算法作为通用解。
  • Q3(检验选择与功率):不同的和型检验对不同的信号模式(稀疏 vs. 稠密、弱信号 vs. 强信号)有不同功率。事后推断框架下,如何选择检验以最大化对感兴趣子集的 TDP 下界?本文通过模拟比较了多种检验,但未给出理论指导。
  • Q4(依赖结构):置换检验能处理任意依赖结构,但计算成本高。能否在特定依赖结构(如弱相关、马氏链)下开发解析的 shortcut?

⚠️ 作者的 framing

  • 作者的缺口 frame:作者将缺口 frame 为“现有事后推断方法(如 Goeman et al., 2016; Blanchard et al., 2017)仅适用于基于有序 p 值的检验,而大量流行的和型检验(Fisher、Stouffer、Cauchy 等)无法使用”。因此,本文的贡献是“填补这个空白”,使得事后推断可以“免费”附加到任何和型检验上。
  • 被淡化/回避的竞争路线:作者回避了reference families 框架的深入比较。Blanchard et al. (2017) 的框架在理论上更通用,但本文的 closed testing 框架在计算上(通过分支定界)可能更直接。作者没有讨论本文方法是否可以被 reference families 框架所包含,或者两者在效率上的差异。
  • 值得查的问题为什么没有引用 e-value 组合检验 (Vovk & Wang, 2019) 在事后推断中的应用? e-value 的乘法性质可能为事后推断提供更简洁的数学结构。此外,Wilson (2019) 的调和平均 p 值 (HMP) 也是一种和型检验,且声称能控制 FWER,本文为何没有将其作为主要例子之一?这可能是因为 HMP 的控制性质依赖于渐近近似,而本文依赖精确的置换检验。

张力

未见明显对立引用。所有被引工作基本是互补的,共同构建了从经典多重比较到事后推断的演进路径。

二、最核心、最简单的例子 / 数学问题

第一步:符号、模型、可观测数据交代清楚

  • 符号

    • \( m \):假设的总数(例如,脑成像中的体素个数)。
    • \( H_1, \dots, H_m \)\( m \) 个原假设。每个 \( H_i \) 对应一个特征(如一个基因、一个体素)是否“无效”(无激活、无关联)。
    • \( \mathcal{M} = \{1, \dots, m\} \):所有假设的索引集合。
    • \( S \subseteq \mathcal{M} \):研究者感兴趣的一个子集(事后选择)。
    • \( \delta(S) \):子集 \( S \)真正被拒绝的原假设个数(即真阳性数,True Discoveries)。这是想要估计但不可观测的参数。
    • \( s = |S| \):子集 \( S \) 的大小。
    • \( \text{TDP}(S) = \delta(S) / \max\{1, s\} \):子集 \( S \) 中的真实发现比例。这是本文要给出置信下界的目标量(estimand)
    • \( p_i \):第 \( i \) 个假设的 p 值。这是可观测的,但通常依赖于未知的依赖结构。
    • \( T(S) \):用于检验子集 \( S \)全局检验统计量。本文限定为和型:\( T(S) = \sum_{i \in S} f(p_i) \),其中 \( f \) 是一个已知的单调递减函数(如 \( f(p) = -\log(p) \) 对应 Fisher 检验)。
    • \( \alpha \):显著性水平(如 0.05)。
    • \( \pi \):一个置换(permutation),用于生成数据在全局原假设下的重排版本。
  • 模型

    • 数据生成机制:假设我们有一个 \( n \times m \) 的数据矩阵 \( X \),其中 \( n \) 是样本量,\( m \) 是特征数。对于每个特征 \( i \),我们有一个检验统计量,其 p 值 \( p_i \)\( H_i \) 为真时服从(或近似服从)\( \text{Unif}[0,1] \)。特征之间可以任意相关。
    • 已知/未知:p 值的联合分布是未知的,且可能高度依赖。我们不假设任何参数形式。
    • 要估的对象:对于任意事后选择的子集 \( S \),我们要给出一个 \( 1-\alpha \) 置信下界 \( \underline{\delta}(S) \),使得 \( \mathbb{P}(\delta(S) \ge \underline{\delta}(S) \text{ for all } S \subseteq \mathcal{M}) \ge 1-\alpha \)。这个“对所有 \( S \) 同时成立”的性质是关键。
  • 可观测数据

    • 可观测:原始数据 \( X \)(或由此计算出的 \( m \) 个 p 值 \( p_1, \dots, p_m \))。通过置换,我们可以生成 \( B \) 个重排数据集,并计算每个重排下的 p 值 \( p_i^{(b)} \)
    • 不可观测/潜在:每个假设 \( H_i \) 的真假状态(是 null 还是 alternative)。\( \delta(S) \) 正是基于这些未知状态定义的。

第二步:讲最小内核

最简特例:假设只有 \( m = 2 \) 个假设,我们想对子集 \( S = \{1, 2\} \)(即两个假设一起)给出 TDP 下界。

  1. 设定:我们有 p 值 \( p_1, p_2 \)。我们选择一个和型全局检验,例如 Fisher 组合检验\( T = -2(\log p_1 + \log p_2) \)。在原假设 \( H_1 \cap H_2 \)(两个都无效)下,如果 p 值独立,\( T \sim \chi^2_4 \)。但这里我们不假设独立,而是用置换来校准。

  2. 核心思路(closed testing 的简化版)

    • 我们想对 \( S = \{1,2\} \) 做推断。closed testing 要求我们检验所有包含 \( S \) 的“祖先”集。对于 \( m=2 \),祖先集就是 \( \mathcal{M} = \{1,2\} \) 本身。
    • 我们检验全局原假设 \( H_{\{1,2\}} \)(两个都无效)。如果不能拒绝,则我们对 \( S \) 的 TDP 下界是 0(因为可能两个都是假的)。
    • 如果拒绝了 \( H_{\{1,2\}} \),则我们知道至少有一个假设是有效的。那么对于 \( S = \{1,2\} \)\( \delta(S) \ge 1 \)。因此 TDP 下界是 \( 1/2 = 0.5 \)
  3. 如何检验 \( H_{\{1,2\}} \)

    • 计算观测数据的 Fisher 统计量 \( T_{\text{obs}} = -2(\log p_1 + \log p_2) \)
    • 通过置换数据(例如,随机交换样本的标签),生成 \( B \) 个重排数据集。对每个重排,计算 p 值 \( p_1^{(b)}, p_2^{(b)} \) 和 Fisher 统计量 \( T^{(b)} \)
    • 计算置换 p 值:\( p_{\text{global}} = \frac{1 + \#\{b: T^{(b)} \ge T_{\text{obs}}\}}{B+1} \)
    • 如果 \( p_{\text{global}} \le \alpha \),则拒绝 \( H_{\{1,2\}} \)
  4. 推广到一般子集

    • 对于任意子集 \( S \),我们需要检验所有包含 \( S \) 的祖先集 \( R \supseteq S \)
    • 对于每个祖先集 \( R \),我们计算其和型检验统计量 \( T(R) = \sum_{i \in R} f(p_i) \),并通过置换得到其 p 值 \( p_R \)
    • 如果 \( p_R \le \alpha \),则拒绝 \( H_R \)(即认为 \( R \) 中至少有一个有效)。
    • 最终,\( \delta(S) \) 的置信下界是:所有被拒绝的祖先集 \( R \) 中,最小的 \( |R| \) 的补集大小。更精确地说,\( \underline{\delta}(S) = \max\{0, s - \min_{R \supseteq S, H_R \text{ not rejected}} |R| + 1\} \)。这个公式的直觉是:如果有一个大小为 \( |R| \) 的祖先集 \( R \) 不能被拒绝,那么 \( S \) 中最多有 \( |R| - 1 \) 个真发现(因为 \( R \) 中可能全是假的),所以 \( \delta(S) \ge s - (|R| - 1) \)。我们取所有未被拒绝的祖先集中最小的 \( |R| \) 来得到最紧的下界。

这个最小内核揭示了本文的核心数学困难:对于 \( m \) 个假设,有 \( 2^m \) 个子集需要检验。本文的关键想法是:对于和型检验,这个检验过程具有单调性(如果 \( R \subseteq R' \),则 \( T(R) \le T(R') \)),这使得我们可以用分支定界算法来高效地搜索“最小未被拒绝的祖先集”,而不必穷举所有子集。

三、这篇论文做了什么

三句话

  1. 研究了什么问题:为任意和型全局检验(sum-based global test)构建一个通用的 closed testing 程序,使其能为所有子集提供同时有效的真实发现比例(TDP)置信下界。
  2. 核心工具/方法:将 closed testing 框架与置换检验结合,并提出了一个基于分支定界(branch and bound)的迭代 shortcut 算法,该算法收敛到完整的 closed testing 结果,且提前停止仍能保证 TDP 控制。
  3. 主要结论:任何和型检验都可以“免费”地(无需调整 \( \alpha \))用于事后推断;分支定界算法在实践中通常只需很少迭代即可收敛;模拟和真实数据(脑成像、基因组学)验证了方法的可行性和不同和型检验的性质。

关键设定与假设

  • 设定\( m \) 个假设,每个有 p 值 \( p_i \)。我们关注子集 \( S \) 的 TDP。
  • 假设 1(和型检验):全局检验统计量必须是和型:\( T(S) = \sum_{i \in S} g(p_i) \),其中 \( g \) 是一个已知的、在 \( [0,1] \) 上单调递减的函数。这涵盖了 Fisher、Stouffer、Cauchy、广义均值等,但排除了如 minimum p 值(Tippett)等非和型检验。
  • 假设 2(单调性):和型检验满足单调性:如果 \( R \subseteq R' \),则 \( T(R) \le T(R') \)。这是分支定界算法可行的关键。
  • 假设 3(置换有效性):在全局原假设(所有 \( H_i \) 为真)下,数据的分布在置换下是(近似)可交换的。这是置换检验精确性的基础。作者使用了随机置换,并引用了 Hemerik & Goeman (2014) 来保证其精确性。
  • 相比已有文献:相比 Goeman et al. (2016) 和 Blanchard et al. (2017),本文放宽了对局部检验类型的限制(不再局限于 Simes 或 higher criticism),但引入了对检验统计量“和型”的限制。这是一个权衡:牺牲了检验类型的部分通用性(不能用于 min-p 检验),换来了对一大类流行检验的通用事后推断框架。

主要结果

  • 定理 1(通用 closed testing 程序):对于任意和型检验,如果使用置换得到的 p 值进行 closed testing,则对于所有子集 \( S \subseteq \mathcal{M} \),同时有 \( \mathbb{P}(\delta(S) \ge \underline{\delta}(S)) \ge 1-\alpha \)直觉:这是 closed testing 的经典性质,本文将其与置换检验结合,证明了其有效性。必要条件:置换检验在全局原假设下是精确的(或 level-\( \alpha \) 的)。
  • 定理 2(分支定界算法的收敛性):提出的分支定界算法在有限步内收敛到完整的 closed testing 结果。直觉:算法通过维护一个“候选集”的优先队列,并利用和型检验的单调性来剪枝,保证最终找到所有“最小未被拒绝的祖先集”。技术难点:证明算法不会错过任何关键子集,且剪枝规则是安全的(不会剪掉可能给出更紧下界的子集)。
  • 定理 3(提前停止的保证):即使分支定界算法在收敛前停止,其输出的 TDP 下界仍然是有效的(即仍满足 \( 1-\alpha \) 同时控制)。直觉:提前停止意味着我们只检查了部分祖先集,这只会导致我们高估“最小未被拒绝的祖先集”的大小,从而给出一个更保守(更小)的 TDP 下界,这仍然是有效的置信下界。这是本文一个非常实用的贡献,因为完整收敛可能很慢。

证明路线与技术技巧

  • 整体路线
    1. 建立 closed testing 与 TDP 下界的关系:首先证明,对于任意子集 \( S \),其 TDP 下界 \( \underline{\delta}(S) \) 可以通过检查所有包含 \( S \) 的祖先集 \( R \) 是否被拒绝来计算。这是 Goeman & Solari (2011) 的标准结果。
    2. 将和型检验嵌入 closed testing:证明对于任意和型检验,其检验结果(拒绝/不拒绝)满足单调性,这是分支定界算法的基础。
    3. 设计分支定界算法:算法核心是搜索“最小未被拒绝的祖先集”。它从一个包含所有假设的大集合开始,如果该集合被拒绝,则递归地将其拆分为更小的子集进行检验。利用和型检验的单调性,如果一个集合未被拒绝,其所有子集也一定未被拒绝(因为统计量更小),因此可以安全地剪枝。
    4. 证明算法正确性与提前停止性质:通过归纳法证明算法输出的下界等于完整 closed testing 的结果。提前停止的证明基于:任何未被检查的祖先集,其大小一定不小于已检查过的某个未被拒绝的祖先集,因此不会破坏下界的有效性。
  • 关键跳跃点
    • 从“检验所有子集”到“搜索最小未被拒绝祖先集”:这是计算上的关键跳跃。作者证明了 TDP 下界完全由这些“最小”的未被拒绝集决定,从而将指数级问题转化为一个搜索问题。
    • 分支定界算法的剪枝规则:如何设计一个既安全又高效的剪枝规则是难点。作者利用了和型检验的单调性:如果 \( R \) 未被拒绝,则任何 \( R' \subseteq R \) 也未被拒绝。因此,一旦发现一个未被拒绝的 \( R \),其所有子集都可以从搜索空间中移除。
  • 技术技巧点名
    • 分支定界算法:用于在指数级大的搜索空间(所有子集)中高效寻找最优解(最小未被拒绝集)。这是本文计算贡献的核心。
    • 置换检验:用于校准任意和型检验在未知依赖结构下的分布,避免了参数假设。这是本文“通用性”的基石。
    • 单调性论证:利用和型检验统计量关于集合包含关系的单调性,这是分支定界算法剪枝和提前停止性质证明的基础。

真实例子与应用

  • 脑成像数据(fMRI)
    • 数据:来自 Pernet et al. (2015) 的“声音定位器”实验数据,包含 20 个受试者。目标是识别对“人声”比对“非人声”有显著反应的脑区(体素)。\( m \) 约为 200,000 个体素。
    • 方法应用:对每个体素进行 t 检验得到 p 值。然后,使用本文提出的方法,分别用 Fisher、Stouffer、Cauchy 和广义均值(r = -1)作为和型检验,为每个体素(即大小为 1 的子集)计算 TDP 下界。这实际上给出了一个“TDP 图”,其中每个体素的颜色表示该体素属于一个至少有 x% 真实发现的集合的置信度。
    • 结果:不同和型检验产生了不同的 TDP 图。例如,Cauchy 检验对稀疏信号更敏感,而 Fisher 检验对稠密信号更敏感。作者展示了这些差异,并讨论了如何根据先验知识选择检验。这个例子想说明:本文方法允许研究者根据对信号结构的预期(稀疏 vs. 稠密)选择最合适的和型检验,而无需改变事后推断的框架。
  • 基因组学数据(癌症突变)
    • 数据:来自 Weinhold et al. (2014) 的癌症基因组数据,分析非编码区的突变。目标是识别在多个肿瘤样本中反复突变的基因组区域(基因或调控元件)。\( m \) 约为 20,000 个基因。
    • 方法应用:对每个基因,使用一个检验(如 Poisson 检验)评估其突变是否显著高于背景。然后,使用本文方法,对所有可能的基因通路(gene sets) 计算 TDP 下界。这允许研究者事后选择任何看起来有趣的通路,并知道其中有多少基因是真正相关的。
    • 结果:作者展示了几个已知的癌症相关通路(如 p53 通路)的 TDP 下界。不同和型检验给出的下界不同,反映了它们对不同信号模式的敏感性。这个例子想说明:本文方法可以用于基因集富集分析,为事后选择的基因集提供严格的错误发现控制,这是传统方法(如 GSEA)难以做到的。

🔎 结论是否比证明窄

  • 窄的 claim:定理 1 和 2 的证明严格依赖于“和型检验”和“置换检验”这两个条件。作者在结论中声称“任何 sum test 都可以”,这与其证明一致。
  • 可能的泛化:作者在讨论中提到,分支定界算法可能也适用于某些非和型但满足单调性的检验(如基于排序的检验)。但这只是一个 conjecture,没有严格证明。读者应注意到,本文的核心理论保证(定理 2 的收敛性)是专门为和型检验证明的
  • 关于“免费”的 claim:作者说“simultaneous inferences come for free”。这需要仔细理解。它是指不需要为多重比较调整 \( \alpha \) 水平(因为 closed testing 已经内在地处理了多重性)。但是,计算成本(置换和分支定界)并不免费,且统计效率(TDP 下界的紧度)可能不如专门为特定检验设计的 shortcut(如 Simes shortcut)。

四、开放问题

  1. 非和型检验的推广:本文的方法严格限于和型检验。能否将其推广到更一般的、满足某种“次可加性”或“单调性”的检验统计量?这扎根于本文的假设 1(和型检验)和定理 2 的证明(依赖于和型统计量的单调性)。
  2. 分支定界算法的理论收敛速度:作者通过模拟展示了分支定界算法在实践中收敛很快,但没有给出其迭代次数的理论上界(如依赖于信号强度、依赖结构等)。能否从理论上刻画其计算复杂度?这扎根于本文的第 4 节(算法描述)和模拟结果
  3. 最优检验选择的理论指导:模拟表明不同和型检验在不同信号模式下表现各异。能否发展一个理论准则(如基于信号稀疏性、效应大小分布),来指导研究者为给定问题选择“最优”的和型检验以最大化 TDP 下界?这扎根于本文的第 5 节(模拟比较)和第 6 节(真实数据例子)。
  4. 与 e-value 框架的结合:e-value 具有乘法性质,其组合(如平均)在依赖结构下也有良好性质。能否将 e-value 组合检验(Vovk & Wang, 2019)纳入本文的 closed testing 框架,并利用 e-value 的简洁性设计更高效的 shortcut?这是一个明显的未探索方向,扎根于本文引言中未引用 e-value 事后推断工作的观察。

Maintained by 陈星宇 · Homepage · Source on GitHub

评论