思维模型

多重比较问题

你做的检验越多,就越容易仅凭偶然得到显著结果,即使实际上并没有真实效应。

探索一下

你对数据做了20次统计检验,其中一次结果“显著”。这是真发现,还是碰巧撞上的?

测测你的直觉

一起来看看,为什么检验越多,误报也越多。

理解概念

理解概念

每次检验某种关系时,你都有小概率发现一种实际上并不存在的关系,这叫作“假阳性”。当你对同一批数据做很多次检验时,这些小概率就会累积起来:如果用百分之五的显著性阈值做20次检验,即使没有真实效应,平均也会出现约一个假阳性。这种情况随处可见:同时对几十项网站改动做A/B测试、筛查数千个基因与疾病的关联,或从营养调查中挖掘相关性。 请注意:每当你看到有人一次报告许多发现时,都要问问他们是否针对多重检验做了校正。

详细讲解

详细讲解

假阳性如何累积

你可以把每次统计检验想象成一张彩票:使用常规显著性阈值时,它有百分之五的概率出现假阳性。做一次检验,风险是百分之五。但如果做20次相互独立的检验,至少出现一个假阳性的概率就会升到约百分之六十四。做100次检验,几乎肯定会仅凭偶然得到某个“显著”结果。这是因为多次检验会让出错的机会累积起来,每增加一次比较,随机噪声就多一次被误认成真实规律的机会。

哪些地方会遇到这个问题

A/B测试: 一家电商网站同时测试15种不同的按钮颜色、标题和页面布局。即使它们都不会真正影响销量,按概率计算,仍有百分之五十四的可能性,至少有一项看起来“具有统计显著性”。这会让团队浪费资源,去实施那些测试时看似有希望、实际上却不起作用的改动。

医学研究: 全基因组关联研究会扫描一百多万个遗传变异,寻找它们与疾病的关联。如果不做校正,就会报告数以万计的虚假关联。这个领域会使用邦费罗尼校正、错误发现率控制等严格的校正方法来应对这个问题。

营养科学: 研究人员分析饮食调查数据时,可能会检验数百种食物与几十种健康结果之间的关联。xkcd漫画中那则广为人知的“绿色糖豆会导致痘痘”的结果就说明了这一点:检验20种颜色,就会有一种碰巧显示出关联。这也是你会看到营养新闻标题相互矛盾的原因:这周说咖啡致癌,下周又说它能防癌。

实用的解决方法

调整阈值: 邦费罗尼校正会把显著性阈值除以检验次数。如果做20次比较,就要把原来的百分之五改为百分之零点二五。这种方法比较保守,但很简单。

控制错误发现率: 本杰明尼—霍赫伯格程序不以消除所有假阳性为目标,而是限制你的发现中假发现所占的比例。它没那么保守,在探索性研究中应用广泛。

提前规划,减少检验: 在查看数据之前,先决定哪些比较最重要。预注册你的分析计划,避免不断在数据里“捞”,直到找到某个结果。做A/B测试时,安排一个主要检验和少量事先计划好的次要检验,而不是把能想到的都测一遍。

研究依据

研究依据

多重比较问题指的是:随着假设检验次数增加,至少出现一次第一类错误(假阳性)的概率也会上升。如果在显著性水平 alpha 下进行 m 次相互独立的检验,族错误率(这一组检验中至少出现一次假阳性的概率)等于 1 - (1 - alpha)^m,并随着 m 增大而趋近于1。这意味着,如果不做校正,只要检验足够多,虚假发现就会变得不可避免。

  • Ioannidis(2005): 论证了在大多数研究设计和情境下,一项研究发现为假的可能性高于为真的可能性。研究设计、定义、结果指标和分析方式上的灵活性会带来偏差,进而增加假阳性。 [1]

  • Benjamini和Hochberg(1995): 提出了错误发现率(FDR),作为一种比控制族错误率更宽松的方法,让研究人员在控制假发现所占比例的期望值的同时,筛选出可供后续验证的候选阳性结果。 [2]

  • Miller(1981): 奠定了同时统计推断的理论基础,梳理了多重比较方法如何从20世纪50年代Tukey、Scheffe等人的工作发展而来,以应对第一类错误率上升的问题。 [3]

  • Noble(2009): 阐明了在大规模检验中,例如涉及数百万次比较的基因组学研究,控制族错误率可能过于严格。因此,对于能够再次检验研究发现的探索性研究,控制错误发现率成为更受青睐的方法。 [4]

适用局限

适用局限

并非所有情况都需要做多重检验校正。如果在收集数据之前,你就有强有力的先验证据支持某些具体假设,可以将它们作为验证性检验,而不做校正。这个问题主要影响的是探索性分析,也就是在没有预先明确预期的情况下寻找规律。

有些校正方法过于保守。邦费罗尼方法可能让你几乎无法检出真实但微小的效应,尤其是在进行数百次检验时。这会导致第二类错误(假阴性),也就是漏掉真实发现。本杰明尼—霍赫伯格等控制错误发现率的方法提供了一种实用的折中方案。

实际中的检验很少彼此独立。大多数现实数据集中的变量都存在相关性,简单公式无法充分反映这一点。不过,假定检验相互独立的校正方法仍往往偏保守:它们可能校正过度,但不会校正不足。

参考来源

参考来源

试一试

检验你的理解

一位数据科学家针对不同的网站功能,做了50次相互独立的A/B测试,每次都使用5%的显著性阈值。即使这些功能全都没有实际效果,至少有一次测试出现“显著”结果的概率大约是多少?

查看文章解释

答案: 约92%

如果做50次相互独立的检验,每次的显著性阈值都是5%,那么至少出现一个假阳性的概率为 1 - (0.95)^50 ≈ 0.92,也就是92%。这正是多重比较问题的体现:检验越多,仅凭偶然得到显著结果的概率就越高,而且会大幅上升。邦费罗尼校正会将每次检验的显著性阈值设为 0.05/50 = 0.1%,以应对这个问题。

一个研究团队检验了200种不同食物与癌症风险的关联,使用常规的5%显著性阈值,没有做校正。他们发现10种食物存在“显著”关联。最合理的解读是什么?

查看文章解释

答案: 仅凭偶然,平均就会有约10种食物出现显著关联;这些发现需要重复验证

在5%的显著性阈值下做200次检验,平均会仅凭偶然出现 200 × 0.05 = 10 个假阳性。他们恰好发现了10个“显著”结果,这提示这些结果可能全是假阳性。如果没有多重检验校正,例如邦费罗尼校正或错误发现率控制,也没有独立的重复验证,我们就无法区分真实效应和偶然结果。这也是营养新闻标题经常相互矛盾的原因。

以下哪种情境最能体现多重比较问题实际造成了不良后果?

查看文章解释

答案: 一家公司同时做了20次A/B测试,并根据其中一个显著结果上线了网站改动

在5%的显著性阈值下同时做20次检验,即使所有改动都没有帮助,至少出现一个假阳性的概率也有64%。根据这一个“显著”结果做决定,很可能意味着实施了一项无效甚至有害的改动,还浪费了资源。多重比较问题意味着,你做的检验越多,解读单个结果时就越要谨慎,尤其是在据此做现实决策时。

继续探索

为眼前的选择,再找一个有用的想法。

Reframo 的全部已发布文章均可免费阅读。准备好后,随时继续探索。