競馬の記述統計 【中山芝2000m編】

以前、ロジスティック回帰を使って競走馬の勝敗予測を行いました。
説明変数として、過去2年間の出走成績を用いたのですが、
もっと良い説明変数があるんではないでしょうか。
より良い変数を検討するため、集計・検定を行ってみたいと思います。

 

使用データ

競馬場 : 中山
距離 : 2000m
馬場 : 芝
本賞金額 : 1600万円以上
期間 : 2004年1月1日 ~ 2014年12月31日

 

今回の集計・検定対象

・馬齢
・馬体重
・枠番

 

馬齢

Screen Shot 2015-03-09 at 2.37.57

Screen Shot 2015-03-09 at 2.38.04

barei

2歳および9歳以上は、サンプル数が少ないため、信頼性は低いですが、
グラフを見てわかる通り、4歳の1-3着以内の比率が多くなっています。

 

馬体重

Screen Shot 2015-03-09 at 3.05.12

Screen Shot 2015-03-09 at 3.05.20

bataijyu

420kg台、550kg台の比率が多くなっていますが、サンプル数が少ないからです。
ざっと見た印象だと、どの馬体重も大きな差が無いように見えます。

 

枠番

Screen Shot 2015-03-09 at 3.31.09

Screen Shot 2015-03-09 at 3.31.19

wakuban

4枠の1-3着以内比率が低くなっています。

 

t検定

1-3着以内と4着以降の馬の対象変数(馬齢、馬体重、枠番)の母平均に差があるかどうかを検定します。
帰無仮説 : 母平均に差がない
対立仮説 : 母平均に差がある
有効水準は0.05とする。

Screen Shot 2015-03-09 at 3.54.52

 

結論と今後

馬齢、馬体重、枠番とも、有意差がないという結論となりました。
ただし、今回は検証データは中山芝2000mとしているため、他の競技場の場合は別の結論になるかもしれません。

次回以降では一般の競馬ファンが考慮している、前走成績や前走距離などの検証も行いたいと思います。
乞うご期待!

JAGSとRでマルコフ連鎖モンテカルロ法

今日はベイズモデリングに必要なマルコフ連鎖モンテカルロ法を行うための設定と、
簡単なサンプルを紹介したいと思います。
マルコフ連鎖モンテカルロ法を行うライブラリは様々なものがあるのですが、※1
今回はJAGSをRから使えるように設定していきたいと思います。

 

ざっくり、マルコフ連鎖モンテカルロ法とは

「マルコフ連鎖モンテカルロ法」とは確率分布のサンプリングを行うアルゴリズムで、
「マルコフ連鎖」と「モンテカルロ法」の2つの言葉から成り立っています。

 
マルコフ連鎖
マルコフ連鎖とはマルコフ性をもつ確率過程(時間とともに変化する確率変数)のうち、取りうる事象が離散的なものをいいます。
次の状態が過去の状態に依存せず現在の状態のみによって決まる性質です。※2

 
モンテカルロ法
乱数をつかってシミュレーションや数値計算を行う手法のことです。

 

JAGSのインストール

マルコフ連鎖モンテカルロ法(MCMC)をおこなうためのライブラリです。
MACの場合、こちら からダウンロードしてください。
dmgファイルで落とせるので、展開して、pkgファイルをインストールすれば完了です。
簡単ですね!

 

R2jagsのインストール

JAGSをRから使えるようにするにはライブラリを入れる必要があります。
今回はR2jagsを設定します。

Rを立ち上げます

sudo R

Rにて

install.packages(‘R2jags’)

以上です。こちらも非常に簡単です。

 

テストデータによるベイズモデリング

前々回のサッカーの勝敗予測の記事でポアソン分布を使ったので、
ポアソン分布でテストしてみましょう。

テストデータで使用した係数を未知として、MCMCで推定します。

 
alphaの推定結果
RplotAlpha

 
betaの推定結果
RplotBeta

Screen Shot 2015-03-01 at 17.31.24

という形でalpha、betaそれぞれの分布を推定した結果、
alphaの分布の平均値は0.447 (テストデータは0.5)、betaの平均値は2.037(テストデータは2)と推定することができました。
Rhatも1.1以下となっているので収束していると判断できます。※3

競馬の勝敗(ロジスティック回帰)サッカーの勝敗予想(ポアソン回帰)のベイズモデル化にも取り組んで行きたいと思います。

 

環境

OS : Mac OSX 10.9.5
R version : 3.1.2


※1 WinBUGSとかOpenBUGSとかStanとか。こちらによくまとまっています → http://www7.atwiki.jp/hayatoiijima/pages/61.html
※2 こういった応用事例もあります → マルコフ連鎖で日本語をもっともらしく要約する
※3 http://takehiko-i-hayashi.hatenablog.com/entry/20100512/1273643029

プレミアリーグのチームごとの攻撃力・守備力を可視化する

前回はポアソン回帰を使って、勝敗の予測をしました。
今回は回帰結果の係数を使って、チームごとの攻撃力・守備力の可視化を行いたいと思います。

前回、下記の式を使って、各係数の推定を行いました。
 
log\lambda = \alpha + \beta_0 Team + \beta_1 Opponent + \beta_2 Home

Team : 得点を推定したいチーム
Opponent : 対戦相手
Home : ホームグラウンドか否か
をあらわしていますので、
それぞれにつく係数は
\beta_0 : 攻撃力
\beta_1 : 守備力
\beta_2 : ホームグラウンド効果
を意味します。

 

プレミアリーグ2014-2015シーズンの各チームの攻撃力・攻撃力

前回と同様プレミアリーグのデータを用いるのですが、2014-2015シーズンの前半(第1節 ~ 第19節)で計算しなおしました。
リーグ内の平均値を0とし、プロットすると下記のようになります。

Screen Shot 2015-02-22 at 18.02.07

攻撃も守備も優れるチーム : チェルシー、マンチェスター・シティ、マンチェスターユナイテッド、サウサンプトン
攻撃は優れるが、守備が劣るチーム : エバートン、(リバプール)
攻撃は劣るが、守備が優れるチーム : トッテナム、スウォンジー、ストーク
攻撃も劣り、守備も劣るチーム : その他

という形でチームの力が視覚的に分かりやすくなりました。

 

プレミアリーグ2013-2014シーズンの各チームの攻撃力・攻撃力

プレミアリーグ2013-2014 (第1節 ~ 第38節)のデータをもとにプロットすると下記のようになります。
特に変化が大きいチームに関して、変化の要因を移籍情報から推察してみましょう。

Screen Shot 2015-02-22 at 18.01.22

リバプール

守備はさほど変わっていないのですが、今期は攻撃力が大きく下降しています。
大きく要因として考えられるのは昨シーズンの得点王であったルイス・スアレスの移籍と
得点ランク2位だったダニエル・スタリッジの負傷による離脱でしょう。
また、スアレスの穴を埋めるべく、マリオ・バロテッリをACミランから獲得しているのですが、活躍できていないのがデータにも現れています。

ウェストハム

一方攻撃力を大きく伸ばしたのがウェストハムです。
今シーズン獲得したディアフラ・サコを8得点、2013-2014シーズンの終わりごろに加入したアンディ・キャロルは5点と、
フォワードの補強がうまくいった結果、攻撃力が伸びています。

チェルシー

昨シーズンは守備力に偏っていたチェルシーですが、
ディエゴ・コスタ、ディディエ・ドログバ、ロイク・レミーと今シーズンはフォワードを厚めに獲得した結果、攻撃力の補強に貢献しています。
特にディエゴ・コスタは今シーズンで17得点をあげており、マンチェスター・シティのアグエロと同点で暫定得点王となっています。

 

チーム軸・プレーヤー軸

今回はチームとその得点を軸に分析、考察しましたが、
チームを形作っているのはそれぞれのプレーヤーです。
プレーヤーごとの分析、たとえば、得点への貢献度など推定できたら面白いですね。
今後はチームベースの分析も行いつつ、選手ごとの分析にも着手していきたいと思います。

なんにせよ、今後もプレミアリーグから目が離せませんね!

ポアソン回帰を使ったサッカーの勝敗予測

統計モデルを使ったサッカーの予測をしてみたいと思います。
今回はサッカーの得点数をポアソン分布へあてはめることで、
それぞれのチームが勝つ確率がどの程度あるのかを計算します。
 

ポアソン分布

サッカー試合の得点数はポアソン分布に従うと言われています。※1

ポアソン分布は、下記の式で定義される確率分布です。
 
P(X = k) = \frac{\lambda^k\mathrm{e}^{-\lambda}}{k!}
Pは単位時間中に平均でλ回発生する事象がちょうどk回発生する確率で、
サッカーでいうと、「1試合という時間内」に「得点する」という事象が起こる回数の確率です。
1年間の地震の発生件数や台風の上陸件数、一定期間内の交通事故や火災の発生件数などのあてはめにも用いられています。

 

ポアソン回帰

ポアソン分布にあてはめるにあたり、パラメータλを求める必要があります。
λは単位時間内の平均発生回数です。

しかし、サッカーの場合対戦相手等によって、平均発生回数(期待得点数)が異なることが想定できます。
例えば、柏レイソルが、レアルマドリードと対戦するのと、草サッカーチームと対戦するのでは、
平均発生回数(期待得点数)が違うでしょう。

そこで、対戦する状況に応じた得点数を推定するためポアソン回帰分析を行います。
ポアソン回帰分析とは、一般化線形モデルのひとつで、
被説明変数がポアソン分布すると仮定する場合に用いられる回帰モデルです。

 

回帰式と変数

今回構築したモデルは下記の通り。

log\lambda = \alpha + \beta_0 Team + \beta_1 Opponent + \beta_2 Home
Team : 得点を推定したいチーム
Opponent : 対戦相手
Home : ホームグラウンドか否か

今回は、自チーム、対戦相手、ホームか否かを説明変数として用います。
λを上記のように推定することで、対戦相手やホームどうかに応じた平均発生回数(期待得点数)を推定することができます。

それぞれの係数は
\beta_0 : 攻撃力
\beta_1 : 守備力
\beta_2 : ホームグラウンド効果
であると言えます。

 

回帰結果

データはプレミアリーグ2013-2014シーズンと2014-2015シーズンの前半(19節まで)を用いました。

Screen Shot 2015-02-20 at 19.12.03

例えば、チェルシー(ホーム) vs エバートン(アウェイ) の場合、

チェルシーの平均発生回数(期待得点数)は
exp(Intercept + TeamChelsea + OpponentEverton + Home)
= exp(0.25707 + 0.07575 + 0.07904 + 0.27688)
= 1.99120

エバートンの平均発生回数(期待得点数)は
exp(Intercept + TeamEverton + OpponentChelsea)
= exp(0.25707 - 0.12072 - 0.44405)
= 0.73513

 
これらをλとしてポアソン分布にあてはめると、下記のようになります。
Screen Shot 2015-02-20 at 19.38.56
チェルシーの方がエバートンよりも得点を多くとる確率が高いことが分かります。
これらを用いて試合の”勝敗”を予測する方法を説明します。

 

勝敗の予測

ポアソン分布にあてはめを行うことで、発生回数(得点数)が実現する確率を計算することができます。
対戦相手同士の得点数は独立であると仮定すると、ホームチームがx点とって、
アウェイチームがy点とるといった事象は同時確率を計算することで求めることができます。
例えば、チェルシー(ホーム)が得点数の確率を
P(X = x)
エバートン(アウェイ)の得点数の確率を
P(Y = y)
とし、チェルシーが2点とって、エバートンが1点とる確率は、
P(X = 2) = \frac{1.99120^2 \mathrm{e}^{-1.99120}}{2!} = 0.27068
P(Y = 1) = \frac{0.73513^1 \mathrm{e}^{-0.73513}}{1!} = 0.35245
P(X = 2, Y = 1) = P(X = 2) P(Y = 1) = 0.09581
といった形で計算することができます。
およそ9.5%の確率であることがわかります。
 
チェルシーが勝つという事象はエバートンより多く得点をとることなので、
P(X > y)がチェルシーの勝つ確率であり、
P(Y > x)がエバートンの勝つ確率、
P(X = y, Y=x)が引き分けの確率であると言えます。

全て計算すると下記のようになります。

Screen Shot 2015-02-21 at 0.04.46

青い部分がチェルシーが勝つ確率であるP(X > y)、緑の部分がエバートンが勝つ確率であるP(Y > x)、グレーの部分が引き分けの確率であるP(X = y, Y=x)となっています。

P(X > y) = 0.66888
P(Y > x) = 0.20260
P(X = y, Y=x) = 0.12853

ということでチェルシーの勝つ確率が高いということが分かりました。

 

2014-2015シーズン20節 ~ 25節での検証

上記の方法で確率を計算し、確率が最大な結果を予想とする方法で正解率を計算しました。
試合数 : 60
正解数 : 31
正解率 : 51.67%

勝ち・引き分け・負けを完全にランダムに選ぶとしたら、確率が33.33%であるものを
半分程度の精度であてることができるという結果となりました。

【参考】予想結果
Screen Shot 2015-02-21 at 0.45.07


※1 例えば
・Maher M.J. (1982), Modelling Association Football scores. Statistica Neerlandica, 36, 109-118
・Mark J. Dixon and Coles S.G. (1997) Modeling Association Football Scores and Inefficiencies in the Football Betting Market, Applied Statistics, Volume 46, Issue 2, 265-280

【ニュース】匿名化すれば同意不要=「ビッグデータ」活用に指針

個人情報の利用に関して、データを保持している企業にとって有益な法案ができそうです。

 

政府は、開会中の通常国会に個人情報保護法の改正案を提出する。個人を特定できる内容の削除といった一定条件を満たせば、本人の同意がなくても企業などが収集・保有する個人情報を本来とは別の目的でも利用できるようにする。改正案は、膨大な個人情報を「ビッグデータ」として企業などが活用する際の基本指針となる。 
引用元 : 時事通信 – 匿名化すれば同意不要=「ビッグデータ」活用に指針—個人情報保護法改正へ

 
改正されれば、今まで個人保護法上の取扱いが不明確であったことでデータの活用に躊躇していた企業が動き出すはず。
悪用する業者が出てきて、おかしな法案にならないことを祈ります。

Microsoft Azure の Machine Learning で作ったモデルをWeb API化する

前回に引き続き、Microsoft Azure の Machine Learning の紹介をしたいと思います。

前回作ったモデルは下記の通りです。
2015:01:31_blog.001

今回はこれを利用して、過去の馬の入賞率とその馬に乗る騎手の入賞率を投げると、レースで勝つ確率を返してくれるAPIを作成します。

 

1. Publish Inputの設定

「Score Model」アイテムのの「Dataset」ソースを右クリックして、「Set as Publish Input」に設定します。
2015:01:31_blog.002

 

2. Publish Outputの設定

「Score Model」アイテムのの「Scored Dataset」ソースを右クリックして、「Set as Publish Output」に設定します。
2015:01:31_blog.003

 

3. WebAPI化

実行後は、下部メニューの「Publish Web Service」がクリックできるようになりますので、クリックします。
2015:01:31_blog.005

 

4. クライアント設定

2015:01:31_blog.006
このページでリクエスト時に使うAPI Keyを取得できますので、メモしておきましょう。
「API help page」のリンクをクリックすると、自分が作成したWeb APIのAPI仕様を確認することができます。

下記はPythonでのPOST例です。ほとんどサンプルコードと同じですが。
過去の馬の入賞率が0.5、その馬に乗る騎手の入賞率が0.5である場合にそのレースで勝つ確率を予測するケースです。

実行結果 :

[“0.5″,”0.5″,”0″,”0.285396218299866”]

レスポンス仕様

UmaNyusyoRatio Numeric
KisyuNyusyoRatio Numeric
Scored Labels Numeric
Scored Probabilities Numeric


過去の馬の入賞率が0.5、その馬に乗る騎手の入賞率が0.5である場合、勝つ確率は28.53%ほどであることが分かりました。
非常に簡単に使えそうです!

Microsoft Azure の Machine Learning でロジスティック回帰分析

前回はRで競馬のデータをロジスティック回帰を使って分析しました。
今回はMicrosoft社が提供しているクラウドプラットフォームであるAzureのMachine Learningというサービスを使って
分析をしてみたいと思います。
前回やった分析の一部をAzureでやってみるといった内容です。
 

1. Microsoft Azureにログインします

アカウントの作成方法に関してはこちらを参考に

 

2. 左下のプラスボタンをクリックします

2015-01-21_blog.001

 

3.「DATA SERVICES」の「MACHINE LEARNING」の「QUICK CREATE」を選択します。

必要情報を記入し、「CREATE AN ML WORKSPACE」をクリックします。
STORAGE ACCOUNTがない場合は「Create a new storage account」を選択して作成する必要があります。
2015-01-21_blog-3.001
 

4. ML Studioへ

3.で作成したプロジェクトを選択します。
2015-01-21_blog.003
 

「Sign-in to ML Studio」をクリックします。
2015-01-21_blog-5.004

 

5. Experimentを作成

左下の「+NEW」をクリックします。
2015-01-21_blog.005
 

テンプレートの選択画面が出てきます。今回はロジスティック回帰を行いたいので、「Blank Experiment」を選択します。
2015-01-21_blog.006

 

6. データのアップロード

左メニューから使いたいアイテムを選んで、ドラッグアンドドロップで簡単に使うことができます。
基本的な操作方法等はこちらを参照ください。
使用感はKNIMEというソフトウェアとほぼ同じです。
2015-01-21_blog.007
 

分析に使うデータのアップロードを行います。
左下の「+NEW」をクリックします。
2015-01-21_blog.008
 

「DATASET」の「FROM LOCAL FILE」をクリックして、ローカルのデータをアップロードします。
2015-01-21_blog-4.001
 

データのアップロードが完了すると、左メニューの「Saved Datasets」から選べるようになります。
2015-01-21_blog.010

 

7. 構築したモデル

今回作ったモデルは下記のような感じです。
2015-01-21_blog.011
 

前回の記事で書いたように2クラスのロジスティック回帰の分析ですので、
今回は 「Two-Class Logistic Regression」アイテムを使っています。
「06_17_2500_l2.csv」はローカルからアップロードした学習用データです。
これらを「Train Model」アイテムにより学習させます。

学習したモデルと「06_20141228-10_17-2500_l2.csv」はローカルからアップロードした予測するためのデータで
「Score Model」アイテムにより、モデルへのあてはめ、確率を取得します。

今回は 「Two-Class Logistic Regression」アイテムを利用しましたが、
その他一般化線形モデルをはじめ、ニューラルネットワーク、SVMなんかも使えるようです。
また、Rのソースコードをワークフローに組み込むことも可能です。

「Score Model」アイテムの下側の丸を右クリックし、「Visualize」をクリックすると、予測結果を閲覧することができます。
2015-01-21_blog.012
 

このような形で、ロジスティック回帰分析による確率値の予測ができます。
2015-01-21_blog.013

 

Azure Machine Learningを使う利点・欠点

メリット
・プログラム不要。Webブラウザーで機械学習による分析ができる。
・作ったモデルをWebAPIしてくれ、外部プログラム・サービスから簡単に利用できる。
・R言語が使える。

デメリット
・Rによる分析に比べ、実行から予測結果の取得までにかかる時間が長い。
 (より大きなデータセットを扱うとまた違うかもしれません)
 
簡単にWeb API化してくれるのは便利ですね。
分析済みのモデルに関して、サクッとWebAPI化して、外部から利用するという用途はありかなと思っています。
また、Microsoft AzureのHDInsightというサービスと連携して、MapReduceすることもできるらしいです。

このあたり、今後も実験的に使っていこうと思います。

競馬のロジスティック回帰分析

最近社内の一部で、競馬のデータ分析が流行っています。
先週の社内勉強会で話した内容をまとめます。
 

競馬と統計的に考える意義

競馬の予想におけるIT活用度合いは、大きく分けると3段階あります。
1. 競馬新聞を眺めて予想
2. 過去データを集計して予想
3. 統計モデルを適用して予想

今回は3. によるアプローチなわけですが、3. で考える意義としては、
ある馬が勝ちに分類されのか、勝つ確率は何%あるのか等、
ベットするにあたっての判断の尺度を得ることができることです。
判断の尺度が得られると何が良いのかというと、分析の結果得られた判断の尺度をもとに、
賭けるルールを構築できることです。
この賭けるルールが明確になれば、PCを使ってシミュレーションを行うことができ、
賭けを行う前に、その手法が有効かを確かめることができます。

今回は過去データからモデルを作り、確率を計算し、一定のルールに従って賭け
をした場合にどの程度のリターンが得られるのかを計算します。
 

馬券戦略

競馬において確率を計算する場合、
どのような買い方にするか(単勝・複勝・馬連・馬単・ワイド…)によって、計算すべき確率が変わってきます。
したがって、分析に先立って買い方を決める必要があります。

今回は馬単*1をボックス*2で12点買う場合の確率を計算します。

2着以内に入る確率の高い馬を4頭選び、全ての組み合わせを購入します。
1レース1200円(4 × 3 = 12通り)という買い方になります。

分析に関しては、比較的簡単なモデルであるロジスティック回帰で分析を行います。
 

ロジスティック回帰分析とは

ロジスティック回帰分析とは1つのカテゴリカルデータを説明変数として、その説明変数を
その他の変数で説明する形のモデルを使って分析する手法で、
2値のみ取りうる値の発生確率を予測することができます。
いくつかの競馬関連の論文*3でも、ロジスティック回帰を用いた分析がなされています。
 

モデルと変数

今回のモデルと説明変数・被説明変数は下記の通り。

logit(p_i) = \alpha + \beta_0{UmaNyusyoRatio_i} + \beta_1{KisyuNyusyoRatio_i}
i = 1,...,n,

p_i : ある馬が2着以内の確率

UmaNyusyoRatio : 馬の過去2年間の出走レースのうち3着以内の比率
ある馬の過去2年間の出走レースのうち3着以内のレース数 / ある馬の過去2年間の出走レース総数

KisyuNyusyoRatio : 騎手の過去2年間の出走レースのうち3着以内の比率
ある騎手の過去2年間の出走レースのうち3着以内のレース数 / ある騎手の過去2年間の出走レース総数

被説明変数に関しては、上述の通り馬単をボックスで買うので、2着以内の確率を予測します。

説明変数に関しては、実力のある{馬, 騎手}が勝つ、という前提のもと、
実力のある{馬, 騎手}は過去に実績を出しているとし、
過去の出走レース時点での過去の入賞率を説明変数としました。

Rで分析を行う際には

glm(isIn2nd ~ UmaNyusyoRatio + KisyuNyusyoRatio, family = binomial)

で簡単に係数の推定を行うことができます。
isIn2nd : 2着以内かどうかの2値変数
 

回帰分析結果

中山競馬場の2012年1月1日 ~ 2014年11月30日に行われた距離・馬場種別(芝 or ダート)ごとにモデルを作りました。
回帰結果は下記の通りです。

馬場種別 距離(m) Coefficients Estimate Sth. Error z value Pr(>|z|)

1200

(Intercept)

-3.2049

0.2956

-10.842

<2e-16

***
UmaNyusyoRatio

2.3246

0.3894

5.970

2.37E-09

***
KisyuNyusyoRatio

2.5443

1.0634

2.393

0.0167

*

1600

(Intercept)

-3.2122

0.2282

-14.079

<2e-16

***
UmaNyusyoRatio

1.0175

0.2359

4.313

1.61E-05

***
KisyuNyusyoRatio

4.3761

0.8230

5.317

1.05E-07

***

1800

(Intercept)

-2.3396

0.2678

-8.738

<2e-16

***
UmaNyusyoRatio

1.0090

0.2868

3.518

0.000435

***
KisyuNyusyoRatio

1.7209

0.9895

1.739

0.082007

.

2000

(Intercept)

-3.5513

0.2430

-14.612

<2e-16

***
UmaNyusyoRatio

1.4076

0.2293

6.138

8.38E-10

***
KisyuNyusyoRatio

4.4332

0.8811

5.031

4.87E-07

***

2200

(Intercept)

-2.7367

0.3750

-7.298

2.92E-13

***
UmaNyusyoRatio

1.9329

0.4015

4.815

1.47E-06

***
KisyuNyusyoRatio

1.6534

1.4464

1.143

0.253

2500

(Intercept)

-3.1266

0.6074

-5.147

2.65E-07

***
UmaNyusyoRatio

2.7094

0.8944

3.029

0.00245

**
KisyuNyusyoRatio

1.7080

2.2039

0.775

0.43835

ダート

1200

(Intercept)

-3.3837

0.1394

-24.276

<2e-16

***
UmaNyusyoRatio

1.4241

0.1665

8.552

<2e-16

***
KisyuNyusyoRatio

5.1467

0.5113

10.066

<2e-16

***

1800

(Intercept)

-3.3797

0.1421

-23.785

<2e-16

***
UmaNyusyoRatio

1.5665

0.1590

9.851

<2e-16

***
KisyuNyusyoRatio

4.7882

0.5212

9.187

<2e-16

***

2400

(Intercept)

-2.3437

0.4655

-5.035

4.78E-07

***
UmaNyusyoRatio

1.4713

0.8553

1.720

0.0854

.
KisyuNyusyoRatio

1.4670

1.7373

0.844

0.3984

芝・ダートとも、2000mを超えると騎手の実績であるKisyuNyusyoRatioの係数が有意ではなくなりました。
距離が長くなると、別の要因が関係しているのではないかと考えられますが、
この調査は追ってやっていきたいと思います。
 

シミュレーション結果

シミュレーション期間 : 2014年12月1日 ~ 2014年12月30日

レース数 的中数 的中率 総投資額 回収額 回収率

74

21

28.4%

88,800円

113,910円

128.3%

的中レース

2014126 1R 2,500
2014126 3R 3,770
2014126 9R 1,780
2014126 10R 16,420
2014127 4R 1,590
2014127 12R 7,510
20141213 4R 1,440
20141213 7R 2,700
20141213 8R 1,330
20141213 10R 7,760
20141214 12R 3,180
20141220 1R 1,080
20141220 12R 1,800
20141221 3R 11,630
20141221 4R 5,600
20141227 2R 2,670
20141227 8R 6,280
20141227 9R 6,470
20141228 1R 2,890
20141228 5R 4,320
20141228 10R 21,190

なんと、回収率100%を超えました!
でも中山競馬場でしか評価をしていないし、
評価期間も1ヶ月と短いので、他の競馬場での賭けでも通用するかはなんとも言えませんので、ご利用は自己責任で。
他の競馬場・長い評価期間での分析も追ってやっていきたいと思います。


*1 : 1着と2着の馬を順番どおりに当てる
*2 : 選んだ馬の組み合わせを全通り買う買い方
*3 : Ruth N. Bolton・Randall G. Chapman (1986). Searching for Positive Returns at the Track, MANAGEMENT SCIENCE, Vol. 32 など

ブログを開設致しました

ブログを開設致しました。

 

データ分析・ビッグデータの最新情報をはじめ、データ分析の技術情報、オープンデータの分析結果等を

定期的に発信して行く予定です。

 

乞うご期待!