회귀분석을 이용한 슈퍼스타들의 19/20 스탯 예측
안녕하세요, 16/17 시즌부터 NBA 팬이 된 통계학과 학부생입니다.
평소 세이버매트릭스나 스탯/판타지 포인트 프로젝션의 매커니즘에 관심을 가져 오다 이번 학기에 회귀분석 수업을 처음 듣게 되면서 이를 이용해 선수들의 예상 스탯을 뽑아보면 어떨까 생각을 해봤습니다. 제가 생각한 스탯 예측의 뼈대 및 가정들은 이렇습니다.
1. NBA 선수들이 한 시즌에 평균적으로 찍는 스탯은 여러 양적 변수(수치 데이터)에 의해 결정될 것입니다.
2. 가능한 많은 선수들에게 적용되는 하나의 모델을 만들기 위해 1) Total MP(선수가 한 시즌에 뛴 총 시간)와 2) USG%(선수가 코트 위에 있을 때 전체 팀 포제션 중 본인이 마무리한 포제션 추정 비율)를 두 가지 변수로 지정했습니다.
3. 즉 선수가 NBA에서 기록했던 이전 시즌까지의 Total MP, USG%를 변수 X로 두고 그에 따른 득점/리바운드/어시스트/스틸/블락을 각각 변수 Y로 두는 함수를 만드는 것입니다. 즉 선수마다 플레이타임, USG%를 집어 넣으면 예상 스탯을 각각 뽑아주는 5개의 함수가 생겨나는 것이죠.
Ex)
평소 회귀분석에 대해 조금이라도 알고 계신 분들이라면 이러한 응용에 의구심을 가지실 수 있습니다. 제가 이번 분석에 사용한 다중선형회귀분석(Multiple Linear Regression Analysis)은 스탯 예측과 같은 분석에 적합한 모델이 아니기 때문이죠. 따라서 한계점이 분명히 존재합니다.
1. 시간과 그에 따르는 경험의 누적을 무시합니다. 즉 스텝업이나 노쇠화의 개념이 없습니다. 같은 출전시간과 USG를 집어넣으면 어느 정도 동일한 스탯이 예측되는 것이죠. 다만 이 부분은 선수의 기량이 상승하거나 하락할수록 출전시간/USG가 거기에 맞춰 실제로 상승/하락하기 때문에 큰 문제는 아니라고 생각했습니다.
2. 예상 스탯들 사이의 상관관계가 반영되지 않습니다. 득점/리바운드/어시스트/스틸/블락을 예측하는 함수가 각각 다르기 때문에, 식을 도출하는 과정에서 서로에게 미치는 영향을 무시하게 됩니다. 선수가 한 번의 포제션에 득점을 선택한다면 어시스트 수치는 하락할 것이고, 어시스트를 선택한다면 득점 수치는 하락하겠죠. 다만 상관관계가 이미 반영되어 있는 기존의 스탯지를 데이터로 쓰기 때문에 이 문제도 크지는 않다고 간주했습니다.
3. 당연한 말이지만, X 변수 자체도, 스탯 예측도 완벽하지 않습니다. 어디에도 출전 시간과 USG가 전적으로 스탯을 결정한다는 보장은 없습니다. 다만 출전 시간과 USG가 선수들의 스탯과 어느 정도 상관은 있구나, 스탯을 구성하는 요소 중에 하나구나 정도는 높은 확률로 보장됩니다.
위의 가정에 따라, 18/19 시즌 MVP 투표를 받았던 12인에 대해 스탯 예측을 진행했습니다. 스탯의 흐름을 볼 수 있도록 최근 3년의 스탯도 입력했습니다. 다만 조엘 엠비드는 뛴 시즌(데이터)이 적어 예측할 수가 없었고, 케빈 듀란트는 시즌 아웃이 예상되므로 제외했습니다ㅠㅠ
1. Giannis Antetokounmpo
18/19 정규시즌 MVP 쿰보입니다. 75경기 평균 33분 33% USG로 설정했습니다. 득점은 저번시즌과 비슷하게, 리바운드와 어시스트는 소폭 하락하는 것으로 예측되는군요. 하지만 예측된 스탯을 찍으면서 밀워키가 다시 한번 동부 1위를 기록한다면 또 다시 강력한 MVP 후보가 될 전망입니다.
2. James Harden
75경기 36분 38% USG의 하든입니다. 웨스트브룩의 합류로 USG를 하향 입력했습니다만 여전히 NBA 최고의 득점력이 예상되네요. 정말 올타임에 손꼽히는 득점력을 보여줬던 지난 시즌은 일단은 어느 정도 예외로 간주하는 게 합리적일 수 있습니다. 폴이 17/18과 마찬가지로 24경기를 결장하면서 USG가 40까지 치솟았었군요. USG를 높여준다고 저 스탯을 찍는다는 것 자체가 대단하긴 하지만요.
3. Paul George
77경기 37분 28% USG로 설정한 PG13입니다. 레너드와 한 팀이 되면서 USG를 살짝 낮췄습니다. 지난 시즌 커리어 최초로 All-NBA 1st 팀이 된 조지인데요, 예상 스탯대로라면 2010년대에 들어 포워드가 처음 3년 연속 2스틸 이상을 기록하게 됩니다. All-NBA와 DPOY 동시 수상을 노려 볼 만한 리그 최고의 공수겸장 중 한 명입니다.
4. Nikola Jokic
개인적으로 가장 좋아하는 선수 중 하나인 요키치입니다. 77경기 32분 출장, USG를 30으로 상향 입력했습니다. 전체적으로 스탯이 올라가는 가운데 스틸은 양상이 조금 다른데요, 일반적으로 USG의 상승과 스틸 수치의 상관관계를 기대하기 어렵다는 점에서 합리적으로 보이네요. 팀 내 공격비중과 수비 스탯은 큰 관계를 갖기가 어려우니까요. 요키치가 이번시즌 예상 스탯대로 8.5 어시스트를 기록한다면 67/68 시즌 윌트 체임벌린 이후로 센터가 8.5 어시스트 이상을 최초로 기록하는 겁니다.
5. Stephen Curry
70경기 34분의 커리입니다. 듀란트의 이적, 탐슨의 부상으로 USG는 듀란트 이적 전 수준인 32로 상향했습니다. 득점력의 상승이 놀랍군요. 표에 17/18 시즌 데이터를 적지 않은 이유는 한 시즌에 60경기 미만으로 출장한 경우 분석에서 해당 시즌을 제외시켜 버리기 때문입니다. 회귀분석에서 이처럼 지나치게 낮거나 높은 X 변수는 예측에 큰 문제가 됩니다. 어쨌든 이번 시즌 커리의 필연적인 USG 상승으로 인해 볼륨은 커지겠지만 아무래도 출전시간이나 USG보다 더 중요한 부상이라는 변수가 스탯을 더 크게 좌우하게 되지 않을까 싶습니다.
6. Damian Lillard
77경기 36분 30% USG의 릴라드입니다. 평균 득점 자체는 조금씩 내려오는 추세가 반영되었지만 USG 역시 조금씩 줄어 왔습니다. 릴라드의 기록을 보면서 정말 놀라웠던 점이, NBA 커리어 7년 동안 매년 73경기 35분 이상을 뛰어 왔다는 점입니다. 개인적으로 요키치와 더불어 좋아하는 선수인데 이번 시즌도 건강하게 꾸준한 모습 보여주길 기대합니다.
7. Kawhi Leonard
65경기 34분 30% USG의 레너드입니다. 12/13, 17/18 시즌은 경기 수 부족으로 계산에서 제외됩니다. 25 이상의 득점력과 높은 스틸이 눈에 띕니다. 레너드와 조지가 같은 팀이라니… 변수는 아무래도 부상/몸 관리에 의한 결장이겠죠. 레너드는 커리어 내내 한 시즌에 2500분 이상을 뛰어본 적이 단 한번도 없습니다. 이번 시즌도 정규 시즌 체력 관리+플레이오프 올인 전략을 선택하게 될지 지켜볼 일입니다.
8. Russell Westbrook
77경기 35분 33% USG, 이번에 휴스턴에 새롭게 둥지를 튼 웨스트브룩입니다. 비현실적이었던 3년 연속 트리플더블에서 하향 예측된 리바운드와 어시스트 수치가 눈에 띕니다. 단순히 이번 예측처럼 플레이타임과 USG% 이외에도 이번시즌 웨스트브룩과 하든이 동시 출전했을 때 누가 플레이메이킹을 할 것인지, 오클라호마에서처럼 센터급의 리바운드 퍼센티지(TRB%)를 가져갈 것인지 등 변수가 굉장히 많습니다. 이번 시즌 가장 예측이 어려운 선수 중 한 명이라고 생각합니다.
9. Rudy Gobert
80경기 32분 18% USG의 고베어입니다. 사실 고베어는 이번 예측에서 가장 이질적인 선수입니다. 다른 슈퍼스타들만큼 공격 작업을 도맡아 하는 선수가 아니다 보니 USG% 수치 자체도 평균적으로 많이 낮고 변수로써의 신뢰도도 많이 떨어집니다. 이런 류의 예측 및 분석에는 적절한 선수가 아니고, 선수의 진가 역시 수치로 전부 나타나는 선수가 아니죠^^ 그러나 이러한 점을 감안하더라도 어처구니 없는 스탯이 예측되지는 않았네요.
10. LeBron James
75경기 35분, 31% USG의 르브론입니다. 르브론의 경우에는 앞서 예측된 선수들과는 데이터의 양 측면에서 차원을 달리하죠. 무려 16년 동안 NBA에서 활약을 해왔으니까요. 스탯이 전체적으로 떨어진 이유는 동일한 USG 대비 작은 플레이타임 설정이 큰 영향을 끼친 걸로 보입니다. 실제로 16년 동안 르브론이 한 시즌에 2600분대 이하를 뛴 때는 단 3번, 세 시즌 뿐입니다. 즉 플레이타임 데이터가 전체적으로 높으면서 고르게 형성되어 있었는데 노쇠화로 인해 플레이타임이 떨어질 것으로 변수를 설정하니 자연스레 스탯들이 하락한 것이죠. 건강하게 시즌을 유지한다면 훨씬 더 좋은 활약을 보여줄 것이고, 특히 데이비스의 합류로 어시스트는 적어도 최근의 8~9개를 유지하지 않을까 생각합니다.
어떤 수치가 선수들의 스탯을 예측하는 데 가장 유용할까 고민하고, 이에 맞춰 프로그래밍하고 나온 결과를 선수들의 상황, 수치로는 나타나지 않는 변수들을 생각하고 비교해 보면서 개인적으로 재밌게 진행했던 분석이었습니다. 앞서 말씀드렸듯 저는 일개 학부생이고 분석에 초짜라 그냥 재미로 봐주시면 되겠습니다. 이번 시즌 NBA 보면서 또 여러 가지로 재밌는 분석이나 예측 진행해보고 싶네요.
모든 스탯 예측은 R을 사용하여 이루어졌습니다. 모델에 대한 자세한 설명이나 토론, 질문은 언제든지 환영입니다^^
읽어주셔서 감사합니다!
학부생인데 능동적으로 배운 내용 활용하시는게 정말 대단하시네요! 로지스틱 회귀 이용해서 MVP 선정 확률로 순위 매겨봐주신다면 흥미로울 것 같습니다!