费舍尔精确检验#

[1]中,研究了乙酰唑胺预防急性高原反应的有效剂量。该研究尤其得出结论

每日服用 250 毫克、500 毫克和 750 毫克乙酰唑胺均可有效预防急性高原反应。乙酰唑胺 250 毫克是此适应症的最低有效剂量,有可用证据支持。

下表总结了实验结果,其中一些参与者每天服用 250 毫克乙酰唑胺,而另一些参与者服用安慰剂。

记录了急性高原反应病例:

乙酰唑胺

对照/安慰剂 V

急性高原反应

7

17

15

5

是否有证据表明 250 毫克乙酰唑胺可降低患急性高原反应的风险?

我们首先制定一个零假设 \(H_0\)

服用乙酰唑胺治疗和服用安慰剂后发生急性高原反应的几率是相同的。

让我们用费舍尔检验评估此假设的合理性。

from scipy.stats import fisher_exact
res = fisher_exact([[7, 17], [15, 5]], alternative='less')
res.statistic
0.13725490196078433
res.pvalue
0.0028841933752349743

使用 5% 的显著性水平,我们将拒绝零假设,而支持备择假设:“使用乙酰唑胺治疗发生急性高原反应的几率小于使用安慰剂发生急性高原反应的几率。”

注意#

由于费舍尔精确检验的零分布是在假设行和列总和都固定的情况下形成的,因此当应用于行总和不固定的实验时,检验结果是保守的。

在这种情况下,列总和是固定的;每组有 22 名受试者。但是在进行实验之前,急性高原反应的病例数不是(而且不可能)固定的。这是一个结果。

博世洛检验不依赖于行总和固定的假设,因此,在这种情况下,它提供了更强大的检验。

from scipy.stats import boschloo_exact
res = boschloo_exact([[7, 17], [15, 5]], alternative='less')
res.statistic
0.0028841933752349743
res.pvalue
0.0015141406667567101

我们验证 p 值小于 fisher_exact 的 p 值。

参考文献#