野次馬エンジニア道

野次馬な気持ちでプログラミングをあれこれと綴ります

仮説検定 - p値・検出力

推定を一通りやったので。次は検定について見てみる。

早速p値の意味でつまづく。。。

p値

帰無仮説 (null hypothesis)

帰無仮説が棄却されることを消極的に期待して、棄却された途端に対立仮説が正しいとする、この流れが二重否定になっているのがわかりにくい。

有意確率 (p-value)

p値とも呼ばれる。帰無仮説が正しいときに、検定統計量が観測された値と同じがそれ以上に極端な値をとる確率。 限りなく0に近い場合もあるが、決して0にならない。この値が予め決めた有意水準(level of significance)以下なら棄却される。有意水準は、慣習的に5%や1%が選ばれるが、そこに数学的な根拠は無い。

身近な例として最近読んだ本から。

A/Bテストの例

A/Bテストは、統計学的にはランダム化比較実験と呼ばれる方法。

西内啓の「統計学が最強の学問である」のP84より

「意味のある偏り」なのか、それとも「誤差でもこのくらいの差は生じるか」といったことを確かめる解析手法に「カイ二乗検定 がある。

彼女が得たA/Bテストの結果に対してその場でカイ二乗検定を行ってみると、「実際には何の差もない状況でもデータの誤差によってこの程度(-中略-)の差が生じる確率は44.7%である」という結果が示された。

この「実際には何の差もないのに誤差や偶然によってたまたまデータのような差(正確にはそれ以上の差を含む)が生じる確率」のことを統計学の専門用語でp値という。

この説明がわかりやすい。この例だとA/Bテストの結果を見る際に測定がどのくらいの誤差を含むのか、意味のある差と言えるのか把握することが重要。

実際本文のデータの二元分割表に対して {\chi^2} 値をRで計算してみる。観測度数、期待度数をそれぞれ {O_{ij},E_{ij}} とすると

{ \displaystyle
 \chi^2 = \sum_{i=1}^{r}\sum_{j=1}^{r} \frac{(O_{ij}-E_{ij})^2}{E_{ij}} \sim  \chi^2_{(r-1)(c-1)}
}

となるので

> eij<-200000*outer(c(100000,100000)/200000,c(9500+9600,90500+90400)/200000)
> oij<-matrix(c(9500,90500,9600,90400), nrow = 2, ncol=2, byrow=TRUE)
> qchisq(0.95,1)
[1] 3.841459 #上側5%点
> sum((oij-eij)^2/eij)
[1] 0.5788394 #X二乗値。有意な差はない
> pchisq(sum((oij-eij)^2/eij),df=1,lower=F)
[1] 0.4467676 #p値

検出力

そもそもの検定の良さをどのように測るか。有意確率(p値)が決して0にならないことは、本当は帰無仮説が正しかったとして、間違って棄却してしまう可能性が決して0にはならないことを意味する(とは言っても、帰無仮説が正しい確率ではないことでもないことに注意)。

ここで起こり得る2種類の誤りは

第1種過誤 (type one error)

帰無仮説が正しいときに誤って棄却してしまうこと。その確率は有意水準 {\alpha} となる。

第2種過誤 (type two error)

対立仮説が正しいときに誤って帰無仮説を受容してしまうこと、その確率を {\beta} で表す。

となる。

検出力 (power)

{\alpha}{\beta} は同時に小さくはできない。検定では、先に {\alpha} を固定した上で第2種の誤りをおかさない確率 { 1 - \beta } を大きくする。この確率のことを検出力と呼ぶ。

標本の大きさ

母平均に関する両側検定 (帰無仮説と対立仮説をそれぞれ {H_0: \mu = \mu_0, H_1: \mu \neq \mu_0 }) を例に検出力関数を見てみると

{ \displaystyle
\beta(\mu) = P\left(|Z| > z_{\alpha/2} \right)
}

{ \displaystyle
= 1 - P\left( - z_{\alpha/2} \lt  \frac{ \sqrt{n} ( \overline{X} - \mu_0 ) }{\sigma_0} \lt z_{\alpha/2} \right)
}

{ \displaystyle
= 1 - P\left( - z_{\alpha/2} - \frac{ \sqrt{n} ( \mu - \mu_0) }{\sigma_0} \lt  \frac{ \sqrt{n} ( \overline{X} - \mu) }{\sigma_0} \lt z_{\alpha/2} - \frac{ \sqrt{n} ( \mu - \mu_0) }{\sigma_0} \right)
}

{ \displaystyle
= 1 - \Phi\left( z_{\alpha/2} - \frac{ \sqrt{n} ( \mu - \mu_0) }{\sigma_0} \right) + \Phi\left( - z_{\alpha/2} - \frac{ \sqrt{n} ( \mu - \mu_0) }{\sigma_0} \right)
}

{\Phi(z)} は標準正規分布の累積分布関数を表す。

片側検定 (帰無仮説と対立仮説をそれぞれ {H_0: \mu \leq \mu_0, H_1: \mu > \mu_0 }) の場合も同様に

{ \displaystyle
= 1 - \Phi\left( z_{\alpha} - \frac{ \sqrt{n} ( \mu - \mu_0) }{\sigma_0} \right)
}

となる。検出力を大きくするためには、標本の数を大きくしていけばよい。

必要な標本の大きさは、検出力を{ z_r } とすると

{ \displaystyle
 n \geq \frac{\sigma_0^2(z_a+z_r)^2}{(\mu - \mu_0)^2}
}

と求められる。両側の場合も同様に {\alpha/2} で標本の大きさを求めればよい。

Rでも検出力を算出する、あるいは検出力からサンプル数を求めることができる。

> power.prop.test( p1=0.5,p2=0.6,sig.level=0.05, power=0.8, n=NULL)

     Two-sample comparison of proportions power calculation 

              n = 387.3385
             p1 = 0.5
             p2 = 0.6
      sig.level = 0.05
          power = 0.8
    alternative = two.sided

NOTE: n is number in *each* group

さらに深く

検定の意味をさらに理解したい場合は、「統計学的な有意性検定の意味のなさ」 のページが参考になる。