[이전글]
[우리말 겨루기]의 참가자들이 문제를 얼마나 정확하게 맞히는지, 얼마나 빠르게 맞히는지, 그런 요소가 최종 점수에는 얼마나 큰 영향을 미치는지 분석한다. 지난 글에서는 최종 점수 분포를 살펴보겠다고 말했지만, 회차 분석을 하고 있으니까 회차 분석을 설명하고 맥락을 제공하는 일이 필요해 보였다.
수치 정의
그래프부터 보고 싶으면 여기로.
사람마다 잘하는 일이 다르듯이 [우리말 겨루기] 참가자들 또한 뛰어난 방면이 각기 다르다. 어떤 참가자는 빠른 속도를 자랑하는가 하면, 다른 참가자는 높은 정답률로 좋은 점수를 획득한다. 궁극적으로 궁금한 바는 일반적인 참가자의 정답률은 얼마나 높은지 등등인데, 그런 계산을 하려면 먼저 수치를 정의해야 한다.
- 시도 횟수: 쓰기 문제에서는 모든 참가자가 1번의 시도 횟수가 있다고 센다. 누름단추를 누르는 문제에서는 누름단추를 누른 모든 횟수를 센다. 첫소리 문제에서는 문제에 해당하는 참가자가 항상 시도한다고 세고, 이후로는 누름단추 문제와 같다. 이론적으로는 한 참가자의 시도 횟수가 문제의 숫자를 넘을 수 있지만, 2018-2019년 데이터에서 실제로 그런 경우는 없었다. 모은 데이터셋에 각 참가자의 시도 횟수가 직접 써 있지는 않지만, 점수의 등락을 통해 유추한다. 0점인 참가자가 오답을 냈을 경우에도 셀 수 있도록 데이터셋에 표기하였다. 다만 자물쇠 문제에서는 점수를 통해 누가 오답을 말했는지 유추할 수 없으니 분석하지 않는다. (시도 횟수뿐 아니라 이후 글의 모든 부분에서 자물쇠 문제는 다루지 않는다.)
- 정답 횟수: 참가자가 정답을 맞힌 경우를 센다. 한 참가자의 이론적인 최댓값은 해당 참가자의 시도 횟수이다. 점수를 통해 유추하는데, 기본은 점수가 오른 사람이 있으면 정답자라는 것이다. 1 분석에서 다루지는 않지만, 정답자는 자물쇠 문제에서도 유추할 수 있다.
- 빠른 정답 횟수: 참가자가 (i) 정답을 한 번에 맞히고 (ii) 화면에 나오는 지문이 다 나오기 전에 대답한 횟수를 센다. 이론적인 최댓값은 해당 참가자의 정답 횟수이다. 빠른 정답은 데이터셋에 별도로 기록했는데, 참가자가 얻은 점수만큼 신뢰도가 높은 정보는 아니다. (오타가 있을 수 있다.)
이런 기본적인 정의를 통해 다음의 통계를 유도한다.
- 시도 비율 (시도, APQ=): 문제당 시도한 횟수를 나타낸다. 0 이상이다. 앞에서 이야기한 것처럼 총 시도 횟수가 문제 수를 넘을 수 있기 때문에 이론적으로는 1을 넘을 수 있지만, 실제로 그런 경우는 없으므로 다른 값과 마찬가지로 0에서 1 사이라고 생각해도 좋다.
- 정답률 (CPA=): 시도당 정답 횟수를 나타낸다. 항상 0과 1 사이이다.
- 빠른 정답률 (속도, SPC=): 정답당 빠르게 답을 말한 횟수를 나타낸다. 항상 0과 1 사이이다.
- 경쟁적 문제 비율 (): 누름단추를 눌러 정답을 맞히는 문제 중에 해당 참가자가 맞힌 비율을 이른다. 항상 0과 1 사이이다. 모든 참가자의 값을 합했을 때 1이 나온다.
- 비경쟁적 문제 비율 (): 쓰기 문제 가운데 맞힌 문제의 비율이다. 최댓값은 1이지만 각 참가자의 값이 독립이다. 다시 말해, 경쟁적 문제 비율과는 달리 한 참가자의 값이 높다고 다른 참가자가 낮아야 하지는 않는다.
이 가운데 앞의 셋 (시도 비율, 정답률, 빠른 정답률)은 Laplace smoothing을 사용해서 보정한다. 이는 데이터가 충분치 않은 경우에도 극단적인 결론을 내지 않기 위함이다. 이 분석의 경우, 분모에 +2, 분자에 +1을 하면 laplace smoothing이 된다. 보정을 하는 이유는, 예를 들어 1문제를 시도해서 1문제를 맞힌 경우에 해당 참가자가 앞으로도 100%의 정답률을 가지리라고 예상하는 것은 무리이기 때문이다. 2 경쟁적/비경쟁적 문제 비율에 첫소리 문제는 세지 않는다.
분포 분석
각 수치를 정의했으므로, 이제 참가자 값의 분포를 따져볼 수 있다. 2018년부터 2019년까지, 72개의 일반인 회차에 걸쳐 288명의 참가자의 통계를 분석한다.
먼저 시도 비율의 분포를 보자. 예상되는 실제 분포를 그려보기 위해, 베타 분포를 데이터에 맞춰본다.
분포에서 볼 수 있듯, 평균적인 참가자는 대략 2문제당 1번 버저를 눌러보거나 쓰기 문제의 답을 쓴다. 아무리 무반응 일색인 참가자도 20%의 문제에는 참가하는데, 참가자당 첫소리 문제 1개, 쓰기 문제가 4~5개인 것을 생각하면 버저를 한 번도 누르지 않아도 계산상 20%의 시도 비율은 사실상 보장되는 셈이다. 문제당 시도의 최댓값은 0.81로, 이론상 1이 나올 수도 있는 값에 1이 나오지 않았다는 점은 눈여겨 볼만하다. 다른 통계를 보면, 시도 비율의 참가자 평균은 0.492, 25%/50%/75% 분위 값은 0.40, 0.48, 0.55이다.
아무런 보장3이 없는 정답률을 살펴보면:
문제당 시도보다는 평균값이 높다: 정답률의 평균은 0.58이다. 많은 참가자가 동전 뒤집기보다는 좋은 정답률을 보여준다. 이런 값을 이용하면 평균적인 참가자가 버저를 누를 때 얻을 점수의 기댓값은 100*0.58+(-50)*0.42=37점이란 셈이 가능하다.
빠른 시도는 희귀해서, 분포가 치우쳐 있다. 그런데도 베타 분포와 비교적 잘 맞는다.
Laplace Smoothing을 통해 보정하므로 빠른 정답률에 0은 없지만, 사실 빠른 정답이 하나도 없는 사람이 과반이다4. 그럼에도 불구하고 절반 정도의 참가자는 빠른 정답이 있고, 더러는 0.4, 0.5와 같은 높은 빠른 정답률을 보여준다.
연관 관계 분석
이러니저러니 해도 결국 중요한 건 이기는 것이므로, 각 요소가 최종 점수나 등수와는 어떤 연관 관계 (correlation이지 causation은 아님을 유의하라!)가 있는지 알아본다. 각 통계와 최종점수의 관계를 선형회귀로 살펴보기가 가장 쉽다:
보다시피 정답률과 높은 점수의 연관도가 더 높다 (pearsonr 값이 연관도를 계산하는데, 정답률 쪽 그래프에서 연관도가 더 높다). 얼핏 보기에도 정답률 쪽 그래프가 가운데 선과 점들이 더 가까이 있다.
빠른 정답률과 최종 점수는 별다른 상관이 없는 것처럼 보인다:
그렇다고 빠르게 맞히는 것이 이기는 것과 아무런 상관이 없다고 성급하게 결론을 내리면 안 될 것 같다. 속도가 이기는 것과 상관이 있는지는 통제할 변수가 많아서 다소 까다로운 분석이 필요할 것 같으니 다음에 살펴보자.
경쟁적 문제를 맞히는 비율은 점수와 강한 상관관계가 있으며 (당연한 일이지만 대부분의 점수는 누름단추를 누르는 문제에서 나오며, 그러한 문제를 많이 맞히면 점수가 높다), 비경쟁적 문제를 맞히는 비율 역시 최종 점수와 통계적으로 유의미한 상관관계가 있다. 비경쟁적 비율에 대한 선형 회귀 결과를 보면, 비경쟁적 비율이 0.0일 때는 예상 최종 점수가 대략 200점, 1.0일 때는 대략 1300점이다. 비경쟁적 쓰기 문제가 회차당 4~5개, 즉 400~500점인 것을 생각하면 비경쟁적 문제는 할당된 점수 이상으로 누가 높은 점수를 얻을지 알려주는 지표인 셈이다.
등수는 연속적인 값이 아니라 그래프를 예쁘게 만들기가 힘든데, 유독 순위와 정답률의 그래프는 직관적으로 나온다:
2018년과 2019년의 우승자 가운데 0.5를 밑도는 정답률을 가진 사람은 없었다! 다른 글에서 다루겠지만 일반적인 우승자가 문제당 50점을 얻어간다는 것을 고려하면, 정답률이 0.5 부근인 경우 이미 이기기가 거의 불가능하다. 그러니 곧 출연한다면 정답률을 올리는 데 주력해보자.
이 분석의 한계는 자물쇠 문제를 고려하지 않았다는 점, 빠른 정답 데이터가 오류가 있을 수 있다는 점, causal relationship이 아니라 correlation에 대한 분석이라는 점, 분석 코드가 길어서 어딘가에 코딩 실수를 했을 가능성이 높다는 점 등이다. 추후 데이터 오류나 코딩 오류를 찾아 고쳐도 추세는 비슷하리라 예상한다.
다음 참가자 통계 글에서는 진짜로 성별과 나이별 최종 점수 분포, 인구집단별 정답률 등을 분석해본다.