見出し画像

プロスポーツで序盤のスタッツから最終スタッツを予測する方法について

これは「スポーツアナリティクス Advent Calendar 2021」の7日目の記事です。

スポーツアナリティクス Advent Calendar 2019」では海外のスポーツ団体のデータサイエンティスト採用要件についてもまとめています。ぜひご覧ください。


こんにちは
この記事をご覧の方はスポーツを見たり分析したりする方が多いと思いますが、こんなことが気になることはないでしょうか?

選手Aは最初の10試合で3Pシュートを15/30 = 50%で決めているけど
これはAの3Pスキルが高いのか、たまたまなのかどっちなんだろう?

平たく言うと、シーズン序盤のスタッツをどこまで信用してよいのか、最終的にはどのような値になるのかが気になるということです。
ファン目線でもエンタメとして知りたい要素ですし、チーム目線でも分析時にこの要素は考慮する必要があります。

そこで、今回は上記のテーマについて取り組んだ先行研究を紹介しつつ、どんな論点や課題があるのかを整理していきます。

先行研究

ここでは、いくつかの先行研究を下記の3パターンに分類して紹介します。

①スタッツが安定すると言える試行数の算出
②リーグ全体の実績との加重平均
③ベイズによる推測

①スタッツが安定すると言える試行数の算出

これは、見たいスタッツごとにどの程度の試行数があれば安定すると言えるかを算出するものです。

まずは野球に関するこちらの記事です。

この記事ではsplit-half reliabilityという考え方にKuder-Richardson reliability formulaというサンプルの分け方を組み合わせて算出を進めています。
算出イメージは下記になります。

様々な選手の、6回打席に立ったときの各打席の実績がある。
このとき、各打席を選手ごとに取りうるパターンの数だけ2つに分ける(1-2-3と4-5-6、1-2-4と3-5-6など)。
これを全選手に行うと、1-2-3と4-5-6で分けたときの相関係数や1-2-4と3-5-6で分けたときの相関係数が算出される。これを全部の組み合わせで算出して相関係数の平均を算出する。

この数字を使うことで、例えば500打席に達成している選手たちのスタッツを利用して250打席時点での信頼性*を推定することができるとしています。
* 明記されていませんが、上述の相関係数のことを指していると考えられます

そしてこの記事では、スタッツごとに信頼性が0.7*を超える試行数を算出しています。例えば、ホームラン率(ホームラン数 / 打席数)は170打席で信頼性が0.7を超えるようです。
* 0.707の時にsignal / noise 比が0.707^2で0.5を超えるので、0.7に設定したと書かれています(おそらく決定係数が0.5を超えるという意味合いと考えられます)。


また、上記の記事のアプローチでバスケ版の数字を算出した記事もあります。

こちらの記事では3P%の信頼性が0.7を超えるのは試行数が750本の時点と算出しています。
この数字は相当多いもので、コロナによる試合数減がなかった2018-19のレギュラーシーズンでこの本数を超えているのは3人のみです。
※上記の状況を元に、3P%の上位がいつも似た選手ばかりだけど順位は入れ替わることを説明するのに役立つと述べています

上述の2つと似たアプローチとしてはこちらのバスケ記事も挙げられます

これはチームのスタッツに焦点を当て、シーズン開始x試合目までのスタッツと最終的なスタッツを比較し、決定係数が0.5になるのに必要な試合数を算出しています。
算出の手法こそ違いますが、安定すると考えられる件数を算出するというアプローチは同じものになります。

②リーグ全体の実績との加重平均

これは選手のシーズン序盤時点のスタッツを、リーグ平均のスタッツで水増し(padding)することで、選手のスタッツを予測するものです(記事は下記)。

水増しの具体例として、シーズン序盤に34本中17本の3Pを決めた選手がいた場合、分母と分子にリーグ平均のスタッツを下記のようにpaddingします。
(Xはスタッツの種類ごとに設定される係数。3Pの場合は240で、算出方法は後述)
(LEAGUE_AVERAGE_FG3_PCTはリーグ全体の3P%)

EXPECTED_FG3_PCT = (17 + X*LEAGUE_AVERAGE_FG3_PCT)/(34 + X)

この式を用いることで、ランダム性と選手の実際のスキルのバランスを取ることができます。また、paddingの量がシーズンを通して一定なので、シンプルに算出をすることが可能となります。

Xを算出する方法にはdifferential evolution(こちらこちらを参照)を用いて、データにはすべてのシーズンにおいて最終的なスタッツと、シーズン途中のすべての試合後のスタッツを用いています。

③ベイズによる推測

これはベイズモデリングを利用して指標を予測するアプローチになります。
手前味噌ですが例えば下記のような記事があります(別アカウントで投稿した記事です)。

この記事では3P%の事前分布に、過去のリーグ全体のスタッツの情報を盛り込んだ上で、シーズン序盤の選手のスタッツと組み合わせて3P成功率の区間推定をしています。
予測対象者39人の内、序盤10試合のスタッツから60試合終了時の最終的な3P%が80%信頼区間に入っていた選手は33人(84.6%)、50%範囲に入っていた人は23人(59.0%)となりました。
また50%範囲の3P%の予測幅は大体5%前後、80%範囲の場合は9%前後となりました。

※NBAのデータでも同じアプローチでデータを出しています(こちら)。
こちらでは、予測したい選手の前シーズンのスタッツの情報を盛り込むなど、事前分布を3パターン作成して比較しています。事前分布に様々な情報を盛り込めるベイズモデリングの強みが出ていると考えています。

また、シーズン序盤のスタッツから予測するのとはずれますが、階層ベイズモデリングを用いて、シーズン全体のホームラン総数の予測を行っている論文もあります。
詳細は省きますが、特徴量として球場や年齢やポジションを盛り込んでいて興味深い論文なのでおすすめです。
(論文名はHierarchical Bayesian Modeling of Hitting Performance in Baseball)

考察

ここからは、これまで取り上げてきた先行研究を比較して、本テーマの論点や課題について整理していきます。

論点

ここでは大きく2つの論点があると考えています。

  • 何をアウトプットするのか

  • シーズン序盤のスタッツの補正にどのような数値を使うのか

前者に関して、各アプローチでアウトプットしているものは下記になります

①:選手やチームのスタッツが安定したと言える本数
②:最終的なスタッツの点推定
③:最終的なスタッツの区間推定

この中で、①はスタッツごとに一つの指標で検討できるのでシンプルですが、その本数まで達しない場合の検討が難しく、アウトプットを元にした考察が難しい印象を受けます。
例えば、安定と見なすには500本の試行数が必要だけど、シーズン序盤で50本中25本成功している場合に、まったく達していないのでノイズが大部分を占めているという話にしかならないと考えられます。
また、signal / noise比や決定係数が0.5を超えた場合に、実際どの程度ブレるのかがイメージしづらいのも難点です。
②に関しては選手ごとに予測値が出るので、その点では扱いやすいですが、予測値がどの程度ブレるかの議論がないため、どの程度信用してよいのかが不明瞭になっています
③は区間推定を行うことで②の課題も解消できて良さげですが、区間推定の精度(詳細は後述)をどのように判断するかが悩ましい問題になってきます。

それぞれのアウトプットにメリデメがあるので、どれを選択するかは案件の性質に寄ってきますが、少なくともアウトプットの選択肢を持っておくのは良いことかなと思います。

後者に関して、各アプローチで利用しているものは下記になります

①:特になし
②:リーグ全体のスタッツ
③:② + 選手ごとのスタッツなど

①はそもそも補正という概念がなく、②③で出てきています。
その中で比較すると、②はあくまでリーグ全体のスタッツで補正するため、選手やチームごとのスキルを考慮しきれていないように見受けられます。
例えば前シーズンの3P%が40%の選手と30%の選手がいて、今シーズンの序盤に2名とも20/40 = 50%で決めていた場合、前者の選手なら高水準を維持しそうだけど後者の選手は落ち込んできそうに思えます。
しかし、その場合でも②のアプローチでは予測値が同じになってしまいます。
この点では、補正を行う際に様々な情報を盛り込める③のアプローチが①②と比べてベターと考えられます。

課題

一方で、全体に共通する課題も存在します

  1. 序盤の試行と中盤以降の試行が独立していないこと

  2. 予測された値の精度の判断方法

  3. 真に予測したい数値の選定

1つ目は序盤での試行と、中盤以降の試行の質が変わってしまうことを意味しています。
例えば序盤で好成績を記録したがゆえに中盤以降で厳しいマークにあってしまったり、選手の移籍や怪我に伴って役割が変わってしまったりといったケースです。
紹介した記事ではいずれもここに対する考慮が漏れており、精緻に予測するなら盛り込むべき情報になります。

2つ目は、主に区間推定に関する課題になります。
点推定に関してはRMSEやMAEといった予測誤差の指標がありますが、区間推定に関しては考慮が難しいです
例えば40人の3P%を予測する2つのモデルで、80%区間に含まれる件数がそれぞれ70%(28人)と90%(36人)だった場合にどちらが良いと判断するかは悩ましいです。
さらに80%区間では75%だったけど50%区間では55%だった場合にこの区間推定はどの程度適切と言えるでしょうか?
別軸では、ちょうど80%が含まれたとしても幅が大きければ意味がないということもあります(80%区間の幅が25%~45%だったとしたら意思決定には役立たない)。
つまり、区間推定に関しては区間の精度と、区間の幅の2つに関して考慮する必要があり、そこを統一的に判断する指標が必要とされますが、先行研究ではここへのアプローチはありませんでした。

3つ目は、全体の予測精度は高いけど、本当に予測したい値はそれなのか?という課題です。
例えば、予測精度が高いモデルでも、前年も成功率35%で今シーズンの序盤も35%といったような、成績が安定している選手だけ予測精度が高いというケースが考えられます。
しかし、序盤の成績から予測するといった案件で本当に予測したいのは、序盤時点で上振れや下振れが起きている選手に関して、たまたまなのか本来の実力なのかではないでしょうか。
もちろん案件によると思いますが、ビジネスの世界と比べてスポーツの世界では外れ値の検討がより重要になる(下記tweetなど)と考えられるので、そこを適切にアプローチできるモデルを作る必要があります。

まとめ

ここまで、序盤のスタッツから最終スタッツを予測する方法について先行研究や、そこから得られた論点や課題の整理を行いました。
序盤のスタッツから最終スタッツを予測することに実践での応用方法があるのか悩ましいところではありますが*、ここでの整理内容はスポーツで予測案件を扱うときの参考になるのではと思っています。
* シーズン途中での移籍が頻繁に起こるリーグでは需要ありそうですが、日本に関してはあまり聞かないので、シーズン途中で分かる意義が小さいと考えています。

もちろんここまで述べた事項以外にも、先行研究や考察はあると思いますので、どしどしコメントしていただければ幸いです。

本記事は以上になります。
最後までご覧いただきありがとうございます。
※野球での例についてはtsuyuponさんにアイデアを頂きました。
ありがとうございます。

Twitterのアカウントは下記になります。バスケのデータ分析に関するお声掛けなどありましたら、2つ目のアカウントにご連絡いただければと思います。
@pauze_pauze(データ分析や日常生活に関するTweetメイン)
@b__s__k__t(バスケのデータ分析に関するTweetメイン)




この記事が気に入ったらサポートをしてみませんか?