こんにちは。
今回は『lightGBMでボート予想AIを作ってみた』の番外編として表題の件について検証していきたいと思います。
pythonでボートレース予想AIを作ってみたので、もしまだ見てないという方はこちらも是非、楽しんでいただければと思います。
みんな大好き?4角の峰
執筆時点での峰竜太選手の主な成績。
SG優勝6回、通算優勝回数100回、24場制覇達成と誰もが認める艇界のスーパースター。
強い上にチャーミングなキャラクターも相まって私も大好きな選手なんです。蒲郡のダービーは感動ものでしたねー。そして今まさにグランプリの真っ只中、どういった結末が待っているのか、ワクワクしますね。
ただ、強すぎるが故に外枠に入ってもめちゃくちゃ売れるので、オッズ的な旨味はほとんどないのが辛いところ。そこで『4角の峰は峰なんよ』が本当なのか、『4角の峰は買い』なのかを検証していきます。
4角の峰は買いなのか?
先に今回の検証結果を伝えると、『4角の峰は強いけど買いじゃない』というのが今回の結論です。
理由としては回収率が見込めないからです。
下記は、以前ボートレース公式から取得した、レース結果と払い戻し結果をデータフレーム化して、指定選手の勝率と、回収率を計算する関数となってます。
# 払い戻し
TXT_FILE_DIR_B = "/Users/tom/boat_pred/data_csv/data_payout_csv"
txt_file_list_B = os.listdir(TXT_FILE_DIR_B)
txt_file_list_B.sort()
cs = txt_file_list_B[1:]
lis = []
for i in cs:
a=pd.read_csv(f'/Users/tom/boat_pred/data_csv/data_payout_csv/{i}')
lis.append(a)
pay = pd.concat(lis)
# レース結果
TXT_FILE_DIR_B = "/Users/tom/boat_pred/data_csv/data_result_csv"
txt_file_list_B = os.listdir(TXT_FILE_DIR_B)
txt_file_list_B.sort()
cs = txt_file_list_B[1:]
lis = []
for i in cs:
a=pd.read_csv(f'/Users/tom/boat_pred/data_csv/data_result_csv/{i}')
lis.append(a)
jl = pd.concat(lis)
# 関数化
def func(num,course):
mine = jl[jl['選手登番']==num]
mine4 = mine[mine['進入']==course]
mine4win = mine4[mine4['着順']==1]
win_id = mine4win['id'].unique()
df2 = pay.query('id in @win_id')
print('回収率')
print((df2['配当'].sum())/(len(mine4)*2000))
print('勝率')
print(len(mine4win)/len(mine4))
この関数の引数に、調べたい選手の登録番号とコースを渡すことで、その選手のコース勝率と”◯ー全ー全”で勝った場合の回収率を表示してくれます。
第一引数に選手登番、第二引数に調べたいコースを入れて、さっそく関数を実行して峰選手の4コース勝率と回収率を見ていくと、
どうでしょうか?勝率29%はさすが峰という感じですが、回収率68%というのは舟券的には正直全然おいしくないですね。もちろん相手を絞れば期待値の底上げができそうですが、この回収率では穴党としては買いづらい。
ちなみにその他の峰選手のコース成績と回収率は以下のようになりました。
ふと気になるあの選手の回収率は?
控除率が25%であることを考えると、全選手の平均がどのコースも回収率75%付近になるはずなので、全てのコースにおいて75%以下の回収しか見込めないとなるとかなり厳しいですね。
これが、『4角の峰は買いじゃない』理由です。いや、むしろどのコースでも買いじゃない。75%超えのコースはひとつもないですからね。
そこで、今度は個人的に4コースのイメージがある、またおいしい思いをさせてもらってる選手について調べてみました。
左が今垣光太郎選手。右が椎名豊選手でした。
このデータからやはり今垣選手の4コースは期待値が高いと言えそうです。勝率も峰選手とほぼ同じでこの回収率はすごい。3コースも回収率100%越えということで、今垣選手の3、4コースは黙って買えると言えそうです。イメージ通り3コースまくり、4角まくりは十分狙えるだけの見返りがありそうです。
逆に、椎名選手が思ったほど高くないのが意外でした。特に3コースの勝率、回収率が低くこの結果だけをみると椎名選手の3コースは期待値が低いと言えそうです。
これは、個人的な考察ですが、椎名選手は展示タイムもしっかり出すことから、期待勝率よりも良く売れる。逆に今垣選手は展示タイムが出ないことが多く、いいオッズが残りやすいというのがあるのではと思ってます。
まとめ
せっかく苦労して収集したデータなんだからなんとか他にも活用したいなーと思っての試みでしたが、思った以上の収穫を得ることができました。
最終的な買うか否かの判断材料にしたり、本編で作ったAIと組み合わせれば買うべきかどうか、期待値があるかどうかの判定をしてくれるようなプログラムを作れないかなーとか、またやってみたいことが出てきました。
最後に、『4角の峰は峰なのか』という検証テーマでしたが、ごめんなさい🙇検証データの一部に4スローの峰が入ってます。取得したデータの都合上、角なのかスローなのか判別できないので、一部4スローの峰がいます。
あまり細かいことは気にせず、そうなんだーくらいに楽しんで頂けてれば嬉しいです。
それではまた👋