여론조사의 표본오차
여론조사의 표본오차
- 여론조사에서 "표본 오차"는 비율 추정의 오차범위(margin of error)를 나타내는 표현
- 오차범위의 단위: 퍼센트포인트(%p)
- 예: 찬성률 52%, 오차범위 ±3%p → 신뢰구간 49%에서 55%
- 설문 응답자 수가 커질수록 오차범위는 작아짐

표본오차의 계산
- 단순무작위표집, 모집단이 표본보다 충분히 큰 상황을 가정한 정규근사
- 신뢰수준 95%에서 찬성률 50%를 기준으로 오차범위 계산
- 찬성률 50%: 비율의 변산성이 가장 큰 보수적 상황
- 1.96: 95% 신뢰수준의 임계값
- n: 설문 응답자 수
- E: 오차범위의 한쪽 폭, %p 단위
- 조사 결과의 오차범위는 ±E로 표시
- 아래 공식의 표본오차는 질문 문항이나 무응답으로 인한 편향까지 포함하는 값은 아님
여론조사에서 일반식이 적용되는 이유
- 응답을 찬성은 1, 반대는 0으로 나타내면 찬성률은 이 값들의 평균
- 예: 1,000명 중 520명이 찬성하면 평균은 520/1000=0.52, 찬성률은 52%
- Xi: 응답자 i의 0 또는 1 응답
- p: 모집단의 찬성 비율, 0과 1 사이의 값
- p^: 표본에서 계산한 찬성 비율
- 0과 1로 나타낸 응답의 분산은 p(1−p), 표준편차는 p(1−p)
- 응답을 독립적으로 무작위 추출하면 평균인 찬성 비율의 표준오차는 다음과 같음
- 일반식의 표준편차 자리에 p(1−p)를 넣으면 비율의 오차범위 계산 가능
- 비율에 100을 곱해 백분율로 표시하므로 오차범위도 100을 곱해 %p 단위로 변환
- 모집단의 찬성 비율 p는 보통 알 수 없으므로 조사 규모를 계획할 때는 표준편차가 가장 큰 p=0.5 사용
- 0.5(1−0.5)=0.5
- 백분율 단위의 표준편차는 100×0.5=50
- 따라서 일반식의 표준편차 자리에 50을 넣어 보수적인 오차범위 계산
응답자 수로 오차범위 계산
- 응답자 1,000명일 때 오차범위 계산
- 파이썬 표준 라이브러리
math의sqrt로 제곱근 계산
from math import ceil, sqrt
critical_value = 1.96 # 95% 신뢰수준의 임계값
max_std = 50 # 찬성률 50%일 때 백분율 단위의 표준편차
n = 1000
critical_value * max_std / sqrt(n)
실행 결과
3.0990321069650117
- 신뢰수준 95%에서 오차범위는 약 ±3.10%p
원하는 오차범위로 응답자 수 역산
- 원하는 오차범위가 ±E이면 필요한 응답자 수는 다음 식을 만족
- 응답자 수는 정수이므로 계산 결과를 올림
ceil: 주어진 값 이상인 가장 작은 정수를 반환margin_of_error: 원하는 오차범위의 한쪽 폭을 %p 단위로 입력- ±10%p가 목표이면
10입력
- ±10%p가 목표이면
margin_of_error = 10 # 원하는 오차범위의 한쪽 폭: ±10%p
n_required = ceil((critical_value * max_std / margin_of_error) ** 2)
n_required
실행 결과
97
- 위의 가정과 정규근사에서 ±10%p 이내의 오차범위를 목표로 하면 최소 97명의 응답 필요
- 같은 신뢰수준과 찬성률 가정에서 오차범위를 절반으로 줄이려면 응답자 수가 약 4배 필요
- 반대로 응답자 수를 4배로 늘리면 오차범위는 절반으로 감소
퀴즈
평균의 오차범위 식에서 표준오차가 나타내는 것은?
퀴즈를 풀려면 대화형 기능을 불러와야 합니다.