レーティングの計算方法2007年02月28日 08時05分47秒

はせべさんからリクエストがあったので、前回挙げたレーティングの計算方法 を説明する。ただし、このレーティング計算方法は最終案とは限らず、変更さ れる可能性がある。

レーティング

まず、レーティングの定義だが、チームAとチームBのレーティングがそれぞれ Ra, Rbのとき、チームAの勝率を次の式で決める。これは、多くのレーティン グシステムで採用されている一般的な式だ(ロジスティック関数と呼ばれる)。
formula
例えば、Bの方がAより400点高ければ勝率は1/11、Bの方がAより400点低ければ 勝率は10/11となる。試合を行って、AがBに3戦2勝したら、Rb-Raは-120 とす るのが妥当だろう。(上の式に当てはめてみると、P(A,B)=0.666になる)
curve

さて、実際に試合を行うと、チームAはチームBに勝ち越し、チームBはチームC に勝ち越し、しかし、チームCはチームAに勝ち越すという三つ巴の結果になる ことはよくある。この現象をどう考えればいいだろうか?

ここで注意する点は、レーティングが高い方が必ず勝つわけではないとい うことだ。あくまでもレーティングが高い方が勝率が高いと言っているだけな ので、レーティングが1000点高くても負ける時は負ける。天気予報で降水確率 が10%だろうと運が悪ければ雨は降るのと同じだ。だから、先のようにレーティ ングの高低に関わらず三つ巴の結果が出ることは十分ありえる。ならば、正し いレーティングを求めるということは、実際の試合結果と、レーティングから 求めた勝率ができるだけ一致するような値を見つける、ということになるだろう。

このような問題の場合によく使われる手は、実際に起こった結果が最も高い確 率で発生するようなパラメータが正しいと推定する方法だ。これは最尤法 と呼ばれる。これを用いると、 試合結果から最ももっともらしい各チームのレーティング値を決定することが できる。 最尤法の具体的な計算法はさすがに複雑になるので、 ここでは述べない。

計算の都合上、手を加えているところが一点。全勝の場合と全敗の場合は、 この方法ではレーティングが無限大と無限小に漸近してしまうため、全勝の場 合は対戦したうちで最高レーティングの相手と1引き分け、全敗の場合は最低 レーティングの相手と1引き分けを番兵として仮に加えて発散を防いでいる。 これにより、例えば、全勝しかつ最高レーティングの敵に2勝した場合はその 敵+約300点に留まる。

以上を大雑把に言えば、すべての勝敗に対して最も「もっともらしい」確率が 得られるように、レーティングを決めるということだ。

参考リンク

  • ELO Rating System - 広く使用されている古典的なレーティングシステム
  • TrueSkill - X-BOX360のオンラインゲームで使用されている改良されたレーティングシステム。ベイズ推定を使用し、真のスキル値への到達が早い
  • Pairwise Comparison - 一対比較法

タイプ別レーティング

次に、対タイプ別レーティングの求め方を説明する。まず最初に総合レーティ ング(上で求めたレーティング)を決める。そして、あるチームAの対車両レー ティングRwaを求めるときには、車両3機編成のチームだけを抜き出し、そこに チームAを加えてやはり最尤法でRwaを求める。ただし、このときは車両のレー ティングは予め求められた総合レーティングに固定したまま変化させない。

大雑把に言えば、対車両レーティングは、車両チームだけの総合レーティング に対するレーティングである。

基準に総合レーティングを用いるので、車両の集団の順位が総じて高ければ、 対車両レーティングは高くなるし、逆に車両の集団の順位が低ければ、 対車両レーティングは低くなる。

また、タイプ別にしたことで試合数が減ってしまうので、レーティングを決め るのに十分な試合数が揃わない場合がある。対戦相手が1チーム以下の場合や3 試合以下の場合はタイプ別レーティングは「算出できず」としている。 (この基準は経験的に決めた)

コメント

_ はせべ ― 2007年02月28日 18時51分17秒

解説おねだりしてしまって恐縮です、ありがとうございますm(__)m。レーティングの方法は全く知りませんでしたので、大変勉強になりました。面白いですね~。

3チーム以下のリーグ戦だとレートは一意に決まるのですが、それ以上だと統計的な技巧が必要になる、という解釈でよろしいのでしょうか?このあたりに、カルネジでの特異性を盛込む余地がありそうで興味深いです。が、そこまでやるとなると、ちょっとした論文が1つ書けそうな勢いですね(^^;

…しかし、連日の内容、集計するだけでもかなり大変だったのでは…大変お疲れ様です。

_ nas_B ― 2007年02月28日 20時05分52秒

こんにちは。
堅苦しいエントリですみません。
おまけに貼ったリンクが英語ばかりで不親切極まりないですね。^_^;
レーティングシステムの感じを掴むためには、
wikipediaの将棋クラブ24の項目が良さそうです。
http://ja.wikipedia.org/wiki/%E5%B0%86%E6%A3%8B%E5%80%B6%E6%A5%BD%E9%83%A824

要するに、強いやつを倒すと経験点がたくさん入ってランクアップ!
というわけです。弱いやつに負けると経験点をたくさん奪われて
ランクダウン(つд`)ですが。

で、まあ、CHPではレーティング対象が成長しないのが特徴で、
レーティング更新の仕組みを割愛して最初に試合数を揃えて一気に計算してしまう、
というのが違いです。

計算は結構めんどくさかったりしますが、
いったん計算プログラムができてしまうと後はデータを投入するだけです。
とりあえず次は第3回2ch大会を計算する予定。
その次は第3回と第4回の交流戦を行うと、
第3回と第4回の比較ができるようになります。
これはAMOKさんのところの結果を使おうかなと思っています。
中位以下の交流戦も必要ですが、これは手元で行う予定。

トラックバック