統計の基本

今回は統計に必要となる計算について、競馬データをいじくり倒して勉強していきます。

 

サンプルデータ

2020~2021年の阪神芝2000m良のレース結果を使用します。データ量は「7列1276行」です。

列のデータ項目は順に

  1. 各レースの着順
  2. タイムS(走破タイム)
  3. 上がり3Fタイム
  4. (2から3を引いた秒数)
  5. -3F地点差
  6. 5に3を足した秒数
  7. 各レース内での上がり3Fタイムの順位

用語の意味:

5:-3F地点差

先頭の馬がが上がり3F地点を通過した時間を0秒として、後ろの馬がそれから何秒後に上がり3F地点を通過したか、という秒数

6:(-3F地点差+上がり3Fタイム)

上がり3F地点で次のように仮定します。

  • 先頭の馬と最後方の馬の時間差が1秒ある(-3F地点差:1秒)
  • 先頭の馬は上がり3F37秒で走れる

とすると、最後方の馬の上がり3Fタイムが

  • 36秒未満:先頭の馬を抜ける
  • 36秒:先頭の馬と同じタイム
  • 36秒を超える:先頭の馬を抜けない

となります。

ちなみに各レースのこの数値は、各レースの1着馬が最小秒数になります。

この数値をつかうことで、レース中に先頭、後方どの位置にいたのかは関係なくなります。

 

以後以下の表記にします。

  1. 各レースの着順
  2. タイムS
  3. 上がり3F
  4. 前半3F
  5. -3F地点差
  6. 上がり3F+
  7. 各レース内での上がり3Fタイムの順位

 

散布図

まずはシンプルに散布図を作ってみます。

 

サンプルデータ:(7列1276行)

コード

横軸:上がり3F

縦軸:前半3F

(単位:秒)

 

 

散布図

さすがに1276個のデータを入れるとこうなるのもしょうがない…

 

ぱっと見の印象としては前半も後半もそれなりのタイムで走ってる馬が多いような…

 

平均値

公式:

平均値 =(データの合計)/(データの個数)

ですが、数式になれるためにこちらを覚えます。

$\bar{x}=\frac{1}{n}\displaystyle \sum_{i=1}^n x_i$

 

ただ、今回はサンプルデータの数が多いので、pythonにおまかせします。

 

結果

外れ値の扱い方

先程の散布図でちょっと気になるところがあります。

再掲:

なんか密集地帯から極端に離れています。なんとなくですが、縦軸と横軸を足すと140くらいになっていそうです。(先程の通り平均は約122.4)あまりに数値が大きいと平均の計算に影響を与えそうです。これを調べてみましょう。

単純に数値の大きい方(タイムの数値が大きい=馬のスピードが遅い)を調べます。

外れ値の程度を把握するために各データの上位、下位10個ずつと比較してみます。

 

結果

タイムSのワーストはベストから21.8秒遅れ、平均から17.4秒遅れです。このデータの場合2000mを平均122.4秒で走っているので、速さは

$$\frac{2000m}{122.4}=16.33m/s$$

よって

$$17.4s \times 16.33m/s=284.14m $$

となってしまいます。レースの集団から284m後ろにいるというのは

  • 極端な能力不足
  • 極端なやる気不足
  • 何らかのアクシデント

と考えられます。ここまで極端ならこのデータは外してもいいのはわかります。では実際にはどの程度までの数値を外せばいいのでしょうか?

 

四分位範囲(IQR)と箱ひげ図

まず、四分位数とは

データを小さい順に並べたときに、そのデータの数で4等分した区切り値(25%、50%、75%)のこと。

です。そして、それぞれ小さい方から第1四分位数(Q1)、中央値(Q2)、第3四分位数(Q3)と呼びます。

これを踏まえて四分位範囲とは

データのちらばり具合を求めるもので、第1四分位数から第3四分位数までの範囲(データの中央50%部分の範囲)のこと

です。数式で表すと$$第3四分位数(Q3)-第1四分位数(Q1)$$になります。

 

タイムSを計算してみます。

 

結果

ここで気をつけないといけないのは、最小値はQ1の1.5倍の値、最大値はQ3の1.5倍という計算上の値であって、実際の最小値最大値ではない、ということです。実際の最小値は118.2なので、計算上の最小値の範囲内ですが、最大値の方は139.8なので大きくはずれています。

 

箱ひげ図にしてみます。

 

結果

 

こうなりました。126.85以上が外れ値になっています。(○のところ)

 

同じように他の列もやってみましょう。

上がり3F

 

結果

箱ひげ図

前半3F

結果

箱ひげ図

タイムS、上がり3Fにはなかった最小値側の外れ値があります。前半のタイムが異常に早いということです。この数値は82.2秒で最小値は82.4秒なので、実際の方が0.2秒早いです。調べましたらこの数値は2頭いまして同じレースの1,2着です。通常前半をあまりに飛ばすと後半バテバテになるのですが、この2頭は後半ペースは落ちたもののトップのままゴールした、ということになります。こういうケースを外れ値にするのもどうかとおもうのですが、かと言ってトータルのデータに含めると他の馬たちのデータが下がってしまう可能性もあります。このあたりは今後の課題とします。

 

まとめ

今回は、多めのデータをつかって箱ひげ図と外れ値をやってみました。外れ値の出し方はまだいくつか方法があるようです。今回はそのうちのひとつということになります。

今回は以上です。