正規分布近似を用いた信頼区間とClopper-Pearson 信頼区間を計算する方法。
目次
割合の区間推定(正規分布近似を用いた簡易的な方法)
割合の分散は、割合をp、サンプルサイズをnとすると、
$$ \frac{p (1 – p)}{n} $$
で計算できる。
標準誤差はその平方根で、
$$ \sqrt{\frac{p (1 – p)}{n}} $$
で計算できる。
割合の区間推定は、以下のように計算できる。
$$ p \pm Z_{\alpha/2} \sqrt{\frac{p (1 – p)}{n}} $$
95%信頼区間を計算するスクリプトにすると以下のようになる。
conf.int <- function (p, n, sig.level=0.05){
res <- c(-1, 1)*qnorm(sig.level/2, lower.tail=F)*sqrt((p*(1-p)/n))+p
print(round(c(p=p, conf.int=res),3))
}
サンプルサイズ100で、0.95の95%信頼区間を計算すると、0.907から0.993と計算される。
> conf.int(p=0.95,n=100)
p conf.int1 conf.int2
0.950 0.907 0.993
Clopper-Pearson信頼区間(正確な方法)
Clopper-Pearson法は、F分布を使った方法で、より正確な方法である。
統計ソフトRのスクリプトは以下のようになる。
clopper.pearson <- function (x, n, sig.level=0.05){
LL <- x/(x+(n-x+1)*qf(sig.level/2, lower.tail=F, 2*(n-x+1), 2*x))
UL <- (x+1)*qf(sig.level/2, lower.tail=F, 2*(x+1),2*(n-x))/((n-x)+(x+1)*qf(sig.level/2, lower.tail=F, 2*(x+1),2*(n-x)))
print(round(c(p=x/n, "lower limit"=LL, "upper limit"=UL),3))
}
0.95の95%信頼区間は、0.887から0.984と計算された。
> clopper.pearson(x=95,n=100)
p lower limit upper limit
0.950 0.887 0.984
割合の信頼区間エクセル計算機
エクセルファイルを作成した。
良ければどうぞ。
割合の信頼区間計算機【エクセル計算機】 | TKER SHOP
使い方動画を作成した。
こちらもよければ。
まとめ
割合の信頼区間を求める方法として、正規近似を用いた簡易的な方法と正確方法Clopper-Pearson法を比較してみた。
使い分けは考えずに、いつも正確な方法が良いと思う。
参考になれば。
コメント
コメント一覧 (2件)
信頼区間の幅は異ならなかったと書かれていますが、clopper pearsonのほうが0.0011広がっていると思います。
そうですね。ご指摘ありがとうございます。大きくは異ならなかったとしました。