Menu

R의 신뢰구간: t.test(), confint(), prop.test()

평균, 비율, 모형 계수의 신뢰구간 구하기 - t.test(), prop.test(), confint() - 그리고 "95% 신뢰"가 실제로 무엇을 뜻하는지와 표본 크기가 구간 폭을 어떻게 좌우하는지.

이 페이지에는 실행 가능한 에디터가 있습니다 - 편집하고 실행하면 결과를 바로 볼 수 있습니다.

"95% 신뢰"가 실제로 뜻하는 것

신뢰구간은 점추정치("표본 평균은 5.61이다")를 정직한 범위("참 평균은 5.29에서 5.93 사이일 법하다")로 바꿔 줍니다. 그런데 95% 신뢰 라는 표현은 통계학에서 가장 자주 오독되는 문구 중 하나이므로 먼저 바로잡고 시작합시다.

95%는 구간이 아니라 절차 를 설명합니다. 연구를 반복해서 다시 수행한다고 상상해 보세요 - 매번 새 표본, 매번 새 구간이죠. 구간들은 이리저리 움직일 것이고 그중 약 95%가 참값을 포착하고 5%는 놓칠 것입니다. 여러분이 실제로 가진 구간 하나는 그 과정에서 뽑은 한 번의 결과입니다. 95%가 뜻하지 않는 것은 이렇습니다: "참 평균이 이 숫자들 사이에 있을 확률이 95%다." 참 평균은 고정된(알려지지 않은) 숫자입니다 - 구간을 들락날락하는 것이 아니라 구간 이 변하는 것이죠.

실무에서는 친근한 해석으로도 충분합니다: 구간은 여러분의 데이터와 양립 가능한 값들의 범위입니다. 다만 누군가 파고들 때 어떤 주장을 할 자격이 있는지는 알고 있어야 합니다.

평균의 신뢰구간, 쉬운 방법

모든 t.test()는 신뢰구간을 함께 담고 있으므로, 그것만 수확하려고 검정을 실행해도 됩니다:

평균 5.61, 95% 신뢰구간은 대략 5.29에서 5.93입니다. 이 구간은 맨 평균이 할 수 없는 일을 합니다: 관측 열 개가 실제로 사 주는 정밀도가 어느 정도인지 보여 주죠.

같은 신뢰구간을 직접 계산하기

그 구간 뒤의 공식은 한 번쯤 직접 만들어 볼 가치가 있습니다. 앞으로 읽게 될 모든 신뢰구간의 신비를 걷어 주니까요: 추정치 ± 임곗값 × 표준오차 입니다.

t.test() 출력과 맞춰 보세요 - 마지막 자리까지 같은 구간입니다. 움직이는 부품이 셋 있습니다:

  • 표준오차 sd(x)/sqrt(n)는 표본 평균이 얼마나 흔들리는지를 측정합니다(sd와 SE의 구분은 기술통계를 참고하세요).
  • qt(0.975, df) 는 t 임곗값입니다: 95% 포함률을 얻으려면 양쪽 꼬리에 2.5%씩 남기므로 0.975입니다. 자유도 9에서는 약 2.26으로 정규분포의 1.96보다 두툼한데, 같은 데이터에서 sd를 추정한 대가로 치르는 소표본 세금입니다.
  • 오차범위 는 둘의 곱입니다 - 헤드라인에 인용되는 "±" 숫자죠.

수준 바꾸기: 90%, 99%, 그리고 맞바꿈

conf.level이 포함률을 조절하고, 그와 함께 폭도 조절됩니다:

신뢰가 커질수록 폭이라는 비용이 커집니다 - 99% 구간은 100번 중 99번 맞을 만큼 넓어야 하므로 늘어나고, 90% 구간은 더 좁지만 95%보다 두 배 자주 빗나갑니다. 공짜 점심은 없고 다이얼만 있을 뿐입니다. 95%는 순전히 관례입니다: 자연법칙이 아니라, 특별한 이유가 없으면 유지할 만한 기본값이죠.

비율의 신뢰구간: prop.test()

설문에 응한 사용자 120명 중 47명이 새 기능을 채택했다고 합시다. 참 채택률의 그럴듯한 범위는 무엇일까요?

표본 비율은 0.39, 95% 신뢰구간은 대략 0.30에서 0.49입니다 - 그러니 "채택률 약 40%"는 저 ±9포인트의 후광이 붙어 있을 때만 정직합니다. prop.test()는 교과서 공식 p ± 1.96 × sqrt(p(1−p)/n)보다 나은 근사(연속성 보정이 들어간 Wilson 유형 구간)를 사용하는데, 이는 0이나 1 근처에서 가장 중요합니다 - 교과서 구간은 [0, 1] 밖으로 삐져나올 수 있지만 이 구간은 그럴 수 없습니다. 개수가 아주 적다면 binom.test(47, 120)$conf.int가 정확한 버전을 줍니다.

모형 계수의 신뢰구간: confint()

적합된 모형은 하나의 제네릭 함수로 구간을 얻습니다:

각 행이 선형회귀의 계수 하나를 감쌉니다: wt 기울기의 95% 구간은 1000파운드당 약 −6.5에서 −4.2 mpg입니다. summary의 p값보다 정보가 많습니다 - 효과가 단지 0이 아닌 정도가 아니라 최소한 약 4 mpg이고 어쩌면 약 6.5일 수 있다고 말해 주니까요.

로지스틱 glm()이라면 confint(fit)이 같은 방식으로 동작하되 로그오즈 경계를 반환합니다. 오즈비 구간을 얻으려면 지수를 취하고 - exp(confint(fit)) - "효과 없음"의 기준값이 0이 아니라 1이 된다는 점을 기억하세요.

표본 크기: 제곱근 법칙

폭은 sqrt(n)에 반비례해 줄어들며, 여기서 기억할 만한 결론이 따라옵니다: 데이터를 네 배로 늘리면 구간이 절반이 됩니다. 모의 데이터로 확인해 봅시다 - 같은 분포에서 한 표본은 4배 크기입니다(시드를 고정하면 재현 가능합니다. 난수를 참고하세요):

폭의 비율이 2:1에 가깝게 나옵니다(표집 잡음 때문에 정확히 맞지는 않습니다). 제곱근 때문에 정밀도가 비싸집니다: 처음 100개 관측이 그다음 300개를 합친 것보다 구간을 더 많이 줄여 주고, 이미 좁은 구간을 절반으로 만들려면 언제나 지금까지 들인 것의 4배가 듭니다.

신뢰구간과 p값: 하나의 검정을 보는 두 가지 시선

신뢰구간과 가설검정은 같은 정보를 다른 옷으로 입힌 것입니다. 95% 신뢰구간은 0.05 수준의 양측 검정이 기각하지 못할 모수 값들을 정확히 담고 있습니다. 그래서:

  • 평균 차이의 신뢰구간이 0을 제외t-검정의 p < 0.05.
  • 오즈비의 신뢰구간이 1을 제외 ⇔ 그 계수의 p < 0.05.

구간을 갖고 있다면 대개 더 나은 요약을 갖고 있는 셈입니다: 같은 유의성 판정에 더해 실제 단위로 표현된 효과 크기까지 주니까요. "p = 0.03"은 차이가 존재한다고 말하고, "95% 신뢰구간: 0.2에서 7.6"은 차이가 존재하며 사소할 수도 거대할 수도 있다고 말합니다 - 종종 후자가 정말 중요한 발견입니다.

핵심 정리

  • 95%는 절차의 장기적 적중률을 설명하는 것이지 이 구간 하나가 참값을 잡았을 확률이 아닙니다.
  • 평균: t.test(x)$conf.int, 또는 직접 계산하면 평균 ± qt(0.975, n−1) × SE입니다.
  • 비율: prop.test(x, n)$conf.int. 모형 계수: confint(fit)(glm 오즈비는 지수를 취하세요).
  • 신뢰수준이 높을수록 구간이 넓어집니다. 95%는 관례이지 법칙이 아닙니다.
  • 폭은 sqrt(n)에 반비례합니다: 데이터가 4배면 구간은 절반입니다.
  • 신뢰구간은 0.05 수준 검정이 기각하지 않을 모든 값을 담고 있으며, p값과 달리 효과 크기를 보여 줍니다.

다음 주제: 이 모든 것의 배후에 있는 시뮬레이션 도구 - rnorm, runif, sample, set.seed로 다루는 난수입니다.

자주 묻는 질문

R에서 95% 신뢰구간은 어떻게 계산하나요?

평균이라면 가장 빠른 길은 t.test(x)$conf.int입니다. 비율이라면 prop.test(successes, trials)$conf.int입니다. 적합된 lm()이나 glm() 모형의 계수라면 confint(fit)입니다. 셋 다 기본값이 95%이며 conf.level = 0.90(또는 0.99)으로 바꿀 수 있습니다.

95% 신뢰구간은 실제로 무엇을 뜻하나요?

이는 절차 에 대한 진술입니다: 연구를 여러 번 반복하며 매번 구간을 만든다면 그중 약 95%가 참값을 포함한다는 뜻이죠. "이 특정 구간 안에 모수가 있을 확률이 95%"라는 뜻이 아닙니다 - 모수는 고정된 숫자이고, 어떤 하나의 구간은 그것을 잡았거나 놓쳤거나 둘 중 하나입니다.

R에서 신뢰구간을 직접 계산하려면 어떻게 하나요?

평균 ± 임곗값 × 표준오차입니다. 평균의 경우: m <- mean(x); se <- sd(x)/sqrt(length(x)); m + c(-1, 1) * qt(0.975, df = length(x) - 1) * se. qt(0.975, df) 호출은 양쪽 꼬리에 2.5%씩 남기는 t 임곗값입니다.

표본 크기는 신뢰구간에 어떤 영향을 주나요?

폭은 n의 제곱근에 반비례해 줄어듭니다: 표본을 네 배로 늘리면 구간이 절반이 됩니다. 이 제곱근 때문에 마지막 한 조각의 정밀도가 비쌉니다 - ±2에서 ±1로 가려면 데이터가 두 배가 아니라 네 배 필요합니다.

Coddy programming languages illustration

Coddy로 코딩 배우기

시작하기