初めましての方、こんにちは!毎週150万円の実弾を馬券に突っ込む男、横けんです。
このブログでは、完全自作の競馬予想AI(LightGBM)とTARGET frontier JVの膨大なデータを駆使して、感覚やオカルトを一切排除した「勝つための客観的指標」と「リアルな実戦の記録」を公開しています。
先週の収支ですが
8月1日(土)は7万2980円のマイナス
8月2日(日)は33万9790円のマイナス ということになっております。
先週は2日で76万円の勝負でした。
苦しい週でした。ここは正直に受け止めるしかありません。
それでは、恒例の自信度4以上の回収率ですがこちらになります!

自信度4以上に絞ると、本命の複勝率は52.2%、複勝回収率は90%。絞った甲斐はありましたが、単勝回収率は54%と伸びませんでした。
自信度1以上の全レースの予想の回収率を見てみましょう、こちらです!

全部を含めると、本命の複勝率45.9%・複勝回収率81%。単勝回収率が29%しかなく、ここが一番痛いところです。
そして、本命馬の自信度別回収率はこちらです!

自信度4だけは複勝回収率115%と、はっきりプラスで終えています。自信度5が64%だったので、ここは逆転してしまいました。
▶ 私が毎週150万円を賭けながら3年かけて作った競馬予想AIの全体像は、「競馬予想AIの作り方・完全ガイド」に最初から順にまとめています。
先週はここ1年で1、2番に成績が良くなかった週でした
先週はここ1年で1、2番に成績が良くなかったと言えますね。
残念なんですが、7月は全週でプラスだったこともありますので、ここら辺で調整がきたかなといったようなことをおもいますね。
AIのシステムにおかしなところは認められておりません。
負けるときは、いつも「1番人気ばかりが来る週」です
それで、最近負ける時は、大体こういう時に負けるというような傾向がありまして、先週についてもそうなっております。
それは、1番人気ばかりが来てしまう週ですね。こういう時は最近は負けてしまう傾向があります。
画像をみてもらうとわかるとおもいますが、先週は1番人気の回収率が99%もあり、1番人気べた買いでもある程度勝負になった週ということになります。

今の私はほとんど穴狙いで勝負するので、1〜3番人気も含めてこれだけ堅く決まってしまうと太刀打ちできないということになりますね。。
本来なら荒れるだろうなというところで堅く決まってしまったのが要因ですね。
ただし、先週はたまたまだと判断しています
ただ、これに関しては、私は先週がたまたまだったと判断しております。いつもこれだけ1番人気が来るというのは、あまり考えられないことというのが経験上として言えます。
また、私が1番人気ばかりを狙うようになってしまったら、予想家の価値を失う。横けんじゃなくても、誰でも良いということになりますから、今回のことによって、もう少し1番人気に寄せていこうというような改善は行いません。
現に1週間だけで起こっていることで、先週を抜けばうまく行っていますからね。
ということで、ブレずに今週も頑張っていこうとおもいます。
今週やった改善(先に要点だけ)
- ①「その日の何鞍目か ÷ その日の騎乗数」を未勝利戦の複勝予想に入れた。 本命が入れ替わった275レースで、勝率22.5%→25.5%・単勝回収率65%→85%
- ②「1日の何レース目か」を1勝クラス以上の複勝予想に入れた。 17通り試した中でいちばんはっきり改善。乱数を8通り変えて8回とも改善
- ③ 採用するかどうかを決める仕組みを作り直した。 これまで実質8倍きびしく判定していた。落とした材料68通りを総当たりでやり直し中
- ④【地方】枠の有利不利を、AIが59%しか消化できていなかった。 実際の差が3.56ポイントなのにAIは2.10ポイントしか再現できず。材料6本を新設
- ⑤【地方】馬体重が取れないときの保険が2週間死んでいた。 復旧させたうえで、2つ目の取得先を用意
※ここから下は、この5つを1つずつ説明していきます。 今週入れた材料は、先週の成績にはまだ関係ありません(作り直すのは今日なので)。
今週もあらゆる改善を行っています。具体的にいうと…
今週は「騎手がその日に何鞍乗るか」を、まるまる1週間かけて調べていました。
きっかけは単純な思いつきです。1鞍だけしか乗らない騎手は一球入魂で狙えるんじゃないか。逆に12鞍もフルで乗る騎手は、12頭も覚えていられないし疲れて成績が落ちるんじゃないか。そう考えて、26万騎乗を全部数えてみました。
結果は見事に外れました。1鞍だけの騎手は複勝の回収率が65%で最下位。12鞍乗る騎手が85%で最上位。全体が72%ですから、私の予想とは真逆だったわけです。
ただ、そこで終わりませんでした。本当に1日ずっと調子がいいのだろうか、と引っかかったんです。朝の1鞍目と夕方の12鞍目が同じわけがない。そう思って1日の中で分けて数え直したら、今度ははっきり出ました。
1日9鞍以上乗る騎手は、その日の終盤に成績が落ちる。同じ騎手の同じ日で比べて、朝の3鞍は複勝回収率77.9%、終盤の3鞍は71.9%。8鞍までの騎手はまったく落ちません。
2つの新しい材料をAIに入れました
ここから先が今週の改善です。
1つめは「その日の何鞍目か ÷ その日の騎乗数」という材料です。1鞍だけの騎手は1.00、12鞍の騎手の7鞍目なら0.58になります。これを未勝利戦の複勝予想に入れました。
入れる前に必ずやっているのが、本命が入れ替わったレースだけを取り出して、新しい本命のほうが実際に良かったかを確かめる作業です。今回は275レースで本命が変わり、勝率が22.5%→25.5%、単勝回収率が65%→85%と改善していました。ただ揺れているだけではないと確認できたので採用しています。
2つめは「そのレースが1日の何レース目か」という材料です。11レースなら11、という単純な数字です。これを1勝クラス以上の複勝予想に入れました。乱数を8通り変えて8回とも改善し、2024年と2025年のどちらでも改善したので、今回試した17の形の中でいちばんはっきりしていました。
面白いのは、「メインレースかどうか」という旗を立てるとダメで、ただの数字として渡すと通ったことです。私が「11レース目が特別だ」と決めつけるより、どこで区切るかはAIに決めさせたほうが強いということですね。
自分の判定装置が厳しすぎたことも分かりました
もう1つ、今週は採用するかどうかを決める仕組みそのものを作り直しました。
これまでは「改善した幅」を「乱数を変えたときのブレ幅」と比べていたんですが、これが間違いでした。ブレ幅というのは試す回数を増やすほど広がるので、この比べ方だと実質8倍くらい厳しく判定していたことになります。良い材料をいくつも捨てていた可能性があります。
正しい比べ方に直したうえで、これまで落とした材料も全部やり直しました。68通りを総当たりで測り直しています。
私の考え方は「逆効果にならないなら入れておく。あとはLightGBMが選んでくれる」というものですが、これは基本的に正しいことも確かめられました。落ちた列を7本まとめて足しても、成績は悪くなりませんでした。
地方競馬のAIも同時に動いています
私は中央競馬と地方競馬で別々のPC・別々のAIを走らせていて、それぞれが同時に改善を進めています。地方側の今週も、なかなか大きな話でした。
いちばん大きかったのは、枠の有利不利をAIが6割しか消化できていなかったという発見です。
船橋の1200mは1番枠が不利、園田の1400mは2番が不利。こういうコースごとの癖があるのは分かっていて、AIにも材料として入れていました。ただ「入れている」のと「足りている」のは別の話です。そこで実際の勾配とAIが再現できている勾配を比べたら、実際が+3.56ポイントなのにAIは+2.10ポイントしか再現できていませんでした。
原因は、馬番を「絶対の番号」で持っていたことでした。8頭立ての7番と14頭立ての7番が同じ扱いになっていて、内と外の情報が混ざって薄まっていたんです。競馬場×距離×相対的な位置で持ち直したところ、286万走で内から外へきれいに単調な並びが出ました。
面白いのは、船橋と園田では外枠が有利なのに、川崎だけは逆に外枠が不利だったことです。ぜんぶの競馬場に同じ補正をかけると、プラスとマイナスで打ち消し合って消えてしまいます。しかも私が名指しした2場が、たまたま差が大きい順のワースト1・2でした。
もう1つ、馬体重が取れなくなる保険が2週間死んでいたという怖い話もありました。プログラムの戻り値の形を変えたときに、別のファイルから呼んでいる箇所を見落としていました。警告が1行出るだけで予測自体は動いてしまうので、誰も気づかない。しかも再学習した夜ほど代わりの取得先が落ちているという、いちばん困る形でした。
「鳴りっぱなしの警報」は無視されるようになる
地方側で今週いちばん身にしみたのが、これです。
学習と予測で値が一致しているかを見る検査が、5月26日から20回連続でエラーを出し続けていました。調べたら、ずれていた323列のうち94列はAIが使っていない死んだ列で、残りも極めて小さい差でした。実際に動かして確かめたら、予測1位が入れ替わったレースは12戦で0。
つまり実害はなかったのですが、それが逆に危ない。消えない警告は無視されるようになって、本物の事故を見逃すからです。判定を「AIが実際に使う列だけ」に直して、次に本物が出たら一目で分かる形に直しました。
これは私も気をつけないといけないと思いました。エラーが出ているのに毎回スルーしている、というのが一番あぶない状態です。
地方側は今週、材料を448本まとめて作っていました
そして今週、地方のほうで量としていちばん大きかったのが、 AIに渡す材料を448本まとめて作ったことです。 今使っている2,171本のうちの2割にあたる数になります。
中身はこうなっています。
- レース後の記者の記述を数字にしたもの 381本(不利・寸評・コーナーの通過順・ペース)
- トラックバイアス 50本(その日そのコースが内有利か外有利か、前有利か差し有利か)
- 人気と着順のズレ 8本(いつも人気を裏切る馬・いつも上回る馬)
- 相対的な枠の位置 6本(頭数をそろえてから見た内外)
- 騎手の1日の騎乗数 3本
このうちトラックバイアスは、私の思いつきが2つとも当たっていたので、 そこだけ書いておきます。
1つめは「バイアスは当日だけで見ないで、前日と翌日も混ぜたほうがいいのでは」というものです。 前走の翌日のデータなら、今のレースより前の話なので使ってもリークにはなりません。 実際に測ってみたら、当日だけだと0.393、前後1日を足した3日ぶんだと0.458でした。 数字が大きいほど「バイアスをちゃんと当てられている」という意味です。 ついでに5日ぶんまで広げると0.447で、逆に落ちました。広げすぎもダメということですね。
面白かったのは、馬場状態を合わせて絞ると、かえって悪くなったことです。 バイアスは「湿っているかどうか」ではなく、その開催そのものの性質だった、ということになります。
2つめは「内外の有利不利だけじゃなくて、前後ろのバイアスもある。 内が有利な日ほど前も有利になるんじゃないか」というものです。 これも実際にそうなっていて、内外のバイアスで5つに分けると、 内有利な側から順に前有利の度合いがきれいに上がっていきました。対象の7場すべてで同じ向きです。
ただし、この2つの重なりは6%しかありません。似ているようで、ほぼ別の情報ということですね。 だとすると、両方を別々に持たせる価値があります。
「作ったのに、つないでいなかった」という事故
ここでも1つ、私が身につまされる話がありました。
トラックバイアスの一部が、ファイルには作られていたのに、AIに渡す設定へ登録し忘れていて、 一度もモデルに届いていなかったのです。しかも記録の上では「実装済み」になっていた。
作った本人が「もうやった」と思い込んでいる状態がいちばん危ない、ということですね。 地方側は「作ったファイルの全部の列が、使うか使わないかのどちらかにはっきり分類されているか」を 機械で検査する仕組みを足しました。
なお、この448本はまだ採用が決まったわけではありません。 本物とデタラメ版を何回か学習させて比べてから決めます。 中央と同じで、作った=採用ではないという考え方は変えていません。
再学習は今日です
最後に1つ、正直に書いておきます。
今週入れた2つの材料は、先週の成績にはまったく関係ありません。モデルを作り直すのは今日(木曜)なので、先週の予想は先週のままのAIが出したものです。
効果が出るとしたら今週末からで、それも「入れた瞬間に良くなる」ようなものではありません。薄い信号を何本も束ねていくというのが私のやり方なので、1本足したくらいでは目に見えて変わらないのが普通です。
それでも、こうやって1本ずつ積み上げていくしかないと思っています。今週もブレずにいきます。
この週にやったことのうち、毎回使える部分だけをまとめ直した記事はこちらです。→ 特徴量の採用基準の作り方|3534回試して分かったまぐれ率
▶ あわせて読みたい:斤量が重い馬は買いか消しか|別定戦1万頭で出た答えは単複で逆
▶ あわせて読みたい:三連単と三連複はどちらが勝てるか|3年分の実測で出た答え
▶ あわせて読みたい:競馬で負けが続くときの考え方|16週中9週マイナスでも通算プラス
▶ あわせて読みたい:人気馬の本命はAIに任せない|土日40レースで決めた方針



コメント