勝敗予想モデル
勝敗確率と結果の分布:二項分布
コインを投げたときに表が出る確率は1/2というところは異論無いところだろう。ただ、コインを2回投げた場合に表と裏が1回ずつ出るとは限らず、表が出る場合も裏が出る場合もある。
サイコロを投げたときに1が出る確率は1/6というところは異論ないところだろう。ただ、サイコロを6回投げた場合に1がちょうど1回出るとは限らず、1が1回も出ない場合もあれば、2回以上出る場合もある。
結果がYesかNoかいずれかである試行をn回行ったとき、Yesは0回出る時もあればn回出る場合もある。このYesの出方は「二項分布」に従う。
例えばコインを2回投げる場合、表が出るパターンは0回、1回、2回の3通りあって、表がちょうど1回出る確率は2x(1/2)x(1/2)で50%、0回の確率は(1/2)x(1/2)で25%、2回出る確率も(1/2)x(1/2)で25%である。これらの確率をすべて足すと100%になる。
サイコロを6回投げた場合、1が出るパターンは0回、1回、・・・、6回の7通りある。ちょうど1回1が出る確率は6x(1/6)x(5/6)^5で約40%、1回も1が出ない確率は(5/6)^6で約33.5%である。ちなみに1が続けて6回出る確率は(1/6)^6で約0.002%とのこと。
棋士Aと棋士Bが一局交えました。棋士Aが勝ちました。では棋士Aの方が棋士Bより強いですね、とは必ずしもならない。
棋士Aと棋士Bの勝敗確率が本来1/2だったとしたら、1回の勝負で棋士Aが勝つ確率は50%である。仮にその状況で棋士Aが1局勝ったとして、それは確率50%で起こる事象が偶然起きたに過ぎない。ただ勝負を10局、20局と積み重ねていけば、棋士Aの勝つ確率は50%に近づいていくはずである。
勝敗予想のモデル化-レーティングの方法を応用する
もともと勝敗の確率を知りたいという話でこのブログはスタートしているので、重要なのは本来の勝敗確率をいかに知るか、である。
将棋のプロ棋戦はかなりの数行われているとはいえ、同じ相手と何局も指すのはタイトル戦ぐらいある。タイトル戦のデータだけでは多くの棋士の「戦闘力」を知ることができない。全棋戦のデータを使って、全棋士の「戦闘力」を推定したい。
なので、「モデル」が必要だ。
イロレーティングでは以下のようなモデルを用いて勝敗確率を算出する。
WABは棋士Aが棋士Bに勝つ確率、RA、RBはそれぞれ棋士AとBのレーティングの値である。
イロレーティングではこれまでの戦績を一つずつ積み上げてレーティング値を計算しているが、棋戦データとこのモデル式を用いてレーティング値を一気に求めてしまおう、というのが今回のデータ解析のコンセプトになる。
正直うまくいくかはわからない。とりあえずプロ棋士のレーティングの平均値を1500とする条件を設定しないと、今世の中で使われているレーティング値と比較できるものにはならないはずだが(というか条件を設定しないと各棋士のレーティング値そのものも推定できないはずで)、とりあえずそんなに目標を高く設定するのはやめておこう。
というか、これ、うまくいくのだろうか。