顯著性檢驗可以告訴我們某個觀測值是否有效,,例如檢測兩組樣本均值差異的假設檢驗可以告訴我們這兩組樣本的均值是否相等。由於一些因素的限制,我們一般得到的樣本都是小樣本,而我們想知道總體樣本的分布,這時就需要置換檢驗。
下面通過一個簡單例子來介紹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結果能代表擬南芥小樣本實驗的抽樣總體情況。
permutation test
如上圖所示,我們的觀測值 Sobs=14 在抽樣總體右尾附近,說明在零假設條件下這個數值是很少出現的。在permutation得到的抽樣總體中大於14的數值有9個,所以估計的P-value是9/999=0.01
最后還可以進一步精確P-value結果(做一個抽樣總體校正),在抽樣總體中加入一個遠大於觀測值 Sobs=14的樣本,最終的P-value=(9+1)/(999+1)=0.01。(為什么這樣做是一個校正呢?自己思考:))
P<0.05,結果表明我們的原假設不成立,加入生長素起到了促使擬南芥的根系發育的作用。
