0. 들어가며
1. 과정 I - 관측에 의한 트롤 유저 비율 예측
2. 과정 II - 트롤 비율에 따른 승률의 계산
3. 과정 III - 명제 "나는 트롤이다" 의 가설 검정
sum [i = a:b] f(i) = f(a) + ... + f(b)
0. 들어가며
통계적 추론의 방법론을 바탕으로 "난 트롤이 아니다"를 주장하는 것이 이 글의 목표입니다.
"나는 트롤이 아니다"라고 얘기하려면 다음과 같은 논리를 거쳐야 합니다.
과정 I. 실2 지박령인 내가 최근의 N번의 게임을 관찰한 결과, 전체 유저 중 트롤 유저의 비율이 A% 보다 적을 리가 없다.
과정 II. 근데 만약 내가 트롤 유저라면, 최근의 N번의 게임 중 n판을 이겼을 리가 없다
과정 III. 따라서 나는 트롤이 아니다.
각 과정에 따라 한 장(챕터)를 할당하여 설명합니다.
과정 I에서 얻은 트롤 유저의 수를 과정 II의 승률로 바로 계산하지 않은 이유는,
서로 비슷한 MMR/ELO대에서 승률을 분석하여 "넌 트롤이다"라고 주장할 수 있게 하기 위함입니다.
이 문서에서 가정하는 내용은 다음과 같습니다.
가정 1. 각각의 게임은 같은 MMR/ELO에서 진행되고, 통계적으로 서로 독립이다.
가정 2. 게임이 진행되는 MMR/ELO대의 소환사의 수가 충분히 많다.
ELO를 공개하지 않는 라이엇의 정책 상 다음의 가정도 추가하는 것이 현실적입니다.
가정 3. 양 팀의 트롤 수가 같으면 50%의 확률로 아군 팀이 승리한다.
MMR과 ELO의 구간이 일치하지 않으면 (어느 한 티어의 지박령이 아니면) 계산 결과는 크게 다를 수도 있습니다.
1. 과정 I - 관측에 의한 트롤 유저 비율 예측
자신의 MMR 구간에서의 트롤 비율을 추정하는 것이 목표입니다.
예를 들어, 최근 10 판 동안 트롤을 한 명도 안 만났으면, 트롤의 비율이 아마 5%는 안 넘지 않을까 .. ? 와 같은 식으로 생각하곤 하는데
실제로 10 판 동안 트롤을 한 명도 못 봤다면, 트롤 유저가 전체의 5%가 넘을 확률은 0.04% 밖에 안 된다고 정량적인 판단을 할 수 있습니다.
최근에 만난 N명의 중에서 트롤이 모두 t명이었다고 하겠습니다 (단, 1 << N << ∞).
이 때 '트롤 유저가 전체의 x%가 안 될 확률'은 x에 관한 함수가 되는데, 이를 ℬ(x)로 쓰겠습니다.
이 함수(분포라고도 합니다)를 구하는 것이 이 장의 목표입니다.
ℬ(x)이 N과 t에도 의존한다는 사실을 강조하기 위해서 ℬ(x;N,t)라고 쓰기도 합니다.
이 분포는 직접적으로 계산하는 것은 조금 어렵고, 반대로 생각하면 쉽게 구할 수 있습니다.
'트롤 유저가 전체의 x%일 때, N명 중 t명이 트롤일 확률'을 A(N,t;x)라고 하면,
A(N,t;x)는 이항정리에서 nCt * p^t * (1-p)^(n-t)라는 걸 유도할 수 있고
역함수 정리에서 ℬ(p;N,t) = (0~p에서 A(N,t;x)를 적분) / (0~1에서 A(N,t;x)를 적분)을 얻을 수 있으므로
부분적분해서 ℬ를 표현할 수 있게 됩니다(혹은, ℬ(p;N,t) = beta(t+1, N-t+1, p), beta는 정규 불완전 베타 함수).
한 판 동안 트롤을 한 명 봤을 때 예상할 수 있는, 전체 유저 중 트롤 유저의 비율 y=ℬ(x; 9,1)의 그래프는 위와 같습니다.
가로 축이 전체 유저 중 트롤의 비율, 세로 축이 '실제 트롤의 비율이 가로축이 나타내는 트롤의 비율보다 적을 확률'입니다.
일반적으로 다음과 같은 식으로 주로 말하게 됩니다.
"신뢰도 95%로 트롤이 3.67714%보다 많다"
무슨 소리냐면, 전체 유저의 3.67714%보다 트롤이 적은데 한 판에 트롤 한 명을 볼 확률이 5%라는 뜻입니다.
마찬가지로, "신뢰도 95%로 트롤이 39.4163%보다 적다" 와 같은 표현을 쓸 수 있습니다.
전체 유저의 39.4163%보다 트롤이 많은데 한 판에 한 명 밖에 못 볼 확률이 5%라는 뜻입니다.
2. 과정 II - 트롤 비율에 따른 승률의 계산
이 장에서는 두 가지로 경우를 나누어 내가 트롤일 때 / 트롤이 아닐 때에 따라 전체의 트롤 비율에 따른 승률을 계산하는 것을 목표로 합니다.
여기서 하나의 가정을 추가하겠습니다.
가정 4. 한 쪽 팀의 트롤 수가 다르면 L%의 확률로 트롤이 적은 팀이 승리한다 (L > 0.5). 즉, 한 쪽이 트롤이 많으면 무조건 승패를 결정하는 확률이 일정하다는 가정입니다.
2.0 기호의 정의 & 계산
이 장에서 쓸 기호의 정의는 다음과 같습니다.
p = 트롤의 비율 (소환사들 중 10%가 트롤이면 x = 0.1)
a(n) = a(n;p) = 아군 팀에 트롤이 n명 있을 확률
b(n) = b(n;p) = 적군 팀에 트롤이 n명 있을 확률
B(n) = 적군 팀에 트롤이 n명 이상 있을 확률
P(p) = 적 팀의 트롤 수가 아군의 트롤 수 보다 많을 확률
S(p) = 양 팀의 트롤 수가 같을 확률
r(p) = 아군이 승리할 확률
(식 2.1) P(p) = sum [i=0:5] a(i,p)* B(i+1,p)
아군에 트롤이 없는데 적 팀에 트롤이 한 명 이상 + 아군에 트롤 한 명인데 적 팀에 트롤 두 명 이상 + ..
(식 2.2) B(n) = B(n;p) = sum [i=n:5] b(n;p) + ... + b(5;p)
트롤이 n 명 + 트롤이 (n+1)명 + ... + 트롤이 5명
(식 2.3) S(p) = sum [i=0:5] a(i,p)* b(i,p)
아군과 적군에 트롤이 없음 + 아군과 적 팀에 트롤이 한 명 씩 + ..
(식 2.4) (가정 0.3, 가정 0.4에 의해) r(p) = P(p) * L + S(p) * 0.5 + (1-P(p)-S(p))*(1-L)
적 팀이 트롤이 더 많으면 L의 확률로 승리 + 양 팀 트롤 수가 같으면 승률이 0.5 + 우리 팀이 트롤이 더 많으면 (1-L)의 확률로 승리
(식 2.5) 적군 팀에 트롤이 n명 있을 확률 = 5Cn * p^n * (1-p)^(5-n) = b(n)
2.1 예상 승률
한 판만 생각하면, 내가 트롤이 아닐 때는
아군 팀에 트롤이 n명 있을 확률 = 4Cn * p^n * (1-p)^(4-n) = a(n)
이 a, b로 나머지 변수를 구할 수 있는데, 이렇게 얻은 승률을 r1(p)라고 하겠습니다.
반대로 내가 트롤일 때는
아군 팀에 트롤이 n명 있을 확률 = 4C(n-1) * p^(n-1) * (1-p)^(5-n) = a(n)
이렇게 얻은 승률을 r2(p)라고 하겠습니다.
이를 그래프로 그려보면 아래와 같습니다.
가로축이 트롤의 비율, 세로 축은 아군이 승리할 확률입니다. L = 1로 두었습니다(다른 값을 잡아도 모양은 비슷합니다).
주목할 만한 점은 세 가지로,
성질 1. 트롤의 비율이 높으면 승률이 높아진다.
성질 2. 내가 트롤이면 승률이 50%보다 낮다
성질 3. 내가 트롤이 아니면 승률이 50%보다 높다.
여러 판의 게임을 할 때의 승률을 계산하기 위해, 한 판 승률이 r일 때 n판의 게임에서 w판 이상을 이길 확률을 R(r)이라고 하면
(식 2.6) R(r;n,w) = sum [i = w:n] nCi * r^i * (1-r)^(n-i)
을 얻습니다 (∵ 가정 1). 트롤의 비율 p에 대해 증가함수입니다.
3. 과정 III - 가설 검정
명제 H0:"나는 트롤이다"를 귀무가설로 삼고 이를 기각하는 방향으로 서술하겠습니다.
"내가 트롤이면, N판 중 w판 이상을 이길 확률이 (1-𝚺) 미만이다" 와 같은 주장을 할 수 있으면 됩니다 (여기서 𝚺는 신뢰도).
먼저 트롤 유저의 비율에서 신뢰 구간을 잡는 방법에 대해서 설명해 보겠습니다.
'2.1-예상 승률'의 성질 1에서 본 것과 같이 트롤 유저의 비율이 높을 수록 승률이 올라가는데
"트롤 비율은 아무리 적어도 이만큼인데, 그렇게 적다고 가정하더라도 내 승률이 이만큼이나 높다"와 같은 논지를 펼쳐야 하므로
신뢰도가 허락하는 한 가장 높은 값을 잡아야 합니다.
1장의 끝에서 언급한 예를 다시 들면, 한 판 동안 트롤을 한 명 봤을 때
"신뢰도 95%로 트롤이 3.67714%보다 많다"와 "신뢰도 95%로 트롤이 39.4163%보다 적다"의 두 명제 중
트롤의 비율이 3.67714%라고 가정해야 합니다.
즉 트롤 유저의 비율의 신뢰 구간은 95%의 신뢰도에서 [3.67714%, 100%]가 됩니다.
가정 4의 L의 값은 "우리 팀에 트롤이 있을 때 질 확률이 얼마나 높은가?"의 문제이기 때문에 0.5보다 큰 값으로 적당히 잡으면 됩니다.
-100인분이 트롤이라고 생각하시면 1로 잡으시면 되고, 전 0.8 정도로 씁니다.
그럼 N판 중 w판을 이길 확률은 식 2.6으로 주어지므로, R(r2(3.67714%), N, w)를 구하면 됩니다.
만약 그 값이 적절한 신뢰도 𝚺에 대해 1-𝚺보다 작으면, 귀무가설 H0을 기각할 수 있습니다.
"최근 N 게임 중 w판를 이겼으니, 𝚺^2 의 신뢰도로 나는 트롤이 아니다"
⇔ "ℬ(𝛂) = 1-𝚺 인 𝛂에 대해 R(r2(𝛂);N,w) < 1-𝚺 이다"
========================================================================================
Q.
저와 같은 티어에서 함께 지박령을 하고 있는 친구가 최근 전적이 안 좋다고 울상입니다.
지박령 친구의 최근 20판의 전적을 보며 넌 트롤이 아니야 하며 격려해주고 싶은 욕심이 납니다.
L=0.8, 신뢰도 90%로 넌 트롤이 아니야를 시전하려면 친구는 20판 중 적어도 몇 판을 이겼어야 할까요?
(단, 제가 열 판을 하는 동안 트롤을 세어 보니 다섯 명이었습니다)
A.
95%의 신뢰도로 트롤은 전체 유저의 6.2081% 이상입니다.
또 친구가 트롤일 때 20판 중 8판 이상 이길 확률은 6.9172%, 9판 이상 이길 확률은 2.6165%이므로
20판 중 9판 이상을 이겼다면 0.95*0.95 = 0.9025 > 90%이므로 넌 트롤이 아니야 하고 격려해 줄 수 있습니다.
========================================================================================