<<目次へ


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