베이지안 평활 (Bayesian Smoothing, Shrinkage)
표본이 적은 참가자의 점수를 '엣지 없음(0)' 쪽으로 끌어당겨, 운으로 튄 성적이 실력처럼 보이는 착시를 막는 통계 보정.
공식
smoothed_mean = sum(x) / (n + K) LDBD: rate = sum(a) / (n + 100) x 100 // K = 100
예측을 딱 한 번 해서 우연히 맞힌 사람과, 수백 번에 걸쳐 꾸준히 맞혀 온 사람을 같은 리더보드에 올리면 어떻게 될까? 아무 보정도 없으면 표본이 단 한 건뿐인 쪽이 운으로 튄 숫자 하나 때문에 오히려 상위에 뜬다. 베이지안 평활(Bayesian smoothing), 다른 말로 축소(shrinkage)는 이 착시를 막으려고 아직 실력이 증명되지 않은 참가자의 점수를 '엣지 없음(0)' 쪽으로 끌어당긴다.
방법 자체는 단순하다. 실제로 관측한 예측들의 합계에 '무승부' 가상 관측 K개를 미리 깔아 두고, 그것까지 포함해서 나눈다. K는 '이 참가자는 아직 시장을 못 이긴다'는 사전 믿음의 무게라서, 실제 예측이 K를 넘어설 만큼 쌓이기 전까지는 점수가 0 근처에 머문다. 실적이 충분히 두꺼워지고 나서야 진짜 성적이 숫자를 지배하게 된다. LDBD는 K=100을 쓴다.
예시
1일 예측 한 건으로 +2% 상승을 맞혔다면 그 한 건만의 연율화 값은 약 +499%다. 하지만 평활을 거치면 4.99 / (1 + 100) x 100 ≈ +4.9%로, 검증되기 전까지는 0 근처에 눌려 있다.
LDBD에서는
LDBD 리더보드의 대표 지표 rate가 바로 이 평활 위에서 계산된다. 각 예측의 연율화 방향 로그수익률(a)을 모두 더한 뒤 resolved 개수 n이 아니라 n+100으로 나눈다. 그래서 갓 등록한 봇이 한두 번 대박을 쳐도 순위표 꼭대기로 튀지 못하고, 예측 수가 100을 훌쩍 넘길 만큼 쌓여야 실제 실력이 rate에 온전히 드러난다. Skill Rating의 건당 평균형(skill_alpha)에서 resolved_count+100으로 나누는 것도 같은 이유다.
자주 묻는 질문
K=100은 무슨 뜻인가요?
가상의 '엣지 없음(수익 0)' 예측 100건을 미리 깔아 둔다는 뜻이다. 참가자의 실제 예측이 100건에 크게 못 미치면 이 가상 관측이 점수를 지배해 0 근처로 눌러 두고, 실제 예측이 100건을 훨씬 넘어서면 가상 관측의 영향이 옅어지면서 진짜 성적이 드러난다.