什么是Barnard精确检验?它的适用条件及与Fisher检验的区别

Barnard精确检验是什么?本文详细介绍Barnard精确检验的原理、适用条件、计算方法,并比较Barnard与Fisher精确检验的区别,同时介绍R、Python和SAS中的操作方法。

更新于2026年8月18日

什么是Barnard精确检验?它的适用条件及与Fisher检验的区别

在医学、生物学和临床研究中,我们经常需要比较两个独立组的二分类结局。例如,一项临床试验比较新药和安慰剂的治疗有效率,样本量较小时,研究者可能会得到类似“治疗组 8 人有效、2 人无效;对照组 3 人有效、7 人无效”的数据。

这类数据通常可以整理成一个 2×2 列联表。样本量较大时,研究者可以考虑 Pearson 卡方检验(Pearson’s chi-square test);但当样本量较小、期望频数较低时,传统的卡方近似可能不再可靠,因此 Fisher 精确检验(Fisher’s exact test)经常成为常见选择。

不过,Fisher 精确检验并不是小样本 2×2 数据唯一的精确方法。Barnard 精确检验(Barnard’s exact test)也是一种专门用于比较两个独立二项比例的精确检验,而且与 Fisher 检验采用了不同的统计推断框架。在满足特定研究设计条件时,Barnard 检验可以避免固定两个边际分布所带来的信息损失,并在一些情况下获得更高的检验效能。

那么,Barnard 精确检验究竟是什么?它与大家更熟悉的 Fisher 精确检验有什么区别?什么情况下应该使用 Barnard 检验?本文aje将从原理、适用条件、实际案例和软件操作等方面进行系统介绍。

什么是Barnard精确检验?

Barnard 精确检验是一种用于 2×2 列联表的无条件精确检验,主要用于比较两个独立样本的二项比例。

假设我们有两个独立研究组:

Barnard精确检验示例

研究者通常希望回答的问题是:

两个研究组的事件发生率是否存在统计学上的显著差异?

例如,临床试验中可以比较:

  • 新药组 vs 对照组的治疗有效率;
  • 暴露组 vs 非暴露组的疾病发生率;
  • 干预组 vs 对照组的不良事件发生率;
  • 两种诊断方法下阳性结果的比例。

Barnard 检验的原假设通常是两个总体比例相等:

H₀:p₁ = p₂

备择假设可以根据研究问题设置为:

H₁:p₁ ≠ p₂(双侧检验)

或者:

H₁:p₁ > p₂ / p₁ < p₂(单侧检验)。

与 Fisher 精确检验最大的区别在于,Barnard 检验属于“无条件”方法。它不会像 Fisher 检验那样同时固定 2×2 列联表的行边际和列边际,而是在给定一组样本量的情况下,对原假设中的未知共同概率进行处理,并寻找最不利情况下的 P 值。

这也是理解 Barnard 检验的关键:Fisher 检验是 conditional exact test(条件精确检验),Barnard 检验则是 unconditional exact test(无条件精确检验)。

Barnard精确检验的历史

Barnard 精确检验最早可以追溯到英国统计学家 George Alfred Barnard。1945 年,Barnard 在《Nature》发表了题为“A New Test for 2 × 2 Tables”的论文,提出了一种针对 2×2 列联表的新型检验方法。随后,他在 1947 年发表了更加系统的论文“Significance Tests for 2×2 Tables”,进一步阐述了这一方法。

Barnard 提出这一方法的重要背景之一,就是对 Fisher 精确检验的统计框架提出质疑。Fisher 检验通过条件化处理固定的行、列边际,从而得到一个非常漂亮的精确分布,但这种条件化也意味着部分样本信息没有被利用。

Barnard 的思路则不同:如果研究设计实际上只固定了每个组的样本量,而不是固定结局的总数,那么就没有必要人为固定所有边际。利用这些额外的信息,有可能提高检验效能。

因此,Barnard 检验并不是简单地对 Fisher 检验进行计算上的修改,而是代表了两种不同的统计推断思想。随着计算机计算能力的提升,过去限制 Barnard 检验应用的计算复杂性已经明显降低。目前,R、Python SciPy 和 SAS 等统计软件或程序包都已经提供了相应的实现。

Barnard精确检验的核心原理

理解 Barnard 检验,可以先从 Fisher 精确检验与它的区别入手。

对于一个 2×2 列联表,Fisher 精确检验会将行边际和列边际视为固定,然后在满足这些边际条件的所有可能列联表中计算概率。因此,它本质上是一种条件精确推断(conditional exact inference)

Barnard 检验则不固定两个边际。假设两个组的样本量分别为 n₁ 和 n₂,在原假设 p₁=p₂=p 下,每个组的成功人数分别服从相应的二项分布。由于共同成功概率 p 是未知的,因此 p 就成为所谓的干扰参数(nuisance parameter)

Barnard 检验会考虑不同可能的 p 值,并计算在该参数下观察到当前结果或更极端结果的概率。最终,将不同 p 下得到的概率进行最大化,从而获得一个对原假设较为保守的 P 值。现代实现通常通过数值方法搜索这一干扰参数。

以常见的 pooled score statistic 为例,其统计量可以表示为:

[
T(X)=\frac{\hat p_1-\hat p_2}
{\sqrt{\hat p(1-\hat p)(1/n_1+1/n_2)}}
]

其中,(\hat p_1) 和 (\hat p_2) 分别为两个研究组的观察比例,(\hat p) 是在原假设两个比例相等条件下得到的合并比例。

Barnard 检验随后寻找所有达到或超过观察统计量的列联表,并计算这些表出现的概率,再针对未知的共同概率进行最大化处理。

需要注意的是,Barnard 检验并不是只有一种具体计算形式。不同软件可能采用不同的检验统计量或双侧 P 值定义。例如,R 的相关程序包支持 pooled 和 unpooled Z 统计量,也提供 Barnard 原始的 CSM(Convexity, Symmetry, Minimization)方法。因此,不同软件对同一数据给出的 Barnard P 值可能出现轻微差异,研究者在论文中应明确报告所采用的方法。

Barnard精确检验的适用条件

Barnard 检验虽然属于精确检验,但这并不意味着任何 2×2 数据都适合使用。正确判断研究设计,是选择统计方法的第一步。

数据必须是2×2分类数据

Barnard 检验主要用于 2×2 列联表,并比较两个独立组的二分类结局。例如:

Barnard精确检验的适用条件示例

这里的“治疗组”具有两个水平,“疗效”也具有两个水平,因此形成标准的 2×2 表。

Barnard 检验特别适合研究者关心“两组比例是否不同”的场景,而不是用于连续变量均值比较或多个分类水平之间的复杂关联分析。

两组样本必须相互独立

Barnard 检验针对的是两个独立样本的二项比例,因此两个研究组之间应当相互独立。

例如:

  • 新药组和对照组由不同患者组成;
  • 暴露组和未暴露组由不同受试者组成;
  • 两种独立实验条件下获得的样本互不重复。

如果同一批患者接受治疗前和治疗后的比较,这属于配对数据,就不应该直接使用 Barnard 检验,而应考虑 McNemar 检验等配对方法。

研究设计应明确每组样本量

Barnard 检验的典型应用场景是两个独立二项样本,即每个组的样本量是研究设计确定的,而结局发生人数是随机观察得到的。

这与 Fisher 精确检验的重要区别之一,就是 Barnard 检验不需要同时将两个边际分布都视为固定。对于典型的两组平行设计临床试验,这种无条件框架通常更符合实际研究过程。

小样本或稀疏数据尤其值得考虑

Barnard 检验属于精确检验,因此不依赖传统卡方检验的大样本渐近近似。在样本量较小、某些单元格频数较低的 2×2 表中,它可以作为 Pearson 卡方检验的重要替代方法。

不过,“样本量小”并不意味着一定要使用 Barnard 检验。Fisher 精确检验同样适用于这种情况,最终应该结合研究设计、目标参数以及软件可用性进行判断。

Barnard精确检验和Fisher精确检验有什么区别?

这是科研人员最容易遇到的一个问题。

二者都可以用于 2×2 小样本数据,也都属于精确检验,但核心思想并不相同。

Barnard精确检验和Fisher精确检验的区别

Fisher 检验之所以应用如此广泛,很大程度上是因为它计算明确、解释直观,并且几乎所有主流统计软件都支持。

Barnard 检验的优势则在于它不需要对两个边际同时进行条件化,因此在某些研究设计和样本结构下能够利用更多信息。已有统计研究和软件文档通常认为,Barnard 检验在很多 2×2 场景下能够获得比 Fisher 检验更高的 power,但这并不意味着任何情况下 Barnard 都一定优于 Fisher。具体结果还会受到样本量平衡、效应大小、双侧 P 值定义和所采用统计量等因素影响。

因此,在论文中不建议简单写成“Barnard 比 Fisher 更好”。更准确的表达应该是:Barnard 精确检验在某些 2×2 独立样本场景下具有更高的检验效能,因此可以作为 Fisher 精确检验的替代方法。

一个实际例子:Barnard检验如何判断两组比例差异?

假设一项小型临床研究比较新药与对照治疗的有效率,结果如下:

Barnard检验如何判断两组比例差异示例

新药组有效率为:

[
8/10=80%
]

对照组有效率为:

[
3/10=30%
]

从描述性统计来看,两组相差 50 个百分点。

如果采用 Fisher 精确检验,双侧 P 值约为 0.070;采用 SciPy 当前实现的双侧 Barnard 精确检验,则 P 值约为 0.033。这说明在这个示例数据中,两种精确检验可能给出不同的统计结论。

需要特别强调,这并不意味着研究者应该“挑选 P 值更小的方法”。恰恰相反,统计方法应在分析前根据研究设计和统计分析计划确定,而不能看到 Fisher 不显著后再改用 Barnard 以追求 P<0.05。

如果研究事先规定采用 Barnard 检验,那么可以按照预先设定的方法报告结果;如果研究没有预先规定,则应解释为什么选择 Barnard,并避免将不同检验结果进行选择性报告。

此外,P 值只能回答统计学显著性问题。对于这个例子,研究者还应该报告两组有效率、风险差(risk difference)、相对风险(risk ratio)或其他适合的效应量及其置信区间,从而说明差异到底有多大,而不仅仅是“P<0.05”。

Barnard精确检验怎么做?

目前进行 Barnard 精确检验主要有 R、Python 和 SAS 等途径。

使用Python进行Barnard精确检验

较新的 SciPy 版本提供了 scipy.stats.barnard_exact() 函数,可以直接对 2×2 列联表进行 Barnard 精确检验。

基本代码为:

from scipy.stats import barnard_exact

table = [[8, 2],
[3, 7]]

result = barnard_exact(table, alternative='two-sided')

print(result.statistic)
print(result.pvalue)

其中,alternative='two-sided' 表示进行双侧检验,也可以根据研究假设设置为 less 或 greater。

SciPy 文档还提供了 pooled=True/False 参数,用于选择合并方差或非合并方差的统计量。对于正式科研分析,研究者应该在分析方案中提前确定所采用的统计量,而不是为了得到某个 P 值而尝试不同设置。

使用R进行Barnard精确检验

R 生态中也已经有专门用于无条件精确检验的程序包。例如 CRAN 的 Barnard 包提供 barnard.test() 函数,可以针对 2×2 列联表执行 Barnard 检验。

library(Barnard)

barnard.test(8, 2, 3, 7)

此外,R 的 Exact 程序包还支持 Barnard、Boschloo 等无条件精确检验,并允许研究者指定不同的统计量和检验方式。

使用SAS进行Barnard精确检验

SAS/STAT 的 PROC FREQ 也提供 Barnard 检验。官方文档显示,可以通过 EXACT 语句中的 BARNARD 选项请求针对 2×2 表的 Barnard 无条件精确检验。

这对于临床研究和医学统计分析尤其有价值,因为 SAS 在临床试验数据分析中具有较为广泛的应用。

如何在论文中报告Barnard精确检验?

如果在 SCI 论文中使用 Barnard 精确检验,建议不要只报告一个 P 值,而应该让读者清楚知道为什么使用该方法、比较的是什么以及采用了哪一种具体实现。

例如,可以在 Methods 中写:

Because of the small sample size, Barnard’s unconditional exact test was used to compare the proportions between the two independent groups.

如果采用的是特定统计量,还可以进一步说明:

Barnard’s unconditional exact test with the pooled score statistic was used to compare the proportions between the two independent groups.

Results 中则可以报告两组的原始数据和比例,例如:

The response rate was 80% (8/10) in the treatment group and 30% (3/10) in the control group. Barnard’s unconditional exact test showed a statistically significant difference between the two groups (two-sided P = 0.033).

如果研究条件允许,更推荐同时报告效应量及其置信区间,例如风险差:

The response rate was 80% (8/10) in the treatment group and 30% (3/10) in the control group, corresponding to a risk difference of 50 percentage points.

需要注意,不同期刊对于精确检验的报告要求可能不同。如果研究属于临床试验,最好同时遵循研究方案、统计分析计划(Statistical Analysis Plan, SAP)以及目标期刊的统计报告规范。

Barnard精确检验的优势与局限

Barnard 精确检验最突出的优势,是它避免了 Fisher 精确检验中同时固定两个边际所带来的限制。对于两个独立二项样本,它直接围绕两个比例之间的差异进行推断,在某些情况下可以获得更高的统计效能。

第二个优势是它属于精确检验,因此特别适合小样本 2×2 数据。当传统卡方检验的期望频数过低时,Barnard 可以提供一种不依赖大样本卡方近似的替代方案。

但 Barnard 检验也存在明显局限。

首先,它的计算过程比 Fisher 检验更加复杂。由于需要处理未知的干扰参数并进行数值搜索,传统统计软件对它的支持一直不如 Fisher 检验广泛。

其次,“Barnard 更有 power”不能被理解为“任何情况下都应该使用 Barnard”。不同 Barnard 实现可能采用不同的统计量和双侧 P 值定义,因此不同软件的结果可能存在差异。研究者必须明确分析方法,而不能把 Barnard 当成一个完全唯一、只有一个固定算法的检验。

最后,Barnard 检验仍然主要针对 2×2 独立样本。如果数据是配对数据、重复测量数据、聚类数据,或者研究者需要同时调整年龄、性别、基线疾病等混杂因素,那么单纯使用 Barnard 检验通常并不是最佳方案,此时应考虑 McNemar 检验、logistic 回归、广义线性模型(GLM)或其他适合研究设计的方法。

实际科研中什么时候应该考虑Barnard检验?

在实际科研工作中,可以把 Barnard 检验理解为“小样本 2×2 独立比例比较”的一个高级备选方案。

如果数据来自两个独立研究组,每组样本量在研究设计阶段已经确定,结局为二分类,而且样本量较小或存在低频单元格,那么首先应该意识到传统 Pearson 卡方检验可能存在渐近近似问题。

此时可以考虑 Fisher 精确检验,也可以根据研究设计和统计分析计划考虑 Barnard 精确检验。如果研究特别关注检验效能,且使用的软件能够稳定实现 Barnard 方法,那么 Barnard 值得纳入统计分析方案。

简单来说,可以按照下面的思路进行判断:

2×2 + 两个独立样本 + 二分类结局 + 小样本 → 考虑精确检验;如果希望采用无条件框架并提高潜在检验效能 → 可以考虑 Barnard。

而如果是:

配对数据 → McNemar 检验;

需要控制多个混杂因素 → logistic 回归等模型;

超过2×2的大型列联表 → 根据数据结构考虑卡方检验、Fisher-Freeman-Halton 精确方法或 Monte Carlo 方法等。

因此,Barnard 检验并不是 Fisher 检验的简单“升级版”,而是针对特定研究设计提供的另一种统计推断框架。

最后

Barnard 精确检验是一种针对 2×2 列联表的无条件精确检验,主要用于比较两个独立样本的二分类比例。与更为常见的 Fisher 精确检验相比,它最大的区别在于不同时固定两个边际,而是通过处理未知的干扰参数来获得精确的 P 值。

对于小样本研究而言,Barnard 检验提供了一个值得关注的统计工具。尤其是在两个独立二项样本的比较中,它在某些情况下能够获得比 Fisher 检验更高的检验效能。不过,这并不意味着 Barnard 检验可以无条件替代 Fisher 检验,更不能为了获得显著的 P 值而在不同检验之间随意选择。

科研统计分析真正重要的,并不是找到一个“P 值更小”的方法,而是根据研究设计、数据结构、效应量和预先设定的统计分析方案选择合理的方法。对于 2×2 小样本数据,理解 Fisher 与 Barnard 两种精确检验背后的统计思想,比简单记住某一个软件按钮更加重要。

撰稿人
标签
统计分析
目录
订阅邮件
订阅我们的邮箱后可提前获得AJE作者资源的文章,享受AJE服务的折扣,以及更多的优惠

查看 "隐私协议"

影响因子排名前100的期刊,有65本推荐AJE论文润色!

我们的编辑团队全部来自美国,他们有科研背景且熟知您所在领域的专业问题和专业用语。