使用 Fisher 精确检验与 Logistic 回归有什么区别2 × 22×2表?

机器算法验证 回归 物流 推理 列联表 渔民精确测试
2022-03-08 23:58:47

对于表,对表进行推断的两种方法是通过 Fisher 精确检验和 Logistic 回归。2×2

有人告诉我,使用 Fisher 精确检验,我们只对关联的存在感兴趣。但是对于逻辑回归,我们对关联的大小感兴趣。

但是,我不明白为什么。例如,在 R 中完成的 Fisher 精确检验中,它返回带有置信区间的 Odds Ratio,而使用 Logistic 回归,我们返回截距和斜率,这两者都对应于对数赔率和对数赔率比率。

我的问题是,逻辑回归在哪里给了我们关联的大小?我假设它在系数中,但这只是对数优势比,Fisher 的精确检验也产生了它有什么区别?β1

1个回答

我不确定您所说的“逻辑回归给我们关联的大小”是什么意思,因为正如您所说,费希尔的精确检验做了非常相似的事情。但是,我仍然可以想到一些差异。

1.优势比(OR)可能不同

报告的 OR 不必相同。至少对于 R 函数 fisher.test() 和 exact2x2() 与通过 glm() 函数的逻辑回归相比,这是正确的。这里有一个例子:

# generating data
set.seed(1)
n <- 200
x <- rbinom(n, 1, .5)
y <- rbinom(n, 1, .4)
df <- data.frame(x, y)

# OR from logistic regression
exp(coef(glm(y ~ x,family=binomial(link='logit'),data= df)))[2]
1.423077

# OR from fisher's exact test
tab <- table(x, y)
fisher.test(tab)$estimate
1.420543 # the methods "minlike", "central" and "blaker" in the exact2x2 function result in the same OR

# calculating OR by hand
(tab[1,1]/ tab[2,1])/ (tab[1,2]/ tab[2,2])
1.423077

Fisher 精确检验的 OR 与手动计算或逻辑回归中报告的 OR 不同,因为它们是通过条件最大似然估计而不是通过无条件 MLE(样本 OR)计算的。可能存在 OR 值比我的示例中的差异更大的情况。再一次,OR 对所提到的功能有所不同,但如果它们相同,则可能存在其他测试变体。

2. p 值不同

当然,p 值是不同的,因为在逻辑回归的情况下,它们是由Wald 统计量和 az 值确定的,而不同类型的精确 Fisher 检验甚至在它们之间的 p 值也不同(最后一个链接打开 pdf)。之前使用的数据见这里:

# p value from logistic regression
summary(glm(y ~ x,family=binomial(link='logit'),data= df))$coefficients["x", "Pr(>|z|)"]
0.2457947

# p value from fisher's exact test
library(exact2x2) # package covers different exact fisher's tests, see here https://cran.r-project.org/web/packages/exact2x2/index.html

exact2x2(tab,tsmethod="central")$p.value
0.3116818
exact2x2(tab,tsmethod="minlike")$p.value
0.290994 # which is same as fisher.test(tab)$p.value and exact2x2(tab,tsmethod="blaker")$p.value

在所有情况下,人们都会得出结论,没有显着影响。但是,正如您所看到的,差异并非微不足道(逻辑回归为 0.246,而精确费希尔检验为 0.291 甚至 0.312)。因此,取决于您使用的是逻辑回归还是费希尔精确检验,您可能会得出另一个结论,无论是否存在显着影响。

3. 做出预测

打个比方:Pearson 相关和线性回归在双变量情况下非常相似,标准化回归系数甚至与 Pearson 相关 r 相同。但是您无法通过相关性进行预测,因为它缺少截距。同样,即使逻辑回归和 Fisher 精确检验的优势比相同(第 1 点中讨论的情况并非如此),您也无法使用 Fisher 精确检验的结果进行预测。另一方面,逻辑回归为您提供了进行预测所需的截距和系数。

4. 性能

前面提到的差异可能导致假设两种测试的性能在功率和 I 类错误方面应该存在差异。有一些消息来源指出,费舍尔的精确检验过于保守。另一方面,应该记住标准逻辑回归分析是渐近的,因此在观察很少的情况下,您可能更喜欢 Fisher 精确检验

综上所述,虽然这两种测试都可以用于相同的数据,但存在一些差异会导致不同的结果,从而得出不同的结论。因此,这取决于您要使用两种测试中的哪一种 - 在预测的情况下,它将是逻辑回归,在样本量较小的情况下,Fisher 的精确测试,等等。可能还有更多我遗漏的差异,但也许有人可以编辑和添加它们。