割合に関するサンプルサイズ計算の方法
推定精度と検定の 2 種類あり
推定精度に基づく方法
相対精度deltaで,割合を推定する際のサンプルサイズ計算は、以下のような R スクリプトで計算できる。
myPsize <- function(p,delta){
n <- 4*(1-p)/(p*delta^2)
c("N at least"=n)
}
たとえば8%の割合を相対精度20%(95%信頼区間が±1.6%という意味)で推定するなら、サンプルサイズは1150になる。
> myPsize(0.08,0.2)
N at least
1150
確認のため二項分布で95%信頼区間を求めてみると、おおよそ±1.6%(6.5%~9.7%)に収まっていることがわかる。
> binom.test(1150*0.08, 1150)
Exact binomial test
data: 1150 * 0.08 and 1150
number of successes = 92, number of trials = 1150, p-value < 2.2e-16
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.06497587 0.09721197
sample estimates:
probability of success
0.08
たとえば、「はい」の回答が80%であることを、推定精度10%(±8%)で推定したいとすれば、サンプルサイズは100人と計算される。
95%信頼区間は71%から87%と推定され、±8%にはだいだい収まっている。
> myPsize(0.8, 0.1)
N at least
100
> binom.test(80,100)
Exact binomial test
data: 80 and 100
number of successes = 80, number of trials = 100, p-value = 1.116e-09
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.7081573 0.8733444
sample estimates:
probability of success
0.8
推定精度に基づく方法をエクセルで
母比率を求めるサンプルサイズ計算を推定精度に基づいて行う方法をエクセルで実行できる。
よければどうぞ。
アンケートは何人に取ればいい?―割合の信頼区間―【エクセルでサンプルサイズ】 | TKER SHOP
検定に基づく方法
母集団の割合がわかっていて、その割合と統計学的有意に異なる割合であることを検出するためのサンプルサイズ計算。
必要なのは母集団の割合とサンプルでの割合と検出力。
R のスクリプトは以下の通り。
samplesize.pop.prop.test <-
function (P0, P, power, alpha=.05){
A <- sqrt((P0*(1-P0))/(P*(1-P)))
n <- ((qnorm(power)+qnorm(alpha/2,lower.tail=F)*A)*
sqrt(P*(1-P))/(P-P0))^2
METHOD <-
"Sample size calculation of the one-sample proportion test."
structure(list(n=n, p=P, p0=P0, sig.level=alpha, power=power,
alternative="Two sided", method=METHOD), class="power.htest")
}
例えば、何も効果がなければ五分五分の50%だが、効果があって「はい」と回答する人が80%になると予想する。
80%の結果が、50%とは統計学的有意に異なると結論付けるためには、どのくらいのサンプルサイズが必要か?
> samplesize.pop.prop.test(P0=0.5, P=0.8, power=0.8)
Sample size calculation of the one-sample proportion test.
n = 19.26129
p = 0.8
p0 = 0.5
sig.level = 0.05
power = 0.8
alternative = Two sided
答えは、20人必要と計算される。
非常に小さい調査でよいことがわかる。
95%信頼区間を求めてみると、56%から94%で、50%とは統計学的有意に異なることが確認できた。
> binom.test(16,20)
Exact binomial test
data: 16 and 20
number of successes = 16, number of trials = 20, p-value = 0.01182
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.563386 0.942666
sample estimates:
probability of success
0.8
また、例えば、母集団では発生が10%=0.1とわかっていることがある。
新しい予防法では発生が5%=0.05に抑えられる可能性がある。
母集団の0.1と有意に異なるという結果を導くには、検出力80%としたときにサンプルサイズはいくつになるか?
> samplesize.pop.prop.test(P0=0.1, P=0.05, power=0.8)
Sample size calculation of the one-sample proportion test.
n = 238.0332
p = 0.05
p0 = 0.1
sig.level = 0.05
power = 0.8
alternative = Two sided
結果は、239例必要と計算された。
つまり、239例をサンプリングして、5%つまり約12例で病気が発生したとすると、母集団の10%とは統計学的有意に異なって低いと結論づけられる。
二項分布で計算した結果は以下の通り。
p値は0.05を下回って、有意水準5%で、統計学的有意。
> binom.test(12,239,p=0.1)
Exact binomial test
data: 12 and 239
number of successes = 12, number of trials = 239, p-value = 0.009147
alternative hypothesis: true probability of success is not equal to 0.1
95 percent confidence interval:
0.02620962 0.08606230
sample estimates:
probability of success
0.05020921
検出力を計算することもできる。
検出力を計算するスクリプトは以下の通り。
power.pop.prop.test <-
function (P0, P, n, alpha=.05){
A <- sqrt((P0*(1-P0))/(P*(1-P)))
B <- (P-P0)/(sqrt((P*(1-P))/n))
power <- pnorm(-1*qnorm(alpha/2, lower.tail=FALSE)*A-B)+
pnorm(qnorm(alpha/2, lower.tail=FALSE)*A-B, lower.tail=FALSE)
METHOD <- "Power calculation of the one-sample proportion test."
structure(list(n=n, p=P, p0=P0, sig.level=alpha, power=power,
alternative="Two sided", method=METHOD), class="power.htest")
}
母比率が0.1、サンプルの比率が0.05、サンプルサイズが200だとすると、検出力はどのくらいか?
> power.pop.prop.test(P0=0.1, P=0.05, n=200)
Power calculation of the one-sample proportion test.
n = 200
p = 0.05
p0 = 0.1
sig.level = 0.05
power = 0.7076557
alternative = Two sided
計算結果は71%と計算される。
検出力が80%になるためには上記のようにあと39人必要というわけだ。
検定に基づく方法をエクセルで
エクセルでサンプルサイズ計算ができる。
よければどうぞ。
母比率の検定(母集団の割合の検定)サンプルサイズ計算【エクセルでサンプルサイズ】 | TKER SHOP
使い方解説動画。
こちらもよければどうぞ。
まとめ
割合を求めるときのサンプルサイズ計算を、推定精度に基づく方法と検定に基づく方法を解説した。
参考になれば。
関連記事
参考書籍
丹後敏郎 著 医学への統計学
永田靖 著 サンプルサイズの決め方 朝倉書店
11.1 母不良率の検定
11.1.2 検出力の計算方法
コメント
コメント一覧 (2件)
[…] R で 割合の推定・検定の必要サンプル数計算を行う方法 割合(母比率)に関するサンプルサイズ計算の方法 推定精度と検定の 2 […]
[…] あわせて読みたい R で割合の推定・検定に必要なサンプル数を計算する方法 割合に関するサンプルサイズ計算の方法 推定精度と検定の 2 種類あり […]