brunch

You can make anything
by writing

C.S.Lewis

by 김성진 Feb 25. 2020

마구잡이식 여론조사는 왜 실패하는가

(2) 확률 추출(Ramdom Sampling)과 RDD

마구잡이식 여론조사는 왜 실패하나

조심스러운 표본 설계 과정 필요... 확률 추출이란?


(앞선 글과 이어집니다)

여론조사를 할 때 집단의 '전체'를 조사하지는 않습니다. 일부만 추려서 조사합니다. 추린 집단을 '표본'이라 하는데, 이렇게 표본만 조사할 땐 '표본조사'라 합니다. 만약 집단을 전체 다 조사한다면 '전수조사'입니다. 코로나19 확진자의 동선을 한명도 빠짐없이 다 조사한다면 전수조사가 되겠죠.


표본조사를 한다면 이론상의 '확률 추출'을 해야 합니다. 그래야만 표본이 전체 집단을 대변할 수 있습니다. 예를 들어, 빨간공과 파란공 모두 합쳐 1000개가 들은 주머니가 있습니다. 공을 제가 랜덤으로 뽑습니다. 빨간 공 58개, 파란공 42개가 나왔는데요, 원래의 주머니도 빨간공과 파란공이 58대 42, 또는 6대 4 비율로 있다고 봐도 괜찮을까요?

제 손이 빨간공과 파란공을 구별할 능력은 없습니다. 저는 단지 100개 공을 확률에 따라 뽑은 게 되는 겁니다. 아마 그 확률이 58대 42와 가깝기 때문에 이같은 결과가 나온 것이겠죠. 따라서 '1000개 들은 원래의 주머니도 빨간공, 파란공이 6:4 비율로 있겠구나' 추정도 할 수 있습니다.


랜덤하게 뽑아야만, 조사를 위해 뽑은 집단의 '일부'가 '전체'를 대표할 수 있습니다. 뒤집어 생각하면 표본의 대표성이 보장돼야만, 조사 결과를 전체 집단으로 확대해 적용할 수 있습니다.



사실과 다른 여론조사는 여론을 호도한다. 설문 응답을 수집하기에 앞서 올바른 샘플링이 이뤄져야 하는 이유(사진 출처 : 게티 이미지)


확률 추출과 표본의 대표성... 랜덤하게 뽑아야 전체 집단 대변한다


표본 집단을 조사하기에 앞서 그럼 '확률 추출'이 전제돼야 하는 이유를 직접 데이터 분석 통해 알아보겠습니다. 지난해 6월 보도전문 채널 YTN이 25일부터 일주일 간 유튜브 채널에 올린 영상을 크롤링한 데이터가 있습니다. 25일부터 7월 22일까지 모두 1,520 개 영상을 올렸고, 앞서 분석한 결과 송중기-송혜교 커플의 이혼 소식과 한중미 정상 간 판문점 깜짝 회동을 다룬 영상들의 조회수가 특히 높았습니다.

https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=102&oid=047&aid=0002232503

지난해 6월 YTN이 일주일 동안 유튜브 채널에 업로드한 1,520개 동영상의 데이터.

채널 'YTN News'에 있던 1,520개 동영상의 제목, 게시일과 함께 화면에 보이지 않지만 댓글과 좋아요 수, 조회수를 수집해 왔습니다. 데이터는 통계 프로그램 R을 통해 분석합니다.


표본조사를 할 때 전체집단에서 랜덤하게 추출하는 게 얼마나 중요한지 확인할 겁니다. 예를 들어, 여러분이 직장에서 YTN 동영상 조회수의 분포를 분석해야 합니다. 그런데 전체 1,520개는 너무 많습니다. 이에, 그 중의 절반만 추려서 조회수를 확인하려 합니다.

YTN 조회수 데이터의 히스토그램. 극도로 높은 값이 있어(Skewed to the Right) 그림이 조회수 분포를 제대로 그려내지 못한다.

조회수 같이 1천, 2천 등 숫자 값을 갖는 수치형 데이터는 우리가 히스토그램을 그립니다. 위의 그림이 조회수의 히스토그램인데, 우리가 흔히 보던 차트형 그림과 모양이 많이 다르죠. 가장 왼쪽으로 큰 막대 하나만 그려져 자료의 분포를 확인하기가 쉽지 않습니다. 이런 모양을 '오른쪽으로 꼬리가 길다'(Skewed to the right 또는 Positive Skew)라고 합니다.


히스토그램이 저렇게 그려진 것은 평균적인 수준보다 조회수가 극도로 높은 동영상이 있기 때문입니다. 대부분의 동영상은 조회수 25만 회 이하를 기록했는데요, 6월 27일에 업로드된 '온갖 소문 돌자... 송혜교 측이 직접 밝힌 이혼 사유'가 조회수 2,957,802회를 기록해 위 그림 오른쪽 끝 편에 아주 작은 점으로 찍혀있을 겁니다. 히스토그램이 조회수의 제대로 된 분포를 나타내지 못하는 이유입니다.


로그 변환한 YTN 조회수 데이터. 극도로 높은 값이 줄여지면서 원 데이터보다 조회수 분포가 더 잘 보인다.

이럴 때 우리는 데이터를 '변환'합니다. 지금 같이 데이터가 극도로 비대칭이어서 분포를 확인하기 어렵거나, 회귀분석 등 모델링 등 하기에 앞서 정규분포 형태가 필요할 때 데이터 변환(Transformation) 작업을 거칩니다. 지금은 로그 변환(Log transformation)을 할 건데, 로그 함수가 큰 값은 줄이고 1 이하의 작은 값은 오히려 음수로 절대값을 늘리기 때문에  Momentous Function이라 부릅니다. 지금과 같은 경우 3백 여만 회에 달했던 송혜교 관련 영상의 조회수는 로그 변환을 하면 14.899로 줄어들게 됩니다. 따라서 위와 같이 좁혀진 범위에서 데이터 분포를 확인할 수 있는 거죠.


확률 추출하기 위한 R 코드. sample() 함수를 써서 전체 개수의 절반을 추출한다.

이제 확률 추출(Random Sampling)을 합니다. 통계 프로그램 R에서 확률 추출은 함수 sample()을 통해 할 수 있습니다. 원리는, 매순간 바뀌는 컴퓨터의 시스템 시간(숫자)을 초기값으로 아주 복잡한 알고리즘을 거쳐 사용자가 지정한 갯수만큼의 숫자를 만들어내는 겁니다. 알고리즘은 변하지 않지만 함수를 사용할 때마다 초기값인 시스템 시간은 변하기 때문에 계속 랜덤하게 숫자를 뽑아낼 수 있습니다.

R에서 추출한 표본 데이터. 왼쪽 줄에 269, 1393 등으로 이어지는 게 추출한 데이터 번호이고, 그 오른쪽으로 소숫점 적힌 숫자가 로그 변환한 해당 데이터의 조회수다

sample() 함수로 표본을 추출한 화면입니다. 1,520개 중 절반을 뽑아 모두 760개 데이터로 구성됐습니다. 이론상의 확률 추출을 한 것인데 표본이 모집단의 구성을 반영한다면 함께 그린 히스포그램에서 데이터의 분포가 비슷한 그림을 그려야 합니다.

모집단(연두색)과 표본집단(파란색)의 분포 비교.

전체 집단과 표본집단의 조회수 분포를 같은 화면에 그렸습니다. 연두색이 전체 집단이고, 파란색이 표본 집단입니다. 그래프의 형태로 미루어볼 때 표본 집단이 전체 집단과 같은 분포를 갖는다는 것을 알 수 있습니다. 확률 추출을 해야 표본 집단이 전체 집단의 구성을 고루 반영해 대표성을 갖는 것입니다. 데이터 분포의 위치를 확인할 때 평균 값 또는 중앙값(자료를 작은 것부터 큰 것까지 순서대로 나열할 때 정중앙에 위치한 값)을 비교하는데 전체집단(평균 6.86, 중앙값 6.50)과 표본집단(6.86, 중앙값 6.48)이 크게 다르지 않습니다.



표본은 '확률 추출'해야... 현실적으로 쉽지 않아


데이터 분석 통해 확인한 바와 같이 표본이 대표성을 가지려면 추출하는 과정에서 확률성(Random)이 보장돼야 합니다. 문제는 현실성입니다. 현실에서는 앞서 말한 '확률 추출'을 실현하기 힘든 경우가 많습니다. 그 이유는 크게 두 가지인데, 하나는 'Sampling Frame'이 없는 것, 또 하나는 '낮은 응답률'입니다.


Sampling Frame은 표본 추출하기 위해 필요한 자료인데, 쉽게 말해 전체 집단의 명부입니다. 가령, 코로나19 확진자를 대상으로 실태 조사를 실시하려 한다면 확진자의 명단이 있어야 이론에 기초해 표본 명단을 작성할 수 있을 겁니다. 따라서, Sampling Frame은 표본조사를 할 때 필요한 기초 자료와도 같은데 조사에 앞서 확보하지 못하는 경우가 많습니다. 예를 들어, 매주 정당 지지율 등을 발표하는 여론조사 기관 리얼미터가 한국 국민 전체의 명부를 확보하고 있지는 않을 겁니다.


두 번재는 낮은 응답률입니다. 예를 들어, 코로나19 확진자의 명단을 확보해 설문조사지를 완성했고, 표본을 추출해 발송했다고 합시다. 이때 조사자가 발송한 표본은 이론에 기초해 확률적으로 추출했습니다. 이대로 모든 응답만 받을 수 있다면 확률 추출에 기초한 표본 데이터를 얻게 됩니다. 문제는 발송한 그대로 모든 응답을 받기란 쉽지 않다는 점입니다. 예를 들어, 리얼미터가 지난 24일 코로나19 확산에 따른 개강 연기에 대한 여론 조사를 실시했습니다. 당시 응답률이 5.4%에 불과합니다. 개인적인 유대 관계나 적절한 보상 없이 설문 응답을 받는 건 너무나 어렵습니다. 이에 이론상 가정에 맞춰 표본을 설계해도 그에 맞춰 데이터를 얻기가 힘든 겁니다.


어쨌든, 데이터 통해 확률 추출의 중요성을 확인했으니 이제 현실 차원의 문제로 넘어갑니다. 확률 추출을 하기 위해 여론조사 업체는 응답을 어떻게 수집할까요. 이를 위해 RDD(Random Digit Sampling)을 알아볼 겁니다. 쉽게 말해, 전화번호 뒷 네 자리를 랜덤하게 발생시켜 이론상 무선전화를 보유한 가계 중 일부를 랜덤하게 추출한 겁니다. 자세한 내용은 다음 글에서 다루겠습니다.

매거진의 이전글 내겐 너무 쉬운 표본조사...정말?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari