けしぶ

オクラホマシティサンダーについてあれこれお話しする場所です

NBAにおけるスタッツとシーズン成績の関係性_vol1

今回は主観ではなく、データを用いた話をしていきたいと思います。

――――――――――――――――――

※NOTE

慎重に言葉を選んでいるつもりですが、万が一分析手法への理解や結果の解釈など何か誤っている箇所がある場合は教えて頂けると大変助かります。よろしくお願いいたします。

――――――――――――――――――

 

私事ですが、最近ランダムフォレストとかいう機械学習を勉強しました。そこで何かのデータを使って実用してみたいなと思い、タイトルのようなテーマで分析をしてみました。

 

まずランダムフォレストとは何かということなんですけど、ぼくの理解度で大雑把に説明すると、ランダムフォレストとは与えられたデータをもとに分析対象のグループ分けをしてくれたり、分析対象の予測をしてくれるものです。例えば、ある商品Aをよく買う客はどんな属性を持っているのかを分析してくれたり、おおまかな天気予測などもできるようです。正しいデータがあればですが

ランダムフォレストの面白いポイントとして、それぞれのデータが分析結果にどれだけ影響を与えているのかを簡単に確かめることができます。例えば先述の商品Aの例でいうと、どうも若い男性に人気であるという結果が得られた場合、データのうち "性別"  と "年齢" のデータが大きな影響を与えていることになります。このデータの影響度、つまりグループ分けや予測にそのデータがどれだけ貢献をしたのかを簡単に確かめることができるため、分析結果の考察がしやすいというわけです。

 

さて、そんなランダムフォレストを用いて今回どんなことをやってみたかというと、

 

「過去5シーズン(15-16シーズン ~ 19-20シーズン)のレギュラーシーズンについて、

各チームのチームスタッツと勝率をデータとして与える。このデータを参考にして、

20-21シーズンの各チームのチームスタッツからそれぞれの予想勝率を計算する」

 

というものです。要するにチームスタッツと勝率の間には果たしてどのくらい関係があるのかを確かめてみたということです。

 

 

まず使用したデータについて説明します。

データは全て "Officail NBA Stats" に載っているものを参考にしました。

Official NBA Stats | Stats | NBA.com

今回は、勝率を予測していくにあたってチームスタッツを使用しています。これは自然な選択だと思うので、特に説明することもないかと思います。そして、データとして使用したスタッツについてですが、トラディショナルスタッツだけではなくアドバンスドスタッツも含めました。理由としてはアドバンスドスタッツにも興味深いデータがあるかもしれないためです。というかせっかく分析するんだし、使ってみたいデータは使うに限ります。

使用したデータは以下です。スクショで失礼します。

f:id:RP_OKC:20211009171307j:plain

トラディショナルスタッツ

f:id:RP_OKC:20211009171330j:plain

アドバンスドスタッツ

 

 

次にデータの整理を行います。今回は勝率を予想していくんですが、勝率に全く関係ないデータだったり関係しすぎているデータは取り除く必要があります。例えばトラディショナルスタッツの "W" は各チームの勝利数を表しているのですが、これは勝率にもろ関係してますよね。このようなデータが残っていると、パソコンもこのデータのみを使って勝率を予測しようとしてしまうため、取り除く必要があります。

今回は取り除くべきデータとして、トラディショナルスタッツの "GP" 、"W" 、"L" 、"MIN"、"+/-" 、アドバンスドスタッツの "NETRTG" 、"PIE" です。"+/-" と "NETRTG" は勝ちに直結するスタッツであると判断したため消しました。実際これらを含めて分析すると、この2つのデータの分析結果への貢献度が非常に高くなり、他のスタッツはノイズみたいな結果になりました。勝率予測の精度はだいぶ良かったんですけどね。

"PIE" に関しても同じような理由で削除しました。PIEをよく知らなかったので調べてみたところ、強いチームほど大きな数字が出がちらしいので取り除く方がいいのかなと思います。

それでもって残りのスタッツは取り除くべきではないと判断しました。例えば、平均得点が高いからと言って勝てるわけではないですし、ターンオーバーが多いからと言って負けるわけでもないからです。

 

 

ここまでやってやっとこさ分析に入ることができます。

改めて今回の分析の目的と予測のために参考にするデータを整理します。

 

―目的―

20-21シーズンのレギュラーシーズンについて、それぞれのチームのチームスタッツから各チームの勝率を予測したい

―参考にするデータ―

過去5シーズン(15-16シーズン ~ 19-20シーズン)のレギュラーシーズンにおける各チームのトラディショナルスタッツとアドバンスドスタッツ

 

今回、各チームを数字で表しています。理由としてプログラミングがめんどくさかったのとグラフに書くと文字が多すぎて潰れたからです。

数字とチームの対応表を次に示します。アルファベット順に0から対応してます。ATLが0でWASが29です。

ATL BOS BRN CHA CHI CLE DAL DEN DET GSW
0 1 2 3 4 5 6 7 8 9
HOU IND LAC LAL MEM MIA MIL MIN NOP NYK
10 11 12 13 14 15 16 17 18 19
OKC ORL PHI PHX POR SAC SAS TOR UTA WAS
20 21 22 23 24 25 26 27 28 29

得られた分析結果がこちらになります!

f:id:RP_OKC:20211009181527p:plain

分析結果

横軸がチームを表しており縦軸が勝率を表しています。また、青い折れ線は20-21シーズンの実際の各チームの勝率を、赤い折れ線は分析した結果の予想勝率を表しています。

こうしてみると、スタッツからだけでもなんとなくチーム勝率を予測できているのが分かります。今回の分析で得られた予測モデルの決定計数は0.783で、まずまずな出来だといえそうです。

予想がドンピシャだったチームtop3はチーム5(CLE)、チーム11(IND)、チーム21(ORL)で、それぞれ誤差が-0.102%、0.359%、0.364%でした(誤差 = 予測勝率 ー 実勝率)。OKC(チーム20)の予測精度も悪くないぞ!

一方予想をだいぶ外したチームも多くあります。外した順top3はチーム2(BRN)、チーム7(DEN)、チーム24(POR)でそれぞれ誤差が16.864%、14.566%、9.571%でした。

そして、気になるそれぞれのデータの貢献度ですが、こうなりました。

1     DEFRTG     0.36782
2     OFFRTG     0.29454
3     TS%     0.17283
4     EFG%     0.047757
5     FG%     0.011949
6     AST/TO     0.00718
7     BLK     0.00632
8     REB%     0.00546
9     BLKA     0.00530
10     3P%     0.00515
11     AST     0.00459
12     AST RATIO     0.00445
13     REB     0.00428
14     FT%     0.00417
15     PTS     0.00375
16     DREB     0.00363
17     TOV%     0.00352
18     PFD     0.00348
19     FTM     0.00345
20     PF     0.00342
21     3PA     0.00327
22     AST%     0.00320
23     FGA     0.00311
24     POSS     0.00308
25     OREB%     0.00298
26     OREB     0.00283
27     FGM     0.002810
28     PACE     0.00275
29     FTA     0.00272
30     STL     0.00259
31     3PM     0.00254
32     DREB%     0.00253
33     TOV     0.00240

左の数字は貢献度の順位です。右の数字がいわゆるそのデータの貢献度合いを表していることになります。全部足すと1になります。

分析した結果、順位予測にはDEFRTGとOFFRTGが大きく貢献していることが分かりました。この結果はある程度予想できましたし、NETRTGも含めたRATING指標はチームを評価するうえで重要であることが再確認できたことになりますね。その次に貢献度が高かったスタッツはTS%で、これはフリースローも考慮したシュート効率を表したスタッツになります。近年はフリースローを獲得する技術も重要になっており、それに伴うフリースローの重要性も上がっています。この情勢を科学的に裏付けることができたのかもしれません。

ここまでで既に貢献度のうち83.5%が説明されました。さらにEFG%とFG%も合わせると89.5%です。他の28個のスタッツは順位を予測するうえでごくわずかな貢献しかしていないことが分かりました。よって簡単な考察すらしません。何か気になるスタッツありますか???

 

 

さて、以上の分析いかがでしたでしょうか。今後の方針として、OFFRTGとDEFRTGのデータを取り除いた場合、予測モデルの精度はどうなるのか、各スタッツの貢献度はどうなるのかを調べてみたいと考えています。

他にも、面白そうなデータとか予測してみたいことがあったらやってみたいです。今回の順位予測は実用的ではなく、例えば「レギュラーシーズンのスタッツから予測するプレーオフでの勝利数」とかならチーム作りの観点だったりラスベガスだったりで役立つと思うんですけど、今回のはそれぞれのスタッツの重要性を確認してみただけですので、結局自由研究の域を脱しないのです。

しかし、単純な平均得点や平均失点はチームの成績を予測するうえで重要ではなく、OFFRTGやDEFRTGを見る必要があること、そして単純なシュート確率を見るのではなく、フリースローや3Pも考慮したスタッツであるTS%やEFG%を重要視することが大切であるということをしっかり結論づけられたのは良かったです。

 

次はもう少し深堀した考察記事をあげるつもりですので、続きもまた読んでいただけると幸いです。

 

それでは!