2
KBO
Xp
NBA Maniazine
/ / /
Xpert

데이터를 통해 보는 리그 샷 트렌드

 
41
  4795
Updated at 2019-12-09 11:03:25

 얼마 전 매니아진에 이런 글이 올라왔습니다.

https://nbamania.com/g2/bbs/board.php?bo_table=nbatalk&wr_id=6956983&sca=&sfl=mb_id%2C1&stx=danielj6

 당시에는 데이터 값이 신기하기는 했지만, (댓글에 달았던 것처럼) pearson correlation이라는 수치 자체가 아웃라이어에 민감하다보니 (역시나 댓글에 있는것처럼) 골스와 샌안의 승률에 의해서 biased 된것은 아닌가 하는 생각을 하고 넘어갔습니다.

 그러다 문득 실제 리그의 샷트렌드는 어떻게 변화해 왔는지 궁금하기도 하고, 해야지 해야지 하고 미루던 nba api 공부도 끝내고 주말동안 시간도 난 김에 간단한 분석을 해보았습니다. 

 들어가기 전에

 데이터사이언스, 머신러닝, 빅데이터 등등 요즘 가장 핫한 단어들이죠. 듣기만 해도 머리가 아프고 어려워만 보이는 단어들이지만, 사실 우리는 살면서 의식적으로 때로는 무의식적으로 이러한 일들을 하면서 살아갑니다. 바로 분류 (classification) 그리고 군집화 (clustering)의 과정을 통해서요.

매니아에서도 꾸준히 볼 수 있는 글들입니다

 "A 처럼 미드레인지 게임 위주로 풀어가는 선수 추천해주세요"

 단순해 보이는 이 과정에도 수많은 분류/군집화 과정들이 들어갑니다. 미드레인지 게임이라고 하는 슛에 대한 '공간적 군집화 (spatial clustering)'이 들어가 있으며 선수들을 스타일에 따라 분류하고 비슷한 선수들끼리 묶어내는 군집화 과정이 필요하죠.   

데이터 분석을 통해 이런 분석도 가능합니다

데이터 기반의 연구는 위와 같은 일련의 과정들을 수많은 데이터 속에서 컴퓨터가 직접 학습하면서 unbiased한 결과를 내어준다는데 큰 장점이 있습니다. 


 본 글에서는 이러한 데이터 분석을 통해서 시즌별 가장 대표적인 샷 트렌드를 분석해보고, 이를 통해 리그의 샷트렌드가 어떻게 변해왔는지에 대한 분석을 해보았습니다.

 모든 데이터 기반 연구가 그러하듯 통계적 기법을 사용하였으므로 매우 수학적인 내용들이 많이 들어가고, 분석을 통해서 나온 결과에 대한 해석은 어디까지나 제 주관이 많이 개입하기 때문에 이 부분은 감안하시고 봐주시기 바랍니다. 

 모델링을 통한 슛 트렌드 분석

 지난 10년간 리그의 트렌드가 미드레인지 게임을 지양하고, 효율적인 3점 및 골밑 슛의 플레이를 선호하는 형태로 변화한것은 이제 누구나 아는 사실입니다. NBA STAT 에서 대표적인 예를 한번 볼까요?

 왼쪽은 2010-11 시즌 Miami Heats, 오른쪽은 2017-18 시즌의 Houston Rockets 입니다. 확실히 미드레인지의 비중이 줄어든 것을 확인할 수 있죠. 

 이렇게 변화가 명백하게 보이는데, 이걸 데이터분석이니 수학적 모델링이니 하면서 어렵게 접근할 필요가 있냐? 라고 질문하실 수 있습니다.  하지만 좀 더 자세히 들여다보면 같은 미드레인지라도 다양한 패턴들이 숨겨져 있는 것을 확인할 수 있습니다. 10-11 히트의 숏코너나 블럭 쪽보다는 엘보우쪽, 특히 왼쪽 엘보우쪽에 집중된 패턴이라던가, 양팀의 코너 3점의 차이는 그리 크지 않다는 점 등등

 

이러한 패턴들을 보다 심도있게 분석하기 위해 저는 Matrix Factorization 기법을 사용했습니다.

보다 자세한 수학적인 분석은 아래 챕터를 참고해주시고, 수학은 꼴도 보기 싫다. 하시는 분을 위해서 간략히 요약해보자면 

 

  1. 2015-16 시즌부터 2019-20까지 5년간 선수들의 슛팅 데이터(x, y 위치)를 전부 구합니다. 
    샷 데이터는 NBA API를 활용해 추출하였으며, 추출된 위치 데이터는 반코트는 50x35 영역으로 구분해 해당하는 영역에 배정하였습니다.
  2. 지난 5년간 선수들의 슛패턴을 단순화해서 나타낼 수 있는 공통패턴 10가지를 구한다
    예를 들어 선수 A의 슈팅은 1번 패턴 50% 2번 패턴 30% 3번 패턴 20% 등으로 간략하게 나타내도록 하는 것입니다. 이 때 공통패턴의 경우 전체 샷패턴을 최대한 비슷하게 설명할 수 있어야하며, "골밑+미드레인지+3점" 보다는 자세한 패턴을 설명하고자 합니다.
  3. 각 시즌별로 이 공통된 패턴이 얼마나 사용되는가를 분석한다. 
    각 선수의 슈팅 패턴이 확인이 되면, 이를 시즌별로 합산을 하여 각 시즌별로 가장 주요한 패턴이 어떤것인지 확인합니다.  

  

(*심화과정-수학주의*) Non-negative Matrix Factorization 

i 번째 선수들의 샷 x,y 위치를 50x35 영역에 기록한 행렬을 P(i) 라고 합시다. 이 2차원 행렬을 벡터화해서 나온 1750x1 vector를 p(i) 라고하면 모든 선수들의 데이터를 합친 행렬 A = [p(1) p(2) ... p(n)]' 로 나타낼 수 있습니다. 즉 A의 행은 선수를, 열은 코트상의 샷 위치를 나타내는 것이지요. 이를 통해 2495x1750 차원의 행렬 A를 구할 수 있습니다. 

그 후 Non-negative Matrix Factorization (NMF)을 시행합니다.  NMF은 Matrix Factorization 기법 중 하나로 Matrix Factorization이란 데이터 행렬 (우리의 경우 A)를 두개의 행렬 W,H의 곱으로 최대한 비슷하게 근사하는 기법입니다. NMF의 경우 그 이름처럼 W,H가 음수가 아니라는 조건이 붙은 경우입니다.  

대부분의 matrix factorization이 그러하듯, 우리의 목적은 기존의 차원을 줄이는데 있기 때문에 W, H은 기존 1750 차원보다는 훨씬 작은 차원을 가지게 될것입니다 (low-rank approximation). 이렇게 나온 W와 H는 각각 이런 의미를 갖습니다. HKx1750 행렬로 전체 샷패턴을 대표하는 K 개의 샷 패턴, W2950xK 행렬로 K개의 샷패턴에 대한 각 선수들의 샷패턴 계수. 

 많은 경우 NMF 문제는 ill-posed 되기 때문에 위의 조건을 만족시키는 W,H 가 수없이 많이 존재하게 됩니다. 따라서 특정 조건을 만족시키라는 regularization을 추가하곤 하는데요, 대표적으로는 W 각 행의 계수들을 가능한한 최대한 많이 0 으로 만들라는 sparsity condition, 혹은 서로 basis (H 의 행) 들이 겹치지 않도록 하는 orthonormal condition 등이 있습니다.  

시즌 별 트렌드의 변화 

우선 지난 5년의 샷 트렌드를 설명해 줄 대표 패턴 10가지를 확인해볼까요?

패턴 1,3,7은 페인트존에 집중된 패턴, 좀 더 세분화해서 보면 1은 덩크/레이업 등 가장 골밑, 3은 플로터나 훅샷, 7은 림 양쪽 사이드에서의 득점으로 보이고

패턴 2,4,6은 3점, 2는 코너 4는 탑+왼쪽 미드레인지, 6은 윙쪽에 집중된 3점+페인트존

패턴 5,10은 엘보우 부근에서의 미드레인지 

패턴 8은 전방위적? 

패턴 9는 블락/숏코너 위치에서의 사이드 미드레인지로 보이네요. 재미있는 패턴은 9번 숏코너 혹은 로우포스트에서 왼쪽이 더 두드러진다는 점, 아마 리그 전반적으로 오른손잡이 선수들이 많고 왼쪽에서의 포스트업이 더 편해서 그런게 아닐까 싶네요.

 

그럼 데이터사이언스에서 가장 중요한 과정, 분석을 통해 나온 결과가 실제 우리가 보는 현실(?)과 얼마나 일치하는지 한번 볼까요. 

2015-16 시즌 두 선수 A,B 의 패턴 분포 비교

위의 도표는 선수 2015-16 시즌 선수 A, B 의 패턴 분포를 나타낸 것입니다.   A 선수는 전방위적 공격패턴을 보이나 7,9번 즉 페인트존과 블럭 위치에서의 샷이, B선수는 3점슛이 강하게 나타나네요. 

어떤 선수일지 감이 오시나요? (정답은 여기에 : A:Lebron James / B:Stephen Curry). 얼추 우리가 보고 느껴왔던 감과 일치하는 것 같네요. 선수들 개개인의 패턴에 대해서는 추후에 분석을 하기로 하고, 그럼 본격적으로 시즌간 패턴의 변화를 확인해보겠습니다. 

2015-2020 5년간 샷 트렌드 변화
생각보다 극명한 차이가 나오네요. 

지난 5년간 시즌을 크게 2015-17, 2017-2020으로 나눠서 볼 수 있을 것 같습니다. 

우선 눈에 띄게 나타나는 변화는 바로 5, 7, 8, 9 번 패턴의 감소입니다. 5번의 경우 점진적이긴하나 7, 8, 9번 패턴의 경우 2016-17 시즌 이후 극단적으로 감소함을 볼 수 있습니다. 5, 7, 9번 패턴의 경우 미드레인지 게임과 포스트업의 감소에 따른 변화로 볼 수 있을 것 같지만 8번의 패턴의 경우 조금 다른 해석이 필요한듯 싶습니다. 아마도 전방위적 공격을 하던 선수들이 17-18시즌부터 조금 더 특화된 공격 루트들을 가지게 되면서 이를 따로 하나의 "전방위적" 패턴으로 설명할 필요가 없어지는게 아닐까 하는 생각입니다.

 그리고 1,2,4,6번 패턴의 증가. 누가 봐도 명확한 모리볼입니다. 골밑+3점. 전반적으로 17시즌 이전에는 여러 패턴들이 고르게 분포하는 모양새였다면, 지난 3시즌은 삼점과 골밑에 크게 집중된 뾰족한 모양을 보임을 알 수 있습니다. 

결론

간단한(?) 데이터 분석 기법을 활용하여 지난 5년간의 샷 트렌드를 분석해보았습니다. 꾸준히 증가하는 3점과 골밑 득점, 그리고 감소하는 미드레인지와 포스트업 공격을 샷 패턴을 통해서도 확인할 수 있었습니다. 

또한 놀랍게도 빅터올라디포님의 글에서처럼 15-16, 16-17 시즌은 이 후의 시즌들과 확실히 다른 양상을 보입니다. (이전은 확인 해보지 못함). 3점의 중요성이 꾸준히 주목받고 있었지만 약간의 과도기와 같은 시즌이었달까요? 이러한 급격한 변화가 무엇 때문에 나타난 것인지, 정확히 저 변화가 의미하는 바가 무엇인지는 보다 디테일한 분석을 통해서 알아봐야하겠네요.

앞으로 위 데이터를 기반으로, 각 팀별, 선수별 차이 그리고 위에서 언급한 16-17시즌 이후 나타난 급격한 변화의 원인에 대해서 글을 써보겠습니다.

금방 끝날 줄 았았는데... 글이 길어지다 보니 집중력도 떨어지고 말도 두서가 없어지는 것 같네요..  보다 잘 정리된 글, 심도있는 분석으로 또 뵙겠습니다. 

 

참고한 분석 아래와 같습니다. 관심있으신 분들은 한번 읽어보세요 

https://squared2020.com/2018/10/04/understanding-trends-in-the-nba-how-nnmf-works/

https://arxiv.org/pdf/1401.0942.pdf

 

 

14
Comments
1
2019-12-09 08:17:02

아름다운 글 잘 봤습니다.
역시 전문가의 손길! 앞으로 궁금한거 있을때마다 자주 여쭤보겠습니다.

7
Updated at 2019-12-09 09:34:27

저도 그 글이 인상깊어서 좀더 오랜 기간동안 구역별 슈팅과 SRS와의 correlation을 00-01시즌부터 본 적이 있는데.. 

 

 

재밌게도 몇몇 시즌을 제외하면 대3점 시대 (14-17, 3시즌) 이전에도 3점슛 성공률은 항상 팀전력과 높은 상관관계를 보이더군요. 오히려 17-18, 18-19 시즌이 더 낮은 수준..

 

전체 슛에서 3점이 차지하는 비중과 팀전력과의 상관성을 봐도,

마찬가지로 3점시도 비율과의 상관성은 최근 떨어지더군요,

 

골스 최전성기 시대에는 분명 3점을 위시한 강팀이 득세하였다가, 이후 모두가 3점의 중요성을 깨닫고 도입하면서 그외에 구역이 다시 중요해지지 않았나 싶습니다.

 

근데 3점 vs 2점으로 보면 거의 2점슛 성공률이 더 상관성이 높았습니다 (심지어 그 대3점 시대에도..)

물론 3점 성공률과 2점성공률이 서로 독립적이지 않고, 2점이 팀득점에서 차지하는 비율이 3점보다 높은 까닭이기도 하지만, 그래도 나름의 insight가 있었습니다.

 

반면 2점슛들을 구역별로 쪼개 보면 3점슛 보다 높은 상관성을 보이는 구역은 없었습니다. 그중 가장 높은 수치를 보이는건 역시 골밑 성공률이긴 했지만요, 

 

어느 곳에서 잘 넣든 일단 2점을 차곡차곡 잘 넣으면 3점슛을 잘 넣는 것보다 낫다? 

다소 과장되게 해석하면 이렇게도 보이고요.


 

3점비율이 지금보다 훨씬 적고 골밑농구가 대세였던 00년대 초반보다 오히려 최근이 골밑 성공률과의 상관성이 높은 것도 인상적입니다. 

WR
2
2019-12-09 11:09:14

이런 댓글은 따로 글을 파주심이
주신 데이터에서도 14~17 시즌은 아웃라이어에 가까워보이네요.
이번 분석을 하면서 느낀건데, 생각보다 선수 한명 한명이 전체 데이터에 끼치는 영향이 상당한 것 같습니다.
평소에는 커리&골스가 특출난게 아니라 피닉스에서부터 시작된 리그 전반의 트렌드가 3점을 추구하는 방향으로 간다.라고만 생각했는데 생각보다 그 차이가 컸던것 같네요

1
Updated at 2019-12-09 11:29:31

글을 쓸까 말까 고민했었다가 이것만으로 쓰기엔 좀 부족하다 싶어서 관뒀었는데, littlemonk 님의 고퀄 글에 숟가락 얹어봤습니다. 요정도면 supplementary data로는 괜찮겠네요

1
2019-12-09 09:32:22

와우.. 좋은 자료 감사합니다!

1
2019-12-09 09:50:29

이런 질 높은 글을 매니아에서 볼 수 있다는 것에 감사합니다.

1
2019-12-09 09:53:14

와 정독하고 갑니다

2019-12-09 10:26:27

이전의 게시글을 보니 고3이라 하셨는데, 전공자 못지 않은 분석력이시네요.

글 잘 보고 갑니다

WR
3
2019-12-09 11:13:15

첫 글을 써주셨던 분이 고3 수험생이라고 하셨고..저는 훨씬....

2019-12-09 11:28:40

아, 죄송합니다. 회사에서 몰래 잠깐씩 보는 거라 정확히 파악을 못했네요

1
2019-12-09 11:37:15

누가 9브론 아니랄까봐 르브론은 9번 패턴이 가장 많군요..

WR
2019-12-09 16:10:23

9번 패턴을 리그에서 9번째로 많이 쓰는건 아닌가 확인해 보...

1
2019-12-09 19:17:18

먼저 흥미로운 분석과 글 정말 감사드립니다!! 4번, 6번의 경우 둘 다 탑쪽에서의 3점으로 해석할 수 있을 것 같은데 B선수..의 패턴 분포에서 4번이 낮게나오는 부분이 살짝 의아하네요. 뭔가 언수퍼바이즈드 방법으로 분류된 패턴은 역시 해석하기 어렵군요....

WR
2019-12-09 19:45:00

사실 각 패턴들이 서로 겹치지 않도록 orthogonal 조건을 넣어서도 해보긴했는데, 아무래도 전체 선수 평균이다보니 너무 단순한 패턴? 만 보이는듯하여 여기서는 포함하지 않았습니다.
4,6번을 굳이 비교하자면 4는 탑3+왼쪽 미드레인지, 6은 탑+윙3+페인트존드라이브로 볼 수 있을것같습니다.
약간 직관적이지 않지만, 비슷해 보이는 패턴일수록 mutually exclusive? 합니다. 그니까 예를들어 4,6,8번이 모두 탑+윙에서의 3점 패턴을 포함하고 있는데요, 대부분의 선수들은 4,6,8 중 하나에 특화된 패턴을 갖지, 저 셋중 둘 이상의 패턴에서 높은 계수를 보이지는 않습니다.

hou
54
8992
24-03-23
bos
122
28425
24-03-18
atlgsw
87
20739
24-03-18
bosden
57
7146
24-03-16
den
122
24761
24-03-14
lal
44
8578
24-02-24
den
92
18787
24-02-20
dal
80
16265
24-02-17
dal
79
8879
24-02-06
bos
54
6250
24-02-15
dal
72
11547
24-02-14
cha
69
21220
24-02-14
orl
36
6251
24-02-09
phi
42
6880
24-02-10
indphi
60
6389
24-02-08
atlbkn
45
10627
24-02-08
sas
50
16929
24-02-05
phi
46
11126
24-02-04
cle
40
12461
24-02-04
검색 대상
띄어쓰기 시 조건









SERVER HEALTH CHECK: OK