资讯

二项检验是什么?检验成功次数是否符合假设的概率

2026-11-053 分钟阅读百科
TL;DR二项检验(Binomial Test)是基于二项分布的精确假设检验,用于判断 n 次独立试验中观察到的成功次数是否与假设的成功概率相符;在机器学习中可用来检验模型错误率是否不高于某值,McNemar 检验也可视为对两个模型不一致样本的二项检验。

二项检验(Binomial Test)是一种统计假设检验方法,用来判断在多次独立的“成功或失败”试验中,观察到的成功次数是否与某个假设的成功概率相符。它直接基于二项分布进行计算,不需要做近似,因此是一种精确检验。

一个例子

假设有人声称一枚硬币是均匀的,正面朝上的概率是一半。你抛了 20 次,结果有 16 次正面。这枚硬币真的是均匀的吗?二项检验的思路是:先假设硬币是均匀的(这是原假设),然后计算在这个假设下,抛 20 次得到 16 次或更多次正面的概率有多大。根据二项分布可以算出,这个概率大约是 0.6%(如果是双侧检验,还要加上 4 次或更少的概率,约 1.2%)。这个概率非常小,说明如果硬币真是均匀的,几乎不太可能出现这样的结果,于是我们有理由拒绝原假设,认为这枚硬币可能并不均匀。

二项分布

二项检验的基础是二项分布:如果进行 n 次相互独立的试验,每次成功的概率都是 p,那么成功次数恰好为 k 的概率,等于从 n 次中选出 k 次的组合数,乘以 p 的 k 次方,再乘以 1 减 p 的 n 减 k 次方。二项检验就是利用这个公式,精确地计算出观察到的结果或更极端结果出现的概率,也就是 p 值。当 n 很大时,二项分布接近正态分布,也可以用正态近似来简化计算,但二项检验在样本量较小时仍然准确。

在机器学习中的应用

检验模型的错误率:周志华《机器学习》在“比较检验”一节中介绍了用二项检验来判断模型的泛化错误率。假设模型在 m 个测试样本上错了若干个,我们想知道它的真实错误率是否不超过某个值,比如 0.3。在“真实错误率为 0.3”的假设下,测试中出错的次数服从二项分布,于是可以计算在这个假设下,观察到当前这么多错误或更多错误的概率。如果概率很小,就可以认为真实错误率大于 0.3;否则,就可以在一定的置信度下认为错误率不超过 0.3。这比只看一个测试错误率数字更加严谨,因为测试集有限,测试错误率本身会有随机波动。

比较两个模型:McNemar 检验是比较两个分类器在同一测试集上表现的常用方法。它只关注两个模型判断不一致的那些样本:一个对另一个错的有多少,反过来又有多少。如果两个模型水平相当,这两类样本的数量应该大致相等,各占一半。这实际上就是对不一致样本进行的一次二项检验,在样本较多时常用卡方近似。

A/B 测试:比较新旧两个版本网页的转化率、点击率等“是或否”的指标时,也会用到二项分布及其相关的检验。

使用的前提

二项检验要求各次试验相互独立,并且每次成功的概率相同。如果测试样本之间存在关联,比如同一个用户的多次行为、同一张图片的多个裁剪,这个前提就不成立,检验的结果可能不可靠。此外,统计上显著并不代表差异在实际中有意义,还需要结合差异的大小来判断。