一句话定义:贝叶斯因子(Bayes Factor,BF)是同一批数据在两个假设下出现的可能性之比。它用来说明数据把判断推向哪一边、推动了多少,而不是只给一个“显著或不显著”的判断。
写成公式就是 BF₁₀ = P(数据 | H₁) / P(数据 | H₀)。如果算出来是 10,就表示:如果 H₁ 成立,这批数据出现的可能性,是 H₀ 成立时的 10 倍。
打个比方:案发现场留了一枚鞋印。H₁ 是“嫌疑人来过”,H₀ 是“他没来过,只是别人穿的鞋相似”。如果这枚鞋印在“来过”的世界里出现的概率,是在“没来过”的世界里的 10 倍,那么 BF = 10。它衡量的是这枚鞋印对哪个说法更有解释力,而不是鞋印本身有多罕见。
它和 p 值最大的不同:p 值只回答“假如 H₀ 为真,出现这么极端数据的概率有多大”。因此 p 值大只能叫“没能拒绝 H₀”,不能叫“支持 H₀”。BF 是对称的:BF₁₀ = 8 是数据支持 H₁ 的力度为 8 倍;BF₁₀ = 1/8 就是数据支持 H₀ 的力度为 8 倍。这样就把“证据不足,什么都说明不了”和“有中等证据说明确实没差别”区分开了,而后者在做产品和做实验时往往是真正想要的结论。
习惯上会用 Jeffreys 刻度读 BF:1–3 微弱,3–10 中等,10–30 强,30–100 很强,超过 100 极强。反过来取倒数即可。
| 概念 | 回答的问题 | 能否支持原假设 |
|---|---|---|
| p 值 | 如果 H₀ 为真,出现这么极端的数据的概率有多大? | 不能,不显著只等于“暂无证据” |
| 似然比 | 两个具体参数值下,数据可能性之比是多少? | 能,但只比较点,不比较整个假设 |
| 贝叶斯因子 | 两个完整假设下,数据的平均可能性之比是多少? | 能,可正可反,也能量化“证据不足” |
| BIC 差值 | 大样本下对 BF 的近似 | 可以,属于近似方法 |
对从业者的意义:在 A/B 测试里,跑完两周得到 p = 0.08,汇报“不显著”几乎没有信息量。这时可以算一个贝叶斯因子:如果 BF₁₀ ≈ 1.5,说明数据基本没表态,该继续加样本;如果 BF₀₁ ≈ 6,说明数据中等程度支持“新旧版本没差别”,可以考虑停掉实验、省下流量。在模型与特征比较里也是一样:与其反复看谁的值更小,不如直接问“数据更支持哪个模型,支持力度有多大”。
算 BF 要先给参数一个先验分布,再对似然做积分得到边缘似然,常用桥采样(bridge sampling)、嵌套采样(nested sampling)等数值方法,也可以用 BIC 做粗略近似;具体实现和默认先验以所用工具的文档为准。
一个必须知道的坑:BF 对先验宽度敏感。先验给得太宽(等于说“参数可能在很大范围里的任何地方”),会系统性地偏向更简单的假设,这就是 Jeffreys–Lindley 悖论。所以报 BF 时要说清用了什么先验,最好做一次敏感性分析。
一句话记住:p 值问“这数据怪不怪”,贝叶斯因子问“这数据更认同谁”。
