• 💡 프로젝트 개요

    야구 경기에서 발생하는 타격 결과를 주자, 아웃, 득점 상태를 포함한 상황으로 해석하고, 각 결과가 만들어내는 기대 득점 변화를 정량화하는 모델을 개발하는 프로젝트입니다. 해당 모델을 이용한 다양한 도구를 웹 애플리케이션으로 제공합니다.

    이 프로젝트는 AI 도구 Gemini를 이용하여 개발하였습니다. Gemini를 이용하여 마르코프 연쇄 모델의 계산 부분을 구현하였습니다.

    실제 데이터는 사용자가 직접 입력하거나 임의로 생성한 값을 사용하며, 모델은 야구의 모든 상황을 완전히 반영하지는 못합니다. 특히 주자 개별 능력은 반영하지 않고 평균 주자 능력을 기준으로 계산합니다.

  • 🔧 기능 (Developments)

    🏆 리그

    • 리그의 RE24를 계산합니다.
    • 9이닝당 해당 리그의 기대 득점을 예측합니다.
    • 세이버메트릭스 지표 계산에 사용되는 리그 확장 가치를 예측합니다.
    • 추측된 리그 확장 가치를 이용하여 개인의 가치(세이버메트릭스)를 계산합니다.
    • 리그 평균 능력에 따른 x점 이상 득점 확률을 계산합니다.
  • 🔧 기능 (Developments)

    📋 타선 기반

    • 9이닝당 해당 라인업의 기대 득점을 예측합니다.
    • 타순에 해당 타자 시점의 RE24를 계산합니다.
    • 타순 구성에 따른 해당 타순의 선두타자 등장 확률, 9이닝당 횟수를 예측합니다.
    • 타순 구성에 따른 x점 이상 득점 확률을 계산합니다.
  • 🛠️ 기여

    ✨ 마르코프 엔진 데이터 정규화

    • 모델 인터페이스 설계를 통한 재사용성 및 유지보수성 확보
      • v1: 간단한 상황 전이 모델링
      • v2: 타구 유형과 주자 상태별 다른 결과 전이 시나리오 추가 모델링
      • v3: 도루, 폭투 시나리오 추가 모델링
    • 주자 상황, 능력 및 타격 결과에 따른 주자 이동, 득점 발생 모델 설계 및 구현
    • 연쇄 이벤트(도루, 폭투) 파이프 라인 설계 및 구현
    • 입력 데이터 유형에 따른 타선 전이 상태 모델 분리 구현

    ✨ 인터페이스 및 결과 시각화

    • 타격 기록, 주자 능력치 입력, 라인업 입력 시스템 구현
      • 웹 컴포넌트 이용
    • 마르코프 연쇄 모델 출력값 시각화
      • 개인 확장 가치
      • 리그 확장 가치
      • 9이닝당 기대 득점
      • 표(RE24, 득점 확률)
    • 번역 기능 구현
      • 웹 컴포넌트, json 이용