競馬 with データマイニング(第1回)
Click Here! Click Here!
 今のところ、用いている手法は「決定樹」のみです。ツールとしては、一応「R」を用いています。
 決定樹が何か分からない人は、ここか、僕の修論を見て下さい。
 結果だけ見たい人は、ここ
 また、第1回の補習はここ。

目的
馬券をいかなる形でも良いので、データマイニングによる解析を行って儲けることができるかどうか確かめること。
さしあたって今回は、「連対しそうな馬を探す」をテーマに据える。

用いたデータ
JRA-VANより発売されているデータのうち、1997年〜2001年6月までの中山競馬場開催分のデータを用いた(CD-ROMで書店に売っています)。
このデータを使った理由としては、この時期のデータ加工を以前やっていて手っ取り早かったことと、新しいデータをとろうとすると金がかかる上に、更にデータ加工をしなおすのが面倒だったためです。
また、何故中山競馬場開催分なのかについては、解析を行った時点で中山競馬が開催されていて丁度良かったからです。

データ加工について
データの加工の仕方については次の通りです。

データとして以下の項目を用いた。
なお、新馬戦や、海外遠征の馬など、馬体重が計測不能な馬、及び障害レースは除外しています。

「出力」:連対(=1)、非連対(=2)
「月」
「開催日」:その開催において第_日目
「レース」:第_レース
「馬番」
「枠番」
「完全負担」:斤量。牝馬の場合は+2
「牡馬」:牡(=1) or 牝(=0)
「馬体重」
「増減差」:馬体重の増減
「単勝オッズ」

今回、該当するデータ数は27,829件であった。

解析方法について
Cross-Validationを使う。
データ20,000件を決定樹によるモデル作成用データとし、残りのデータ7,829件をモデル検証用データとする。

解析結果はこちら
及び、解析結果の見方はこちら

連対ということで、「出力」×「単勝オッズ(但し単勝オッズは考えられる最低のオッズ)」が2以上である条件に適合するデータを抽出し、それについて検証を行う。

結果について
「出力」×「単勝オッズ(但し単勝オッズは考えられる最低のオッズ)」が2以上である条件に適合するデータを抽出し、検証でも20以上あったものは次の通り。尚、2以上であっても的中数が10未満だったものは除外している。

単勝オッズ 馬体重 馬番 枠番 レース 増減差 牡馬 完全負担 確率
「208)」  28.0>=「単勝オッズ」=>15.0  1〜9月  478kg以下  1〜6番  40/281
「417)」
28.0>=「単勝オッズ」=>15.0  1〜9月  478kg以下454kg以上  1〜6番  23/140
「835)」
28.0>=「単勝オッズ」=>15.0  1〜9月  478kg以下454kg以上  3〜6番  3〜6番  14/71
「846)」
17.4>=「単勝オッズ」=>15.0  1〜9月  492kg以下  7番以降  6レース以降  10/65
「231)」
37.7>=「単勝オッズ」=>29.1  2月以降  牡馬 18/223
「463)」
37.7>=「単勝オッズ」=>29.1  2月以降  牡馬 55kg以上 15/181
「926)」
37.7>=「単勝オッズ」=>29.1  2月以降  1〜10レース 牡馬 55kg以上 12/150

こういう結果が出たものの…単勝オッズは15〜35倍程度と、穴馬ばかりが出る結論になった。
個人的には馬体重は軽すぎず重すぎず、かつ枠は内目が良いということは何となくではあるが理解できるものの、その他の結論については、これがどういうことなのか現在のところ理由付けがし難い。

以下、課題。
今回用いた決定樹では剪定を行っていないため、剪定を行うことでより適切なモデルを作れるのではないかと考えている。
今後は連対だけでなく、単勝の可能性、3着の可能性まで見て作っていきたいと考えている。
更に、項目としては「ダート・芝」や「距離」、「馬場状態」なども重要と思われるため、これらについても項目として新たに追加し、モデルを作ってみたいと思う。

p.s. で、補習として剪定モデルを作ってみた。それについては
ここで。


Topへ戻る