Permutation test

Permutation testは、2群の差を検定する際によく用いられる手法です。
2群それぞれのデータ数を固定したまま、データをランダムに入れ替えます。その結果から統計値を算出し、オリジナルの統計値と比較することで、2つの集団に差があるかどうかを検定します。
2群に差があるのならば、オリジナル統計値よりも高い値出る可能性が低いはずです。

計測した分布がどの程度有意であるかの判断に用いることも出来ます。
ブートストラップ法との違いは、データを入れ替えるだけの『非復元抽出』を行う点と、2群間の差に適用する点です。下のようなイメージになります。

Permutation test

 

〔例〕
2群の平均値の差
グループA(SNP+) 60kg 54kg 75kg 48kg 55kg
グループB(SNP-) 49kg 76kg 65kg 58kg 62kg

この2群に属する人の体重の平均値に差はあるかを調べます。
平均値は
グループA(SNP+)   60kg 54kg 75kg 48kg 55kg   →平均値:58.4kg
グループB(SNP-)   49kg 76kg 65kg 58kg 62kg   →平均値:62.0kg
平均値の差 = 3.6kg

この平均値の差が、AとBの母集団に違いがあるために得られた差であるのか偶然によるものなのかを判断するために、permutation testを行います。

まず、グループAとグループBの母集団に違いが無いと仮定すると、先ほどの平均値の差は、偶然得られた差であるということになります。
ここで、A=5、B=5のデータ数は固定して、ランダムにデータの並べ替えを行います。

—–並べ替え1回目——————————–
グループA(SNP+)   75kg 49kg 58kg 48kg 76kg   →平均値:61.2kg
グループB(SNP-)   55kg 62kg 65kg 60kg 54kg   →平均値:59.2kg
平均値の差 = 2.0kg

—–並べ替え2回目——————————–
グループA(SNP+)   58kg 65kg 49kg 76kg 55kg   →平均値:60.6kg
グループB(SNP-)   62kg 75kg 48kg 60kg 54kg   →平均値:59.8kg
平均値の差 = 0.8kg



この組合せは10C5 = 252通り存在します。
観測値である3.6kgという値が偶然生じた差であるならば、252通りの組合せの中に3.6kgよりも大きな値が頻繁に現れるはずです。
252通り全ての並べ替えを行い、観測値3.6kgよりも大きい値を取ったのは9通りであったとします。すると、偶然に3.6kg以上の差が生じてしまう可能性は9/252 = 0.0357 = 3.57%となります。
有意確率5%よりも小さな確率なので、グループAとグループBの母集団に違いがある可能性がある、と判断出来ます。

この0.0357をpermutation p-valueと言います。