はじめに
前回の記事では、YouTubeで競馬の機械学習を学び、大井競馬場を対象に自分で競馬予想モデルを作成した経験についてお話ししました。
機械学習を使って3着以内に入る確率を予測できるようになったものの、実際に使っていくうちに「何が正解なのか分からない」という感覚を持つようになりました。
そして、私は競馬予想の方法を少しずつ変えていくことになります。
今回は、機械学習による競馬予想から、自分でデータを分析して予想するスタイルへ移っていった過程についてお話しします。
機械学習ではなく、自分で数字を見る
機械学習モデルを作ったことで、競馬データを使って予測することはできるようになりました。
しかし、モデルが出した結果を見ても、
「なぜこの馬の評価が高いのだろう?」
「自分が予想するときに考えていることが、ちゃんと反映されているのだろうか?」
という疑問が残りました。
そこで、
「機械学習に答えを出してもらうのではなく、自分でデータを見て予想してみよう」
と考えるようになりました。
これが、現在の私の競馬データ分析につながる最初の一歩です。
まずは中央競馬のデータを集める
機械学習では、対象を絞った方がモデルを作りやすいと考え、地方競馬の大井競馬場を対象にしました。
しかし、自分でデータを見ながら分析するのであれば、話は少し違います。
いろいろな競馬場や条件を比較した方が、
「どんな条件で成績が変わるのか」
を調べやすくなります。
そこで、分析対象を大井競馬から中央競馬へ変更しました。
データの取得方法については、機械学習に挑戦したときに学んだWebスクレイピングをそのまま活用することができました。
ここで、
・Webスクレイピング
・DataFrameの作成
・データの加工
といった、それまで勉強してきたPythonの知識が初めて一つにつながっていきます。
もともとは血統予想が好きだった
ここで、私がなぜ血統を分析するようになったのかについても少し触れておきたいと思います。
私が競馬を血統から見るようになったきっかけは、血統予想家の亀谷敬正さんでした。
競馬を血統という視点から見ていると、
「この種牡馬はこの条件でよく走っている」
「この血統はこのコースと相性がいい」
といった、成績の偏りが見えてきます。
この、
「同じ競走馬でも、条件によって成績が変わる」
というところに面白さを感じ、次第に血統を重視して競馬を予想するようになりました。
だからこそ、
「せっかく競馬のデータを集められるなら、血統についても数字で調べてみたい」
と思ったのです。
種牡馬ごとの成績を調べてみる
まずはシンプルに、
種牡馬ごとにコース別の勝率・連対率・複勝率を調べる
ことから始めました。
例えば、あるコースでこんな数字が出たとします。
📊 種牡馬別の成績(イメージ)
| 種牡馬 | 勝率 | 連対率 | 複勝率 |
|---|---|---|---|
| キズナ | 12% | 20% | 30% |
| ゴールドシップ | 11% | 20% | 25% |
| スワーヴリチャード | 11% | 11% | 22% |
数字を出してみると、
「なるほど、この種牡馬が良さそうだ」
と思えるほど大きな差があるわけではありません。
もちろん、データの見方やサンプル数など、他にも考えるべきことはあります。
ただ、この時の私には、
「種牡馬別の成績だけでは、予想に使うには少し物足りない」
と感じられました。
「その中でも条件があるのでは?」
そこで、次の疑問が出てきました。
同じ種牡馬の産駒でも、
・性別
・馬体重
・レース間隔
・前走距離
・馬場状態
などによって、成績が変わるのではないか。
つまり、
「種牡馬ごとに得意な条件、苦手な条件があるのでは?」
と思ったのです。
グラフでデータを見てみる
ここで思い出したのが、機械学習を勉強していた時に学んだ探索的データ分析(EDA)でした。
機械学習では、データの特徴を把握するためにグラフを作って確認することがあります。
そこで、
「競馬でも同じようにデータをグラフにしてみたら、何か見えてくるのでは?」
と考えました。
種牡馬ごとに、
・性別
・馬体重
・レース間隔
などの条件を分けてグラフを作ってみました。
すると、少しずつ面白い傾向が見えてきました。
種牡馬によって傾向が違う
実際に種牡馬ごとに条件を分けてデータを見てみると、面白い違いが見えてきました。
例えば、コントレイル産駒について牡馬と牝馬の成績を比較してみました。
※集計期間:2022年1月1日~2026年8月9日
※対象:コントレイル産駒
| 性別 | 出走数 | 勝率 | 連対率 | 複勝率 |
|---|---|---|---|---|
| 牡馬 | 312 | 14.4% | 26.6% | 40.1% |
| 牝馬 | 273 | 5.1% | 13.6% | 22.3% |
数字を見てみると、かなり違いがあります。
特に複勝率では、
牡馬:40.1%
牝馬:22.3%
と、大きな差が出ています。
もちろん、この数字だけを見て、
「コントレイル産駒は牡馬を買えばいい」
と単純に判断できるわけではありません。
それでも、この結果を見たとき、
「種牡馬だけの成績を見るのではなく、性別まで分けてみると、こんなに違いが出るんだ」
と感じました。
最初は種牡馬ごとの勝率・連対率・複勝率を見るだけでしたが、そこに性別という条件を一つ加えるだけで、数字に大きな違いが出てくる。
それなら、馬体重やレース間隔など、他の条件も分けてみたらどうなるのだろう。
そう考えると、次から次へと調べてみたいことが出てきました。
実際に調べていくと、
・牡馬と牝馬による違い
・馬体重による違い
・レース間隔による違い
など、種牡馬によってさまざまな傾向が見えてきました。
そして私は、
「種牡馬ごとに、どんな条件で走りやすいのかを調べていくのは面白そうだ」
と思うようになりました。
この「条件を一つずつ変えながら、データの中にある傾向を探していく」という作業が、後の私の競馬データ分析の中心になっていきます。
機械学習からデータ分析へ
こうして私は、
機械学習で答えを出す競馬予想
から、
自分でデータを見て、傾向を探しながら予想する競馬
へと方向転換していきました。
機械学習をやめたからといって、それまで勉強してきたことが無駄になったわけではありません。
むしろ、
・Python
・JupyterLab
・Webスクレイピング
・DataFrame
・特徴量
・EDA
・グラフによるデータの確認
など、機械学習を勉強したからこそ身についた知識が、その後の競馬データ分析で活きることになります。
そして、もう一つの疑問が生まれた
データを自分で分析することが面白くなってきた一方で、別の疑問も出てきました。
数字を比較したり、グラフを作ったりすることはできるようになりました。
でも、
「この数字の差には、どんな意味があるんだろう?」
「どのくらい差があれば、本当に傾向があると言えるんだろう?」
ということが、だんだん気になるようになってきました。
機械学習を勉強していた頃から、
「統計についても勉強した方がいいのでは?」
と思っていたこともありました。
そこで私は、次に統計を勉強してみることにします。
次回予告
【競馬データ分析への道⑦】
統計検定3級に挑戦
競馬データを自分で分析するようになり、データの見方についてもっと知りたいと思うようになりました。
そこで次に始めたのが、統計検定3級の勉強です。
競馬データ分析を始めた私が、なぜ統計を学ぼうと思ったのか。
そして、実際に勉強してみてどうだったのかをお話しします。


