单边 Fisher 精确检验及其补集

机器算法验证 假设检验 列联表 渔民精确测试 非自卑
2022-04-08 07:32:53

如果对 A 不优于 B 的原假设进行单边 Fisher 精确检验的 p 值为 0.98,那么对于 B 不优于 A 的原假设的 Fisher 精确检验 p 值是否为1-0.98 = 0.02?

问题来自nejm.org/doi/full/10.1056/NEJMoa1100403上的论文,其中主要结果的单侧 p 值为 0.98,但是当我用单侧 FET 计算 P 值时,我得到了p 值为 0.09。因此,想知道为什么“其他”单侧 FET 的 p 值不会为 1-0.09 = 0.91(而不是 0.98)。希望能帮助我知道我哪里出错了。

用于生成 p 值 0.09 的 Stata 命令是:

 csi  2  7 2850 2854 , exact

                 |   Exposed   Unexposed  |      Total
-----------------+------------------------+------------
           Cases |         2           7  |          9
        Noncases |      2850        2854  |       5704
-----------------+------------------------+------------
           Total |      2852        2861  |       5713
                 |                        |
            Risk |  .0007013    .0024467  |   .0015754
                 |                        |
                 |      Point estimate    |    [95% Conf. Interval]
                 |------------------------+------------------------
 Risk difference |        -.0017454       |   -.0037999    .0003091 
      Risk ratio |         .2866159       |    .0595926    1.378504 
 Prev. frac. ex. |         .7133841       |   -.3785042    .9404074 
 Prev. frac. pop |         .3561301       |
                 +-------------------------------------------------
                                  1-sided Fisher's exact P = 0.0904
                                  2-sided Fisher's exact P = 0.1793
2个回答

特定的表有很大帮助。Fisher 精确检验使用超几何分布将概率分配给具有这些特定边际的表。在这种情况下,我们正在考虑从一个瓮(箱子)中抽出 9 个球,其中 2852 个白球(暴露)和 2861 个黑球(未暴露)。抽出的白球数即为暴露病例数。分布是:

0     1     2     3     4     5     6     7     8     9 
0.002 0.018 0.071 0.165 0.247 0.246 0.163 0.070 0.017 0.002

输出中的单边测试给出了 2 或更少的概率:

0.002 + 0.018 + 0.071 = 0.0904

另一个方向的单边检验将给出 2 或更大的概率,即 1 减去 0 或 1 的概率:

1 - (0.002 + 0.018) = 0.98

请注意,双边检验是 0、1、2、7、8 或 9 的概率,它们确实达到0.179.

因此,两个单尾检验的 p 值不会相加,因为它们每个都包含特定的观察值并且分布是离散的。

Fisher 检验的原假设是 A 与 B 相同。假设 A 和 B 各有 50 个观察值。Fisher 检验将所有 100 个观察值放在一个袋子中,摇晃它,取出 50 个,称它们为 A,然后取出剩下的 50 个并称它们为 B。计算 A - B 的平均值。重复此排列多次以获得 A - B 的平均值的分布。

由于我们的替代方案是 A 优于 B,因此如果在真实样本中 A - B 的值非常高,我们将拒绝。我们计算有多少排列大于实际样本中的排列。你说98%是。这意味着真实样本中的 A - B 非常低——只有 2% 的排列较低。

如果备择假设是 B 优于 A,那么我们假设 A - B 很小;这将有一个 0.02 的 p 值——只有 2% 的排列更小。我们可以拒绝 A 与 B 相同的空值。

但是,我告诫不要在您看到数据后形成假设,因为这会使您的测试统计数据产生偏差。