WEBスクレイピングで競馬の予想をしてみたのだが,なかなか上手くはいかない。
普段はITエンジニアとしてプログラミングをしている僕が,
競馬のデータ分析なんかできたら面白いんじゃないかと思い,大好きなpythonを駆使して競馬のデータ分析を行ってみた。
競馬の知識がオール0の僕はデータ分析で競馬予想をしてみるのです。
ベテラン予想師よりプログラマーが勝ってるということを証明してやる。
(...と,意気込みは十分)
ベテラン競馬予想師 VS ただのノンケプログラマー
準備するものはまず,
PC1台,以上!! 紙と赤いボールペンは一切使いません。
データ分析の定番WEBスクレイピング
データ分析といえば定番のWEBスクレイピングで情報を収集してきます。
要はWEB上のほしいデータをプログラムで収集します。
PCには僕が寝ている間もひたすら働いてもらいます。(情報を収集してもらいます..。)
投資信託のようにお金に働いてもらう時代ですが,僕はプログラマーなのでPCに働いてもらいます。従順です,弱音は一切吐きません。可愛いですね。
言語はPython,スクレイピングツールはbeautifulsoupを使います。
スクレイピングするサイトはnetkeiba.com
スクレイピングをやってみたい方はこちらの記事でおすすめ書籍を紹介しています。
競馬予想の判断材料データはどれを使ったらいい?
ここで,素人の僕は早速行き詰まります。
競馬を予想するためにどのデータを使えばいいかわからないのです。
(ベテラン予想師に1ポイント入ります。)
よく分からないのでお馬さんの人気(オッズ)を判断材料にしました。
馬の人気順=世間の信用性ということなので...。
世の中の予想者の予想がどのくらい当たるのか(信用性があるか),またどのくらい外れるのかというのを分析してみました。
(ベテラン予想師に1ポイント入ります。えっ?なんで?)
競馬データ分析条件
分析の条件として以下のように設定しました。
(あまりに条件を多くすると分析しづらいので...データもミニマリストでいきましょうね。)
過去2年分のレースの結果を収集。
あえて中山競馬場のみのデータとした。
着目点は人気(オッズ)のみ。
1-3位までの予想に絞った。
今回は,開催レースの多い中山競馬場を選定しました。
過去2年分のデータとしたのは,ただデータが多すぎるとめんどくさかったからです。(ベテラン予想師に1ポイント入ります。)
競馬データ分析結果
中山競馬場で開催された2018年1月〜2018年12月の2年分,全997レースで○番人気がどの順位を何回取ったかをまとめた結果をお見せします。
なんと驚くことに1番人気が1位を取る確率は全997レースのうちに351回なので…35.2%だったのです。僕は50%程度あるのかと思っていました。
そして着目していただきたいのが1番人気から順に回数が減っていっているのですが,11番人気からそれが逆転しています。確かに11番人気が上位に食い込むレースは多い感じがしていましたし。
1位を取る回数は1番人気が,2位を取る回数は2番人気が,3位を取る回数は3番人気が最も高い回数となりましたので,世間の信用度(人気度)もあながち信用できますね。というかこんな結果なら分析しなくても分かるじゃん!!
(ベテラン予想師に1ポイント入ります。)
ちなみに3連単勝利確率は,1番人気-2番人気-3番人気の組み合わせが多かったです。しかし全997レース中41回なので確率は4.1%ですが..低っ!!
WEBスクレイピングで競馬の予想をしてみたのだが,なかなか上手くはいかない。
WEBスクレイピングでデータ分析を行ってきましたが..
うーん。このデータ分析は果たして意味があったのか...。
分析条件が悪いのか?なにか分析のノウハウを学ぶ必要がありますかね。
さすが,ベテラン予想師には勝てませんわ。
しかし,これからもデータ分析を継続しますよ。
もっともっといい結果を炙り出して競馬で脱サラを目指すんです!!
(ノンケプログラマーに1ポイント入ります。)
てことで,
ベテラン競馬予想師(4ポイント)
ただのノンケプログラマー(1ポイント)
という結果でベテラン競馬予想師の勝利です。
勉強して出直してきます。ありがとう。
ちなみにブログでも競馬のデータ分析のお話掲載中。
他にもプログラミングノウハウ,下ネタ掲載中。
この記事が気に入ったらサポートをしてみませんか?