Common Sense

도대체 오차범위(표본오차)란 무엇인가?

kini 2020. 3. 19. 20:59

선거철이 돌아오고 있습니다. 선거철은 여론조사철이기도 합니다.

 

중앙선거관리위원회 선거여론조사기준 제18조에 따라 언론은 선거 관련 여론조사 결과를 전할 때 반드시 신뢰수준, 표본오차 같은 정보를 포함해야 합니다.

 

한국갤럽이 전국 만 18세 이상 성인 1001명을 대상으로 10∼12일 실시해 13일 발표한 조사 결과(95% 신뢰수준에 표본오차 ±3.1%포인트, 자세한 결과는 중앙선거여론조사심의위원회 홈페이지 참조)에 따르면 지지 정당이 없다고 답한 사람은 전체의 28%로 미래통합당 지지율(22%)보다 높은 것으로 집계됐다.

동아일보 '유권자 30% 안팎 무당층, 누구 손 들어줄까'

 

그러면 신뢰수준은 뭐고 표본오차는 또 뭘까요?

 

N포털에서 '신뢰수준'을 검색하면 제일 위에 '한경 경제용어사전' 풀이가 이렇게 나옵니다. (여기서 한경은 '한국경제' 그러니까 신문사입니다.)

 

신뢰 수준 95%는 해당 여론조사를 95% 믿을 수 있다는 뜻이 아니라 같은 조사를 100번 하면 오차범위 내 동일한 결과가 나올 횟수가 95번이라는 뜻이다.

 

마찬가지로 '표본오차'도 같은 사전 풀이가 제일 위에 뜹니다.

 

여론조사에서 모집단의 일부인 표본에서 얻은 자료를 통해 모집단 전체의 특성을 추론함으로써 생기는 오차. ‘95% 신뢰수준에 표본오차 ±3.0%포인트’는 같은 조사를 100번 했을 때 95번은 오차가 ±3.0%포인트 안에 있다는 뜻이다.

 

그러면 '오차'는 또 뭘까요?

 

애석하게 이 사전에는 오차에 대한 설명이 없습니다.

 

그래서 이 블로그와 절친인 위키피디아에서 인용해 보도록 하겠습니다.

 

오차(誤差, 영어: error)란 참값근삿값의 차이로, 근삿값에서 참값을 뺀 값이다. 예를 들어 참값 π(원주율)을 근삿값 3.14에서 뺀 값, 3.14 - π는 오차이다. 오차는 양숫값, 0, 음숫값을 모두 가질 수 있다. 그리고 오차의 절댓값이 작을수록 근삿값은 참값에 가깝다.

 

오차범위는 문자 그대로 이 오차가 발생하는 범위입니다.

 

여론조사에서는 조사 결과가 근삿값입니다.

 

참값은 실제로 국민을 한 명, 한 명 조사해 그 가운데 몇 %가 지지 정당이 없는지 확인한 결과겠죠?

 

실제로 이런 작업을 하는 건 불가능에 가깝습니다.

 

대신 이 조사를 100번 (반복)했을 때 95번은 '조사 결과 - 실제 비율'(오차)이 ±3.1%포인트 안에 있다는 사실은 알 수 있습니다.

 

이상을 종합하면 같은 조사를 100번 했을 때 95번은 '지지 정당이 없다'고 답한 사람이 28% ± 3.1%포인트 범위(24.9~31.1%)로 나올 것이라는 의미가 됩니다.

 

정말 그럴까요?

 

일반적으로는 이렇게 이해하셔도 큰 무리가 없습니다.

 

국내에서 손꼽히는 신문사에서 내놓은 사전 풀이를 따라 정의한 결과니까 말입니다.

 

단, 아주 적확하게 말씀드리면 이 설명은 틀렸습니다.

 

지금부터 왜 이런 접근법에 '구멍'이 있는지 살펴보도록 하겠습니다.

 

 

동전을 던져보자

통계 개념을 공부할 때는 일단 동전부터 던져 보는 게 좋습니다.

 

동전을 한 번 던졌을 때 앞면이 나올 확률이 12라는 건 모르시는 분이 아니 계실 겁니다.

 

그러면 동전을 두 번 던졌을 때 앞면이 한 번 나올 확률은 얼마인가요?

 

앞면을 H, 뒷면을 T라고 하면 이 때 나올 수 있는 경우의 수는 {H, H}, {H, T}, {T, H}, {T, T} 등 4가지 입니다.

 

이때 앞면이 한 번 나오는 건 {H, T}, {T, H} 등 두 경우입니다. 따라서 24=12이 답이 됩니다.

 

그렇다면 동전을 세 번 던졌을 때 앞면이 두 번 나올 확률은 얼마인가요?

 

마찬가지로 쓰면 {H, H, H}, {H, H, T}{H, T, H}, {H, T, T}, {T, H, H}, {T, H, T}, {T, T, H}, {T, T, T} 여덟 가지 경우가 있습니다.

 

이 가운데 앞면이 한 번 나오는 건 색칠한 세 사례. 그래서 38이 답입니다.

 

이렇게 계속 계산하면 동전을 100번 던졌을 때 앞면이 0~100번 나올 확률도 구할 수 있습니다.

 

이 확률을 그래프로 그리면 어떻게 나타날까요?

 

일단 50번(=100 × 12)에 가까울수록 확률이 높을 겁니다. 따로 설명드리지 않아도 아시겠죠?

 

동시에 0번 그리고 100번 쪽으로 가면 확률이 내려갈 것이라고 짐작할 수 있습니다.

 

실제로 0~100번 확률을계산을 해서 그래프를 그리면 아래 그림처럼 나타납니다.

 

(이 그래프를 어떻게 그리는지 궁금하시다면 "롯데 '가을야구' 진출 확률, 이항분포로 알아보자!" 포스트가 도움이 될 수 있습니다.)

 

동전을 100번 던졌을 때 앞면이 정확하게 50번 나올 확률이 8%로 제일 높습니다.

 

이어서 49번 또는 51번 나올 확률이 7.8%로 그다음입니다.

 

따라서 동전을 100번 던졌을 때 앞면이 49~51번 나올 확률은 23.6%라고 할 수 있습니다.

 

같은 방식 식으로 확률을 더해보면 앞면이 40~60번 나올 확률은 95.4%가 나옵니다.

 

뭔가 재미있는 일이 벌어지고 있는 것 같지 않습니까?

 

이 그래프에 평균 50, 표준편차 5인 정규분포 그래프를 얹어 보면 더욱 재미있는 결과가 나타납니다.

 

100% 완벽하지는 않지만 아주 잘 맞습니다.

 

사실 정규분포 그래프가 눈에 익은 분이라면 주사위를 던져서 그린 첫 그래프만 보셔도 정규분포라는 표현을 떠올리셨을지 모릅니다.

 

고등학교 때 수학 공부를 아주 열심히 하신 분이라면 '이항분포의 정규근사(近似)'라는 개념까지 도달하셨을 수도 있습니다.

 

시행 횟수 그러니까 여기서는 동전을 던지는 횟수가 많을수록 그리고 성공 확률이 12에 가까울수록 이항분포는 정규분포에 가까워지게 됩니다.

 

그게 정규분포가 확률 분포 가운데 제일 유명하게 된 이유이기도 합니다.

 

이제 이 유명한 녀석과 조금 더 놀아 보도록 하겠습니다.

 

 

세상은 정규분포

정규분포에 대해 개념을 잡고 싶을 때는 이 유명한 그림을 들여다 보면 도움이 됩니다.

 

정규분포 그래프는 평균(μ)과 표준편차(σ)에 따라 모양이 변합니다.

 

그래도 변하지 않는 건 평균이 가장 볼록하고 평균에서 멀어질수록 좌우 대칭으로 높이가 낮아진다는 점입니다.

 

이를 다른 말로 표현하면 평균 주변에 표본이 많이 몰려 있고 양 끝으로 갈수록 줄어든다는 뜻이기도 합니다.

 

동전을 100번 던질 때 앞면이 40~60번 나오는 경우가 95.4%나 되는 것처럼 말입니다.

 

정규분포에서도 평균을 중심으로 ±1표준편차 안에 전체 사례 중 68.3%가 몰려 있고, ±2표준편차 안에 95.4%, ±3표준편차 안에 99.7%가 들어 있습니다.

 

(이 그림에서 ±3표준편차 바깥에 각각 0.1%씩 존재하는 것처럼 보이는 건 반올림 때문입니다.)

 

이런 특징을 흔히 '68 - 95 - 99.7 규칙' 또는 3 시그마 규칙이라는 표현으로 요약합니다. (σ가 시그마입니다.)

 

그리고 여기 등장하는 숫자를 가지고 '신뢰구간'(Confidence Interval)을 정의합니다.

 

숫자를 딱 떨어지게 맞추면 '평균 ± 1.96표준편차' 안에 전체 사례 가운데 95%가 들어있습니다

 

따라서 95% 신뢰구간은 -1.96표준편차~1.96표준편차로 나타낼 수 있습니다.

 

이 구간을 여론조사에서는 표본오차 또는 오차범위라고 부릅니다.

 

그러면 이 신뢰구간과 '신뢰수준'(Confidence Level) 사이에는 어떤 관계가 있을까요?

 

 

100번 가운데 95번

평균이 0, 표준편차가 1인 (표준) 정규분포를 따르는 모(母)집단이 있다고 가정해보겠습니다.  

 

여기서 샘플(표본) 50개를 뽑습니다. 그다음 이 샘플 50개를 가지고 평균과 표준편차를 계산합니다. 그러면 이 50개 샘플 95% 신뢰구간도 구할 수 있겠죠?

 

이런 작업을 100번 반복해 각 시행별 95% 신뢰구간을 그려보면 아래처럼 나타납니다.

 

신뢰구간 100개 가운데 95개 그러니까 95%는 신뢰구간 안에 모집단 평균인 0이 들어갑니다.

 

노파심에 말씀드리면 100번 반복할 때마다 정확하게 95번 vs 5번으로 나뉘는 건 아닙니다.

 

어떨 때는 92번 vs 8번이 되기도 했다가 어떤 때는 98번 vs 2번이 되기도 합니다.

 

전체적인 흐름이 95 vs 5를 향해 수렴한다는 말씀입니다.

 

이런 결과가 나오는 건 물론 95% 신뢰구간을 기준으로 그래프를 그렸기 때문입니다.

 

신뢰수준(또는 신뢰도) 95%라는 건 이런 뜻입니다.

 

따라서 '95% 신뢰수준에 표본오차 ±3.1%포인트'라는 말은 "같은 조사를 100번 했을 때 95번은 '지지 정당이 없다'고 답한 사람이 28% ± 3.1%포인트 범위(24.9~31.1%)로 나올 것"이라는 뜻이 아닙니다.

 

정말 100번 가운데 95번은 그 범위로 나올 것인지는 알 수가 없으니까요.

 

달리 말하면 같은 조사를 100번 했을 때 95번은 전 국민 대상 조사 결과를 예측할 수 있지만 나머지 5번은 틀릴 것이라는 뜻입니다.

 

그리고 이번 조사가 95번에 속하는지 5번에 속하는지도 알 수 없습니다. 그저 95번에 속할 것이라고 기대할 뿐입니다.

 

그런데 여기서 의문이 하나 들지 않으시나요?

 

이렇게 100번 가운데 95번이 겹친다는 사실을 확인할 수 있는 건 우리가 이미 모집단 평균(=모평균)이 0이라는 사실을 알고 있었기 때문입니다.

 

반면 여론조사 때는 조사 결과는 알아도 전체 국민이 어떻게 생각하는지는 알지 못합니다.

 

이럴 때는 어떻게 해야 신뢰수준 95%를 확인할 수 있을까요?

 

 

적은 샘플의 아름다움

이번에는 아주 적은 개수로 샘플링을 한 번 해보겠습니다.

 

집합 {1, 2, 3}에서 (반복을 허락해) 원소를 두 개씩 추출하는 겁니다.

 

참고로 이 집합에서 평균을 구하면 2이고, 분산은 23, 표준편차는 23입니다.

 

 표집  표본 평균  오차  오차 제곱
 {1, 1}  1   1  1
 {1, 2}  1.5   0.5  0.25
 {1, 3}  2   0  0
 {2, 1}  1.5   0.5  0.25
 {2, 2}  2   0  0
 {2, 3}  2.5  -0.5  0.25
 {3, 1}  2   0  0
 {3, 2}  2.5  -0.5  0.25
 {3, 3}  3  -1  1
 평균  2   0  13

 

이 표에서 표본 평균은 추출한 원소 두 개 평균을 구한 값, 오차는 모 평균에서 표본 평균을 뺀값입니다. 오차 제곱은 이 오차를 제곱한 값입니다.

 

제일 먼저 눈에 띄는 사실은 '표본 평균의 평균'을 계산하면 원래 평균과 같은 값(2)이 나온다는 점입니다.

 

오차 제곱의 평균 그러니까 표본 평균의 분산(13)은 원래 분산(23)과 다릅니다.

 

그런데 전체 분산(23)을 표본 숫자(2)로 나누면 표본 평균의 분산(13)과 같은 값이 나옵니다.

 

그래서 표본 평균의 분산을 알면 전체 분산도 알 수 있습니다.

 

이 값에 루트를 씌우면 표본 평균의 표준편차가 나오겠죠?

 

단, 오차를 가지고 계산했기 때문에 이 때는 이 값을 '표준오차'라고 부릅니다.

 

표본 평균의 분산을 알면 전체 분산을 구할 수 있다는 건 전체 분산을 알면 표본 평균의 분산도 구할 수 있다는 뜻이 됩니다.

 

또 표본 평균의 분산을 알면 표준오차도 구할 수 있습니다. 

 

σ2를 전체 분산, n을 표본 크기(숫자)라고 할 때 표준오차(σx)는 아래처럼 계산하면 됩니다.

 

σx=σ2n

 

표본 숫자가 분모에 있기 때문에 표본이 늘어나면 표본오차가 작아지고 줄어들면 커집니다.

 

표본이 많으면 많을수록 여론조사가 더 정확할 것이라는 믿음과도 잘 맞아 떨어지는 결과입니다.

 

그런데 만약 전체 분산을 모를 때는 어떻게 할까요?

 

한번 더 통계학 최고 교보재 동전을 가지고 이를 알아보겠습니다.

 

 

동전을 한 번 더 던져보자

우리는 동전을 100번 던지면 앞면은 50번이 나올 거라고 '기대합니다.' 왜 그럴까요?

 

동전을 던졌을 때 앞면 또는 뒷면이 나올 확률(p)이 12이기 때문입니다.

 

따라서 일단 기댓값(E(X)) 그러니까 평균을 'n×p=np'라고 쓸 수 있다는 걸 알 수 있습니다.

 

사실 {1, 2, 3} 평균을 계산할 때 1+2+33으로 계산하는 건 각 숫자가 13 확률로 나타났기 때문이라고도 볼 수 있습니다.

 

그러니까 이건 1×13+2×13+3×13을 계산한 것과 같은 결과입니다.

 

그러면 동전을 던져서 앞면이 나오면 1점, 뒷면이 나오면 0점을 받는 게임에서 점수의 분산(σ2)을 계산하고 싶을 때는 어떻게 할까요?

 

이때 기댓값은 12입니다. 그리고 성공할 확률도 12이고 실패할 확률도 112=12입니다.

 

그러면 분산을 구하는 식은 아래처럼 쓸 수 있습니다.

 

σ2=(112)2×12+(012)2×(112)

 

이를 p를 써서 일반화하면 아래 같은 공식으로 나타내는 게 가능합니다.

 

σ2=(1p)2×p+(0p)2×(1p)=p(1p)

 

위에서 우리는 표준오차를 아래 공식처럼 나타낼 수 있다고 확인했습니다.

 

σx=σ2n

 

분산 자리에 σ2 대신 p(1p)를 넣기만 하면 분산을 모를 때 표준오차를 구하는 공식을 쓸 수 있습니다.

 

σx=p(1p)n

 

자연스레 오차범위(ϵ)를 공식으로 나타내면 이렇게 쓸 수 있게 됩니다.

 

ϵ=z×p(1p)n

 

여기서 z는 표준점수(또는 z점수)를 나타냅니다.

 

2표준편차라고 이야기할 때 2가 바로 z점수입니다. 신뢰도 95%라면 이 숫자는 1.96이 됩니다.

 

 

한 번 더 세상은 정규분포

그렇다면 어떤 여론 조사 결과가 오차범위 안에 있다는 건 무슨 뜻일까요?

 

위에서 인용한 동아일보 기사가 인용한 한국갤럽 조사 결과는 이렇게 이어집니다.

.

 

한국갤럽이 2020년 3월 둘째 주(10~12일) 전국 만 18세 이상 1,001명에게 문재인 대통령이 대통령으로서의 직무를 잘 수행하고 있다고 보는지 잘못 수행하고 있다고 보는지 물은 결과, 49%가 긍정 평가했고 45%는 부정 평가했으며 6%는 의견을 유보했다(어느 쪽도 아님 3%, 모름/응답거절 3%).

 

긍정평가가 49%라는 건 100번 중 95번은 45.9~52.1% 사이 어딘가에 답변이 있다는 뜻입니다.

 

마찬가지로 부정평가가 45%라는 건 100번 중 95번은 41.9%~48.1% 사이 어딘가에 답변이 있다는 뜻입니다.

 

정규분포 그래프에 이 결과를 얹어 보면 아래처럼 나타납니다.

 

다시 말씀드리지만 우리는 전 국민 대상 조사 결과가 어디에 있는지 모릅니다.

 

그래도 이렇게 그래프가 겹치면 두 그래프가 서로 다른 지점을 가리키는 건 아니라는 사실은 알 수 있습니다.

 

따라서 오차범위를 벗어난 결과가 나와야 두 응답 사이에 차이가 있다는 해석이 가능합니다.

 

예컨대 42% 대 49%로 결과가 나왔다면 이 조사는 신뢰도 95%를 기준으로 차이가 있다고 할 수 있습니다.

 

그런 이유로 한국갤럽은 "표본오차보다 훨씬 작은 변동에 대한 의미 부여는 해설이 아니라 소설"이라고 강조합니다.

 

사실 꼭 95%가 기준일 필요는 없습니다. 다만 여론조사 대부분은 관례적으로 95% 신뢰수준을 적용합니다.

 

한국갤럽은 "어떤 조사 결과에 다른 잣대(신뢰수준)를 적용해 조사 결과를 오도(誤導)할 가능성을 최소화하고, 서로 다른 조사 결과를 쉽게 비교하기 위함"이라고 이유를 설명하고 있습니다.

 

95% 신뢰수준을 가장 널리 쓰다 보니까 조사대상(표본)이 몇 명일 때 오차범위가 얼마라는 것도 알고 있으면 도움이 됩니다.

 

아, 여기서 응답률이라는 표현도 짚고 넘어갈 필요가 있습니다.

 

조사대상이 1000명일 때 응답률이 14%라는 건 1000명 중 14%인 140명이 응답을 했다는 뜻이 아닙니다.

 

1000명에게 대답을 들으려고 7143명에게 전화를 걸었다는 뜻입니다.

 

그러면 10007143= 14%가 나옵니다.

 

이 응답률이 낮다고 꼭 신뢰도가 낮은 건 아닙니다.

 

그보다는 표본 추출 방식과 조사 방식이 더 신뢰도에 영향을 많이 끼칩니다.

 

 

정말로 세상은 정규분포

여론조사에서만 정규분포를 활용하는 건 물론 아닙니다.  

 

클레이턴 커쇼(현 LA 다저스)  2006년 스카우팅 리포트

평균이 50, 표준편차가 10인 정규분포 그래프를 그리면 전체 표본 가운데 99.7%가 50 ± 30 그러니까 20~80 사이에 몰려 있을 겁니다.

 

그래서 메이저리그 스카우트가 선수를 평가할 때는 0~100점이 아니라 20~80점만 씁니다. 

 

또 품질 관리 용어 중 '6 시그마'도 정규분포에 여기 뿌리를 두고 있습니다. (σ를 /시그마/라고 읽는 것 잊지 않으셨죠?)

 

평균 ± 6표준편차 안에는 99.9999998027%가 들어갑니다.

 

그러니까 불량률을 0.000000001073%까지 낮추겠다는 게 바로 '6 시그마'인 셈입니다.

 

저 역시 학창시절 '도대체 정규분포 같은 걸 배워서 어디에 써먹으란 말이냐?'고 생각했던 문과충 사람 가운데 한 명입니다.

 

그런데 실제로는 이렇게 쓸모가 많습니다. 역시 뭐든 배워서 나쁠 건 없습니다.

 

데이터 과학 입문서 '친절한 R with 스포츠 데이터'를 썼습니다

어쩌다 보니 '한국어 사용자에게 도움이 될지도 모르는 R 언어 기초 회화 교재'를 세상에 내놓게 됐습니다. 책 앞 부분은 '한국어 tidyverse 사투리' 번역, 뒷부분은 'tidymodels 억양 따라하기'에 초점

kuduz.tistory.com