複数の検定結果を統合する手法(1)     Last modified: May 16, 2002

 複数の検定結果を統合する手法(1)   Stouffer-method (Rosenthal, 1984)

 対象とする研究は「片側検定」である。

  1. 個々の検定結果の $P$ 値($p_{i}$) を $Z$ 値($z_{i}$) に変換する

    \[ p_i \Rightarrow z_i \] 逆の結論を与えた研究の $P$ 値を変換するときには注意(求められた $Z$ 値の符号を逆にする)

  2. $Z$ 値の合計を検定の個数($k$)の平方根で割ったもの $Z_{overall}$ は正規分布に従う

    \[ Z_{overall} = \frac{\displaystyle \sum_{i=1}^k z_i}{\sqrt{k}} \]

  3. $Z_{overall}$ から,統合された $P$ 値 $p_{overall}$ を求める

    \[ Z_{overall} \Rightarrow p_{overall} \]


 これを R で書いてみると以下のようになる。

{
p <- c(0.1662, 0.0000023, 0.04559, -0.03981) # テストデータ
z <- ifelse(p > 0, qnorm(abs(p), lower.tail=FALSE), -qnorm(abs(p), lower.tail=FALSE))
z.overall <- sum(z)/sqrt(length(p))
p.overall <- pnorm(z.overall, lower.tail=FALSE)
data.frame(p.i=p, z.i=z)
cat("z(overall) =", z.overall, "\n")
cat("p(overall) =", pnorm(z.overall, lower.tail=FALSE), "\n
}


 テストデータ p は,各研究で得られた $P$ 値(片側検定)。4番目の $-0.0398100$ は,他の研究と逆の結論を与えたもので,スクリプトの都合でそのような場合には $P$ 値に負の符号をつけて用意する(元の $0.0398100$ を $Z$ に 変換してその符号を負にすることなどと同じ意味)。  得られる結果は,

z(overall) = 2.743926 
p(overall) = 0.00303546
4  $p_{overall} = 0.003035464$ を見ることで,4つの研究成果をまとめて,「有意差あり」という結論を得る。

 さらに,「どの程度の有意な差であるか」を検討する必要がある。


参考文献

  1. Rosental, R. (1984). Meta-analytic procedures for social research.
    Beverly Hills, CA:Sage.


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI