統計ER

R, EZR, SPSS, KH Coder を使ったデータ分析方法を紹介するブログ。ニッチな内容が多め

ウィルソンのスコア法 信頼区間の計算方法

点推定値が100%に近いとき、より適切に割合の信頼区間を計算する方法 Wilson's score method(ウィルソンのスコア法)の解説。

>>もう統計で悩むのを終わりにしませんか?


↑1万人以上の医療従事者が購読中

割合の信頼区間は近似を使っている

割合の信頼区間は以下の式で計算できる。

これは正規分布を近似的に使っている。

 \hat{p} \pm z_{\alpha/2} \displaystyle \sqrt{\frac{\hat{p}(1-\hat{p})}{n}}

100例で50%の点推定値だったとすると、95%信頼区間は以下のように計算される。

 0.5 \pm 1.96 \displaystyle \sqrt{ \frac{0.5(1-0.5)}{100}} = (0.402, 0.598)

点推定値が100%に近い場合は信頼区間はどうなるか?

点推定値が97%の場合を計算してみる。

この場合信頼区間は以下のようになり、適切に計算されない。

信頼区間の上限が1を超えている。

 0.97 \pm 1.96 \displaystyle \sqrt{ \frac{0.97(1-0.97)}{100}} = (0.9365649, 1.0034351)

点推定値が100%に近い場合はWilson's score methodを使う

点推定値が100%に近い場合はWilson's score methodを使うと適切な信頼区間になる。

Wilson's score methodは以下のように計算する。

 \displaystyle \frac{\hat{p} + \frac{z_{\alpha/2}^2}{2n}}{1+\frac{z_{\alpha/2}^2}{n}} \pm \frac{z_{\alpha/2}}{1+\frac{z_{\alpha/2}^{2}}{n}} \sqrt{\frac{\hat{p}(1-\hat{p})}{n}+\frac{z_{\alpha/2}^{2}}{4n^{2}}}

R を使って計算する。

p.hat <- 0.97
alpha <- 0.05
z <- qnorm(alpha/2, lower.tail=FALSE)
n <- 100

(p.hat+z^2/(2*n))/(1+z^2/n) + c(-1, 1)* z/(1+z^2/n)*sqrt((p.hat*(1-p.hat))/n + z^2/(4*n^2))

計算結果は、(0.9154806, 0.9897455)で、信頼区間上限が1を超えていない。

> (p.hat+z^2/(2*n))/(1+z^2/n) + c(-1, 1)* z/(1+z^2/n)*sqrt((p.hat*(1-p.hat))/n + z^2/(4*n^2))
[1] 0.9154806 0.9897455

>>もう統計で悩むのを終わりにしませんか?


↑1万人以上の医療従事者が購読中

点推定値が0に近いときはどうなるか?

点推定値が0に近いとき、例えば、100例中3例、3%の95%の信頼区間はどうなるか?

正規近似を使うと、以下の通り信頼区間の下限が0を下回ってしまう。

> 0.03 + c(-1,1)*1.96*sqrt(0.03*(1-0.03)/100)
[1] -0.003435095  0.063435095

Wilson's score methodを使うと信頼区間下限が0を下回らない結果が得られる。

p.hat <- 0.03
alpha <- 0.05
z <- qnorm(alpha/2, lower.tail=FALSE)
n <- 100

(p.hat+z^2/(2*n))/(1+z^2/n) + c(-1, 1)* z/(1+z^2/n)*sqrt((p.hat*(1-p.hat))/n + z^2/(4*n^2))

結果は、0.01から0.08となった。

> (p.hat+z^2/(2*n))/(1+z^2/n) + c(-1, 1)* z/(1+z^2/n)*sqrt((p.hat*(1-p.hat))/n + z^2/(4*n^2))
[1] 0.01025452 0.08451936

割合の信頼区間エクセル計算機

エクセルファイルを作成した。

良ければどうぞ。

割合の信頼区間計算機【エクセル計算機】 | TKER SHOP

使い方動画を作成した。

こちらもよければ。

youtu.be

まとめ

割合の区間推定は正規近似を用いて簡単に計算できるが、100%や0%に近いと信頼区間上限や下限が適切に計算されない。

信頼区間上限が1を超えてしまったり、下限が0を下回ってしまった場合はWilson's score methodを使うのが適切だ。