
统计实验与显著性检验
|
105
3.9.3
费希尔精确检验
对于刚刚介绍过的打乱重排后的重抽样,卡方分布是它的一种良好近似,但当计数值非常
小(只有个位数,尤其是小于等于
5
)的时候
,卡方分布就不适用了。在这种情况下,重
抽样方法得到的
p
值更
加准确。实际上,多数统计软件中有一种过程,可以穷举出
所有
可
能发生的重新排列(置换)并列出它们频数的表格,最后精确地确定观测结果的极端程
度。这种过程就称为
费希尔精确检验
,是以伟大的统计学家
R. A.
Fisher
的名字命名的。实
现基本的费希尔精确检验的
R
代码非常简单:
> fisher.test(clicks)
Fisher's Exact Test for Count Data
data: clicks
p-value = 0.4824
alternative hypothesis: two.sided
这个
p
值与使用重抽样方法得到的
p
值非常接近。
如果一些计数值很小,而另外一些很大(例如,转换率的分母),就必须进行一次重排置
换检验,而不是完全的精确检验,因为这时很难计算出所有可能的置换。前面的
R
函数
有
几个参数可以控制是否使用这种近似(
simulate.p.value=TRUE or FALSE
)、要进行多少次
迭代(
B=...
),以及在计算上的限制条件(
workspace=...
),后者可以限制为了得到
精确
结果而进行的计算程度。
在
Python
中,没有能轻易实现费希尔精确检验的方法。
检测科学欺诈
美国塔夫茨大学研究员
Thereza Imanishi-Kari
的案件是一个有趣的例子 ...