単勝の支持率と勝率はほぼ同じ

プログラミング

タイトルの「単勝の支持率と勝率はほぼ同じ」という話が本当なのか、確認するためのデータを作成するプロシージャです。

このプロシージャでは1986年から現在分までのJRA全レースを使います。タイトルが真実であるか調べるには1つのSQLでも可能ですが、今回は相手にするレコードがあまりにも多すぎるので「CURSOR(カーソル)」と「一時表」を使ってレース単位で少しずつ処理しています。仕上げに専用のインデックスを作成して集計処理をとことん高速化しました。低スペックのパソコンで大量データの集計作業を行いたいユーザーの参考にもなります。

また、同じレースで同じオッズになる馬が出るケースなんかほとんど存在しないだろう、と思ってて調べてみたら、なんと13,000件以上もありました。単勝200円以下とか本命サイドでもソコソコあったし、同じオッズが3頭いるというレースも100件以上ありました。

これを無視して普通に平均して勝率を計算したらデタラメなデータになりまくりです。いつも「データ分析」記事の最後に書いてるように、同じ条件に該当する馬が同じレースに何頭か出走する場合、同じ条件の馬が星の潰しあいをするからです。そのあたりを上手く整理するテクニックもSQLに取り入れてます。

プロシージャが作成したデータは、次のようなテーブルに保存します。

SQLファイルはテーブル作成とプロシージャ作成のセットです。PostgreSQLでプロシージャを自作する場合の参考にもなります。

簡単なカスタマイズにより集計期間の変更や、地方競馬DATAによる集計も可能です。

SQLファイルのダウンロードと使い方

コンテンツの残りを閲覧するにはログインが必要です。 お願い . あなたは会員ですか ? 会員について

コメント