경기 예측
예측 결과와 함께 근거 요약을 보여줍니다.
📅 예정 경기
예측 방법
승률은 네 성분의 가중 평균입니다 — 전력(Elo) 0.55, 득실차(Pythagorean) 0.20, 팀 지표(Stats) 0.15, 상대 전적(H2H) 0.10. 네 가중치는 합이 1입니다.
전력(Elo)은 모든 팀을 1500에서 시작합니다. 홈 팀에는 경기마다 홈 이점 65를 더해 기대 승률을 구하고, 실제 결과와의 차이만큼 기준 갱신 계수 20에 점수차·레이팅차 보정을 곱한 폭으로 두 팀의 레이팅을 함께 옮깁니다. 큰 점수차로 이긴 경기일수록, 예상 밖 결과일수록 더 크게 움직입니다.
득실차는 시즌 누적 득점·실점으로 기대 승률을 만들고(지수 13.91), 두 팀의 기대 승률은 Log5로 맞대결 확률로 바꿉니다. 팀 지표는 경기당 효율·리바운드·어시스트·스틸·블록 비율을 승률과 절반씩 섞습니다. 상대 전적은 두 팀 맞대결의 승률을 그대로 씁니다.
예상 점수차는 두 값의 평균입니다 — (Elo 레이팅 차 + 홈 이점 65) / 28, 그리고 승률을 로지스틱으로 바꾼 값 × 11.
컨텍스트 옵션을 켜면 최근 5경기의 승률 차(0.04), 평균 점수차 차(20점당 0.02), 코어 로스터 출전 비율 차(0.06), 휴식일 차(하루 0.004, ±0.02 상한)를 승률에 더하고, 합계는 ±0.08에서 자릅니다. 기본값은 꺼짐입니다.
중립 경기를 고르면 홈 이점을 0으로 두고, 불일치 포함을 고르면 최종 스코어와 득점 합계가 어긋난 경기도 입력에 넣습니다.
백테스트 정확도
아래 정확도는 전력(Elo) 성분만 따로 되짚은 값입니다. 혼합 모형 전체의 정확도가 아니며, 컨텍스트 옵션은 끈 상태의 값입니다. 채점에는 저장된 경기에 중립 경기 표시가 없어 모든 경기에 홈 이점을 적용하고, 무승부·미채점 경기는 분모에서 뺍니다.
각 경기의 승률은 그 경기 전 시점의 레이팅으로 계산하고, 결과를 읽은 뒤에 레이팅을 갱신합니다. 그래서 뒤 경기의 예측에 앞 경기의 결과만 들어가고, 그 경기 자신의 결과는 들어가지 않습니다.
무승부(양 팀 최종 득점이 같은 경기) 0경기와 최종 득점이 없는 경기 0경기는 분모에서 뺐습니다. 혼합 모형 전체는 오프라인 하네스(scripts/run_backtest.sh, docs/PREDICTION-BACKTEST.md)가 채점하며, 이 칸의 숫자는 페이지 요청마다 저장된 최종 스코어 전체를 다시 훑어 계산합니다(별도 집계 캐시 없음).
고지
- 예측은 과거 경기 기록만으로 계산한 오락용 정보이며, 베팅이나 투자 판단의 근거가 아닙니다.
- 부상·전술·실시간 경기 상황은 반영하지 못하므로 실제 결과와 다를 수 있습니다.
이 절의 숫자는 apps/api/lib/prediction.ml 과 prediction_explain.ml 의 상수에서 옮겨 적었습니다. 코드가 바뀌면 이 절도 같이 바뀌어야 합니다.
우리은행이 신한은행 홈에서 박빙의 승리가 예상됩니다 (50%). 시즌 성적과 최근 폼을 종합한 분석입니다.
우리은행 승률 50.1% — 주요 요인: 신한은행 전력(Elo) +5.4pp, 우리은행 상대전적(H2H) +3.3pp, 우리은행 득실차(Pythagorean) +2.5pp
예측 안내
신한은행 최근 흐름
상대 전적 (시즌 046)
최근 갱신: 2026-04-26 (저장된 최종 스코어가 있는 가장 최근 경기일)
위 날짜는 시즌 선택과 무관하게 저장된 최종 스코어 전체에서 고른 가장 최근 경기일입니다. 이 페이지의 백테스트 숫자는 선택한 시즌(046)의 채점 경기만 대상으로 합니다.