Fisher是英國統計與遺傳學家,現代統計科學的奠基人之一,並對達爾文進化論作了進一步工作。安德斯·哈爾德稱他是「一位幾乎獨自建立現代統計科學的天才」,幾乎現在經典的統計方法都有他的貢獻。Fisher精確檢驗便是以他的名字命名的統計方法,這個統計方法也和他本人一樣牛,可以將所有R×C列表的精確概率計算出來。但在應用Fisher精確檢驗時常有比較嚴格的條件,為什麼要設定這些條件呢?另外Fisher精確檢驗沒有卡方值,它是怎麼得到p值的呢,這需要從其計算過程說起。
Fisher精確檢驗的計算原理如下:
首先保持求和的數字(n1+n2,n3+n4,n1+n3,n2+n4)不變的情況下,變換n1、n2、n3、n4四個數字,會出現多種組合。如
Column1
Column1
Column total
Row1
0
3
3
Row2
4
3
7
Row total
4
6
10
上表變換會有以下4種組合
每種組合的概率可以求出來,公式如下:
以上四種組合的概率分別為0.167,0.5,0.3,0.033,各組合概率和為1。我們需要的Fisher精確檢驗的p值(雙側)為小於等於當前組合(組合1)的概率之和。由於當前組合(組合1)的概率為0.167,Fisher精確檢驗的p=0.167+0.033=0.2.
由以上計算過程可見,Fisher精確檢驗直接將概率求和得到p,而不是根據卡方值和自由度查表得到的,因此Fisher精確檢驗不提供卡方值。其次上述計算過程的計算量非常大,當樣本稍大時,組合數會成倍成長,同時每個組合的概率計算需要大量階乘計算,這在計算機出現之前,進行大樣本的Fisher精確檢驗是不可能的。因此在早期只有在小樣本時才使用Fisher精確檢驗,這個條件就是樣本量小於40或者某個格子的期望數小於1。
當然,話說回來,現在計算機的計算能力有了較大發展,是不是可以用Fisher精確檢驗代替pearson卡方檢驗呢?這個問題可能大家有不同的看法,一方面我個人並不支持這種替代,因本較大樣本時,pearson卡方檢驗結果非常接近Fisher精確檢驗的結果,但pearson卡方檢驗計算非常簡單,手工即可完成,使用較方便;另外一方面,個人覺得可適當放寬Fisher精確檢驗的條件,如果期望值在1-5之間或者高於40但不太大時,使用了Fisher精確檢驗也不用認為有錯誤。