【バスケ】シーズン序盤の3Pスタッツから最終的な3P%を予測したかった
こんにちは、らんそうるいです。この記事は、ほせ(バスケのデータ分析)さんの「シーズン序盤の3Pスタッツから最終的な3P%を予測します」というnoteのリスペクト記事です。このサマリは次のとおりです。
- Bリーグのデータを使って、シーズン途中の3Pシュートのスタッツから、そのシーズンの最終的な3P%(3Pシュート成功率)を予測する手法を提案したかった。
- 提案手法は、直前のシーズンの3Pスタッツ全量を用いて、選手ごとに3P%の事前分布を設定し(正規分布を仮定)、関心のあるシーズンの3Pスタッツが追加的に入手できた時に、事後分布をベイズ推定するというもの。以下、この提案手法をベイジアンパディングと呼びます。
- ベイジアンパディングが適用できる状況で使用できる他の手法と比べて、ベイジアンパディングの予測精度が高いかどうかを調べた結果、ベイジアンパディングの予測精度は他と比べて良いわけではなかったです。
- 実験の結果、3P%を選手×試合ごとに算出して選手ごとに3P%の平均値を取る方法よりも、選手ごとに3Pスタッツをプールした上で3P%を計算する方法の方が予測精度が高い傾向が見られました。
ベイス統計学入門中なので、間違いがあったら教えてください。よろしくお願いします。
実験の背景:なるべく少ないデータ量で選手の貢献度を推測したい
バスケ選手の貢献度を、できるだけ少ないデータ量で推測することは重要なテーマだと私は思っています。もしデータに基づいて試合ごとにMVPが選出できたら、単純に面白いと思いませんか? 他にも、シーズンを細かく区切って、期間ごとに貢献度を計算できれば、選手の貢献度のトレンドを捉えることができるようになります。
バスケ選手の貢献度を推測したものとして、オールインワンメトリクスがあります。オールインワンメトリクスの多くは、ボックスコアから計算されるスタッツをもとに計算されるため、試合数が少なかったとしても、スタッツは安定した値になっていて欲しいです。そこで、パディングという手法がオールインワンメトリクスの計算に使われるようになってきました(その例としてSPIというメトリックがあります)。パディングとは、選手本人のスタッツにリーグの平均スタッツなどを加えることで、スタッツに含まれる運の影響を緩和する手法です。
パディングは比較的新しい手法で、Bリーグでの適用例は、ほせ(バスケのデータ分析)さんの「シーズン序盤の3Pスタッツから最終的な3P%を予測します」というnote以外に今のところ公開されていないのではないかと思います。ほせさんのnoteでは、3Pシュートの成功率(3P%)を題材に、これまでの3Pシューターたちの3P%をベースにして、新しいデータが入手できた時に、ベースの3P%を更新するという手法(ベイズ推定)が提案されています。
ベイズ統計学の手法をパディングに応用するのは目から鱗でした。そこで、私も3P%を題材にパディングを考察してみた、というのが今回の投稿です。
今回の投稿で工夫したことは、比較対象を置いたことです。比較対象としては、私の提案手法が実装できる状況なら、比較対象も実装できるものを選びました。
(実験して結果が良かったらほせさんの手法とも比較させていただきたかったのですが、私の提案手法の結果が良くなかったのでほせさんの手法は比較に置いてません。)
実験
データセット
B1 2020-21, 2021-22レギュラーシーズンの試合×選手3Pスタッツ。最終的な分析には166名のデータを使いました。
手続き
ベイジアンパディング(提案手法)
B1 2020-21レギュラーシーズンの全試合を用いて、試合×選手ごとに3P%を計算しました。そして、選手ごとに3P%の平均値・分散を計算し、これらをパラメタに持つ正規分布を事前分布として利用しました。
B1 2021-22レギュラーシーズンの全試合から10%分の試合をランダムに選び(シーズン序盤の状況を再現するのが狙いです)試合×選手ごとに3P%を計算しました。選手ごとに3P%の標本平均と標本分散を得ました。
ベイズ推定によって、事前分布を更新して事後分布を得たいのですが、事後分布は正規分布で、事前分布と分散が同じであると仮定しました。
以上の設定の元、選手ごとに事後分布の平均値(ベイジアンパディングの結果)は次式で計算できます。
- (加重した)事前平均={20-21シーズンの出場試合数/(20-21シーズンの出場試合数+標本になった3P%の数)}*20-21シーズンの3P%の平均値
- (加重した)標本平均={標本になった3P%の数/(20-21シーズンの出場試合数+標本になった3P%の数)}*3P%の標本平均
- 事後分布の平均値=事前平均+標本平均
比較手法
- B1 2021-22レギュラーシーズンの全試合から10%分の試合をランダムに選び、選手の3Pシュート試投数/成功数で3P%を計算したもの。
- B1 2021-22レギュラーシーズンの全試合から10%分の試合をランダムに選び、選手の3P%を試合ごとに計算し、3P%の平均値を計算したもの。
- B1 2021-22レギュラーシーズンの全試合から10%分の試合をランダムに選んだデータと、B1 2020-21レギュラーシーズンのデータ全てを用いて、選手の3Pシュート試投数/成功数で3P%を計算したもの。
- B1 2021-22レギュラーシーズンの全試合から10%分の試合をランダムに選んだデータと、B1 2020-21レギュラーシーズンのデータ全てを用いて、選手の3P%を試合ごとに計算し、3P%の平均値を計算したもの。
精度の評価方法
B1 2021-22レギュラーシーズンのデータ全てのデータを使って、選手の3Pシュート試投数/成功数で3P%を計算し正解データとしました。
その上で、ベイジアンパディング・4つの比較手法と、正解データとの間でRMSEを計算しました。つまりRMSEを5つ計算しました。
もし、提案手法が有効なら、比較手法1と2よりはRMSEが小さくなると考えました。比較手法3と4は、提案手法が使える状況において、計算可能な方法であり、これらよりもRMSEが大きくなってしまうとしたら、提案手法ではなく比較手法を使ったほうが良い予測ができるため、提案手法の存在意義がなくなります。
結果
RMSEの計算結果は以下のようになりました。提案手法のベイジアンパディングは精度良くシーズンの最終的な3P%を予測できませんでした。
使用した手法 | 正解データとのRMSE |
ベイジアンパディング(提案手法) | 0.17 |
10%の試合データから3P%(比較手法1) | 0.15 |
10%データを使った試合ごとの3P%の平均(比較手法2) | 0.17 |
過去のデータも使った3P%(比較手法3) | 0.08 |
過去のデータも使った3P%の試合ごとの平均(比較手法4) | 0.17 |
考察
結果の表を見ると、提案手法・比較手法2・比較手法4のRMSEが高いです。このことは3P%の平均値を計算することが、世奥を行う上で筋が良くないことを意味しています。データをプールした上で、3P%を計算するのが予測を行う上で良さそうです。
比較手法1・4を見ると、データをプールする場合、データの量が多ければ多いほど予測精度が高くなる(RMSEが小さくなる)ことが読み取れます。これは直感的な結果だと思います。
参考文献
『標準ベイズ統計学』. 朝倉書店. 2023.