TapCub 正式上线:统计、分析、客服一个平台免费用
术语表

什么是错误发现率?Benjamini-Hochberg 校正详解

错误发现率是你判为显著的结果中,假阳性所占的预期比例。它和族错误率的区别、Benjamini-Hochberg 校正的完整步骤,以及和 Bonferroni 校正对比的计算示例。

苏禾 审核人 林舟 又称 FDR 最后更新 2026 年 11 月 7 日 术语表

一句话回答

错误发现率(False Discovery Rate,FDR)是所有被判为显著的结果中,假阳性所占的预期比例。Benjamini-Hochberg 校正可以控制它:同时检验很多假设时,平均而言,发现中的假阳性不超过设定比例(比如 5%)。

公式: 取最大的 i 使 p₍ᵢ₎ ≤ (i ÷ m) × q,拒绝最小的 i 个 p 值对应的假设

什么是错误发现率?

错误发现率(False Discovery Rate,FDR)是你判为显著的所有结果中,假阳性所占的预期比例。比如做了 40 个检验,判出 10 个显著;FDR 为 5%,意味着平均而言,这 10 个里大约有半个是假的。

只要同时检验很多东西,它就很重要:一次 A/B 测试里的二十个指标、拆分报表里的每一个国家、模型里的几百个特征。在 p < 0.05 下检验足够多的假设,总有一些会碰巧越线。1995 年发表的 Benjamini-Hochberg(BH)校正是控制 FDR 的标准方法。

FDR 和族错误率

族错误率(FWER)错误发现率(FDR)
控制什么出现任何一个假阳性的概率发现中假阳性的预期占比
常用方法Bonferroni:每个检验用 α ÷ mBenjamini-Hochberg
严格程度检验多时非常严自适应:发现少时更严,发现多时放宽
适合确认少数关键结论筛查大量指标、分群或特征
代价漏掉很多真实效果(第二类错误)接受少量误报

Benjamini-Hochberg 校正的步骤

设有 m 个检验,目标 FDR 水平为 q(常用 0.05):

  1. 把 p 值从小到大排序:p₍₁₎ ≤ p₍₂₎ ≤ … ≤ p₍ₘ₎。
  2. 对每个排名 i,计算阈值 (i ÷ m) × q。
  3. 找到满足 p₍ᵢ₎ ≤ (i ÷ m) × q 的最大的 i。
  4. 把这个检验以及所有 p 值比它小的检验都判为显著,即使其中有的高于自己那一行的阈值。

计算示例

示例数据:某新手引导流程的 A/B 测试报告了十个次要指标。q = 0.05,m = 10。

排名 i指标p 值BH 阈值(i ÷ 10 × 0.05)低于阈值?BH 校正后 p 值
1激活0.0010.005是0.010
2发出邀请0.0080.010是0.040
3第 7 天留存0.0120.015是0.040
4首份报表用时0.0210.020否0.053
5客服咨询0.0340.025否0.068
6文档浏览0.0480.030否0.080
7价格页浏览0.0900.035否0.129
8登录次数0.2000.040否0.250
9会话时长0.4100.045否0.456
10导出次数0.7300.050否0.730

低于阈值的最大排名是 3,所以有三个指标是「发现」。三种做法对比:

方法门槛显著的指标数
不校正(p < 0.05)每个 0.056
Benjamini-Hochberg(q = 0.05)逐级上升的阈值线3
Bonferroni(FWER 0.05)每个 0.0051

不做校正的话,「首份报表用时」「客服咨询」「文档浏览」都会被当成成果报告出去;而在十个指标里,出现一两个碰巧的结果本来就在预料之中。Bonferroni 只保留了激活,漏掉了两个很可能是真实的效果。

校正后的 p 值

很多工具不报阈值,而是报 BH 校正后的 p 值(有时叫 q 值):对排名 i,取所有 j ≥ i 的 (m ÷ j) × p₍ⱼ₎ 中的最小值,上限为 1。校正后 p 值 ≤ q,就在 FDR 为 q 时显著。上表中,三个「发现」正好就是校正后 p 值 ≤ 0.05 的那三个。

假设和局限

  • 检验之间相互独立或正相关时,BH 能控制 FDR,实际中的大多数指标组合都属于这种情况。相关结构任意时,用 Benjamini-Yekutieli 变体,它有效但更保守。
  • FDR 是多次研究的平均值,某一次的发现名单里,假阳性可能多也可能少。
  • 它解决不了中途偷看或 p 值操纵:哪些检验算在一组里,要在看结果之前决定。

什么时候用

需要筛查大量假设、并会对「发现」做后续验证时用 BH:实验的次要指标、拆分报表里的大量分群、大量特征或关键词。只要出一个错误结论代价就很大时,用 Bonferroni 这类控制族错误率的方法,比如定价决策的主要指标。无论哪种,都要事先确定一个主要指标。

FDR 和 TapCub

TapCub 提供的是拆分和对比,不输出 p 值,也不做多重比较校正。但道理同样适用:当「为什么变了」或跨几十个国家、页面的拆分标出几个异常值时,其中有些只是碰巧异常。按诊断性分析里的方法把它们当作假设;如果要正式检验,记得按你看过的数量做校正。单个检验的背景知识见 p 值。

资料来源

这个解释清楚吗?

我们会根据反馈修改和补充这篇内容。

苏禾

数据分析师

围绕流量来源、转化漏斗与用户留存写作,重视指标口径和分析过程,用具体示例解释数字背后的问题。

常见问题

常见追问

大家看完定义后最常问的几个问题。

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

FDR 和 FWER 有什么区别?

族错误率(FWER)是所有检验中出现哪怕一个假阳性的概率;错误发现率(FDR)是你判为显著的结果里假阳性的预期占比。FDR 没那么严,所以能发现更多真实的效果。

Benjamini-Hochberg 校正怎么做?

把 m 个 p 值从小到大排序,第 i 个和 (i ÷ m) × q 比较,找到最大的、仍低于这条线的 i,它和所有比它小的 p 值都判为显著。

什么时候用 BH 而不是 Bonferroni?

要检验很多假设、能接受少量误报的时候,比如筛查很多指标或很多分群。只要出一个假阳性代价就很大时,用 Bonferroni。

什么是 BH 校正后的 p 值?

按这个方法,使该结果被判为显著的最小 q 值。直接拿它和你设定的 FDR 水平(比如 0.05)比较即可。

在你自己的网站上看这个数字

加一行脚本就能开始,网站和 App 都能接,几分钟内就能看到第一批报表。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie