Skip to main content

오차 범위

오차 범위에 영향을 주는 요소

  • 신뢰수준: 얼마나 극단적 경우까지 포함할 것인가?
  • 표본 크기: 표본에 얼마나 많은 사례 포함할 것인가?
  • 모집단 변산성: 모집단 데이터 퍼짐 정도 얼마나 큰가?

신뢰수준 (Confidence Level)

  • 극단적인 경우를 포함하면 오차범위는 커짐
    • 예: 6면체 주사위를 굴렸을 때 모두 1이나 모두 6이 나오면 표집 오차가 최대
  • 극단적인 경우를 배제하면 오차범위를 줄일 수 있음
  • 유의수준(significance level): 배제하는 극단적인 경우의 비율
    • 예: 유의수준 5% = 5%의 극단적인 경우는 배제함
  • 신뢰수준 = 100% - 유의수준
    • 오차범위에 고려하는 비율
  • 신뢰수준과 오차범위:
    • 높은 신뢰수준 → 더 많은 가능성 → 넓은 오차범위
    • 낮은 신뢰수준 → 더 적은 가능성 → 좁은 오차범위
  • "신뢰"라는 말 때문에 헷갈리기 쉬우므로 주의

평균의 신뢰구간

pg.ttest(df.price, 0, confidence=0.95) # 95% 신뢰구간

pg.ttest(df.price, 0, confidence=0.99) # 99% 신뢰구간

중간값의 신뢰구간

sp.stats.bootstrap([df.price], np.median, confidence_level=0.95) # 95% 신뢰구간

sp.stats.bootstrap([df.price], np.median, confidence_level=0.99) # 99% 신뢰구간

신뢰 수준의 결정

  • 신뢰수준은 적절한 수준에서 타협이 필요
  • 신뢰수준이 지나치게 높으면, 가능성이 희박한 극단적인 경우를 너무 많이 고려 → 의사결정 불가능
  • 신뢰수준이 지나치게 낮으면, 너무 많은 경우를 배제하여 의사결정의 타당성이 떨어짐
  • 교과서적으로는 95%, 99% 등을 추천하나 절대적 기준은 없음

데이터의 변산성

  • 데이터의 변산성이 크면 오차범위 커짐
  • 20면체 주사위를 굴리고 -7을 하면 기대값은 6면체와 똑같이 3.5
  • 오차범위는 훨씬 큼
    • 6면체 주사위를 10개 굴려서 모두 1이 나올 가능성은 희박
    • 20면체 주사위를 10개 굴려서 모두 8이하가 나올 가능성은 그보다 6천배 큼
  • 실험과 측정을 정확히 해서 변산성을 낮추면, 오차범위가 작아짐
  • 데이터에 내재한 변산성은 없앨 수 없음

표본의 크기

  • 표본의 크기가 크면 오차범위 작아짐
  • 주사위 10개 굴리기(10d6) vs. 50개 굴리기(50d6)
  • 무한히 던지면 평균은 정확히 3.5에서 나옴(오차범위 0)
  • 통계에서 거의 모든 문제의 해결 방법 → 데이터를 더 모아서 표본의 크기를 키운다(Big Data!)
  • But, 시간과 비용이 증가

표본의 크기를 ¼로 줄일 경우

n, _ = df.shape
small = df.price.sample(n // 4, random_state=1234) # 1/4개 무작위 비복원 추출
pg.ttest(small, 0)

표본의 크기를 4배로 늘릴 경우

large = df.price.sample(n * 4, replace=True, random_state=1234) # 4배 무작위 복원 추출
pg.ttest(large, 0)
  • 주의: 위는 표본의 크기가 변할 때 예시를 위한 것
  • 실제 분석에서 데이터를 임의로 줄이거나 늘리면 절대 안됩니다!!

여론조사의 "표본오차" 항목

  • 국내 여론조사 결과에서 "표본 오차"라는 이름으로 오차 범위를 표시
  • 중심극한정리에 따라 신뢰수준 95%에서 오차범위는 다음과 같이 계산
±1.96p(1p)N=±1.9650%N\pm 1.96 * \frac{\sqrt{p*(1-p)}}{\sqrt N} = \pm 1.96 * \frac{50\%}{\sqrt N}
  • 계수의 의미:
    • 1.96: 신뢰수준 95%에 해당하는 값 (신뢰수준 99%일 경우 2.58로 계산)
    • 50: 찬성 50%를 기준으로 계산 여론조사의 변산성은 찬성률에 따라 달라지며, 50%일 때 변산성이 가장 큼
    • NN: 설문 응답자 수
  • 원하는 오차범위로부터, 필요한 설문 응답자 수를 역산할 수 있음
    • 예: ±10% 오차범위면 충분할 경우 약 100명에게만 설문
    • 표본의 크기를 4배로 키우면 오차범위가 1/2로 줄어듦

N을 알 때, 오차 범위 계산

N = 1000
신뢰수준 = 0.95
유의수준 = 1 - 신뢰수준
임계값 = sp.stats.norm.ppf(1 - 유의수준/2) # 양쪽으로 2.5%씩 제외하고 2.5% ~ 97.5% 구간
임계값 * 50 / np.sqrt(N)

원하는 오차 범위가 있을 때 필요한 N 구하기

오차범위 = 1  # 원하는 범위가 ±1%p일 경우
((임계값 * 50) / 오차범위) ** 2

퀴즈