第3-2回 様々な賭け方の予測精度 2(競馬予想)[python]
第1回 競馬予想プログラムを作りたい
第2-1回 オッズの見積方法(競馬予想)
第2-2回 様々な賭け方の予測精度
第3-1回 競馬予測の自動化
第3-2回 様々な賭け方の予測精度 2(競馬予想) (ここ)
機械学習による競馬予測ツール
第3-1回では、予測ツールの自動化を行いました。
コードは下記のGithubにアップしています.
https://github.com/hide-dog/horse_racing_automation
この結果に対し、どのような賭け方をするのが良いのでしょうか。
第2-2回では、単純に予測結果に対し単勝や3連複に賭けてみましたが、回収率は76%でした。
そこで、今回はボックスやフォーメーション、予測結果の確度についてみていきます。
1 ボックスとフォーメーション
これらは、馬連や3連単といった複数の馬を選ぶ際に1通りではなく、複数の通りを決まった買い方で選ぶ方法になります。
ボックスは、数頭の馬を選び、それらで作られる組み合わせをすべて買う方法になります。
3連複で、1, 3, 5, 7を買う場合は
1-3-5
1-3-7
1-5-7
3-5-7
の4通りになります。
フォーメーションでは、各順位で組み合わせを考えます。各順位と言っていますが3連複や馬連でも同様の買い方ができます。
3連単で
1位に 1, 2
2位に 1, 2, 3
3位に 3, 4
と決めると
1-2-3
1-2-4
1-3-4
2-1-3
2-1-4
2-3-4
の6通りになります。重複がない買い方を考えるので面倒ですね。
これらの賭け方を色々試したところ第2-2回では使用していなかったモデル Catboostで回収率100%を超える結果が得られました。(3連複)
前回と同じく2008年から2020年までのデータから、2021年の結果を予測したものになります。
3連複です.
賭け方は、3-3-3フォーメーションで後半2つは重複しています。
具体的には、予測した順位の高い方から1番、2番…とすると
4,5,6
1,2,3
1,2,3
の組み合わせを買いました。
数万馬券を2回当てているものの、最初の1000回は地道に勝って終わっていますし、実際に賭けてもよいのではないでしょうか。
この組み合わせが良かった理由として、オッズが影響していると考えられます。
基本的には、オッズの高い馬の勝率が高いことから、機械学習結果もオッズの高い馬が上位に来ることが多いです。
上位の馬を使用すれば、的中率は上がりますがトリガミ(的中はするが賭けた数が多く実質的に損をする)になることが多くなります。
そのため、3,4,5とオッズの高い馬を混ぜることで、全体を通して回収率100%以上を達することができたと考えられます。
2 予測結果の確度
機械学習の分類では、「何%で1位になるか」という出力が得られます。
レースによっては、60%で1位になる馬がいたり、20%で1位になる馬が3頭いたりと、予測確度が変わってきます。
そのため、予測確度が高いレースに絞って賭ければ的中率を上げることができると考えられます。
これらの賭け方を色々試したところ第2-2回で高回収率を記録したモデル light-GBMやモデル Catboostで回収率100%を超える結果が得られました。
light-GBMの結果では
全体の5%の試合に挑戦し、的中率19%、回収率125%でした。
ここでは、予測勝率30%以上かつオッズ5.0倍以上のものに賭けています。
すなわち、観客の予測と機械学習にずれがある点を見つけて賭けているわけです。
下記の別モデルも同様の賭け方をしています。
Catboostの結果では
全体の0.5%の試合に挑戦し、的中率40%、回収率258%でした。
一年で3000試合あり、その内15試合しかかけていませんが的中率が高く良い結果になっています。
正直に言うと、賭けた試合数が少ないため、このデータを信用するかどうかは皆様にお任せします。
使用したコード(フォーメーションと予測確度を用いた単勝)は、Githubに挙げています。
まとめ
フォーメーションや予測確度の面からアプローチしてみましたが、有意義な良い結果が得られたのではないでしょうか。
これらのプログラムを信用するかどうかはお任せしますが、オープンソース化していますので、信頼できるプログラムを組んでみてください。
プログラムを組むのが面倒な人はメール配信もしていますので,よかったらみてみてください.
ここまで読んでくださり、ありがとうございます。
hide
コメントを残す