본문 바로가기

갈아먹는 통계 기초[3] 표본 추출

지난 글

갈아먹는 통계 기초[1] 확률 분포 정리

갈아먹는 통계 기초[2] 공분산과 피어슨 상관계수

들어가며

TV 드라마의 시청률을 조사하는 상황을 생각해보겠습니다. 먼저 모든 가구들의 TV에 어느 체널을 보는지 측정할 수 있는 장비를 설치하고 시청률을 측정하는 방법을 생각해 볼 수 있습니다. 이를 전수 조사라고 합니다. 하지만 이는 너무 많은 비용과 시간이 소요됩니다. 그렇기 때문에 전체 가구들 중 일부 가구의 시청 체널을 조사하는 방법을 택할 수 있습니다. 이를 표본 조사라고 합니다.

 

하지만 여기서 고민이 생깁니다. 표본을 얼만큼, 어떻게 뽑아야만 신뢰할 만한 시청률을 측정할 수 있을까요? 이번 시간에는 이러한 표본 집계에 대해서 알아보도록 하겠습니다.

표본 조사

전국민 조사에서 국민과 같이 원래 통계 측정의 대상이 되는 전체 집단을 모집단(population)이라고 합니다. 이 모집단의 특성을 나타내는 척도를 모수(parameter) 모평균, 모분산, 모표준편차 등이 포함됩니다. 모집단에서 일부를 선택한 것이 표본(sample)이라고 하며 여기서 얻은 통계를 통계량(statistic)이라 부릅니다. 이 통계량이 모수의 추정에 사용되면 이를 추정량(estimator)라고 부릅니다. 그리고 이러한 추정량들을 활용하여 모수를 추정한 것이 추정값입니다.(estimate)

 

표본 조사는 필연적으로 오차를 내포하고 있습니다. 국회 의원 선거 때도 출구 조사 결과와 실제 당선 결과가 다른 사례를 떠올려 볼 수 있습니다. 이러한 오차를 줄이기 위해서 가장 먼저 떠올려 볼 수 있는 방법은 표본을 많이 뽑은 것입니다. 하지만 그렇다고 마냥 표본의 수를 늘릴 경우 비용이 늘어납니다. 그렇다면 어떻게 표본을 뽑아야만 적은 비용으로 최대한의 신뢰도를 낼 수 있을까요?

표본 추출 방법

표본 추출 방법에는 확률 표본 추출과 비확률 표본 추출이 있다. 만일 시청률 조사를 위해서 서울시 강남구의 가구들만 조사한다면 이는 비확률 표본 추출이다. 강남구를 제외한 다른 모든 가구들은 표본에 속할 수 있는 확률이 0이기 때문이다. 반면 모든 가구들 가운데 무작위로 0.01%의 확률로 표본을 추출한다면 이는 확률 표본 추출이다. 흔히 확률 표본 추출이 더 비용이 많이 들지만 그만큼 bias가 적고 신뢰도가 높은 표본을 얻을 수 있다. 확률 표본 추출 방법에 의해서 뽑힌 표본들을 확률 표본이라고 부릅니다.[1]

 

표본을 추출하는 방법들은 다음과 같습니다.

· 단순확률 추출(Simple Random Sampling)

대상 집단의 모든 구성 요소들을 동등한 학률로 표본을 추출하는 것을 의미합니다. 가장 단순한 표본 추출 방법입니다. 시청률 측정 시에 전국 가구들을 대상으로 무작위 추출을 하는 것과 동일합니다.

 

· 층화 추출(Stratified Sampling)

전체 모집단을 몇 개의 하위 모집단으로 나눈 뒤, 각 하위 모집단들에서 독립적으로 표본을 추출하는 방법을 의미합니다. 시청률 측정 시에 먼저 도로 나누고 서울에서 한 가구, 경기도에서 한 가구, 경상도에서 한 가구, 전라도에서 한 가구씩 추출하는 방법입니다.

 

· 집락 추출(Cluster Sampling)

영어 보다 번역한 한글 단어가 좀 어색한 집락 추출입니다. 표본을 뽑는 단위를 표본 추출 단위(sampling unit)이라 하고, 설문 조사 등 조사를 실시하는 단위를 관측 단위(observation unit)이라 합니다. 관측 단위의 묶임이 곧 표본 추출의 단위가 되는 경우를 집락 추출이라 합니다. 예를 들어 학생들의 학업 성취도를 알아보기 위해서 학교를 먼저 선정한 다음, 시험을 치르게 했다고 가정해보겠습니다. 이 때 시험을 치는 주체는 학생이 됩니다. 그런데 표본을 추출한 단위는 학교로 관측 단위인 학생의 묶음이 됩니다.

 

· 계통 추출(Systematic Sampling)

계통 추출은 추출 간격 k를 정하여 k번째 순서에 위치한 단위들을 표본으로 선정하는 방식을 말합니다. 난수를 발생시켜 단순 확률 추출을 적용하기에 어려운 상황에서 활용됩니다.

재표본 추출(Resampling)

한번 표본을 추출한 뒤(sampleing), 여기서 얻은 통계량(statistic)을 추정치(estimator)로 사용하여  모집단(population)의 통계량인 모수(parameter)의 추정값(estimate)을 구하게 됩니다. 그러나 한번만 추정 값을 낸 경우 신뢰성이 부족한 경우가 발생합니다. 이를 해결하기 위해서 반복적으로 새로운 표본을 추출한 다음 추정값을 내는 과정을 거치게 되며 이를 재표본 추출(resampling)이라고 부릅니다.[2]

 

리샘플링에는 두 가지 방법이 있습니다.

· Bootstrap

표본을 추출할 때마다 전체 데이터 셋에서 무작위로 선택하는 방법입니다. 이 경우 동일한 데이터가 표본에 중복되어 선택이 될 가능성이 있습니다. 

 

· k-fold-validation

데이터 셋을 미리 k개로 나눠주고(partitioning) 각 파티션 별로 표본을 추출하는 방식입니다. 이 경우 표본에 중복된 데이터가 속하는 가능성을 방지합니다. k-fold-validation은 특히 머신러닝에서 학습용 데이터가 부족한 경우 많이 사용됩니다. 테스트 용으로 사용할 데이터 셋을 제외한 나머지 파티션으로 모델을 학습시키고 테스트 용 표본으로 성능을 측정하는 것입니다. 데이터의 양이 부족하여 애당초 학습용와 테스트용을 나눌 수 없을 경우에 활용됩니다.

 

지금까지 샘플링과 리샘플링에 대해서 알아보았습니다. 하지만 모집단에 비해서 대체 얼만큼 표본을 추출해야만 신뢰성이 있다고 할 수 있을까요? 이를 위해 먼저 신뢰 구간에 대해서 알아보겠습니다. 그리고 통계적으로 적절한 표본의 수는 어떻게 구할 수 있는지 알아보겠습니다.

신뢰 구간

우리는 표본의 통계량을 추정량으로 사용하여 모수에 대한 추정값을 구하고자 합니다. 이 때, 추정값을 하나의 값으로 내는 것을 점 추정(point estimation)이라 합니다. 반면에 모수가 있을 법한 범위를 추정 값으로 내는 것을 구간 추정(interval estimation)이라 합니다. 수식으로 나타내면 아래와 같습니다.

구간 추청을 통해서 얻어지는 구간 (a, b)를 신뢰 구간(confidence interval)이라 합니다. 그리고 신뢰 구간 폭의 절반을 오차 한계(error bound) d라고 합니다. 신뢰 수준(confidence level)은 여러번 구한 신뢰 구간 중 추정하고자 하는 모수를 포함하는 신뢰구간의 비율을 의미합니다. 따라서 신뢰 구간은 크기가 작을 수록, 신뢰 수준은 높을 수록 좋습니다.[1]

 

모집단이 정규 분포를 따를 때 표본 평균 μ를 통해서 95%의 신뢰 수준으로 모평균을 구간 추정해보면 아래와 같습니다. 

이는 즉, 신뢰 구간 안에 모평균이 95%의 가능성으로 존재할 것이다른 것을 의미합니다. 모평균에 대한 구간 추정을 수식으로 나타내면 아래와 같습니다. 이 때 중요한 것은 모집단의 표준 편차를 알 때와 알지 못할 때의 수식이 다릅니다. 먼저 σ(모표준편차)를 알 때에는 정규 분포와  σ를 사용합니다. 반면에 σ를 모를 경우에는 t 분포와 s(표본 표준 편차)를 사용합니다. 

t-분포에 대한 자세한 내용은 이전 포스팅[3]을 참고해주시면 감사하겠습니다.

표본 수의 결정

자 다왔습니다. 앞서 우리는 신뢰 구간과 오차 범위 d에 대해서 알아보았습니다. 오차 범위 d는 신뢰 구간 폭의 절반과 같습니다. 표본의 크기가 커질 수록 이러한 오차 범위는 줄어들게 되며 이를 수식으로 나타내면 아래와 같습니다. (모 표준 편차를 아는 상황이라고 가정하겠습니다.)

위 수식에서 α는 귀무 가설이 틀릴 수 있는 확률입니다. 신뢰 구간의 신뢰도를 표현할 때에는 100(1-α)%를 사용하여 표기하게 되며, 정규 분포는 좌우가 대칭이기 때문에 표준 정규분포에서 신뢰도를 벗어나는 값을 Zα/2로 표현해주는 것입니다. 각각의 신뢰도 별로 표준 정규 분포 상에서의 값을 확인해보면 아래와 같습니다. 보통 통계학 서적에서는 90%, 95%, 99% 세 가지 수준의 신뢰도를 사용합니다.

 

다시 표본 수로 돌아와서 만일 우리가 90% 수준의 신뢰도를 얻고 싶고, 이때  수용 가능한 오차 범위는 0.2이며 모표준편차가 0.4라면 필요한 표본 수는 아래와 같습니다.

하지만 우리가 신뢰도의 수준을 더 높여서 99% 수준의 신뢰도를 얻고 싶다면 표본 수는 다음과 같이 변합니다.

이렇듯 표본의 개수가 늘어날 수록 신뢰도는 높아집니다. 모든 상황에 정답은 없지만, 구하고자 하는 통계량이 가져야할 실뢰도, 허용가능한 오차 범위, 한정된 예산 안에서 적절한 선택을 하기 위해서 이러한 수학적 도구를 사용해 볼 수 있을 것 같습니다.

마치며

지금까지 통계학에서 표본을 추출하는 방법들과 리샘플링, 표본 수를 결정하는 방법에 대해서 알아보았습니다. 사실 신뢰도가 높은 표본을 추출하는 방법에 대해서만별도의 책이 있을 정도로 관련 지식들이 방대합니다. 늘상 그렇듯 개념적인 부분만 훑고 넘어가지만 꾸준히 공부해서 추가적으로 관련된 지식을 알게 되면 포스팅을 업데이트 하도록 하겠습니다

 

감사합니다.

Reference

 

[1] 통계학 입문, 강상욱 외 8인

[2] https://machinelearningmastery.com/statistical-sampling-and-resampling/

[3] 갈아먹는 통계 기초[1] 확률 분포 정리, 갈아먹는 머신러닝