스포츠 베팅에서 AI 예측의논리적 아키텍처

시대가 계속 발전하면서 우리는 인공지능 원년이라 불리는 2023년을 맞이했습니다. AI 기술은 전례 없는 속도로 우리 삶을 변화시키고 있습니다. Mysports.AI는 인공 지능, 기계 학습 및 프로 스포츠 데이터 통합을 포함한 첨단 기술을 적극적으로 사용하여 예측 분석 분야를 새로운 차원으로 끌어올립니다.

전통적인 스포츠 베팅 예측은 과거 통계와 수동 분석에 의존하는 경우가 많습니다. 이 접근 방식에는 고유한 가치가 있지만 그 한계는 새로운 사고를 촉발하기도 합니다. 더 나은 방법이 있습니까? AI 기술의 등장으로 이러한 환경이 완전히 바뀌었습니다. AI 기술은 게임 결과에 대한 보다 정확한 예측을 제공할 수 있을 뿐만 아니라 데이터 통찰력 수준을 높여 베터가 더 많은 정보를 바탕으로 결정을 내리는 데 도움을 줍니다.

AI는 기존 방식과 크게 다르며, 뛰어난 데이터 처리 능력과 자가 학습 능력이 장점으로 드러난다. AI는 데이터의 모든 요소를 ​​식별하고 핵심 정보를 추출한 후 이 정보를 기반으로 향후 이벤트 결과를 예측할 수 있습니다. 이 자동화된 분석 프로세스는 인간의 잠재력을 뛰어넘어 여러 분야에서 놀라운 성공을 거두었습니다.

게임 데이터가 지속적으로 업데이트됨에 따라 Mysports.AI는 NBA(미국 프로농구), MLB(미국 프로야구), 프리미어 리그, 리그 1, 라 리가, 분데스리가, MLS, 유럽 리그(UEFA 챔피언스 리그, 유로파 리그), NHL 및 NFL. 앞으로 예측 서비스는 점차적으로 더 많은 소규모 리그를 대상으로 확대될 예정입니다.

nba
mlb
mls
epl
ligue1
laliga
serie_a
bundesliga
uefa_champions_league
uefa_europa_league
nhl

머신러닝은 국제시장에서 다양한 분야에서 널리 활용되고 있지만, 특히 눈길을 끄는 것은 인공지능 도구의 지속적인 업그레이드와 성능 개선이다. 이는 전문 분석가와 투자자 모두에게 큰 관심을 끌 만한 추세입니다. 실제 측정 결과에 따르면 인간의 전문적인 분석에만 의존하는 것에 비해 AI 머신러닝을 활용한 예측은 예측 정확도가 평균 15% 향상되는 등 정확도가 크게 향상되었습니다.

따라서 전문 분석가 또는 베터로서 이제 더 큰 확신을 갖고 베팅할 수 있습니다.

AI 머신러닝을 활용한 수익 공식에는 딥러닝의 예상 승률, 실시간 배당률 플랫폼, 백테스트 후 배팅 전략이라는 세 가지 핵심 요소가 필요합니다. AI가 예측한 승률과 실시간 배당률을 통해 베팅 기대값을 계산할 수 있으며, 양수는 장기 베팅 시 해당 수익을 얻을 수 있음을 의미하고, 음수는 장기 베팅 시 손실이 발생할 수 있음을 의미합니다. 이 방법은 농구, 야구, 축구, 아이스하키, 테니스, 크리켓 및 기타 이벤트 예측을 포함한 다양한 스포츠에 적합합니다.

데이터 수집: NBA 관련 게임 데이터를 수집합니다.

1.

데이터 정리 및 처리: 데이터를 정리하여 오류나 일관성 없는 정보를 제거하고 데이터의 특성을 단순화합니다.

2.

데이터 정리 및 처리: 데이터를 정리하여 오류나 일관성 없는 정보를 제거하고 데이터의 특성을 단순화합니다.

3.

기능 엔지니어링: 모델이 게임 결과를 예측하는 데 도움이 될 수 있는 의미 있는 기능을 독립적으로 생성합니다.

4.

데이터 분석: 기계 학습 모델을 사용하여 데이터를 분석하고 기능을 조정하여 보다 정확한 백테스트 결과를 얻습니다.

NBA 시즌 데이터 캡처

우리는 Basketball-Reference  Stats.nba.com 에서 가져온 방대한 NBA 데이터 리소스를 보유하고 있습니다. 이 리소스는 1946년부터 2023년까지의 모든 게임을 포함하며, 팀 및 선수 데이터를 깊이 제공합니다. 이 데이터 리소스 웹 사이트는 사용자 정의 날짜 범위의 통계 데이터를 지원하며, 특정 요구 사항에 따라 필요한 정보를 얻을 수 있음을 의미합니다. 이 데이터베이스에는 승리 횟수, 패배 횟수, 총 득점, 리바운드, 어시스트, 턴오버, 스틸, 스리포인트 샷 성공률, 프리스로우 시도 등과 같은 다양한 중요 데이터가 포함되어 있습니다. 이는 스포츠 데이터 분석가와 애호가들에게 꿈같은 자원으로, 경기 및 선수의 성적을 깊이 연구할 수 있도록 도와줍니다. 

    'PName': 'Player_Name',

    'POS': 'Position',

    'Team': 'Team_Abbreviation',

    'Age': 'Age',

    'GP': 'Games_Played',

    'W': 'Wins',

    'L': 'Losses',

    'Min': 'Minutes_Played',

    'PTS': 'Total_Points',

    'FGM': 'Field_Goals_Made',

    'FGA': 'Field_Goals_Attempted',

    'FG%': 'Field_Goal_Percentage',

    '3PM': 'Three_Point_FG_Made',

    '3PA': 'Three_Point_FG_Attempted',

    '3P%': 'Three_Point_FG_Percentage',

    'FTM': 'Free_Throws_Made',

    'FTA': 'Free_Throws_Attempted',

    'FT%': 'Free_Throw_Percentage',

    'OREB': 'Offensive_Rebounds',

    'DREB': 'Defensive_Rebounds',

    'REB': 'Total_Rebounds',

    'AST': 'Assists',

    'TOV': 'Turnovers',

    'STL': 'Steals',

    'BLK': 'Blocks',

    'PF': 'Personal_Fouls',

    'FP': 'NBA_Fantasy_Points',

    'DD2': 'Double_Doubles',

    'TD3': 'Triple_Doubles',

Basketball-Reference 우리는 풍부한 NBA 데이터를 제공하는 정적 웹 사이트입니다 (데이터 콘텐츠가 프런트 엔드에 직접 내장되어 있음을 의미합니다). 우리 플랫폼은 이러한 가치 있는 데이터를 쉽게 가져오고 분석할 수 있는 간단하고 효과적인 방법을 제공합니다. 우리는 Python의 requests 라이브러리를 활용하여 HTML 문서를 우리 플랫폼으로 쉽게 읽어오고, 그런 다음 Pandas를 사용하여 필요한 데이터를 구문 분석하고 추출합니다. 이것은 웹 페이지의 정보를 어떻게 처리해야 하는지 걱정할 필요가 없다는 것을 의미합니다. 이 귀찮은 작업은 이미 저희가 처리했습니다. BeautifulSoup pd.read_html (...)

데이터 정리

기계 학습 분야에서 데이터 클리닝은 모델의 성능과 예측의 정확도에 직접적으로 영향을 미치는 중요한 단계입니다. 데이터 클리닝은 원시 데이터를 처리하고 변환하여 데이터의 품질, 신뢰성 및 일관성을 보장하기 위한 작업을 의미합니다. 원시 데이터에는 여러 품질 문제가 포함될 수 있는데, 이러한 문제들은 데이터 입력 오류, 누락된 데이터, 중복 데이터, 이상치 등과 같은 여러 요인에서 발생할 수 있습니다. 이러한 문제들은 기계 학습 모델의 성능에 부정적인 영향을 미칠 수 있으므로 해결해야 합니다.

우리는 각 NBA 시즌의 선수 통계 데이터와 팀 통계 데이터를 엄격하게 정제하여 데이터의 품질과 신뢰성을 보장합니다. 우리는 승패 결과를 나타낼 수 있는 데이터를 제거하여 특정 특성 값이 예측에 지나치게 영향을 미치는 것을 방지합니다. 또한 중복 데이터 특성을 제거하여 특성 간의 높은 상관성을 피합니다. 이는 예를 들어 슈팅 퍼센트, 2점슛 퍼센트 및 3점슛 퍼센트 사이의 상관성을 포함합니다. 이 데이터 클리닝 과정은 시간과 노력이 많이 들지만 기계 학습의 성공에 매우 중요합니다.

Data Cleaning Steps:

단계 1 :  결측 데이터 처리 -  결측 데이터에 대한 처리로서 여러 가지 방법을 사용할 수 있으며, 결측 값을 삭제하거나 채우거나 기계 학습 모델을 사용하여 예측하는 것이 포함됩니다.

단계 2 :  중복 데이터 처리 -  중복 데이터 항목을 감지하고 제거하여 각 항목이 고유한 것임을 보장합니다.

단계 3 :  이상치 처리 -  이상치를 식별하고 처리하며, 이를 감지하기 위해 통계적 방법 또는 기계 학습 알고리즘을 사용할 수 있습니다.

단계 4 :  데이터 일관성 처리 -  데이터 내의 일관성을 처리하며, 예를 들어 선수 이름의 철자 통일 또는 다른 데이터 원본의 형식을 통일 형식으로 변환하는 것이 포함됩니다.

기능 엔지니어링

특성 공학은 스포츠 분석 분야에서 중요한 응용 분야입니다. 특성 공학은 팀의 다양한 능력치를 비교하여 승패의 주요 요인과 가중치 비율을 찾는 과정입니다. 이 방법은 몬스터 대결과 유사하며, 몬스터의 종류와 상관없이 공격력, 방어력, 민첩성, 마력, 기술 등의 특성을 분석 기준으로 사용합니다. 미래에는 구체적인 몬스터 신분을 모르는 상황에서 특성 값 비교를 통해 어느 몬스터가 승리 가능성이 더 높은지 예측할 수 있습니다. 이 방법은 개인 명성을 뛰어넘어 순수한 데이터의 절대 값 예측에 중점을 두고 있습니다. NBA를 예로 들면, 깊은 학습을 통해 몇 가지 중요한 특성을 발견했으며 이러한 특성은 경기 결과 예측에 매우 중요합니다:

1.

Elo Rating

Elo Rating은 팀 실력을 측정하는 최상의 방법으로 경기 결과에 기반합니다. 그 개념은 매우 간단하며, 각 경기의 최종 점수와 경기 장소 및 시간이 유일한 입력 요소입니다. 팀의 Elo Rating은 경기 결과에 따라 조정됩니다. 한 팀이 경기에서 승리하면 Elo 점수를 획득하며, 만약 그 팀이 언더독으로 승리하거나 더 큰 우위로 승리하면 더 많은 Elo 점수를 획득합니다. 그러나 주목해야 할 점은 Elo Rating이 제로섬 게임이라는 것입니다. 한 팀이 Elo 점수를 얻는 것은 다른 팀이 동일한 양의 Elo 점수를 잃는 것을 의미합니다. 모든 팀의 초기 Elo 점수는 일반적으로 중간값 점수로 설정되며, 예를 들어 1500 점입니다. 각 경기의 평가 변화는 경기의 최종 점수, 언더독 상황 및 경기 장소의 가중치에 영향을 받습니다. 요컨대, Elo Rating은 경기 결과를 더 포괄적으로 포착하려고 하는 더 복잡한 승패 기록입니다.

Elo Rating의 공식은 다음과 같습니다:

만약 Ri가 현재 팀의 Elo Rating을 나타내면, 다음 경기 후의 Elo Rating은 다음과 같이 정의됩니다:

Elo_new = Elo_old + K * (Result - WinProbability)

Elo_new: 다음 경기 후의 Elo Rating입니다.

Elo_old: 현재의 Elo Rating입니다.

K: K 값은 Elo 점수의 변화 속도에 영향을 미치는 조정 매개 변수이며, 일반적으로 큰 K 값은 Elo 점수의 변화를 빨리하게 하고 작은 K 값은 변화를 느리게 합니다.

Result: 경기의 실제 결과로, 일반적으로 1은 승리를 나타내고 0은 패배를 나타냅니다.

WinProbability: 팀의 Elo Rating을 기반으로 예측된 승리 확률입니다.

이 공식은 우리에게 실제 결과를 기반으로 팀의 Elo Rating을 각 경기 후에 조정하는 기회를 제공하여 그들의 실제 실력을 더 정확하게 반영할 수 있게 합니다. 이 방법은 품질 승리와 패배를 측정하고, 서로 다른 팀 간의 불평등한 실력을 고려한 공정한 평가 시스템을 제공합니다.

또한 중요한 점은 Elo Rating이 시즌이 진행됨에 따라 변할 수 있다는 것입니다. 모든 팀이 동등하지 않으며, 우수한 팀은 종종 좋은 상태를 유지하거나 적어도 서서히 감소합니다. 거의 없는 팀이 지도에서 빠져나가거나 나가는 경우입니다. R이 한 시즌 동안 팀의 최종 Elo를 나타낸다면, 다음 시즌 초에 Elo Rating은 대략 다음과 같습니다:

(R x 0.75) + (0.25 x 1505)

실제로 시간이 흐름에 따라이 지표를 확인하고, 무작위로 선택한 세 팀을 검토할 수 있으며, 즉시 시즌 전체 팀 실력에 대한 중요한 통찰을 얻을 수 있습니다:

elo_rating w-100

여기에서 실제로 Elo Rating과 특정 시즌에서 팀의 성적 간에 강력한 관련성을 볼 수 있습니다. 골든 스테이트 워리어스와 클리블랜드 캐벌리어스가 NBA 챔피언십에서 충돌한 연도를 살펴보면, 그들의 Elo Rating의 최고점에서 이를 명확하게 볼 수 있습니다. 또한 Elo Rating이 그 때 당시 대부분의 농구 분석가들이 널리 인정한 것을 보여줍니다: 서부 리그는 동부 리그보다 훨씬 어렵습니다. 이는 워리어스 대 캐벌리어스 경기에서 Elo에 대한 품질 승리의 영향을 보여줍니다. 이러한 팀들이 챔피언 시즌 이후에 빠르게 하락하고, 선수 이탈과 부상에 시달리는 것도 볼 수 있습니다.

2.

최근 팀 성적(최근 10경기 평균 통계)

최근 10 경기의 평균 통계를 계산하려면 경기 데이터를 얻어야 합니다. 이 데이터에는 점수, 리바운드, 어시스트, 턴오버, 블록, 스틸 등 다양한 통계 데이터가 포함될 수 있습니다. 이러한 데이터는 경기 기록이나 데이터베이스에서 얻을 수 있습니다. 그런 다음 각 특성의 평균을 계산하는 간단한 함수를 사용하여 이러한 값을 새 데이터 프레임에 저장합니다. 이 새로운 데이터 프레임은 각 팀의 평균 통계 특성을 포함할 것입니다.

평균 통계를 계산할 때 어떤 특성을 선택하는 것이 매우 중요합니다. 어떤 통계 데이터는 다른 것보다 팀의 성적을 더 잘 반영할 수 있습니다. 특성 선택을 할 때 상관 분석, 주성분 분석 (PCA) 및 정보 이득과 같은 다양한 방법을 사용할 수 있습니다. 이러한 방법은 어떤 특성이 가장 정보 가치가 높은지를 결정하고, 이러한 특성을 평균 통계 계산에 선택하는 데 도움을 줍니다. 평균 통계를 계산하는 것 외에도 보다 복잡한 시계열 모델을 적용하여 팀의 성적을 더 분석할 수 있습니다. 이러한 모델에는 자기회귀 통합 이동평균 모델 (ARIMA) 및 장단기 메모리 네트워크 (LSTM)가 포함될 수 있습니다. 이러한 모델은 시간의 영향을 고려하여 추세와 계절성 변화를 포착하고 더 정확한 예측을 제공할 수 있습니다.

최근 팀 성적 분석은 머신 러닝 모델을 사용하여 수행할 수도 있습니다. 이러한 모델은 특성 공학 결과를 참조하고 다양한 변수 간의 복잡한 관계를 더 포괄적으로 고려합니다. 지원 벡터 머신 (SVM), 의사 결정 트리, 랜덤 포레스트 및 딥 러닝 모델은 적용할 수 있는 옵션입니다. 이러한 모델은 경기 결과 예측, 팀 성적 추세 분석 및 전략 제안에 사용할 수 있습니다.

3.

최근 선수 성적(지난 10경기 평균 통계)

NBA(National Basketball Association)는 치열한 농구 리그로, 선수들의 최근 성적을 이해하는 것은 팀의 성공에 있어 중요한 부분입니다. 선수의 성적 통계 데이터는 그들의 기술, 경향 및 능력에 대한 깊은 통찰을 제공하며 미래 경기 결과 예측에 도움이 됩니다. 이 글에서는 최근 10경기의 평균 통계 데이터를 사용하여 NBA 선수의 성적을 어떻게 평가할 수 있는지 탐구하며, 몇몇 NBA 선수를 분석을 통해 살펴보겠습니다.

NBA 선수의 최근 10경기 평균 통계를 계산하려면, 각 경기의 상세 데이터를 얻어야 합니다.

이러한 데이터에는 득점, 리바운드, 어시스트 등이 포함되며, 이러한 데이터는 일반적으로  nba.com/stats 웹사이트 또는 데이터 공급업체에서 얻을 수 있습니다. 이러한 데이터를 데이터 프레임으로 정리하여 각 행이 하나의 경기를 나타내고 각 열이 통계 특징(예: 득점, 리바운드)을 나타내게 됩니다. 그런 다음 간단한 함수를 사용하여 각 특징의 평균을 계산하고 이러한 평균 값을 새로운 데이터 프레임에 저장합니다. 이 새로운 데이터 프레임에는 각 선수의 평균 통계 특징이 포함됩니다. 예를 들어, 르브론 제임스와 스테픈 커리라는 두 명의 NBA 선수의 최근 10경기 평균 통계 데이터를 살펴보겠습니다.

르브론 제임스의 최근 10경기 평균 통계:

평균 득점: 28.5점

평균 리바운드: 7.8개

평균 어시스트: 7.2번

평균 턴오버(볼 소실): 2.3번

평균 블록(블로킹): 1.1번

평균 스틸(스틸 얻기): 1.5번

스테픈 커리의 최근 10경기 평균 통계:

평균 득점: 31.2점

평균 리바운드: 5.6개

평균 어시스트: 6.8번

평균 턴오버: 2.1번

평균 블록: 0.3번

평균 스틸: 1.7번

평균 통계를 계산할 때 어떤 특징을 선택하는 것이 매우 중요합니다. 서로 다른 특징은 선수의 다른 기술과 장점을 나타낼 수 있습니다. 일부 선수는 득점에 능숙하고, 다른 선수들은 리바운드나 어시스트에 더 중점을 둘 수 있습니다. 따라서 특징 선택 시, 어떤 특징이 선수의 성적을 가장 잘 반영하는지를 결정하기 위해 상관 분석, 주성분 분석 (PCA), 정보 이득과 같은 다양한 방법을 사용할 수 있습니다.

4.

선수 시즌 성적(이전 시즌 & 이번 시즌)

시즌 동안 선수의 성과를 더 완벽하게 이해하려면 선수의 평균 통계, 부상, 플레이 시간 등 다양한 요소를 고려해야 합니다. 이러한 요소는 모두 플레이어의 실제 가치와 팀에 대한 기여도를 평가하는 데 중요한 역할을 할 수 있습니다. 이 글에서는 선수들이 경기장에서 어떻게 경기를 펼치는지 더 잘 이해하기 위해 이 데이터를 종합하고 분석하는 최선의 방법을 살펴보겠습니다.

평균 통계

선수의 평균 통계는 그의 경기력을 평가하는 핵심 지표입니다. 이러한 데이터에는 일반적으로 포인트, 어시스트, 리바운드, 인터셉트, 블록 및 턴오버에 대한 통계가 포함됩니다. 이 숫자는 게임에서 플레이어의 전반적인 성과에 대한 정보를 제공하지만 플레이어의 플레이 시간과 위치에 따라 영향을 받을 수 있으므로 주의해서 해석해야 합니다. 슈팅 가드는 평균 득점이 더 높을 수 있고, 센터는 리바운드 및 블로킹 슛에 더 나을 수 있습니다.또한 평균 통계는 팀 전술 및 전술적 조정에 의해 영향을 받을 수도 있습니다. 예를 들어 팀이 팀워크와 패스에 중점을 둔다면 선수의 어시스트 평균이 더 높아질 수 있습니다. 따라서 평가가 정확한지 확인하기 위해 플레이어의 평균 통계를 분석할 때 이러한 요소를 고려해야 합니다.

부상

부상은 시즌을 치르는 동안 모든 선수가 직면할 수 있는 문제입니다. 선수의 부상은 경기력에 큰 영향을 미칠 수 있으므로 이를 고려해야 합니다. 어떤 경우에는 선수가 부상으로 인해 여러 경기에 결장할 수 있으며, 이로 인해 평균 통계가 낮아질 수 있습니다. 다른 경우에는 선수가 부상 후 복귀했지만 이전만큼 좋은 성적을 내지 못할 수도 있습니다. 따라서 선수의 부상 상태를 이해하는 것은 선수의 실제 가치를 정확하게 평가하는 데 중요합니다.팀은 일반적으로 부상당한 특정 부위 및 예상 회복 시간을 포함하여 선수 부상을 보고합니다. 이 정보는 플레이어가 경기를 하고 회복 후 최고의 상태로 돌아갈 수 있는지에 대한 통찰력을 제공하므로 팬과 분석가 모두에게 중요합니다. 선수의 경기력을 분석할 때 부상을 고려하면 경기력의 변동과 변화를 더 잘 이해할 수 있습니다.

플레이 시간

시즌 중 선수의 플레이 시간도 중요한 요소이다. 플레이어마다 플레이 시간이 다를 수 있으며 이는 평균 통계에 영향을 미칩니다. 선발 선수는 일반적으로 더 많은 플레이 시간을 가지므로 득점, 어시스트, 리바운드와 같은 통계가 더 높을 가능성이 높습니다. 대조적으로, 교체 선수는 제한된 시간 동안만 플레이할 수 있으므로 일반적으로 통계가 낮습니다. 플레이 시간은 게임 조건에 따라 영향을 받을 수도 있습니다. 팀이 경기를 주도하고 있다면 선발 투수를 쉬게 하고 벤치에 더 많은 시간을 할애할 수 있습니다. 이 경우 플레이 시간 증가로 인해 플레이어의 성능이 향상될 수 있습니다. 플레이어의 플레이 시간을 분석하면 플레이어의 성과를 더 잘 이해하는 데 도움이 될 수 있습니다. 때때로 플레이어는 제한된 시간 내에 좋은 성적을 낼 수 있으며 이는 높은 수준의 효율성을 나타냅니다. 반면에 플레이어는 장기간에 걸쳐 평범한 성능을 발휘할 수 있으며, 이는 그의 성능이 일관된지 확인하기 위해 추가 분석이 필요할 수 있습니다.

포지션과 플레이 스타일

선수의 위치와 팀의 플레이 스타일도 성과에 영향을 미칩니다. 다양한 직위에는 다양한 기술과 책임이 필요합니다. 예를 들어, 슈팅 가드는 일반적으로 공격 측에서 득점하고 어시스트해야 하는 반면, 센터는 일반적으로 수비 측에서 리바운드하고 좋은 성능을 발휘해야 합니다. 그러므로 우리는 선수의 경기력을 평가하기 위해서는 선수의 입장을 고려해야 한다. 또한 팀마다 서로 다른 플레이 전술과 스타일을 사용합니다. 한 팀은 팀워크와 패스에 더 집중하는 반면 다른 팀은 개인 공격에 더 집중할 수 있습니다. 이러한 차이는 플레이어 성능에도 영향을 미칠 수 있습니다. 선수의 기술과 스타일이 한 팀에 더 적합할 수 있기 때문에 한 팀에서는 훌륭할 수도 있고 다른 팀에서는 평범할 수도 있습니다. 우리는 또한 전체 시즌에 걸쳐 평균적인 선수 통계를 포함하려고 노력했습니다. 선수들이 부상을 입거나 로테이션에 들어오고 나가는 팀과 달리, 단일 게임에서 선수의 성과가 그의 경기력과 어떻게 일치하는지 이해하는 것이 더 중요할 것입니다. 아니면 그녀의 평균. 나중에 모델에서 이를 사용하여 팀 수준에서 정확한 예측을 할 수 있는지 확인할 것입니다.

게임에서 이기거나 지거나

팀의 승리와 패배 또한 플레이어의 성과에 영향을 미칠 수 있습니다. 승리하는 팀에서 선수들은 일반적으로 더 자신감을 갖고 더 나은 성과를 냅니다. 반대로, 연패 중인 팀에서는 선수들이 압박감을 느끼고 경기력이 저하될 수 있습니다. 게임의 승리와 패배도 플레이어 통계에 영향을 미칩니다. 게임 도중 팀이 앞서면 게임 템포를 늦추고 소유 횟수를 줄여 플레이어의 득점 및 어시스트 통계를 낮출 수 있습니다. 대조적으로, 팀이 뒤처지고 있다면 공격을 강화하여 선수의 통계를 높일 수 있습니다. 다양한 경기 상황에서 플레이어의 성과를 분석하면 더 깊은 통찰력을 얻을 수 있습니다. 플레이어의 승리 게임과 패배 게임의 통계를 보면 성능에 뚜렷한 차이가 있는지 확인할 수 있습니다. 이는 플레이어의 심리와 대처 능력을 더 잘 이해하는 데 도움이 됩니다.

선수의 평균 통계, 부상, 플레이 시간, 포지션, 플레이 스타일, 경기 형태 등을 고려하면 시즌 내내 선수의 활약을 더욱 완벽하게 이해할 수 있습니다. 이러한 요소들은 서로 얽혀 있으며 팀에 대한 플레이어의 실제 가치와 기여도에 함께 영향을 미칩니다.

5.

플레이어 효율성 등급(PER)

중요한 것은, 우리가 팀에 Elo Rating을 사용한 것처럼, 우리는 선수들의 성적을 상대적으로 비교할 수 있는 통계 데이터를 결합한 지표를 사용하고 싶습니다. 우리는 Hollinger의 Player Efficiency Rating (PER)를 사용하여 선수의 PER 총점을 사용하여 팀의 성적을 비교하고 예측하고자 합니다. NBA에서는 선수들이 대체 선수 또는 선발 선수와의 출전 시간, 경기 횟수, 또는 팀의 출전 시간으로 인해 통계 데이터가 크게 과장되거나 축소될 수 있습니다 (예: 분당 득점). 비정상적인 성적을 억제하려는 목적입니다. 우리는 선수의 능력 차이만을 의존하고 싶지 않습니다. PER은 이 문제를 해결하기 위해 경기 시간을 역수로하여 일부 경기 내 통계 데이터를 가중 평균합니다. 이것은 선수의 경기 시간에 대한 상대적인 성적을 정의하는 지표를 만들어냅니다.

따라서 각 선수에 대해 다음 공식을 사용하여 각 게임에 PER 열을 추가합니다:

PER = (FGM x 85.910 + 스틸 x 53.897 + 3PTM x 51.757 + FTM x 46.845 + 블록 x 39.190 + 공격 방어 x 39.190 + 어시스트 x 34.677 + 수비 방어 수 107 x 14 x 170 x 4 x 1705 x 4 x 170707 x 4 x 170707 x 179 x 규칙. 91 - FG_Miss x 39.190 - TO x 53.897) x (1/분)

데이터 분석

우리의 데이터 분석은 주로 Elo Rating을 테스트 지표로 사용하는 것을 중심으로 진행됩니다. 본질적으로 Elo가 다른 통계와 상관관계가 있고 정확하게 일치한다고 확신할 수 있습니까? 또한 게임 결과를 예측하기 위해 팀 통계(Elo Rating) 또는 평균 플레이어 통계(PER 등급)를 사용하는 것이 더 적절합니까?

먼저 NBA 전반에 걸쳐 각 시즌의 Elo 등급 밀도를 살펴보겠습니다. 이는 리그 전체의 평등 수준에 대해 알려줍니다. Elo 등급이 정규 분포에 가깝다는 것을 알 수 있다면 리그의 팀이 상대적으로 잘 일치한다는 것을 나타냅니다. 그렇지 않으면 우리는 엄청난 격차와 「슈퍼 팀」의 발전을 보게 될 것입니다.

elo_desities

사진: League Elo Density의 12시즌

우리는 더 이상 리그 관점에서 Elo 등급을 이해하지 않고 대신 Elo 등급이 다른 통계 중에서 단일 팀의 성과를 추적하는 방법을 이해하려고 노력합니다.

이를 통해 실제로 팀의 평균 점수와 Elo 등급 사이에 어느 정도 상관관계가 있음을 알 수 있습니다. 즉, 게임 창의 평균 점수가 높을수록 Elo 등급도 더 높은 것으로 보입니다. 하지만 Elo 역시 유사한 점수 수치에서는 ​​큰 차이를 보일 수 있음을 알 수 있습니다. 따라서 Elo Rating이 득점 관계를 추적하는 방법을 더 잘 이해하기 위해 리그 전체의 시즌 평균과 비교하여 평균 득점을 살펴보았고, 거기에서 높은 점수가 다른 점수에 상대적인 경우 득점이 Elo를 증가시킬지 여부를 결정할 수 있습니다. 의. 이를 위해 같은 시즌의 같은 팀을 살펴보고 상대 팀에 대한 득점 분포를 그려보겠습니다.

last_ten_avg_point

이는 평균 득점 분포가 상대보다 크거나 동일하거나 더 높은 수준에 더 집중된 해당 시즌의 Elo가 더 높다는 것을 알 수 있기 때문에 우리의 의심을 확인시켜 줍니다. 그룹화가 동일하거나 더 작은 값에 가까워지면 특정 팀은 해당 시즌에 대해 더 낮은 Elo 점수를 갖게 됩니다. 따라서 평균점수는 게임의 승패를 예측하는데 있어 믿을만한 결정요인이지만, 상대화하면 더 좋다. 이는 상대 통계이기 때문에 Elo가 우리의 승리를 예측하는 데 점수보다 낫다는 것을 증명합니다.

팀 통계에 초점을 맞추는 대신 Elo가 팀 성과보다 플레이어 성과를 더 잘 추적하는지 이해하려고 노력하고 있습니다. 이를 위해 우리는 이번에는 PER을 사용하여 동일한 무작위 팀의 Elo 등급과 평균 점수를 표시하는 유사한 접근 방식을 취했습니다.

elo

플롯된 데이터에서 상대 팀과 비교한 총 PER은 Elo Rating으로 결정되는 팀 전력과 큰 상관 관계가 없음을 알 수 있습니다. 대신, 점수가 더 잘 변환됩니다. 이는 플레이어의 효율성이 반드시 가장 많은 점수를 획득하는 것과 연관되어 있는 것은 아니기 때문에 의미가 있는 반면, 상대방을 상대로 득점한 점수는 게임 승리와 Elo를 결정하는 요소입니다.

우리는 같은 시즌에 상대 팀에 비해 올랜도 매직의 평균 및 중앙 PER 등급을 도표화하여 이를 한 단계 더 발전시킬 수 있으며, 평균 또는 중앙 팀 PER과 팀 전력 관계 사이에는 상관관계가 거의 없다는 것을 알 수 있습니다.

elo_1
개별 플레이어 통계 및 점수를 기반으로 경기 결과를 예측합니다

모델을 실행하기 전에 데이터를 약간 정리해야 합니다. 이 데이터 세트의 일부 게임의 경우 한 팀의 플레이어에 대한 통계가 있지만 다른 팀의 플레이어에 대한 통계는 없습니다. 일반적으로 시즌 중 다른 팀이 플레이한 첫 번째 게임만 있습니다. 따라서 우리는 컬렉션에서 이러한 게임을 모두 제거할 것입니다.

선수 평점의 경우 단순히 승패를 예측하는 것이 아니라 가능한 값(점수)의 범위를 예측하고 싶기 때문에 로지스틱 회귀 모델이 아닌 선형 회귀 모델을 사용하겠습니다. 모든 플레이어의 RMSE(제곱평균제곱근 오차)는 5.56입니다. 이는 각 플레이어가 평균적으로 약 2-3개의 필드 골 게임을 성공하거나 실패하는 것과 같습니다.

테스트 결과에서는 각 팀의 각 경기별 예상 점수를 그룹화하여 실제 점수와 비교하였습니다. 예측 점수를 기준으로 승리한 게임 대 승자의 비율은 1483/2528로 정확도는 58.66%입니다. 이전에 팀 대 상대 PER 분포를 살펴볼 때 깨달은 것처럼, 결정 요인으로서 플레이어의 전반적인 성과는 게임 결과를 정확하게 예측하기에는 너무 가변적입니다. 특히 팀 성과와 비교할 때 팀의 성과는 전반적으로 더 일관된 경향이 있습니다. 계략.

결론 및 향후 최적화

물론 이는 NBA에만 적용되는 것이 아니라 다양한 스포츠 경기에도 활용될 수 있지만, NBA를 오랫동안 지켜봐온 분들에게는 모델을 만들어 보는 것도 흥미로운 프로젝트가 될 것이라고 생각했습니다. NBA 경기 결과를 예측하고 정확한 수익 결과를 제공하는 것은 매우 흥미로운 주제입니다.

RandomSearchCV를 통해 최적화된 매개변수를 사용하는 랜덤 포레스트 회귀 모델은 67.15%의 가장 높은 테스트 정확도를 제공했습니다. 이는 로지스틱 회귀 모델보다 약간 높으며 개별 플레이어 통계를 기반으로 하는 선형 회귀 모델보다 훨씬 높습니다. GridSearchCV 및 RandomizedSearchCV를 사용하여 매개변수를 최적화하는 것은 시간이 많이 걸리고 계산 비용이 많이 들며 테스트 정확도가 약간만 변경됩니다. 시간이 더 있으면 매개변수를 최적화하는 데 소요되는 시간을 줄이고 모델을 선택하는 데 더 많은 시간을 할애할 수 있습니다.

최고의 NBA 게임 예측 모델은 승자를 약 70% 정도만 정확하게 예측하므로 로지스틱 회귀 모델과 랜덤 포레스트 분류기 모두 현재 존재하는 예측 상한선에 매우 가깝습니다. 시간이 더 있으면 다른 모델을 탐색하여 테스트 정확도를 얼마나 높일 수 있는지 알아보겠습니다. 일부 후보에는 SGD 분류기, 선형 판별 분석, 컨볼루션 네트워크 또는 Naive Bayes 분류기가 포함됩니다.