Contents

[-]
1 검정력이란?
2 검정력 파라미터
3 예제1: 표본수
4 예제2: 그룹이 3개인 경우 샘플수
5 예제3: 비율
6 예제4: 효과크기에 따른 표본수


1 검정력이란? #

  • 특정 표본에서 유의한 결과를 얻을 가능성
  • 실험을 100번 했고, 80번 유의한 결과를 얻었다면 검정력은 80% (귀무가설이 거짓일 때)

2 검정력 파라미터 #

검정력 = f(표본크기, 산포, 효과크기)
  • 표본크기가 클수록 검정력이 커진다.
  • 산포(분산 or 표준편차)가 좁을수록 검정력이 커진다.
  • 효과크기가 클수록 검정력이 커진다.

3 예제1: 표본수 #

  • 기각하고자 하는 차이가 2
  • 표준편차는 5
  • 검정력 80% 이상
인 경우 샘플은 몇 개 필요한가?

#install.packages("pwr")
library(pwr)

차이 <- 2
표준편차 <- 5
검정력 <- 0.8
power.t.test(delta = 차이, sd = 표준편차, power = 검정력, type = 'paired')

결과
> power.t.test(delta = 차이, sd = 표준편차, power = 검정력, type = 'paired')

     Paired t test power calculation 

              n = 51.00957
          delta = 2
             sd = 5
      sig.level = 0.05
          power = 0.8
    alternative = two.sided

NOTE: n is number of *pairs*, sd is std.dev. of *differences* within pairs
  • 52개 필요하다.

4 예제2: 그룹이 3개인 경우 샘플수 #

  • 3개 그룹에 대한 비교
  • 그룹간 분산 3
  • 그룹내 분산 2
  • 검정력 80% 이상
인 경우


그룹 <- 3
그룹간분산 <- 3
그룹내분산 <- 2
검정력 <- 0.8
power.anova.test(groups = 그룹, between.var = 그룹간분산, within.var = 그룹내분산, power = 검정력)

결과
> power.anova.test(groups = 그룹, between.var = 그룹간분산, within.var = 그룹내분산, power = 검정력)

     Balanced one-way analysis of variance power calculation 

         groups = 3
              n = 4.38143
    between.var = 3
     within.var = 2
      sig.level = 0.05
          power = 0.8

NOTE: n is number in each group
  • 그룹당 5개 샘플이 필요하다.

5 예제3: 비율 #

  • 그룹1은 0.25
  • 그룹2는 0.5
  • 검정력 80%

그룹1 <- 0.25
그룹2 <- 0.5
검정력 <- 0.8
power.prop.test(p1 = 그룹1, p2 = 그룹2, power = 검정력)

결과
> power.prop.test(p1 = 그룹1, p2 = 그룹2, power = 검정력)

     Two-sample comparison of proportions power calculation 

              n = 57.67344
             p1 = 0.25
             p2 = 0.5
      sig.level = 0.05
          power = 0.8
    alternative = two.sided

NOTE: n is number in *each* group
  • 각 그룹당 58개의 샘플 필요

6 예제4: 효과크기에 따른 표본수 #

m1 <- 25 #그룹1의 평균
sd1 <-5 #그룹1의 표준편차
n1 <- 20 #그룹1의 표본수

m2 <- 31 #그룹2의 평균
sd2 <-5 #그룹2의 표준편차
n2 <- 21 #그룹2의 표본수

d <- abs((m1 - m2) / sqrt(((n1-1) * sd1^ 2 + (n2-1) * sd2^2) / (n1 + n2 - 2)))
d #효과크기

pwr.t.test(d=d,power=.8,sig.level=.05,type="two.sample",alternative="two.sided")

결과
> pwr.t.test(d=d,power=.8,sig.level=.05,type="two.sample",alternative="two.sided")

     Two-sample t test power calculation 

              n = 11.94226
              d = 1.2
      sig.level = 0.05
          power = 0.8
    alternative = two.sided

NOTE: n is number in *each* group