そもそもコンピュータ予測とは|JRA-VAN広場

競馬予想・競馬情報ならJRA-VAN

そもそもコンピュータ予測とは

1.基本となる考え方

競馬は予測可能な現象?

競馬は予測可能な現象なのですが、世の中の現象を、未来の結果が予測できるものと予測できないものに分けて説明しましょう。少し長くなりますが、お付き合いください。

予測できるもの

  1. 固定金利で借りた住宅ローンの、5年後のローン残高
    当初借り入れ金額、返済期間、利子、月々返済額やボーナス返済額などの諸条件がわかれば、どの時点についても正確に予測できます。
  2. 丸いボールを平らな床にまっすぐ落とした後に跳ね返ってくる位置
    「投げ落とした場所とほぼ同じで、少し高さが下がった位置」と予測できます。
  3. 今年12月30日の東北新幹線下り列車の混み具合
    「混むだろう」とか、「自由席だと座れないかもしれない」といった予測は誰でもできますし、ほとんどの場合はその予測があたります。

予測できないもの

  1. サイコロを投げて次にどの目がでるか
  2. 通勤電車でたまたま隣に座った人が明日の晩何を食べるか
    それぞれの場合について、もう少し考えてみましょう。
    上記の1、2、3は、いずれも予測可能なケースですが、予測を行う過程が異なります。

1のローン残高の場合は、

残高を計算するための数式が決まっていますから、それに現状の各数値(金利、期間他)を当てはめるだけで、1円単位まで正確に計算できます。
計算式自体は、ローンを借りた銀行に聞いたり、書籍やインターネット等で調べることができますから、式さえわかれば誰がやっても同じように正しい予測を出せます。逆に、式がわからない場合は、予測がかなり困難です。

2のボールの場合も、

跳ね返ってくる位置の計算は可能です。
ボールと床の反発係数、空気抵抗係数、手を離した時のボールの位置などがわかれば、物理の計算式によって跳ね返る位置は正確に予測できます。
しかし、物理学のようなこむずかしいものを持ち出さなくても、5〜6回やってみれば、「大体このあたり」という高さは、小学生でもわかります。バスケットの選手がドリブルをしながら、紙と鉛筆で計算しているところは見たことがありません。

3の新幹線についてはどうでしょうか。

ローン残高やボールの場合と異なり、われわれは混雑度を計算するための数式と言うものは知りません。JR社内には「混雑率xx%」を予測する式のようなものがあるかもしれませんが、一般には知られていません。
にもかかわらず、経験上、年末の下り新幹線は混むものと誰でも知っています。さらに、長年この時期にいつも利用している人なら、東京駅を何時ごろに出発する列車が最も混むか、また、自由席に座るためにはどのくらい前からホームの行列に並ぶべきか、なども見事に当てます。

予測の精度を上げるためには経験や情報の多さがものを言う分野であり、「達人」と呼ばれる人たちは、「10時発は一番混む」とか、「XX駅を過ぎるとすいてくる」といった、「○○ならば××である」という知識(条件式)を長年の経験から頭の中にたくさん蓄積しています。
また、どのような場合にどんな知識を使い分けるか(例えば、「10時発は例年一番混むが、今年はその前後に臨時列車が増発されるから、去年ほどでもないだろう」という、常識的な発想も必要です)についても上手です。
素人には「年末土曜日なら混むだろう」くらいの知識しかありません。

次に、4、5の、予測できない場合について考えてみましょう。

4のサイコロの場合は、物理現象なので、いろいろな初期状態(サイコロをなげる角度、速度、回転数、・・・)がわかれば、もしかすると計算可能かもしれませんが、現実には予測はむりです。
いかさまサイコロでない限りは、1から6までの目のどれも1/6の確率で出る、ということしかわかりません。

5の通勤電車の隣人の場合はどうでしょうか。計算式などはもちろん存在しませんし、電車でたまたま隣に座ったひとが、ふだんどんな生活をしているか、食べ物の好物は何か、今朝何を食べたか、など知るよしも無く、今晩何を食べるかすらもわかりません。
すべては、隣の人の胸ひとつで決まります。

「予測可能」の条件は、パターンとデータが存在すること・・・

これらの例から考えると、予測できるためには以下の条件が必要なようです。

a) 予測したい対象に関して、それを決定するための数式や条件式、パターンなどが定義できる。

ローンやボールの場合は計算式、新幹線の場合は、達人の知識などがこれに相当します。ボールの場合、計算式がわからなくても、何回か試してみることにより、ボールを落とす高さと跳ね返ってくる高さの関係が、大体想像できるようになります。

電車の隣人の晩飯の場合は、このような条件式、パターンなど全くわからず、また、仮に何ヶ月間か尾行して生活パターンのようなものをつかんだとしても、結果的にはその人(またはその人の家族)の考えひとつで夕食の献立が決まりますから、予測は無理です。

b) その数式や条件式に当てはめるためのパラメータ(数値や前提条件など)が手に入る。

ローンの場合は、借り入れ金額、利子などが前提となるパラメータです。
新幹線の場合は、「年末の土曜日である」「昼頃出発」などの前提条件がこれに相当します。

c) パラメータに多少誤差があっても、予測結果が大きく変動しない。

サイコロの場合、投げる角度、速度、回転数、反発係数など、必要となるデータをすべて集めて物理の計算式に当てはめれば、理論的にはどの目が上をむいて静止するのか計算できるかもしれません。
しかし現実には、投げる角度のわずかなずれや、1回目に机にぶつかった後の回転方向の微妙な変化など、変動要因がどんどん蓄積されていくので、予測不可能であることになります。
ボールの跳ね返りの場合も、ラグビーのボールだった場合は、予測がかなり難しくなります。

ここからが本題です。

さて、本題に戻って、競馬の場合はどうでしょうか。

次のレースの着順を100%正確に求める計算式のようなものはもちろん存在しません。しかし、「前走の走りを見るとこの馬は来そうだ」とか「芝の重馬場だからタイムは悪いだろう」という予想は可能であり、事実もそれに近い結果になることが多いことを、われわれは経験上知っています。

また、「予想の神様」と呼ばれるような人と初心者では、長い目で見ると明らかに予想の的中率に差が出ます。つまり、何らかの条件式やパターンのようなものが存在して、それを経験から習得してうまく使える人ほど、精度の高い予想ができるようです。

一方で、そのような予想に必要となるデータは、馬の血統、厩舎、過去走の成績、騎手成績、出馬表など、誰でも(JRA-VANや専門紙などによって)手に入れることができます。さらに、馬体重が0.5kgくらい多くても、あるいは、スタート時に馬が右足から出ようと左足から出ようと、結果には大きな影響はありません。つまり、多少の誤差があっても結果に大きな影響がありません。

このようなことから考えると、先ほどあげた予測可能な条件a)〜c)すべてを満たしています。
予測のタイプとしては、先ほどの新幹線の混雑予想と同じように、「確立された計算式は存在しないが予測は可能であり、その精度は経験上から得た条件式やパターンの適正さに左右される」と言うことができるでしょう。
ということで、競馬はギャンブルですが、サイコロや宝くじと違って、予測が可能な(精度はともかく別として)ものである、ということがお分かりいただけたと思います。

さて、問題はここからです。

どうやって予測の精度をあげるか?

前の章で、
競馬は「予測は可能であり、その精度は経験上から得た条件式やパターンの適正さに左右される」
と書きました。
では、いかにして「適正な」条件式やパターンを見つければよいのでしょうか。

予想の神様に聞く手もありますが、神様の頭脳をすっかりさらけ出してもらうためには、よほどうまい質問の仕方を考えないとノウハウは引き出せません。また、「カンだよ」と一言いわれればおしまいです。(カンと呼ばれるものの中には、実は本人が無意識に経験則のようなものを当てはめて得た結論もあると思いますが)

予想の神様に頼れないとなれば、われわれ自身が見つけるしかありません。
このためには、過去の様々なデータ(過去のレース成績だけでなく、馬の血統や騎手、調教師などの属性値や成績など、とにかく勝ちパターンを見つけるために役立つと思われるあらゆるデータ)をひっくり返して、何らかのルールや勝ちパターン、予測式のようなものを探す必要があります。

ここで威力を発揮するのが、コンピュータを利用したデータマイニングなのです。
データマイニングについては別の章で説明しているので、ここでは詳細にはふれませんが、一言で言えば「大量のデータの中から、問題を解決するためのルール、法則、数式などを自動的に発見する手法」です。
このためのパッケージソフト製品も市販されており、統計解析に似た使われ方をしますが、統計解析よりも適用分野が広いことが特徴です。金融や販売マーケティングの分野では、データマイニングを様々な問題解決や予測に活用しています。

さて、データマイニングを使って競馬のデータ分析を行えば良いことがわかりましたが、実際に分析を行う場合には、いくつかの考慮点が必要です。

1. データの量と鮮度に注意

分析に使用するデータは、多ければ多いほど良いといえます。
データが少なすぎた場合には、そこから発見された勝ちパターンのようなものが、たまたま発生したものなのか、今後の予測に役立つ一般的なルールなのかが、区別できません。

データが多いほど、偶然発生したパターンの頻度が相対的に少なくなり、そこから得られたパターンはある程度普遍的なものであると考えても良いでしょう。
但し、そうかといってあまり古いデータまでかき集めて分析するのは、手間がかかるばかりか、間違った予測をする場合があります。

競馬は、馬、調教法、騎乗法、コースの状態などが年々進化しています。30年前のレースと今日のレースとでは、タイムやレース展開なども異なってきているでしょう。
したがって、あまり古いデータを使って得られた勝ちパターンは、今日のレースでは通用しない可能性も十分あります。JRA-VANを利用すると1986年以降のデータが入手できますが、JRA-VAN NEXTのデータマイニング分析では、上記の理由から、最近5〜6年分のデータしか使用していません。

2. データの純度に注意

分析に使うデータの中には、異常値(正常な場合にはありえない値)が含まれていることがあります。

データを分析する前には、このような異常値を極力排除する必要があります。
異常値の発生理由としては、データ収集時の計測ミスや記録ミスなどが原因の場合もありますが、特に競馬で考慮すべき点としては、レース中落馬したり、走路妨害があった場合には、そのレースに関するデータは分析に使用しないほうが賢明でしょう。

競馬予測では、「馬や騎手が全力をだして走る結果を予測する」ことが、まず大前提となります。
これは「(馬主、調教師は)競走に勝利を得る意志をもって馬を出走させ、騎手は競走において馬の全能力を発揮させる」(日本中央競馬会競馬施行規程第81条および第111条)ことを前提にレースが行われるからです。

したがって、上記のような異常事態が発生したレースに関しては、対象馬だけでなく、出走した他の馬の成績についても何らかの影響があったとみなして、JRA-VAN NEXTのデータマイニング分析では使用していません。

3. 得られた結果の妥当性に注意

データ分析を行うことによって、さまざまな勝ちパターン、傾向などが得られます。

これらの結果を見ると、従来の競馬の常識を裏付けるものもあれば、全く気付かなかった新しい発見をする場合もあります。

特に後者の場合は、それを鵜呑みにするのではなく、常識や自然法則に照らしてみて納得できるか吟味が必要です。

例えばある重賞レースでは、過去5年間すべて縦縞の勝負服を着た騎手が乗った馬が1着になっていることがわかったとします。これは予測に利用できるでしょうか?
この場合、統計用語としては「勝負服が縦縞であることと1着になることとは相関が高い」といえます(データ上そういう結果がでているのですから)。
しかし、勝負服の柄が着順に影響するとは常識的には考えられません。データ上相関が高くても、両者の間に因果関係(原因と結果の関係、この例では勝負服の柄が原因で着順が結果です)があるかどうかは、常識や自然法則から考えて判断しなければなりません。

どう考えても因果関係がないと思われる場合は、該当するデータ項目(この例では勝負服の柄)やパターンは予測に使用しないほうが良いでしょう。

以上、JRA-VAN NEXTでの競馬予測(データマイニング)に関しての、基本となる考え方を述べさせていただきました。