본문 바로가기

모델 검증

이 점수가 실제로 맞는가?

이 페이지의 모든 수치는 레포지토리에 커밋된 산출물 JSON에서 빌드 타임에 로드됩니다 — 손으로 쓴 숫자는 없습니다. 검증 기준은 적중률이 아니라 캘리브레이션입니다: “20%라고 말한 사건이 실제로 20% 빈도로 일어나는가”. 이변(upset)은 확률 모델에서 반드시 일어나야 하는 사건이며, 모델 실패가 아닙니다.

① 캘리브레이션 지표 — walk-forward 백테스트

시간순 재생(walk-forward)으로 각 시리즈를 레이팅 갱신 전에 예측하고, 예측 확률 vs 실제 결과로 계산한 지표입니다. 낮을수록 우수하며, 무정보 기준선(동전 던지기)은 Brier 0.25 / log loss 0.6931입니다.

지표LCK 2024 Spring(n=210)LCK 2025 (Rounds 1–2)(n=222)
Brier Score

완벽=0, 무정보=0.25

0.1880.216
Log Loss

무정보=0.6931

0.5630.621
ECE (10-bin)

확률 구간별 예측-관측 괴리

0.0700.124
CRPS (스코어라인)57.0256.47

* 2025 앵커의 ECE(0.124)는 2024(0.070) 대비 뚜렷이 나쁩니다 — 조사 중인 항목이며 숨기지 않습니다. bin당 표본 ~21시리즈 수준에서는 ECE가 노이즈에 지배될 수 있다는 한계도 함께 명시합니다.

② 보조 지표 — 적중률

Top-1 적중률 — LCK 2024 Spring

73.8%

시리즈별 승리 확률이 더 높다고 본 팀이 실제로 이긴 비율 (n=210). 적중률은 캘리브레이션의 보조 지표입니다 — 35% 확률의 이변을 “틀림”으로 세는 지표이기 때문입니다.

Top-1 적중률 — LCK 2025 (Rounds 1–2)

65.3%

시리즈별 승리 확률이 더 높다고 본 팀이 실제로 이긴 비율 (n=222). 적중률은 캘리브레이션의 보조 지표입니다 — 35% 확률의 이변을 “틀림”으로 세는 지표이기 때문입니다.

③ 산출 근거와 재현 방법

위 수치는 scripts/train_team_glicko.py가 생성한 산출물에서 왔습니다. 아래 명령으로 동일 수치를 재현할 수 있습니다:

python scripts/build_anchor_dataset.py  # DATABASE_URL 필요
python scripts/train_team_glicko.py
python scripts/sync_validation_stats.py

LCK 2024 Spring

산출물:
analytics/statiz_lab/outputs/team_glicko/anchor_2024_lck_spring.json
산출물 SHA-256:
cb58d2ec3c0e0ff6
앵커 데이터셋 SHA-256:
4c71002b4e2806ef…
표본:
210 시리즈

LCK 2025 (Rounds 1–2)

산출물:
analytics/statiz_lab/outputs/team_glicko/anchor_2025_lck_r12.json
산출물 SHA-256:
9ba287ac3601010e
앵커 데이터셋 SHA-256:
039ec50f58cb33da…
표본:
222 시리즈

④ 게시하지 않는 것

  • 베팅 오즈 대비 상관: 적법한 오즈 데이터 소스를 계약으로 확보하기 전까지 수집·비교·게시하지 않습니다.
  • 외부 통계 사이트 대비 상관: 재현 가능한 계산 스크립트와 스냅샷이 마련되기 전까지 게시하지 않습니다.
  • 대회별 예측-실제 대조표: 대회 개막 전 스냅샷을 해시와 함께 고정하는 사후 리포트 파이프라인이 가동된 뒤, 그 산출물로만 게시합니다. 사후 재계산으로 만든 표는 게시하지 않습니다.

⑤ 알려진 한계

  • 검증 트랙과 서빙 트랙: 위 수치는 랩 Glicko 트랙의 백테스트이며, 서비스에 표시되는 공개 점수 파이프라인과 완전히 동일한 코드 경로가 아닙니다. 두 트랙의 단일화와 프로덕션 트랙 직접 검증이 진행 중입니다.
  • 표본 범위: 현재 앵커는 LCK 2개 시즌(총 432시리즈)입니다. 타 리그·국제전으로의 일반화는 이 수치만으로 보장되지 않습니다.
  • 표본 부족 구간: 경기 수가 적은 팀/선수는 신뢰도가 낮으며 Confidence Grade “Low”로 표시됩니다.
  • 라인업 변동: 주전 교체 직후 1~2경기는 레이팅이 실제 전력 변화를 완전히 반영하지 못합니다.