R 신뢰구간(confidence interval), 신뢰계수(confidence coefficient), 유의수준(significance level)
R 분석과 프로그래밍/R 통계분석 2015. 9. 30. 15:07이전 포스팅들에서 이산형 확률분포, 연속형 확률분포에 대해서 R을 가지고 그래프도 그려보고 확률, 분위수 계산, 난수 생성하는 방법을 모두 살펴보았습니다.
확률분포, 확률, 추정과 검정을 좀더 들어가게 되면 신뢰구간(confidence interval), 신뢰계수(confidence coefficient), 유의수준(significance level), 신뢰한계(conficence limits) 등과 맞부딪치게 되는데요, 비슷비슷한 용어들을 알듯 하면서도 정확히 모르고 있는 분들이 많은 통계용어가 아닌가 합니다.
통계의 (1) 큰 줄기 하나가 모집단에서 표본을 추출해서 주요 통계량을 가지고 표본의 특성(중심화 경향, 퍼짐 정도, 분포모양, 상관성 등)을 알아보는 기술통계(descriptive statistics)가 있고, (2) 또 하나의 큰 줄기가 이렇게 파악한 표본집단의 기술통계량을 가지고 모집단의 모수(parameter)를 추정(estimation)하고 가설을 검정(test)하는 추론통계(inferential staticstics) 입니다.
추론통계의 모집단 모수 추정 시, 가령 모집단의 평균과 분산 추정 시에 특정 값 하나를 명시하는 점 추정 (point estimation)을 하게 되면 틀릴 확률이 아주 아주 높게 됩니다. 그래서 대부분은 특정 값 하나 대신에 어느 값부터 어느 값 사이에 어느 수준의 확률로 모집단의 모수가 들어가 있을 거라고 추정하는 구간 추정 (interval estimation)을 하게 됩니다.
그러면, 아래의 그림을 참고해가면서 개념을 하나씩 설명드리도록 하겠습니다.
1) 신뢰구간 (confidence interval) : 주어진 확률 1-α (신뢰계수)에 대하여 표본분포의 통계량이 모집단 모수에 포함되는 구간 (θ1 ~ θ2)
2) 신뢰계수 (confidence coefficient) : n개의 확률표본을 추출하여 신뢰구간을 구하는 잡업을 N번 반복하여 얻은 N개의 신뢰구간 중 (1-α)%에 미지의 모수 μ 가 포함되어 있을 확률
3) 유의수준 (significance level) : n개의 확률표본을 추출하여 신뢰구간을 구하는 잡업을 N번 반복하여 얻은 N개의 신뢰구간 중 미지의 모수 μ 가 포함되어 있지 않을 확률 (α)
4) 신뢰한계 (confidence limits) : 신뢰구간의 하한값(θ1)과 상한값(θ2)
위의 개념을 좀더 알기 쉽도록 하기 위해서, X ~ N(mean=10, sd=3)인 정규분포에서 20개(n)의 확률표본을 추출하여 신뢰구간을 구하는 작업을 100번(N) 번 반복 수행했을 때 얻은 100개(N)의 신뢰구간(confidence interval) 중에서 95% 의 신뢰계수(confidence coefficient, 1-α)만큼은 미지의 모수 μ (모집단의 평균) 가 포함되어 있고, 5%의 유의수준(significance level, α) 만큼은 미지의 모수 μ(모집단의 평균)가 포함되지 않는 경우를, R을 이용해서 simulation 해보도록 하겠습니다. (신뢰구간을 벗어난 case는 색깔, 선 형태가 다르게 그려지도록 프로그래밍 해놨습니다)
> ##---------------------------------------------------------- > ## 신뢰구간(confidence interval), 신뢰계수 (confidence coefficient) > ##---------------------------------------------------------- > > > # confidence interval simulation, parameter setting > alpha <- 0.05 # significance level > N <- 100 # total simulation frequency > n <- 20 # sampling number > mu <- 10 # mean of population > sigma <- 3 # standard deviation of population > > # plot > # 면 분할 > layout(matrix(1:2), heights=c(1,2)) > > > # Normal distribution plot, X~N(10,3^2) > x <- seq(0, 20, length=100) > plot(x, dnorm(x, mean=10, sd=3), type='l', main="Normal distribution, X~N(10,3^2)") > > abline(v=mu, col="red", lty=2) > abline(v=mu-1.96*3, col="red", lty=2) > abline(v=mu+1.96*3, col="red", lty=2) > > > plot(c(0, 20), c(1, N), + xlab = "confidence interval", + ylab = "simulation freqneucy", + type = 'n') > > abline(v=mu, col="blue", lty=2) > > > within_yn <- 0 > > for(i in 1 : N) { + x = rnorm(n, mu, sigma) + conf_limit_lower = mean(x) - qnorm(1-alpha/2)*sd(x)/sqrt(n) # lower confidence limit + conf_limit_upper = mean(x) + qnorm(1-alpha/2)*sd(x)/sqrt(n) # upper confidence limit + within_yn_eval = mu <= conf_limit_upper & mu >= conf_limit_lower + if(within_yn_eval) within_yn = within_yn + 1 + segments(conf_limit_lower, i, conf_limit_upper, i, col=(! within_yn_eval)+1, lty=(! within_yn_eval)+1) + # segments(x1, y1, x2, y2) ; line from (x1, y1) to (x2, y2) + } > > mtext(paste("confidence coefficient(1-alpha) = ", within_yn/N), side=3, line = 0, outer = FALSE, cex = 1.3)
|
실생활 예시로서, 만약 아래와 같은 선거 지지율 설문조사가 있다고 했을 때, 이를 해석해보겠습니다.
“A조사기관에 따르면 이달 1~3일 전국 19세 이상 성인 남녀 1000명을 대상으로 한 설문조사 결과, ‘A’ 후보자에 대한 지지율은 49%, ‘B’ 후보자의 지지율은 51%로 나타났다. 이번 조사는 신뢰수준 95%, 오차는 ±3.0%포인트다.”
신뢰수준 95%는 신뢰계수(confidence coefficient)와 같은 의미이고, +, - 오차범위는 신뢰한계(confidence limits)와 같은 의미로 보면 되겠습니다. 따라서, 위 조사결과의 의미는 동일한 조사를 100번 반복하게 되면,
'A' 후보자의 지지율(모수 추정치)이 46%~52%, 'B' 후보자의 지지율(모수 추정치)이 48%~54%의 신뢰구간으로 조사 결과가 나올 횟수가 95번 (확률이 95%)이라는 의미입니다. 바꿔 말하면, 다른 결과가 나올 확률이 5% 라는 뜻입니다.
95% 신뢰수준보다는 99%신뢰수준이 좋기는 합니다만, 신뢰수준을 높이려면 표본의 개수를 높여야 하는데요, 표본 = 돈, 시간 이므로 보통은 신뢰수준을 특정 값으로 고정 시켜놓고 샘플 수를 적정한 타협을 보게 됩니다.
많은 도움 되셨기를 바랍니다.
이번 포스팅이 도움이 되었다면 아래의 '공감 ~♡'를 꾸욱 눌러주세요. ^^
'R 분석과 프로그래밍 > R 통계분석' 카테고리의 다른 글
R 단일 모집단의 모분산(population variance)에 대한 신뢰구간 추정과 검정 : chisq test (3) | 2015.10.03 |
---|---|
R 단일 모집단의 모평균에 대한 신뢰구간 추정(confidence interval estimation)과 검정(test) : t.test() (13) | 2015.09.30 |
R 카이제곱 분포 (chi-squared distribution) : chisq() (2) | 2015.09.30 |
R 연속확률분포 F-분포(F-distribution) : df(), pf(), qf(), rf() (5) | 2015.09.25 |
R t-분포 (Student’s t-distribution) : t() (0) | 2015.09.24 |