競艇AI開発日記 第27話|基準になる選手はいるのか?

前回は、6艇のスタートがそれぞれ完全に独立しているわけではないのではないか、というところから、選手同士のスタートの相関を調べました。

特に、1〜3号艇、4〜6号艇のように、近いコース同士でスタートが連動しているような傾向が見えてきました。

そこで、次に気になったことがあります。

「もし同じグループの選手同士が連動しているなら、その中に基準になる選手がいるんじゃないか?」

今回は、そんな疑問から調べてみることにしました。

「基準になる選手」がいるのでは?

前回、選手同士のスタートに相関があることが分かりました。

ただ、相関があるだけでは、

「みんなが同じように動いているのか」

「誰かを基準にして、他の選手が動いているのか」

までは分かりません。

ここで思い出したのが、これまでレースを見てきた中で感じていたことでした。

スタート前の展示などを見ていると、

「このままいけばスタートがかなりバラけそうだな」

と思うような並びでも、実際のスタートでは意外とまとまっていることがあります。

もしかすると、選手は自分のスタートタイミングだけを考えているのではなく、周りの選手も見ながらスタートしているのかもしれません。

もちろん、これはあくまで自分の感覚です。

でも、前回の相関分析で実際に選手同士のスタートが連動している数字が出ていたので、

「グループの中で、他の選手が合わせているような基準になる選手がいるのでは?」

と考えてみました。

まずは相関の高い選手を探してみる

そこで、選手×コースごとのスタートの相関を見ていきました。

すると、かなり高い相関を持っている組み合わせが見つかりました。

例えば、

  • 小芦るり華×5コース:約0.958
  • 原村百那×5コース:約0.908

などです。

他にも、平山智加選手、高憧四季選手、海野ゆかり選手、細川裕子選手、清埜翔子選手、平田さやか選手など、相関の高い組み合わせがありました。

こういう数字を見ると、

「やっぱり、この選手のスタートに周りが合わせているのかな?」

と思いたくなります。

ただ、ここには一つ問題があります。

相関が高いからといって、その選手が周りを動かしているとは限りません。

例えば、実力のある選手であれば、その選手を他の選手が意識している可能性があります。

一方で、スタートで突出するタイプではない選手の場合、本人が周囲に合わせているために、結果として相関が高くなっている可能性もあります。

つまり、

相関が高い

↓

この選手が「基準選手」

とは、簡単には言えません。

ここはなかなか難しいところでした。

「自分と他の2艇」を比べてみる

では、どうすれば「基準っぽい選手」を見つけられるのか。

このあたりになると、自分には明確な分析方法がありませんでした。

そこでAIに相談しながら、いくつかの分析を試してみました。

その一つが、3艇の関係を比較する方法です。

例えば1〜3号艇のグループなら、

  • 1号艇と2・3号艇
  • 2号艇と1・3号艇
  • 3号艇と1・2号艇

というように、それぞれの選手と他の2艇との関係を見ます。

さらに、残った2艇同士の相関も比較します。

もし、

「ある選手と他の2艇は強く連動しているけど、残り2艇同士はあまり連動していない」

となれば、その選手を中心とした構造があるのではないか、と考えられます。

実際に調べてみると、そういう形に見えるケースがありました。

例えば、

  • 喜井つかさ×1コース
  • 中尾彩香×2コース
  • 藤原菜希×3コース
  • 清埜翔子×4コース
  • 寺田夢生×6コース

などです。

数字を見ると、

「この選手を中心にした関係なのかな?」

と思えるケースがあります。

ただ、正直なところ、この時点ではまだ半信半疑でした。

相関は見えてきた。でも、予測に使えるのか?

ここで、自分の中で少し引っかかる部分が出てきました。

相関そのものはあります。

でも、

「相関がある」ことと「予測に使える」ことは別なんじゃないか?

ということです。

例えば、2号艇と3号艇のスタートが連動していることが分かったとしても、

「じゃあ次のレースで2号艇がこのくらいのSTなら、3号艇はこのくらい」

と予測できるとは限りません。

さらに、

「この選手を基準にすれば、他の2艇を予測できる」

というところまで持っていくには、もう少し具体的に関係を見ていく必要がありそうでした。

そこで次に、実際に数字がどのくらい変化するのかを見てみることにしました。

STが0.01秒速くなったら、周りはどうなる?

ここでもAIから分析方法を提案してもらい、回帰分析を試してみました。

見たかったのは、

「ある選手自身のSTが変化したとき、同じグループの他の2艇のSTもどのくらい変化するのか」

という部分です。

例えば、ある選手の回帰係数が0.816だった場合、

その選手が0.01秒速くなると、他の2艇の平均STも約0.008秒速くなる、というように数字で見ることができます。

実際に、

  • 宮城那菜×6コース:0.753
  • 平山智加×5コース:0.987
  • 小芦るり華×2コース:0.816
  • 喜井つかさ×1コース:0.471

などの数字が出ました。

数字として見ると、確かに速くなっています。

「この選手のSTが変化すると、同じグループの他の選手も変化している」

という傾向は見えてきました。

ただし、ここで注意しておきたいのは、この数字だけで「その選手が速くなったから、他の選手も速くなった」と因果関係まで証明できるわけではないということです。

あくまで、過去のデータ上で一緒に変化する関係が見えている、という捉え方です。

そして、もう一つ問題がありました。

「じゃあ、この数字をAIでどう扱えばいいんだ?」

ということです。

面白いけど、AIに落とし込むのが難しい

ここまで調べてみると、選手同士の関係には何らかの傾向がありそうだということは分かってきました。

ただ、

「基準になる選手を特定して、それを使えばイン逃げ有利・不利を予測できる」

というところまでは、どうしてもつながりませんでした。

もちろん、もっと深く調べれば何かできるのかもしれません。

ただ、やるとなると選手ごとの関係性をかなり細かく扱う必要がありそうです。

そうなると、

  • 実装に時間がかかりそう
  • ロジックが複雑になりそう
  • 後から修正するのも大変そう
  • メンテナンスもしにくくなりそう

ということも気になりました。

自分としては、

「分析としては面白い。でも、今作ろうとしているAIにそのまま組み込むには重いかもしれない」

という感覚になっていきました。

なので、ここで「基準になる選手を特定して、それをAIの中心にする」という方向には進まないことにしました。

「誰が基準か」ではなく「どれくらい連動するか」へ

ただ、ここまで調べたことを全部捨てる必要はありません。

「誰が基準なのか」を決めるのではなく、

「この選手と同じグループの選手は、どのくらい連動しているのか」

という関係性そのものを数字にしてしまえば、AIの材料として使えるかもしれません。

例えば、

  • グループ内の相関
  • 自分のST変化に対する他の選手の変化

といったものです。

「基準になる選手」を特定するのではなく、

「選手同士がどのくらい連動しているのか」を、そのまま数字としてAIに渡してみる。

その方が、今の自分には扱いやすそうに思えました。

ここからは、実際にこの関係性をAIに入れてみて、予測に役立つのかを試していきます。

分析として面白いだけなのか。

それとも、実際のAIに使える情報になるのか。

次はそこを確かめてみます。

あわせて読みたい

競艇AI開発日記

← 競艇AI開発日記 第26話|競艇のスタートは本当に「6艇それぞれ独立」なのか?

競艇AI開発日記

競艇AI開発日記 第28話|選手同士の「連動性」をAIに入れてみる →

タイトルとURLをコピーしました