ランキングの良さはどうすれば測れる?
SPSP は毎晩、全国のスマブラ SP の大会結果からランキングを計算しています。計算の中身を変えると並びが変わりますが、変えた結果が「良くなった」のか「悪くなった」のかは、どうやって決めればよいのでしょうか。この記事はその問いを、基本のところから順番に説明します。
- ランキングの良さは「これからの大会の結果をどれだけ言い当てるか」で測ります。物差しになる評価指標は 4 つです (ペア一致率、平均絶対 SPR、上位シード勝率、アップセット幅)。
- 指標には得意不得意があります。最終順位を見る指標は、シードを組んだ側 (に似た方式) を実際より良く見せます。方式の優劣はアップセット幅と上位シード勝率を軸に判定し、順位を見る指標だけで判断するのは避けます。
1. そもそも「良いランキング」とは何か
ランキングは、選手の「強さの順」を表そうとした表です。ところが強さそのものは目に見えません。見えるのは大会の結果だけです。そこで、ランキングの良さは「これから起きる大会の結果を、どれだけよく言い当てる並びか」で考えます。
大会のシードを思い浮かべると分かりやすいです。シードは「この順に強いはず」という予想です。予想が良ければ、シード上位の選手が順当に勝ち上がり、アップセット (シードが下の選手が上の選手に勝つこと) は少なくなります。予想が悪ければ、シード 64 位の選手がシード 1 位を倒すような試合が増えます。つまり、ランキングをシードとして使ったとき、実際の結果とどれだけ合っていたかが、ランキングの良さです。
ここで測るのは「まだ起きていない結果を当てられるか」です。「過去の結果をきれいに説明できるか」は測りません。過去の大会の順位表をそのまま写せば、過去の説明は完璧にできます。でもそれは次の大会の予想として良いとは限りません。ですから SPSP の評価では、各大会について「その大会が始まる直前の時点のランキング」を使って予想を作り、その大会の結果と突き合わせます。
2. ランキングの作り方にはどんな種類があるか
比べる対象を先に紹介します。どれも「大会の結果から強さの順を作る」方法ですが、使う情報が違います。
試合の勝ち負けから作る方式 (直対評価、Elo、Glicko-2)
選手ごとにレート (点数) を持ち、試合のたびに勝った側が上がり負けた側が下がる方式です。上がり幅は相手との差で決まります。
Elo はスマメイトでも使われているレーティングシステムです。Glicko-2 は Elo に「その選手のレートがどれくらい確からしいか」を足したもので、試合数が少ない選手ほど大きく動き、試合をこなすほど安定します。SPSP の直対評価は Glicko-2 をもとに、週末大会の試合だけを使う、実力帯ごとに数える大会を変える、などの調整を加えたものです。
大会の順位から作る方式 (順位評価、JJPR)
試合ではなく「何人の大会で何位だったか」を点数にして足す方式です。
具体例: 128 人の大会で 9 位に入れば何点、16 人の大会で優勝すれば何点、という表があって、大きい大会の上位ほど点が高くなります。直近の大会のうち点の高い上位 6 大会を足し合わせて、その合計で並べます。JJPR がこの方式で、SPSP の順位評価も同じ考え方です (SPSP は実力帯ごとに数える大会の種類を変えます)。試合を 1 つずつ見ないので情報は粗いですが、対戦記録が繋がっていない地域の選手同士でも「大会の規模と順位」という共通の物差しで比べられます。
組み合わせる方式 (SPSP の総合ランキング)
SPSP は直対評価と順位評価の両方を計算して、その順位の平均で並べます。具体例: 直対評価で 10 位、順位評価で 20 位の選手は (10+20)÷2 = 15 として並べます。2 つの見方が違う間違いをすると期待して、混ぜることで打ち消し合わせる考え方です。
大会を格付けして集計する方式 (UltRank)
UltRank は海外の団体が作っている年間ランキングです。まず大会を規模や出場者の強さで格付けし (大会ティア)、各選手の勝ち・負け・順位をその格に応じて重み付けして点数にします。日本版は上位 200 人だけを順位付けします。SPSP との大きな違いは、毎晩更新される予想ではなく、1 年分の結果を集計してから作られることです。ですからその 1 年の大会に対しては「結果を知った上での予想」になります。
3. 良さを数字にする道具、評価指標
「どちらのランキングが良いか」を決めるには、予想と結果の合い具合を 1 つの数字にする必要があります。この数字の作り方を評価指標と呼びます。SPSP では主に次の 4 つを使っています。
ペア一致率 (Pairwise Accuracy、略して PA)
大会の参加者から 2 人を選びます。予想 (シード) ではどちらが上で、最終順位ではどちらが上だったか。この上下が一致した割合です。64 人の大会なら 2 人の組は 2016 通りあり、そのうち何割で上下が合っていたかを数えます。当てずっぽうの並びなら 50% 前後、SPSP の実データでは 85% くらいです。
順位のズレ幅 (平均絶対 SPR、MASPR)
選手ごとに「シードの順位」と「最終順位」を比べて、どれくらいズレたかを測ります。順位の数字そのものではなく「何回戦ぶんズレたか」で数えます。5 位タイの 2 人は同じ回戦で負けた人なので差 0、5 位と 7 位は 1 回戦ぶんの差、1 位と 2 位は決勝で分かれたので差 1、という具合です。SPSP の大会ページに出ている SPR (Seed Performance Rating。シードに対してどれだけ上か下かの回戦数) と同じ計算を、実際のシードの代わりにランキングから作った仮想シードで行い、その絶対値を選手ごとに取って平均したものが平均絶対 SPR (Mean Absolute SPR、MASPR) です。
上位シード勝率 (Favorite Win Rate、略して FWR)
実際に行われた試合だけを見ます。その試合で、シードが上だった側が勝った割合です。勝ちか負けかだけを数えるので、とても単純です。
アップセット幅 (Upset Log Gap、略して ULG)
アップセットが起きた試合について、「何倍離れた相手に負けたか」を測ります。シード 2 位がシード 4 位に負けるのと、シード 2 位がシード 64 位に負けるのとでは、後者のほうが予想が大きく外れています。この「倍率」を対数で数えて (2 倍を 1、4 倍を 2、8 倍を 3、と数える)、全試合数で割ります。
4. どうやって調べたか
まず、指標そのものが信用できるかを確かめました。現実の大会では本当の実力が分からないので、これは現実のデータだけでは調べられません。そこで、選手一人ひとりに「本当の強さ」を最初から決めておいた仮想の世界を作り、そこで大会を何百回も開き、各指標が「本当に良いランキングに良い点を付けるか」「小さな差に気づけるか」「シードを組んだ側に甘くないか」などを答え合わせしました。仮想世界の話は別の記事 「対戦シミュレーション環境で分析してみよう」 にあります。
次に、その結果を踏まえて実際のデータ (篝火で区切った 4 シーズン、100 人以上の大会 180 件) で指標の振る舞いを確かめました。2 つのランキングの予想を同じ大会・同じ結果に当てて差を取り、その差が運の揺れより大きいかを見ます。方式同士の比較の結果は 別の記事 にまとめています。
アップセットは実力が同じでも運で起きます。だから 1 大会だけでは差が本物か分かりません。2 つのランキングの差を大会ごとに取って平均し、その平均が運によるばらつきの何倍あるかを見ます。この記事で「運の範囲を超える」と書いたところは、運だけでその差が出る確率が 5% を切る場合です。大会を 4 倍集めると、同じ差でも運によるばらつきは半分になります。
5. 分かったこと ①: 指標ごとの特徴
指標を評価する軸は 6 つになりました。それぞれの軸で、4 つの指標がどうだったかをまとめます。
軸 1: 妥当性 (指標で選ぶと、本当に良いランキングを選べるか)
4 つの指標はどれも合格でした。仮想世界で「本当に良い方式」に高い点を付ける度合いは、上位シード勝率が一番安定していて、ペア一致率、アップセット幅、MASPR がそれに続きます。一方、今回は主役にしなかった指標の中には、条件によって良い方式と悪い方式を取り違えるものがありました (アップセット 1 件あたりの大きさ、予想の自信と結果の対応、など)。
軸 2: 検出力 (小さな差に気づけるか)
ランキングの小さな改善に、何大会で気づけるかです。仮想世界で「完璧な予想を少しだけ悪くしたもの」を作って測りました。アップセット幅が一番鋭く、30 大会 (1〜2 か月分) で気づけます。ペア一致率もほぼ同じ。上位シード勝率はその 3 倍近い大会が要ります。勝ちか負けかだけ数えるので、外れ方の大きさを無視するぶん鈍いのです。指標によっては 2 年分集めても足りないものもありました。
軸 3: 実力帯に絞ったときの検出力
「上位 8 人の並びだけ」「9 位から 16 位だけ」のように帯で切ると、帯の中の実力差は小さいので、どの指標も信号が減ります。減り方には大きな差があり、MASPR とアップセット幅はかなり残るのに、上位シード勝率は帯で切るとほとんど何も見えなくなります。
軸 4: シードバイアス (シードを組んだ側に甘くないか)
これが一番厄介な問題です。大会の最終順位は、試合の結果だけで決まるのではありません。トーナメント表の組み方で大きく変わります。シード上位の選手は序盤で強い相手と当たらないように守られ、参加者が半端な人数なら上位シードは 1 回戦が免除 (不戦勝) になります。
ということは、トーナメント表を組んだシードそのものは、組まれた瞬間に「当たりやすく」なっています。上位に置かれた選手は守られるので、上位の順位で終わりやすい。それはそのシードの予想が正しかったからではなく、そのシードで表を組んだからです。
具体的には、こういうことが起きます。ある選手の本当の実力は 40 番目くらいなのに、ランキング A はたまたま見誤って 20 位と評価し、別のランキング B は 45 位と評価していたとします。大会がランキング A のシードで組まれると、この選手は「20 位の枠」に置かれ、序盤は格下としか当たりません。実力 40 番でも序盤は勝ちやすいので、最終順位は 20 位前後に落ち着きやすく、A の見誤りは最終順位の上では「当たり」に化けます。正しく 45 位と見ていた B のほうが外れて見えるわけです。これが、最終順位を見る指標で表を組んだ側が良く見える仕組みです。
逆向きの見誤りも起きます。A が実力 40 番の選手を 64 位と見誤ると、その選手は「64 位の枠」に置かれ、1 回戦でシード 1 位と当たり、たまに勝ちます。この同じ 1 勝が、A の帳簿では「64 位が 1 位を倒した」という最大級のアップセットになり、B の帳簿では「45 位が勝った」で済みます。順位の数字の差をそのまま足すような指標では、表を組んだ側が逆に悪く見えます。アップセット幅は倍率を対数で数えるので大きなズレの影響が抑えられ、仮想世界では歪みが出ませんでした。
仮想世界で測った結果、向きは指標の種類で分かれました。
- ペア一致率と MASPR (最終順位を見る指標): シードを組んだ側が実力より良く見える。上位が守られて、最終順位がシードの予想に寄るからです。盛られる幅はランキング同士の実力差と同じくらいあり、優劣が観測上ひっくり返る例まで出ました。
- 上位シード勝率とアップセット幅: 歪まない。どちらが上かという向きは、似たランキング同士ならほぼ同じ答えになるからです。
以下では、ペア一致率と MASPR を「順位を見る指標」、上位シード勝率とアップセット幅を「勝敗を見る指標」と呼びます。
この効果は「シードを組んだランキングそのもの」だけでなく、そのシードに似た並びをするランキング全部に及びます。日本の大会のシードは多くが JJPR をもとに、スタッフの判断を加えて組まれています。ですから順位を見る指標では、JJPR に似た方式ほど実力より良く見えます (SPSP の順位評価もその仲間です)。
軸 5: 部分的なランキングの扱い
UltRank のように上位 200 人しか順位を付けないランキングは、順位のある選手同士の組と試合だけで測ります。比べる相手のランキングも、その選手だけを取り出して並べ直します。この記事の UltRank 比較はそうしています。
こうして測った値は、全員で測った値より悪くなります。上位の選手同士は実力が近く、当てにくいからです。仮想世界の完全なランキングを、全員で測ると ペア一致率 0.810、上位シード勝率 0.718 ですが、上位 200 人の中だけで測ると 0.649 と 0.611 に下がります。MASPR とアップセット幅は、絞ると人数が減ってシード番号が詰まるので目盛りも変わります。どの指標でも、絞った値を絞る前の値と比べてはいけません。
軸 6: 解釈のしやすさ、集計のしかた
MASPR と上位シード勝率は説明なしで通じます。アップセット幅は「対数で倍率を数える」という説明が要ります。また集計のしかたにも注意が要ります。大会ごとに指標を計算して平均すると、16 人の大会と 500 人の大会が同じ重さになり、SPSP では過去にこれだけで「良くなった」と「悪くなった」の符号がひっくり返ったことがありました。今は「選手 1 人あたり」「試合 1 つあたり」で足し合わせる方法に統一しています。
まとめの表
| 指標 | 妥当性 | 検出力 | 帯に絞ったとき | シードバイアス | 順位のある人だけで測るとき | 解釈のしやすさ |
|---|---|---|---|---|---|---|
| PA | ◎ | ◎ | △ | ✕ | ○ | ◎ |
| MASPR | ◎ | ○ | ◎ | ✕ | △ | ◎ |
| FWR | ◎ | ○ | ✕ | ◎ | ○ | ◎ |
| ULG | ◎ | ◎ | ○ | ◎ | △ | △ |
◎ 良い、○ 使える、△ 弱い、✕ 使えない。シードバイアスの ✕ は「シードを組んだ側が良く見える」、順位のある人だけで測るときの △ は「絞る前の値と目盛りが変わる」の意味です。
6. 分かったこと ②: 指標の使い分け
全部の軸で優秀な指標はありません。帯に絞っても信号が残る指標はシードバイアスに弱く、シードバイアスに強い指標は帯に絞ると無力、という関係になっています。そこで次の使い分けにしました。
- 判定に使う: アップセット幅 (鋭く、歪まない) を主役に、上位シード勝率 (歪まない) を答え合わせ役に。
- 実力帯ごとの分析: アップセット幅を主に使う。上位シード勝率は帯で切ると使えない。
- 併せて見る: ペア一致率と MASPR。サイトの SPR とつながって分かりやすいが、シードを組んだ側に甘いので、これだけで判断するのは危険。
- 食い違ったら: 順位を見る指標だけが「良くなった」と言い、勝敗を見る指標が「変わらない」と言うときは、シードバイアスを疑い、勝敗側の答えを採る。
- 部分的なランキングと比べるとき: 順位のある選手同士の組と試合だけで測り、両方のランキングをその選手だけで並べ直す。MASPR やアップセット幅は、絞る前後で値を比べない。
- 集計: 大会平均ではなく、選手 1 人・試合 1 つあたりで足す。
まとめ
- ランキングの良さは「これからの大会の結果をどれだけ言い当てるか」で測る。
- 評価指標にはそれぞれ得意不得意があり、特に最終順位を見る指標は「シードを組んだ側 (に似た方式)」に甘い。部分的なランキングは、順位のある選手同士だけで測る。
- 判定はアップセット幅と上位シード勝率を軸に行い、順位を見る指標だけで判断しない。
この指標を実際のデータに当てた結果 (SPSP と他のランキングの比較、実力帯ごとの当たり具合) は 「SPSP のランキングはどれくらい当たっているか」 に、技術的な定義や数表は 「評価指標の評価と整理」 に、指標を答え合わせした仮想世界の話は 「対戦シミュレーション環境で分析してみよう」 にあります。