【競馬予測】統計を使って予想してみた~その1~

公開日: : 最終更新日:2020/07/16 競馬 , , ,

私は、競馬初心者なのですが、前から過去の大量のデータを用いて統計的に競馬の予測をすれば、回収率が100%を超えるようになるのではないかと漠然と思っていました(思っていただけで、行動はしてなかった汗)。

そんなとき、あるブログで統計的に競馬の予測をしている記事をみつけたので、参考にさせて頂くことにしました。

競馬の予測をがちでやってみた

データの取得とクリーニング

まず、予測に用いる過去のデータを以下のサイトから取得します。

http://db.netkeiba.com/?acc_param=db

次に、データのクリーニングをして、データベースに入れます。

なんと、ここまでを自動でやってくれるスクリプトを作成してくれているので、ありがたく使わせて頂きました。

以下の GitHub からスクリプト一式をダウンロードします。

https://github.com/stockedge/netkeiba-scraper

スクリプトは Scala で書かれていて、データベースは SQLite を使っています。Scala のインストール方法と SQLite の基本操作はそれぞれ以下の記事にまとめました。

Scala のインストールについて

SQLite 基本的な操作について

SQLite の GUI管理ツールのインストールについて

Scala がインストールできれば、README.md に記載されている以下のコマンドを順番に実行していけばデータが SQLite に保存されました(時間は結構かかりました)。

#使い方
以下のコマンドを上から順に実行していけば最後に素性が作成される。

sbt "run collecturl"

レース結果が載っているURLを収集して「race_list.txt」に保存する。

sbt "run scrapehtml"

レース結果のHTMLをスクレイピングしてhtmlフォルダに保存する。HTMLをまるごとスクレイピングするので結構時間がかかる。

sbt "run extract"

HTMLからレース結果を抜き出しSQLiteに保存する。

sbt "run genfeature"

レース結果を元にして素性を作りSQLiteに保存する。

データベースを見てみる

スクリプトを実行して、無事 SQLite にデータが保存されたようなのですが、どんなデータが入っているか分からなかったので、データベースやテーブルの構造から確認することにしました。

まず、ディレクトリ構造ですが、スクリプトを実行した後は、「netkeiba-scraper-master」ディレクトリは以下のようになっていました。

race.db」が SQLite  のデータベースファイルになります。

race.db」の中には、以下の4つのテーブルがありました。

  • feature
  • payoff
  • race_info
  • race_result

次回、実際に各テーブルにどんな情報が入っているかそれぞれ確認していきます。

関連記事

競馬の馬券をインターネットから購入する方法【即PAT】

競馬の馬券をインターネットから購入する方法を調べてみました。JRA のホームページをみると、以下の3

記事を読む

【競馬初心者】JRA の競馬初心者講座の動画をみた。

私は競馬初心者で1度も馬券を買ったことがなかったので、競馬に対する最低限の知識を付けようと思ってYo

記事を読む

【競馬統計】人気と回収率の関係は!?【単勝・複勝】

過去の競馬のレース結果をデータベース化したので、せっかくなのでそれらのデータを分析してみようと思いま

記事を読む

【競馬収支】2018年4月8日|桜花賞(おうかしょう)G1

競馬をやり始めたので、収支を記録していこうと思います。 2018年4月8日の桜花賞(おうかしょ

記事を読む

【競馬予測】統計を使って予想してみた~その2~

統計を使った競馬予測の前回の続きです。 「race.db」の中にある、 fe

記事を読む

【競馬統計】馬齢と回収率の関係は!?【単勝・複勝】

今回は、過去の競馬のレースデータを用いて、単勝・複勝について、馬齢(ばれい)と回収率の関係を分析して

記事を読む

【競馬】即PATで入金する方法。

今回は、中央競馬の投票をインターネットから行える即PATを使って入金する方法についてまとめます。

記事を読む

【競馬統計】馬の性別と回収率の関係は!?【単勝・複勝】

今回は、馬の性別と回収率の関係について、過去の競馬レースデータを用いて算出してみました。 過去

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

→もっと見る

PAGE TOP ↑