正規分布近似を用いた信頼区間と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法を比較してみた。
使い分けは考えずに、いつも正確な方法が良いと思う。
参考になれば。
参考サイト
参考文献
THE USE OF CONFIDENCE OR FIDUCIAL LIMITS ILLUSTRATED IN THE CASE OF THE BINOMIAL
Approximate is Better than “Exact” for Interval Estimation of Binomial Proportions
コメント
コメント一覧 (2件)
信頼区間の幅は異ならなかったと書かれていますが、clopper pearsonのほうが0.0011広がっていると思います。
そうですね。ご指摘ありがとうございます。大きくは異ならなかったとしました。