Permutation Test 置換檢驗(轉)

Tu Cory
4 min readAug 14, 2020

--

Permutation Test 置換檢驗

顯著性檢驗通常可以告訴我們一個觀測值是否是有效的,例如檢測兩組樣本均值差異的假設檢驗可以告訴我們這兩組樣本的均值是否相等(或者那個均值更大)。我們在實驗中經常會因為各種問題(時間、經費、人力、物力)得到一些小樣本結果,如果我們想知道這些小樣本結果的總體是什麼樣子的,就需要用到置換檢驗

Permutation test 置換檢驗是Fisher於20世紀30年代提出的一種基於大量計算(computationally intensive),利用樣本資料的全(或隨機)排列,進行統計推斷的方法,因其對總體分佈自由,應用較為廣泛,特別適用於總體分佈未知的小樣本資料,以及某些難以用常規方法分析資料的假設檢驗問題。在具體使用上它和Bootstrap Methods類似,通過對樣本進行順序上的置換,重新計算統計檢驗量,構造經驗分佈,然後在此基礎上求出P-value進行推斷。

下面通過一個簡單例子來介紹Permutation test的思想。

假設我們設計了一個實驗來驗證加入某種生長素後擬南芥的側根數量會明顯增加。A組是加入某種生長素後,擬南芥的側根數量;B是不加生長素時,擬南芥的側根數量(均為假定值)。

A組側根數量(共12個數據):24 43 58 67 61 44 67 49 59 52 62 50

B組側根數量(共16個數據):42 43 65 26 33 41 19 54 42 20 17 60 37 42 55 28

我們來用假設檢驗的方法來判斷生長素是否起作用。我們的零假設為:加入的生長素不會促進擬南芥的根系發育。在這個檢驗中,若零假設成立,那麼A組資料的分佈和B組資料的分佈是一樣的,也就是服從同個分佈。

接下來構造檢驗統計量 — — A組側根數目的均值同B組側根數目的均值之差。

statistic:= mean(Xa)-mean(Xb)

對於觀測值有 Sobs:=mean(Xa)-mean(Xb)=(24+43+58+67+61+44+67+49+59+52+62+50)/12-(42+43+65+26+33+41+19+54+42+20+17+60+37+42+55+28)/16=14

我們可以通過Sobs在置換分佈(permutation distribution)中的位置來得到它的P-value。

Permutation test的具體步驟是:

1.將A、B兩組資料合併到一個集合中,從中挑選出12個作為A組的資料(X’a),剩下的作為B組的資料(X’b)。

Gourp:=24 43 58 67 61 44 67 49 59 52 62 50 42 43 65 26 33 41 19 54 42 20 17 60 37 42 55 28

挑選出 X’a:=43 17 44 62 60 26 28 61 50 43 33 19

X’b:=55 41 42 65 59 24 54 52 42 49 37 67 67 20 42 58

2.計算並記錄第一步中A組同B組的均值之差。Sper:=mean(X’a)-mean(X’b)= -7.875

3.對前兩步重複999次(重複次數越多,得到的背景分佈越”穩定“)

這樣我們得到有999個置換排列求得的999個Sper結果,這999個Sper結果能代表擬南芥小樣本實驗的抽樣總體情況。

如上圖所示,我們的觀測值 Sobs=14 在抽樣總體右尾附近,說明在零假設條件下這個數值是很少出現的。在permutation得到的抽樣總體中大於14的數值有9個,所以估計的P-value是9/999=0.01

最後還可以進一步精確P-value結果(做一個抽樣總體校正),在抽樣總體中加入一個遠大於觀測值 Sobs=14的樣本,最終的P-value=(9+1)/(999+1)=0.01。(為什麼這樣做是一個校正呢?自己思考:))結果表明我們的原假設不成立,加入生長素起到了促使擬南芥的根系發育的作用。

--

--