p値の統合方法
p値を統合する方法は逆正規法とFisherの方法とがあります。
逆正規法によるp値の統合
まずは収集された片側p値から正規分布のパーセント点を求め,それを
zp1, zp2, zp3, zpk
とします。
Fisherの方法によるp値の統合
Fisherの方法では収集されたp値をパーセント点へと変換する必要はありませんし,扱われるp値は片側p値ではなく両側p値であることに注意してください。
☆Perlプログラム ⇒使用ファイル
#データファイルの読み込み $pathname="p.dat"; open MYFILE, "$pathname"; while (<MYFILE>) { chomp; @{"case$."} = split /\t/; } $k=$.; close MYFILE; use Statistics::Distributions; for($i=1;$i<=$k;$i++){ $p_value[$i]=@{"case$i"}[0]; $zp[$i]=Statistics::Distributions::udistr($p_value[$i]); #p値からパーセント点を求める $sum+=$zp[$i]; $sum2+=log($p_value[$i]); } $in=1/sqrt($k)*$sum; $a=Statistics::Distributions::uprob($in); $fisher=-2*$sum2; $b=Statistics::Distributions::chisqrprob(2*$k,$fisher); $c=$b/2; print "inverse normal method:\n \t$in (p=$a) \n"; print "Fisher's method:\n \t$fisher (df=2*$k, both_p=$b, one side_p=$c) \n";
☆実行例
C:\Perl>sample.pl inverse normal method: 1.7016209242273 (p=0.044413) Fisher's method: 17.7088342926937 (df=2*6, both_p=0.12482, one side_p=0.06241)
参考文献
丹後俊郎『メタ・アナリシス入門』朝倉書店 P99,100