[선거] 출구조사와 ‘AI예측’은 왜 사전투표를 못 맞췄을까?

160X600_GIAI_AIDSNote
지역, 연령, 성별 기반 표심이 틀린 곳들 탓에 출구조사 오차 발생한 10개 선거구
틀린 이유는 1주일 사이에 표심이 빠르게 바뀌었기 때문
'스윙 보터'들의 표심은 단순 여론조사 데이터로 알기 어려워
AI예측도 결국은 정확한 데이터 없으면 한계

지난 10일 제22대 총선 투표가 막 끝나자마자 오후 6시에 방송사들이 공개한 출구조사와 11일 오전에 확인한 투표 결과가 상당히 달랐다는 평들이 나온다. ‘투표함은 열어봐야 안다’며 단순한 오차라고 치부하고 넘어갈 수 있지만, 이번 개표 방송에 각 방송사들이 ‘AI예측’이라는 표현을 써 가면서 자신감을 보였던 것을 생각해보면, 사실은 AI가 아니었고, 통계 추론 상의 가정이 잘못된 것이 원인이라는 따끔한 지적이 필요해 보인다.

선거투표

최종 투표율 67.0%, 사전 투표율 31.3%

출구조사도 틀릴 수 있고, AI도 다 못 맞춘다는 평가들이 나오지만, 이번 출구조사 오차의 핵심은 당일 투표 35.7%, 사전 투표 31.3%라는 수치와 출구조사는 당일 투표에만 진행됐다는 사실에서 찾아야 한다. 심지어 출구조사는 오후 5시까지만 진행하기 때문에, 실제로는 약 32%의 투표자들 중 계통추출법(Sytematic sampling)을 통해 뽑은 약 5~6% 내외의 투표자들의 표심을 바탕으로 전체 67%의 표심을 해석해야 했던데서 발생한 문제다. 거기다 모든 투표장에 출구조사 담당자를 배치하지 않고, 여론조사로 표심의 향배를 쉽게 판단하기 어려운 투표소 일부, 혹은 해당 지역구를 대표한다고 판단되는 투표소 몇 곳에만 담당자를 배치했을 것을 감안하면 전체 투표자의 1%에도 미치지 못하는 투표자들을 바탕으로 예측 시스템을 만들었을 것으로 추측해 볼 수 있다.

언뜻 보기에는 1%도 되지 않는 표본을 통해 100%의 투표를 모두 맞추는 것이 한계가 있지 않겠냐고 생각할 수 있겠지만, 한국의 주요 지역 구도와 지역별 투표 성향을 감안할 때, 254개 지역구 중 실제로 초점의 대상이 되는 곳은 100개 지역구 내외에 불과하다. 이번 출구조사가 10군데에서 당선자 예측에 실패한 만큼, 실질적인 오차는 대략 10% 남짓으로 보는 것이 옳다.

사전 투표가 없었던 시절이라면 당일 투표를 한 분들에서만 ‘5명 중 1명’ 혹은 ’10명 중 1명’을 계통추출해서 예측을 했을 것이고, 지금보다 정확도는 좀 더 높았을 것이라고 생각한다. 아무리 정교하게 보완 시스템을 구축한다고해도 없는 데이터에서 31.3%의 표심을 추측하는 것은 한계가 있기 때문이다. 과거 사전 투표가 없었을 때도 많이 틀렸지 않냐는 반박이 나올텐데, 사실 1%의 표본을 쓰나 2%의 표본을 쓰나, 통계학적으로 봤을 때 정확도에 크게 차이가 나지는 않는다.

다시 사전 투표로 돌아와서, 왜 이렇게 오차가 크게 나서 ‘AI예측도 별 수 없다’는 표현이 나오게 됐는지를 따져보면, 사전투표가 진행됐던 4월 5일, 6일과 당일 투표가 진행됐던 10일 사이에 표심이 일부 이동했지 않을까는 짐작해 볼 수 있다. 수리통계학적으로 해석하면 표본(출구조사에 응한 분들)을 뽑았던 모집단(투표자)의 분포함수(투표 성향)가 바뀌었다는 표현으로 정리할 수 있을 것이다. 혹은, 불과 1주일 사이에 투표 성향이 크게 바뀌지 않았다면, 사전 투표에 참석했다는 분들이 지역, 연령, 성별이라는 주요 3개 변수 기반 예측이 더 이상 들어맞지 않는다는 이야기일 수도 있다.

그간 출구조사가 맞지 않았다면 주요 3개 변수 기반의 추론이 틀렸기 때문인데, 이번 선거에서 서울, 경기, 부산, 경남 일부 지역에서만 출구조사 결과가 틀린 걸 보면서 주요 3개 변수는 이번에도 주요했지만, ‘정치는 생물’이라 끊임없이 변한다는 논리가 일부 선거구의 투표 성향 변화에 반영 된 것을 놓쳤기 때문은 아닐까는 가설을 세워봤다.

가설 1번: 지역, 연령, 성별이 더 이상 맞지 않는다?

일반적으로 전화 기반 여론조사는 군집 표집(Cluster sampling)으로 이뤄진다. 인구통계학적으로 어느 지역에 특정 연령, 성별인 분들이 몇 %인지를 확인한 다음, 그 비율만큼에게 설문조사를 한다. 총 1,004명에 대해 여론조사를 실시해 표본요차 범위를 ±2.2% 내외로 맞추겠다고 목표를 정했을 경우에, 50대 여성 비중이 4%인 지역구라면 해당 연령, 성별에 대해서 40명만 여론 조사를 할 것이다. 통계청에서 제공하는 인구, 성별 비율이 종종 틀리는 경우가 있어 오차를 만들어내기도 하지만, 대규모 아파트 단지가 최근에 들어선 것 같은 경우를 제외하면 큰 틀에서는 유의미한 차이를 보이지는 않는다.

그런데, 그렇게 조사한 여론조사가 실제와 오차가 매우 적으려면 전화 기반 여론조사에 응하신 분들이 그 지역구의 연령, 성별을 잘 대표해줘야 한다. 1~2명에게만 물어봤다면 오차가 클 수 있겠지만, 표본의 크기를 늘릴 수록 오차가 줄어들 것이라는 가정이 이쪽 표본 추출 기반 통계학 전공자들이 밑바닥에 깔고 있는 가정이다.

덧붙여, 지역, 연령, 성별 이외에 여론조사에 응하는 성향이라는 것도 고려해야된다는 것이 지난 2016년 미국 대선에서 트럼프 대통령 당선 예측에 실패한 후부터 본격적으로 등장한 가설이다. 이전부터 관련 학문들이 실제 성향과 표현 성향이 다른 부분에 대해 자기 학문 방식으로 정의하고 표본 조사에 관련 오차 보정을 고려해야한다는 지적이 많았는데, 내가 공부한 학문에서는 ‘현시 선호(Revealed preference)’라는 표현을 통해 실제 행동으로 보여준 성향과 말로 답변한 성향이 다른 것을 고려한다.

다만 비대면으로 이뤄지는 여론조사와 달리 대면으로 이뤄지는 출구조사에서는 좀 더 정확하게 자신의 의견을 내놓을 것이라는 것이 일반적인 견해다. 이어 실제로 투표장에 갈지 여부조차 불확실한 여론조사와 달리, 출구조사는 이미 투표장에서 1표를 행사한 사람들을 대상으로 이뤄지는 조사인만큼, 지역, 연령, 성별이라는 3개 주요 변수 기반 조사의 취약성에 상대적으로 덜 노출되어 있다.

그럼에도 불구하고 위의 3개 변수가 중요하게 작동하는 것은 사전 투표에 출구조사가 불가능하기 때문이다. 이번 선거에서 31.3%에 달했던 사전 투표 투표자들의 지역, 연령, 성별 정보는 주어져 있었던만큼, 그 변수들을 써서 사전 투표가 어떻게 이뤄졌을지 짐작할 수밖에 없다. 사전 투표와 당일 투표 결과가 크게 다르게 나오더라도 지역, 연령, 성별에 따른 성향만 일치한다면 투표한 비율대로 단순 곱을 통해서 쉽게 예측이 가능하기 때문이다.

가장 쉽게 생각해볼 수 있는 방법은 당일 출구조사에서 받은 지역, 연령, 성별으로 받은 후보별 지지율을 31.3%에도 그대로 적용하는 것이다. 당일 출구조사에서 실제 성향과 표현 성향을 다르게 대답한 일부 표본으로 인한 오차를 제외한다면, 이론적으로는 완벽하게 사전 투표 결과를 복원해 낼 수 있다.

그럼에도 불구하고 이번 출구조사가 상당히 틀렸던 지역들은 왜 틀렸을까? 무려 ‘AI예측’을 했다면서?

가설 2번: 1주일 사이에 투표 성향이 변했다?

사전 투표와 당일 투표가 같은 성향을 띌 것이라는 가정은 사실 매우 큰 가정이다. 정치권에서는 ‘정치는 생물’이라고 표현한다. 표심은 매우 빠르게 변하기 때문이다. 수 많은 ‘콘크리트 지지층’이 있는 것은 엄연히 사실이지만, 전국 단위 이야기고, 서울, 경기, 충청, 부·울·경 등으로 대표되는 일부 지역들은 특정 당의 공천을 받기만 하면 사실상 당선은 확정인 지역들이 아닌 곳도 많다. 그리고, 그 표심은 오늘 다르고 내일 또 다르다.

투표 성향이 아예 변하지 않는다면 사실 선거 유세를 다녀야 할 필요도 없다. “낙선은 죽기보다 싫다”며 선거 직전까지 48시간 무중단 유세를 했다는 이준석 개혁신당 대표가 9일 밤 선거 유세를 마무리하던 무렵, 같은 당 비례대표 후보 1번인 이주영 상임선대위원장은 “다른 당 후보가 된다고 포기하고 있으면 결국 다른 당 후보가 된다. 다만 여러분의 자식들도 그렇게 (무기력하게) 포기하지 않는 세상을 만들고 싶다”고 유권자들을 설득했다. 그 한 마디에 유권자들의 마음이 움직였을지, 48시간 무중단 유세를 했기 때문일지, 그 외 다른 원인이 있었을지 판단하기는 어렵지만, 어쨌건 이준석 개혁신당 대표는 출구조사 결과를 뒤집고 지역구에서 당선됐다. 그간 여론조사에서 꾸준히 열세를 보였고, 여론조사와 출구조사를 결합했다는 ‘AI예측’에서도 3% 이상의 격차로 뒤지는 것으로 나타났던만큼, 1주일 사이에 투표 성향이 바뀐 것을 확인할 수 있는 대표적인 사례로 꼽을 수 있을 것이다.

글 초반에 지적한대로 이렇게 ‘분포함수가 변화’하는 상황이라면 출구조사만으로 사전 투표 결과를 짐작하기는 어렵다. 각종 조사 기관들이 선거 직전 여론조사 공표 금지 기간에도 꾸준히 여론조사를 진행하는 이유 중 하나가, 이렇게 변화하는 표심을 반영해서 여론조사와 출구조사를 결합하려고 했기 때문일 것이다.

그럼에도 불구하고 1~2개 지역에서가 아니라 최소한 10군데 이상의 지역구에서 출구조사 결과가 5%이상 뒤집어졌다.

‘실제 성향’과 ‘표현 성향’을 다르게 표현한 유권자가 오차 범위 미만의 소수에 불과했다는 가정과, 출구조사를 진행한 투표소를 적절하게 골랐다는 가정 아래, ‘AI예측’이 틀린 것을 설명할 수 있는 유일한 답은 사전 투표의 분포함수를 잘못 예측했다는 것으로 귀결된다.

사전 투표 추론 오차의 원인이 여론 조사 오차 탓일 수도 있고, 실제로 1주일 사이에 투표 성향이 상당히 변했기 때문일 수도 있다. 조사 기관들이 여론 조사를 사전 투표 추론에 얼마나 적극적으로 활용했는지 여부에 따라 오차의 원인을 좀 더 구체적으로 확정할 수 있겠지만, 오차가 크게 난 지역구가 일부에 불과하다는 점을 감안하면, 오차 보정 작업의 실패라는 가설보다는, 해당 지역구들에서 1주일 사이에 투표 성향이 상당히 변했기 때문이라는 가설에 더 무게를 둘 수밖에 없다.

정리하면, ‘AI예측’이라고 불리는 지역, 연령, 성별 기반의 투표 성향 예측 모델이 ‘분포함수의 변화’ 혹은 ‘변화하는 표심’이라는 시간 변수를 고려하지 못했다고 설명할 수 있다. 이 부분을 선거 유세 기간 최대 2달 동안의 ‘트렌드’를 통해서 어느 정도는 추측할 수 있겠지만, 선거 당일에나 표심을 정하는 유권자들의 마음 속을 어떻게 읽어낼 수 있을까?

항상 데이터 과학을 공부하는 학생들에게도 하는 말이지만, ‘인공지능(AI)’은 데이터가 있는 영역, 데이터가 맞는 영역에서만 정확하다. 데이터가 부정확하다면 열심히 보정하는 수학적 도구라도 쓰며 고치려고 하겠지만, 데이터가 아예 없는 영역, 선거 마지막 날까지 알 수 없는 ‘스윙 보터(Swing voter)’들의 표심 변화에 대한 데이터는 어디에서 찾아야할까?