본문 바로가기

정보과학융합탐구

[정융탐] EPL 축구 경기 승부예측 AI 개발 프로젝트 계획

1. 문제 인식

필자는 평소 해외축구를 즐겨 본다. 특히 토트넘 핫스퍼 팬이라 EPL(English Premier League) 경기를 자주 챙겨보는 편이다. EPL은 세계 최고의 축구 리그로 세계 최고의 선수들이 모여 있다. 나의 경우 많은 축구 경기 결과를 확인하고 있음에도 불구하고 내가 예측한 대로 축구 경기가 흘러가지 않는 경우가 많고, 특히 내가 응원하는 팀이 패배할 경우 많은 상실감을 느끼기도 한다. 이런 상황에서 내가 EPL 경기 결과를 예측할 수 있다면 좋을 것 같았고, 주어진 데이터를 활용한 딥러닝 알고리즘으로 본 문제를 해결하려고 한다.

 

2. 관련 조사 시행

EPL 승부예측을 위해 여러 관련 데이터를 조사하였고, 그 결과 다음과 같은 데이터를 모을 수 있었다.

 

- football-data.org: 축구 경기, 대회, 팀, 선수별 여러 데이터를 제공해주는 무료 API 사이트

링크: https://www.football-data.org/

 

football-data.org - ur src for machine readable football data

Purpose of the project football-data.org provides football data and statistics (live scores, fixtures, tables, squads, lineups/subs, etc.) in a machine-readable way. I won't announce how awesome football-data is, you're welcome to find out by yourself (or

www.football-data.org

- FootyStats: 년도별, 선수별 스탯 csv 데이터(유료)

링크: https://footystats.org/kr/download-stats-csv?season=20062007

 

CSV로 축구 통계 데이터베이스 다운로드하기 | FootyStats

 

footystats.org

- kaggle EA Sports FC 24 complete player dataset(csv 파일): 2024년 선수들의 FIFA 능력치

링크: https://www.kaggle.com/datasets/stefanoleone992/ea-sports-fc-24-complete-player-dataset

 

EA Sports FC 24 complete player dataset

19k+ players and 100+ attributes extracted from the latest EA Sports FC edition

www.kaggle.com

- kaggle FIFA 23 complete player dataset, FIFA 22 complete player dataset, Fifa 21 Player Ratings: 2023, 2022, 2021년 선수들의 피파 능력치

링크: https://www.kaggle.com/datasets/stefanoleone992/fifa-23-complete-player-dataset,

https://www.kaggle.com/datasets/stefanoleone992/fifa-22-complete-player-dataset,

https://www.kaggle.com/datasets/ahmettezcantekin/fifa-21-player-ratings

- fifa player_stats.csv (from Github): 2005~2020년의 선수들의 FIFA 능력치

링크: https://github.com/lbenz730/fifa_model

 

GitHub - lbenz730/fifa_model: FIFA Video Game Data + Modeling 2005-2020

FIFA Video Game Data + Modeling 2005-2020. Contribute to lbenz730/fifa_model development by creating an account on GitHub.

github.com

- EPL 클럽별 스탯, 순위 csv 데이터 (from Github)

링크: https://github.com/hyunilyoo/epl-prediction/tree/master/data

 

epl-prediction/data at master · hyunilyoo/epl-prediction

EDA on EPL data and build ML models to predict the Top 4 in the English Premier League. - hyunilyoo/epl-prediction

github.com

- kaggle Premier League Matches results 1993-2023 dataset

링크: https://www.kaggle.com/datasets/evangower/premier-league-matches-19922022

 

Premier League Matches 1993-2023

Results of each match in the Premier League history

www.kaggle.com

 

3. 문제 해결 방안 설계

 

축구에 대한 다양한 스탯 데이터가 많기 때문에 무슨 데이터를 이용해야 적절한 딥러닝 모델을 구축할 수 있을까 많은 고민을 했다. 먼저 내가 원하는 모델의 입력은 축구 경기를 하는 두 EPL 팀(홈/어웨이)이고, 출력은 홈 팀 승리 / 무승부 / 어웨이 팀 승리 이렇게 각각의 경우에 해당하는 확률이 얼마나 될까를 백분율로 나타내는 것이다. 이때 입력이 두 개의 팀명 밖에 없기 때문에, 팀명만 들어와도 이 팀의 선수들의 능력치를 최대한 판단할 수 있는 자료를 이용해야 했다. 그래서 선택한 데이터가 바로 'EAsports'에서 만든 Fifa player stats 데이터셋이다. EAsports에서는 수많은 스카우터들과 데이터 분석가를 고용하여 수많은 리그의 수많은 선수들의 축구 능력치를 숫자로 표현한 평점으로 매기는데, 특정 팀에 소속된 각각의 선수들의 능력치 평점의 평균을 각 팀의 능력치로 간주한다면 팀명이 입력되었을 시 그 팀의 축구 능력치를 바로 표현할 수 있을 것이다. 이뿐 아니라 2022 카타르 월드컵 결승전에서의 음바페처럼 한 명의 잘하는 선수가 경기의 분위기를 완전히 바꾸어버리는 경우도 발생할 가능성이 꽤 높기 때문에, 각 팀의 최고 능력치를 가진 선수의 능력치 또한 학습 데이터에 사용할 것이다.

 

그러나 FIFA 평점만을 변수로 고려한다면 너무 단면적인 면이 있다. 그래서 고려하려는 또 다른 항목이 바로 경기할 당시의 홈/어웨이 승률이다. 이는 경기할 당시 이전까지의 홈/어웨이 승률을 고려해야하기 때문에, 예를 들어 2006년 경기라면 2005년의 EPL 경기 결과를 보고 승률을 계산하여 반영할 것이고, 2007년 경기라면 2005년의 경기 결과와 2006년의 경기 결과를 모두 반영하여 승률을 계산하여 이를 모델 학습에 반영할 것이다. 추가적으로 FIFA rating 데이터가 2005년부터 있기 때문에 2005년부터 2023년까지의 데이터를 학습에 사용하고, 2024년의 데이터를 모델 평가에 사용할 예정이다. 지금까지의 내용을 정리하면 다음과 같다.

 

  EPL 승부예측 모델 개요
입력 팀 2개(홈 팀, 어웨이 팀)의 FIFA rating 평균 및 최고 rating, 홈/어웨이 승률 (총 4개의 feature)
출력 홈 팀 승리 / 무승부 / 어웨이 팀 승리 각각의 확률
학습 데이터 경기를 진행한 그 당시 두 팀의 FIFA rating 평균 및 최고 rating, 홈/어웨이 승률 (총 4개의 feature)
학습 데이터 라벨 홈 팀 승리 / 무승부 / 어웨이 팀 승리

 

따라서 위 모델은 각 팀의 FIFA rating 평균과 홈/어웨이 승률을 모두 고려하여 예측할 경기의 승률에 대한 관계를 파악할 클래스가 3개인(홈 팀 승리, 무승부, 어웨이 팀 승리)분류 모델일 것이다.

 

다음으로 고민한 내용은 '옛날 경기일수록 현재의 예측에 더 영향을 안 주지 않을까?'라는 내용이었다. 모델이 FIFA rating과 승률에 대한 관계를 탐구하고 있긴 하지만, 최근 승률이 현재의 경기와 더 관련이 크기 때문이다. 예를 들어 '첼시' 팀은 2017년 마지막으로 리그 우승(1위)을 거두었지만, 2022년 12위라는 초라한 성적을 거두었고 현재도 리그 11위를 달리며 2017년의 성적과 현재의 성적이 확연히 차이가 나는 모습을 보이고 있다. 따라서 나는 위 데이터를 시계열 데이터로 분류하고, 이에 적합한 RNN, LSTM 같은 모델을 사용하여 적절한 예측을 수행할 것이다. 이외에도 다층 퍼셉트론, CNN 등의 모델도 사용해본 뒤 결과를 비교해 볼 것이다.

 

추가연구

시간이 남는다면 경기 스코어까지 예측 모델을 제작해보고자 한다. 이때는 각 팀의 공격수의 FIFA rating의 골결정력과 골키퍼의 세이브 능력을 더욱 고려할 것인데, 그 이유는 이 두가지 능력치가 득점과 실점에 가장 많은 영향을 미치기 때문이다. 이뿐 아니라 각 팀의 기대 득점(xG) 및 기대 실점(xGA)도 고려할 것이다. 기대 득점은 특정 팀이 얼마나 득점할 것인지, 기대 실점은 특정 팀이 얼마나 실점할 것인지를 수치화해서 나타낸 데이터로, 많은 변수를 포함하며 분석가들마다 약간씩 다른 공식을 사용하여 수치를 계산하고 있다. 시간이 된다면 이 과정도 꼭 진행해보고 싶으나 스코어라인은 너무 나올 수 있는 경우의 수가 많아 모델의 정확도는 그렇게 좋지는 못할 것으로 예상된다.

 

4. 기대 효과

본 연구로 인해 기존 FIFA rating과 팀의 승률에 대한 연관성을 새롭게 더 파악할 수 있을 것이라고 예측된다. 또한 많은 전문가들이 참여한 rating을 바탕으로 유의미한 예측 성과를 기둘 수 있을 것이라고 기대한다. 구현한 모델을 바탕으로 보다 많은 사람들이 해외축구를 재밌게 즐길 수 있을 것이다.

 

참고 문헌

Ahmed Amr Awadallah(Stanford University), Raghav Khandelwal(Stanford University) (CS230) (2020). Football Match Prediction using Deep Learning (Recurrent Neural Network)