跳转到正文

Fisher 精确检验计算器

输入 2 × 2 列联表的四个计数,即可得到 Fisher 精确检验的 p 值——双侧以及两种单侧版本——同时给出样本优势比、R 中的条件最大似然优势比及其精确置信区间,以及与您的边际合计相同的每一张表格的概率。当期望计数过小、不宜使用卡方检验时,应使用此检验。免费,无需注册。

输入四个计数。重命名行(组别)和列(结果),使结果更易读。

合计
—
—
合计———

优势比比较的是第 1 行中第 1 列结果的优势与第 2 行中第 1 列结果的优势。

请在四个单元格中填入整数计数,零也可以。

如何使用 Fisher 精确检验计算器

  1. 1. 输入表格。 将各组放在行中,结果放在列中,输入四个计数,并重命名行和列,使结果读起来自然。
  2. 2. 选择备择假设。 双侧检验优势比是否不等于 1。单侧选项检验第 1 行中第 1 列结果的优势是低于(< 1)还是高于(> 1)第 2 行。
  3. 3. 设定 α 与置信水平,用于判定结论和优势比的区间。
  4. 4. 阅读并报告。 结果给出全部三个 p 值、两种优势比、精确区间、与您的边际合计相同的所有表格列表、计算过程以及一行 APA 格式结果。

精确 p 值如何求得

将单元格记为第 1 行的 a 和 b、第 2 行的 c 和 d。Fisher 检验把每一行与每一列的合计都视为固定。一旦固定,左上角计数 a 便决定整张表;在无关联的原假设下,a 服从超几何分布:P(a) = C(a + c, a) × C(b + d, b) / C(N, a + b),其中 C(n, k) 为组合数。计算器会列出 a 所能取的每一个值及其概率。

  • 单侧 p 值 累加一侧的尾部:优势比小于 1 时为 P(X ≤ a),优势比大于 1 时为 P(X ≥ a)。
  • 双侧 p 值 累加所有概率不大于您观测表格的表格的概率。这是 R 和 SciPy 采用的方法;计算器与 R 一样允许 10⁻⁷ 的相对容差,使得在精确算术中概率相等的表格不会因舍入而被区分开。
  • 取较小单侧 p 值的两倍是一种较早的捷径,当分布不对称时可能给出不同的结果。若此方法很重要,请说明您使用的是哪种双侧方法。

示例:辅导与通过率

点击试用示例载入一项小型研究:10 名接受辅导的学生中有 8 人通过、2 人未通过;6 名未接受辅导的学生中有 1 人通过、5 人未通过。共 16 名学生,四个期望计数中有三个低于 5,因此卡方近似不可靠。边际合计固定了 a + b = 10、a + c = 9 与 N = 16,因此 a 只能取 3 到 9。

Fisher 精确检验,逐步演算

P(a = 8) = C(9, 8) × C(7, 2) / C(16, 10) = 9 × 21 / 8008 = .0236

概率不大于 a = 8 的表格:a = 3(.0105)、a = 8(.0236)、a = 9(.0009)

双侧 p = .0105 + .0236 + .0009 = .0350

样本 OR = (8 × 5) / (2 × 1) = 20;条件最大似然估计 = 15.47,95% CI [1.01, 1059.64]

按 APA 格式表述:接受辅导的学生通过率(8/10)高于未接受辅导的学生(1/6),Fisher 精确检验,p = .035,OR = 15.47,95% CI [1.01, 1059.64]。区间极宽,这正是其诚实之处:仅 16 名学生,数据与从微小到极大的任何效应都相容。

两种优势比及其差异

样本优势比 ad / bc 是多数教材和 SciPy 的 fisher_exact 所报告的数值。R 的 fisher.test 则报告条件最大似然估计——即使观测值 a 成为非中心超几何分布下期望值的那个优势比——以及由同一分布构造的精确区间。两种估计在大表中很接近,在小表中则相差较大(示例中为 20 与 15.47)。报告精确区间时,应同时报告条件估计,使估计与区间来自同一模型。当某个单元格为零时,样本优势比为 0 或无穷大,而区间仍有一个有限端点。

常见问题

什么时候应该用 Fisher 精确检验代替卡方检验?
当 2 × 2 表格的期望计数较小时——常用的规则是任一期望计数低于 5。卡方检验依赖大样本近似,在此处会失效;而 Fisher 检验直接精确计算概率。计数较大时两者给出的 p 值相近,使用哪一个都可以。
Fisher 精确检验适用于大于 2 × 2 的表格吗?
该思路可以推广到 r × c 表格(Freeman–Halton 推广),但本计算器只处理 2 × 2 表格。对于计数较小的更大表格,请使用提供精确检验或蒙特卡洛检验的统计软件,或合并稀疏的类别后使用卡方检验。
为什么说 Fisher 精确检验是保守的?
因为该检验把两个边际合计都视为固定,检验统计量只能取少数几个值,因此实际的假阳性率通常低于名义 α,而不是等于它。出于这一原因,有些统计学家更偏好中点 p 值,或 Barnard 等无条件检验;不过 Fisher 检验仍是标准且被广泛接受的选择。
如何按 APA 格式报告 Fisher 精确检验?
给出每组的计数或百分比,写明检验名称,并报告 p 值以及带区间的效应量:Fisher 精确检验,p = .035,OR = 15.47,95% CI [1.01, 1059.64]。p 和 OR 用斜体;该检验没有检验统计量或自由度需要报告。
为什么我的软件给出的双侧 p 值不同?
有些程序和教材会把较小的单侧 p 值加倍,而不是把所有概率不大于您表格的表格的概率加总。R 和 SciPy 与本计算器一样采用加总方法,因此结果应当一致;若您的程序采用加倍,请将其结果与此处所示较小单侧 p 值的两倍进行比较。概率非常接近时的处理方式不同,也可能造成微小差异。
Fisher 检验给出的优势比是什么意思?
它比较第 1 行中第 1 列结果的优势与第 2 行中该结果的优势。优势比为 1 表示无关联;大于 1 表示第 1 行的优势更高;小于 1 则表示更低。由于表格较小,请始终同时阅读置信区间——它显示优势比的估计精度。

相关工具

统计计算器中的更多工具