パソコン活用研究5番街(Visual Basic、Excel(VBA)、BASIC プログラミング研究)
セル関数〜t検定
(準備中)
EXCELのセル関数(セルに記述する関数)を使うと比較的簡単にt検定もできる。
架空のデータではつまらないので、競馬のデータを使って
EXCELでのt検定を説明する。
分析は2021年ローズSのデータを使って行った。
ローズS自体の分析は「競馬のデータ分析(ローズS)」を、
EXCELを使ったデータ分析の方法については「セル関数(COUNTIF,SUMIF)」をご参照下さい。
1 使うデータの説明
使うデータは2021年のJRAの3歳重賞ローズSのデータである。秋華賞のトライアルレースとしても有名な
重賞だ。
出走馬の前走の成績とローズSの成績をEXCELにまとめてみた。
前走の成績とローズSの成績になんらかの関係(相関関係)があれば、前走の成績を
競馬の予想に使えるわけである。
表は、ローズSの着順/馬名/ローズSでのタイム差/前走のレース/前走との間隔/前走におけるタイム差/父
の項目をピックアップして並べてみた。
競馬をあまり知らない人のために簡単に注釈しておく。
タイム差は1着とのタイム差である。従って1着は0.0としてある。
前走は 前走で走ったレースをG1を1, G2を2、G3を3、オープンを4、3勝クラスを5、2勝クラスを6、1勝クラスを7
新馬・未勝利を8として格付けした。
当然数字が小さいほうが格上のレースということになるので、一般的には前走で上のクラスに出走した馬ほど
上位にくるのではないかという予測が成り立つ。
間隔というのは、前走とローズSとの間隔を月数で表した。
間隔が長いということは前走の後牧場で休養をし、休養明けのレースを走ったといこと。
短いということはローテーションを組んで出走していることになる。一般的には休養明けはまだ調子が戻っておらず
本調子でないことも多い(中には休養明けに好走するタイプの馬もいるが)。従って、間隔が1ないし2の馬の
ほうが上位に来るのではという予想も成り立ちうる。(使いづめで疲労した馬もでてくるので、本当はもっと細かい
データ分析が必要)
前走タイム差は前走における1着とのタイム差。1着は0.0にしてある。当然、前走で好走した馬のほうが上位に
来るのではという予測が成り立ちうる。
父というのは、その馬の父を記した。ディープインパクトとキングカメハメハ産駒が多いのでこの2頭だけを
ピックアップした。父だけでなく父父(すなわち祖父)もデータとして拾った。
ある距離、あるコースを得意とする血統がいるからである。ローズSはディープインパクト産駒の好走する率が
多いと言われている。
これらのデータの分析については「セル関数(COUNTIF,SUMIF)」をご参照下さい。
2 タイム差の分析
(1) タイム差の平均
競馬データの分析では、それぞれの条件別にタイム差が生じるのか(馬券を購入
するのに有利な条件が見つかるのか)が目的なので、最終的に各条件でのタイム差の平均を
求めてみた。
前走のタイム差が0.3秒以内かどうか、前走が重賞か条件戦か、父がキングカメハメハ、あるいは
ディープインパクトかなどである。
タイム差平均の結果を見てみると、前走のタイム差はあまりローズSでのタイム差と相関関係が
ないようである。
他方、前走が重賞か条件戦かでは、ローズSのタイム差平均に多少の差がでており、前走重賞の馬
のほうがやはり好走する可能性が高いようにもみえる。
(2) タイム差平均に関する検定
前走重賞か条件戦かで分類した場合のタイム差をみると、やはり前走重賞だった馬のほうが
好走しているように見えるが、はたしてこの結果に有意差があるのだろうか。
このように2つの集団の平均値に有意な差があるのかどうかを検定するのに
「母平均の差の検定」という方法を使う。
まず。A列に前走重賞の馬のタイム差、B列に前走条件戦の馬のタイム差をを入力する。
E列、F列に検定のためのデータを入力していく。
データ数は前走重賞の馬が7頭、前走条件戦の馬が11頭なので、7と11を入力する。
平均値はセル関数のAVERAGEを使うと簡単。
前走重賞の馬の平均値(セルE3)は =AVERAGE(A2:A8) で求められる。
前走条件戦の馬の平均値(セルF3)は、=AVERAGE(B2:B12)
偏差平方和とは平均値からどれだけデータがばらけているかを求めるための途中の指標で
各値と平均値の差分を二乗したものを全て足していく。
セル関数では、DEVSQで求められる。
前走重賞の馬の偏差平方和(セルE4)は、=DEVSQ(A2:A8)
前走条件戦の馬のの偏差平方和(セルF4)は =DEVSQ(B2:B12)
分散は平均値からのばらけ具合をあらわす数値になる。
偏差平方和を自由度で割った値になるが、セル関数VARで求めてもよい。
前走重賞の馬の分散(セルE5)は、=VAR(A2:A8)
前走条件戦の馬の分散(セルF5)は =VAR(B2:B12)
分散が求まれば、所謂偏差値を出すことが可能になる。
上記の表では標準偏差を求めていないが、
標準偏差は分散の平方根の値になる。
前走重賞の馬の場合、分散0.061429の平方根は約0.248
偏差値60は、平均値+標準偏差の値なので、前走重賞の馬の場合(この場合タイム差が小さい方が
偏差値が高いことになるので)、タイム差約0.46ということになる。
偏差値70は、平均値+(標準偏差×2)なので、前走重賞の馬の場合、タイム差約0.22ということになる。
自由度は、データ数-1
共通分散
2つのグループの母分散が等しいと仮定した時(等分散を仮定すると言う)と
等しくないと仮定した場合で共分散の求めかたが違う。
実際今回の値では分散の値はかなり違っているが、ここでは式を簡単にするため等分散を仮定した。
等分散を仮定した場合の共通分散は、(2つのグループの分散の和)÷(2つのグループの自由度の和)で
求める。
共通分散(セルE7)は、=(E4+F4)/(E6+F6) で求められる。
有意水準は5%にするので、0.05を設定する。
検定統計量(t値)は、=(E3-F3)/SQRT((1/E2+1/F2)*E7)
で求められる
p値は帰無仮説が成り立つ確率と考えてよい。
有意水準を5%とした場合、P値<有意水準=0.05 なら帰無仮説は棄却される。
ここでは帰無仮説は、「前走重賞の馬の平均タイム差と前走条件戦の馬のタイム差は等しい」
であるが、片側検定において
P値=0.328.. > 0.05 なので帰無仮説は棄却されない。
ただ、この差に有意差があるのかどうかt検定してみると、有意差なしの結果になる。
(有意水準5%で、前走重賞の馬と前走条件戦の馬のローズSにおけるタイム差の母平均
に差はないという帰無仮説は棄却できないという結果になっている)
TopPage/Visual Basic&Excel活用研究目次