돌을 금으로 바꾸는 법: 43년간의 테니스 데이터가 어떻게 예측 시장을 위한 수익 창출 도구가 되었을까?

95,491건의 스포츠 경기 데이터를 사용하여 AI를 학습시켰고, 85%의 정확도를 달성했습니다. 이 글에서는 AI와 ELO 레이팅을 활용하여 테니스 경기 결과를 정확하게 예측하는 방법을 공개합니다.

저자: 포스펜

작성자: Gans , Bagel Predictive Market Watch

이 남자는 지난 43년간의 모든 프로 테니스 경기 데이터를 수집하여 머신러닝 모델에 입력한 다음, 단 하나의 질문만 던졌습니다. "누가 이길지 예측할 수 있나요?"

모델은 단 한 단어로 대답했습니다. "네."

이후 올해 호주 오픈에서는 116경기 중 99경기를 정확하게 예측하여 85%의 정확도를 달성했습니다!

이 대회는 모델이 훈련 과정에서 한 번도 접해보지 못한 대회였는데도, 최종 우승자가 어떤 경기를 이길지 모든 경기를 정확하게 예측했습니다.

이 모든 것은 @theGreenCoding 님이 노트북 한 대, 무료 데이터, 오픈 소스 코드만을 사용하여 이뤄낸 것입니다.

다음으로, 이 혁신적인 프로젝트를 원시 데이터부터 최종적인 성공적인 예측에 이르기까지의 과정을 자세히 살펴보겠습니다. 이는 여러분이 지금까지 본 가장 놀라운 AI와 예측 기술 성공 사례가 될 것입니다.

시작점: 폴더에 담긴 43년간의 테니스 데이터

이 이야기는 '스포츠 데이터의 성배'라고 불릴 만한 데이터 세트에서 시작됩니다.

이 컬렉션은 1985년부터 2024년까지 개최된 모든 ATP(프로 테니스 협회) 프로 토너먼트 기록을 포함합니다.

브레이크 포인트, 더블 폴트, 포핸드, 백핸드, 선수 신장, 나이, 랭킹, 상대 전적, 경기 장소... ATP가 기록해 온 모든 포인트별 통계를 확인할 수 있습니다.

40년 치 CSV 파일이 모두 한 폴더에 저장되어 있습니다.

그가 전체 데이터 세트를 열었을 때 컴퓨터가 다운되었다.

하지만 그는 포기하지 않았습니다. 데이터 세트에 있는 95,491개의 일치 항목에 대해 그는 수많은 추가 파생 특징을 계산했습니다.

  • 두 선수 간의 맞대결 기록

  • 나이 차이, 키 차이

  • 최근 10경기, 25경기, 50경기, 100경기 승률

  • 첫 번째 샷 득점률 차이

  • 중단점 회복률 차이

  • 체스에서 차용한 맞춤형 ELO 레이팅 시스템 (핵심 포인트)

최종 데이터 세트: 95,491행 × 81열.

지난 40년간 열린 모든 프로 테니스 토너먼트에는 수십 가지의 수작업으로 계산된 특징들이 함께 기록되어 있습니다.

2단계: 타이타닉호에서 빌려온 알고리즘

분류기에 데이터를 입력하기 전에 그는 알고리즘의 작동 방식을 철저히 이해하기로 했습니다. 이를 위해 그는 NumPy를 사용하여 의사결정 트리를 처음부터 직접 작성했습니다.

의사결정 트리는 추론 게임과 유사하게 작동하며, 일련의 질문을 통해 단계적으로 답에 접근합니다.

이 개념을 설명하기 위해 그는 완전히 다른 데이터셋인 타이타닉호를 선택했습니다.

예를 들어, 11번 승객은 살아남았을까요?

  • 질문 1: 조교는 일등석인가요? → 네.

  • 질문 2: 그녀는 여자입니까? → 네.

  • 예상 결과: 생존.

알고리즘은 어떤 질문을 할지 어떻게 결정하나요?

이 방법은 모든 데이터를 분석하여 "생존자"와 "비생존자"를 가장 잘 구분하는 단일 변수를 찾는 것에서 시작합니다. 타이타닉호 데이터의 경우, 그 해답은 객실 등급입니다. 일등석 승객들은 한쪽으로, 나머지 승객들은 다른 쪽으로 이동했습니다.

하지만 일등석 승객 중 일부도 사망했기 때문에 여전히 "불순물"이 남아 있습니다. 알고리즘은 다음 최적 분기점인 성별을 계속해서 탐색합니다. 일등석에 탑승했던 모든 여성이 생존하여 "순수 노드"를 형성했고, 분기는 여기서 끝납니다.

모든 상황을 포괄하는 완전한 의사결정 트리가 구축될 때까지 이 과정을 반복하십시오.

그가 직접 작성한 NumPy 코드는 작은 데이터셋에서는 성능이 좋았지만, 95,000개의 테니스 경기 기록에 적용했을 때는 속도가 너무 느려 답답할 정도였습니다. 그래서 실제 학습 단계에서는 동일한 로직을 사용하면서도 훨씬 빠른 최적화된 sklearn 버전으로 전환했습니다.

3단계: 승패를 결정짓는 핵심 변수를 파악합니다.

모델을 훈련시키기 전에, 그는 먼저 모든 변수를 쌍으로 묶어 거대한 산점도 행렬(SNS 쌍 플롯)을 그려 승자와 패자를 구분할 수 있는 패턴을 찾았습니다.

대부분의 특징은 노이즈에 불과합니다. 플레이어 ID는 명백히 쓸모가 없습니다. 승률 차이에서 몇 가지 패턴이 보이긴 하지만, 신뢰할 수 있는 분류기를 뒷받침할 만큼 명확하지는 않습니다.

다른 변수들보다 훨씬 더 큰 영향을 미치는 변수는 단 하나뿐입니다. 바로 ELO 차이(ELO_DIFF)입니다.

ELO_DIFF와 ELO_SURFACE_DIFF의 산점도는 다른 어떤 특징도 따라올 수 없는 두 범주 간의 분리 정도를 명확하게 보여줍니다.

이러한 발견은 그에게 전체 프로젝트의 핵심을 구축하도록 자극했습니다.

4단계: 테니스에 체스 레이팅 시스템을 도입합니다.

ELO는 체스에 처음 적용된, 플레이어의 기량을 평가하는 방법입니다. 현재 세계 랭킹 1위 체스 선수인 매그너스 칼센의 레이팅은 2833입니다.

그는 이 시스템을 테니스에 적용하기로 결정했다.

  • 각 선수의 초기 평점: 1500점

  • 승리 시 레이팅 상승; 패배 시 레이팅 하락

핵심 메커니즘: 획득하거나 잃는 점수는 상대방과의 점수 차이에 따라 결정됩니다. 점수가 높은 상대를 이기면 더 많은 점수를 얻고, 점수가 낮은 상대에게 지면 더 큰 점수가 차감됩니다.

그는 2023년 윔블던 결승전에서 이 공식을 입증했습니다. 카를로스 알카라스(레이팅 2063)는 노박 조코비치(레이팅 2120)를 상대로 역전승을 거두었습니다.

공식에 대입하면 알카라즈 +14점, 조코비치 -14점입니다.

계산 자체는 간단하지만, 43년간의 역사적 데이터에 적용했을 때 그 위력은 놀라울 정도입니다.

5단계: 빅3의 지배력을 보여주는 시각적 증거

그는 페더러의 프로 데뷔부터 은퇴까지 모든 경기를 기록하며 그의 선수 생활 전반에 걸친 ELO 레이팅을 곡선으로 나타냈습니다.

이 그래프는 그의 전설적인 시기를 완벽하게 보여줍니다. 초기에는 급격한 성장을 보였고, 전성기(약 400번째 경기)에는 절대적인 지배력을 발휘했으며, 선수 생활 후반에는 기복이 있었습니다.

하지만 정말 놀라운 점은 페더러를 1985년 이후 모든 ATP 선수들과 같은 차트에 놓았을 때입니다.

세 개의 곡선은 다른 모든 선수들(페더러(녹색), 나달(파란색), 조코비치(빨간색))을 훨씬 능가하며 우뚝 솟아 있습니다.

그랜드 슬램 토너먼트 '빅 3'는 단순한 타이틀 이상의 의미를 지닙니다. 40년간의 토너먼트 데이터를 시각화해 보면, 이러한 지배력이 수학적으로도 명확하게 드러난다는 것을 알 수 있습니다.

그가 만든 ELO 시스템에 따르면 현재 세계 랭킹 1위는 야닉 시너(2176점)이며, 그 뒤를 노박 조코비치(2096점)와 알카라즈(2003점)가 잇고 있다.

Sinner가 1위라는 점을 기억하세요. 이는 나중에 매우 중요합니다.

6단계: 위치는 모든 것을 바꾸는 변수입니다.

테니스 코트의 종류는 이 스포츠의 판도를 완전히 바꿔놓을 것입니다.

  • 클레이: 느린 속도, 높은 반발력

  • 잔디: 빠르고, 바운스가 낮음

  • 하드 코트: 그 중간 어디쯤

한 분야에서 뛰어난 활약을 펼치는 선수도 다른 분야에서는 완전히 무너질 수 있다.

따라서 그는 클레이 코트, 잔디 코트, 하드 코트의 세 가지 다른 표면에 대한 ELO 등급을 만들었습니다.

이번 결과는 모든 테니스 팬들이 이미 알고 있는 사실을 확인시켜주며, 43년간의 데이터에 의해 뒷받침됩니다.

나달의 클레이 코트 최고 평점은 페더러의 잔디 코트 최고 평점을 넘어서고, 조코비치의 하드 코트 최고 평점을 넘어서며, 모든 코트 유형을 통틀어 역대 최고 평점을 넘어섰습니다.

그는 프랑스 오픈에서 14번 우승했으며, 롤랑 가로스에서 112승 4패의 기록을 보유하고 있습니다.

ELO 공식은 스토리나 명성을 고려하지 않고 오직 승패 기록만을 다룹니다. 그리고 그 결과는 40년간의 스포츠 뉴스 보도와 완벽하게 일치합니다.

7단계: 천장을 만나다

데이터 준비와 ELO 시스템 설정이 완료되자 그는 분류기 학습을 시작했습니다. 이 과정은 알고리즘 선택의 중요성을 완벽하게 보여줍니다.

의사결정 트리: 정확도 74%

단일 의사결정 트리가 전체 데이터 세트에서 74%의 정확도를 달성했습니다. 좋아 보이지만, 단순히 ELO 차이만을 사용하여 승자를 예측하는 경우 72%의 정확도를 얻는다는 사실을 알게 되면 생각이 달라집니다.

의사결정 트리는 그가 직접 구축한 점수 시스템에 비해 거의 개선된 점이 없었다.

랜덤 포레스트: 정확도 76%

단일 의사결정 트리의 문제점은 "높은 분산"입니다. 즉, 학습 과정에서 선택된 데이터 하위 집합에 지나치게 민감하다는 것입니다. 표준적인 해결책은 랜덤 포레스트입니다. 수십 개 또는 수백 개의 의사결정 트리를 구축하고, 각각 다른 무작위 데이터 하위 집합과 특징으로 학습시킨 후, 최종 예측 결과를 다수결로 결정합니다.

94개의 서로 다른 의사결정 트리가 각 게임에 대해 종합적으로 투표합니다.

결과는 76%였습니다. 개선된 수치였지만, 더 이상 발전할 수 없었습니다. 하이퍼파라미터를 어떻게 조정하든, 기능을 재설계하든, 데이터를 조작하든 정확도는 77%를 넘지 못했습니다.

8단계: 천장을 허물다

그는 이어서 XGBoost를 사용해 보았는데, 이를 "랜덤 포레스트의 스테로이드 버전"이라고 불렀습니다.

핵심적인 차이점은 랜덤 포레스트는 트리를 병렬로 구축한 후 결과를 평균화하는 반면, XGBoost는 트리를 순차적으로 구축한다는 점입니다. XGBoost에서는 각 새로운 트리가 이전 트리들의 오류를 수정하도록 특별히 설계됩니다. 또한 과적합을 방지하기 위해 정규화를 도입하고, 훈련 데이터의 단순 암기를 피하기 위해 각 트리의 크기를 의도적으로 작게 유지합니다.

결과: 정확도 85%.

이는 랜덤 포레스트의 최대 정확도인 76%와 비교했을 때 엄청난 도약입니다. 동일한 데이터, 동일한 특징을 사용했는데 알고리즘만 바뀐 것입니다.

XGBoost는 ELO 차이, 종목별 ELO 차이, 전체 ELO라는 세 가지 주요 특징을 고려합니다. 체스에서 차용한 이 점수 시스템은 81개 특징 중 가장 강력한 예측 변수로 검증되었습니다.

이에 비해 그는 동일한 데이터를 사용하여 신경망을 학습시켜 83%의 정확도를 달성했습니다. 이는 좋은 결과였지만 XGBoost에는 미치지 못했습니다. 이 데이터셋에서는 트리 기반 방법들이 우위를 차지했습니다.

9단계: 결정적인 순간 – 2025년 호주 오픈

위의 모든 콘텐츠는 2024년 12월 이전의 데이터를 사용하여 학습되었습니다.

2025년 1월에 열리는 호주 오픈은 훈련 캠프와는 완전히 별개로 진행되므로, 모델이 테니스의 본질을 진정으로 파악했는지, 아니면 단순히 과거의 패턴을 암기한 것에 불과한지를 시험하기에 완벽한 무대입니다.

그는 토너먼트 대진표 전체를 모델에 입력하여 모든 경기를 예측할 수 있도록 했습니다.

결과: 116경기 중 99경기를 정확하게 예측했으며, 오답은 단 17건에 불과했습니다. 정확도: 85.3%.

가장 중요한 예측은 바로 이것입니다. 이 모델은 엘로 시스템상 세계 랭킹 1위인 시너의 토너먼트 전 경기 승리를 정확하게 예측했습니다.

AI는 첫 번째 공이 땅에 떨어지기도 전에 그랜드 슬램 챔피언을 예측했습니다.

결론

단 한 사람, 단 한 대의 노트북, 독점 데이터도, 값비싼 인프라도, 연구팀도 없이, 토너먼트 시작 전에 그랜드 슬램 우승자를 예측하는 최대 85%의 정확도를 자랑하는 전문 테니스 예측 모델이 구축되었습니다.

테니스 데이터는 GitHub에서 확인할 수 있으며, 완벽하게 재현 가능합니다.

오늘날처럼 기적을 만들어내는 것이 쉬웠던 적은 없었습니다.

진정한 차이는 자원의 유무에 있는 것이 아니라, 당신이 기꺼이 그렇게 하려는 의지가 있는지에 있습니다.

공유하기:

작성자: Bagel 预测市场观察

이 글은 PANews 입주 칼럼니스트의 관점으로, PANews의 입장을 대표하지 않으며 법적 책임을 지지 않습니다.

글 및 관점은 투자 조언을 구성하지 않습니다

이미지 출처: Bagel 预测市场观察. 권리 침해가 있을 경우 저자에게 삭제를 요청해 주세요.

PANews 공식 계정을 팔로우하고 함께 상승장과 하락장을 헤쳐나가세요