優勝確率52%は、どうやって出しているのか ― モンテカルロという力技
Pennant Labを始めてから、いちばんよく聞かれるのが「優勝確率ってどうやって出してるの?」という質問です。魔法のような数式が一発であるように思われがちなのですが、実際はもっと泥くさい、力技で出しています。今回はその中身の話です。
一発の数式では、解けない
まず、優勝確率を数式でスパッと計算するのは、現実的にはほぼ無理です。シーズン残りが何十試合もあって、それぞれに勝ち・負け・引き分けがある。全チームの勝敗の組み合わせを数え上げようとすると、数が天文学的に膨れ上がってしまいます。
そこで発想を変えます。「全部を計算する」のをあきらめて、「たくさん試して数える」んです。
サイコロを、5万回振る
Pennant Labでは、Eloレーティングから「今日この試合はどちらが何%で勝ちそうか」を1試合ごとに見積もっています。その勝率を使って、残りのシーズンを最後まで一気にシミュレーションします。
- 1試合ごとに、その勝率に従ってサイコロを振り、勝敗を決める
- 残り全試合ぶんそれを繰り返して、最終順位を出す
- 誰が優勝したかを記録する
これを1回やると「ありうる未来」がひとつ完成します。そして同じことを5万回繰り返す。5万個の未来を作って、そのうち巨人が優勝していたのが2万6千回だったら、優勝確率はおよそ52%、というわけです。
やっていることは、拍子抜けするほど単純です。「未来を5万個つくって、優勝した数を数える」。ただそれだけ。
力技だけど、王道でもある
私も最初は「こんな力任せでいいのか」と思いました。でも調べてみると、これはモンテカルロ法というれっきとした手法で、複雑すぎて解けない問題を「とにかく大量に試して割合を見る」やり方は、物理や金融の世界でもふつうに使われている王道でした。名前はカジノで有名なモナコの街から来ています。
複雑な確率を、賢い数式ではなく、根気のいるシミュレーションで押し切る。ここが分かってから、私はこの手法にむしろ信頼を置くようになりました。
だから、数字は毎日動く
Pennant Labが毎朝この5万回を回し直しているので、同じチームでも昨日と今日で優勝確率が変わります。昨日1勝したか、次の先発が誰か、それだけで「ありうる未来の分布」が少しずつ変わるからです。
ひとつだけ注意してほしいのは、5万回まわしても、それはあくまで確率だということ。90%と出ても残りの10%は起きうる。そのあたりの受け止め方は、優勝確率の読み方のほうに書きました。