Glicko-2 はチェスで使用される評価システムですが、他の多くの状況で使用できます。Glicko-2 は、古い ELO レーティングの問題に対処した Glicko-1 の改良版です。
バージョン 1 と比較して Glicko-2 が特別な点は、非アクティブな時間が長いほど評価偏差 (RD) が高くなることです。これは、時間/評価期間に関連するシステム定数の概念を使用して行われます。
著者による記述の例は、http ://www.glicko.net/glicko/glicko2.pdf にあります。
この文書の中で、彼は次のように説明しています。
Glicko-2 システムは、レーティング期間内のゲーム数が中程度から多い場合に最適に機能します。たとえば、レーティング期間内のプレイヤー 1 人あたりの平均ゲーム数が少なくとも 10 ~ 15 ゲームの場合です。評価期間の長さは、管理者の裁量に任されています。
アクティブなチェス プレイヤーのグループが 1 か月間に平均 10 ~ 15 ゲームをプレイすると仮定すると、管理者は毎月末に評価を更新します。
Glicko-2 レーティング システムの PHP 実装が必要で、次のことがわかりました。
- JavaScript には小さなエラーがあり、技術的な記事の例と一致しませんでした。作者はそれが十分に近いと判断し、わざわざデバッグしませんでした。
- PHP の実装は多くのバグに悩まされていましたが、複数の評価期間を行わない限り、それは明らかではありませんでした (技術的な記事では期待値が示されていません)。
- 最後に、Excel 電卓はチェス コミュニティの誰かによって作成されたもので、エラーがなく、最も専門的であると思われました。JavaScript のバグが解決されると、JavaScript と Excel Calculator は互いに非常によく一致しました (完全ではありませんが、丸め誤差の範囲内である可能性があります)。
PHP と JavaScript のバージョンで見つかったバグを修正しました (そして作成者に問題/パッチを提出しました)。
今、私は 99% の確信を持って、分析のために正確な Glicko-2 の実装 (3 つのうちの 3 つの間) を持っていると確信しています。そのとき、何か奇妙なことに出くわし、この議論のトピックになりました。
新規プレイヤー向けの Glicko-2 の推奨デフォルト値を考えると、次のようになります。
Rating: 1500
RD: 350
Volatility: 0.06
レーティング 1378 で RD 99 (ソース)の平均的な対戦相手と、次の 12 期間 (1 年) の間、レーティング期間 (1 か月) ごとに 1 回だけ対戦した場合、推定ナショナル クラス A (1800-1999) レーティング 1852を蓄積したことになります。実際には、12 か月間で平均レーティングのプレイヤーを 12 人しか倒していません。
Month Rating RD Volatility Class
1 1625 259 0.059999 National Class B
2 1682 225 0.059998 〃
3 1718 205 0.059997 〃
6 1784 174 0.059994 〃
12 1852 148 0.059988 National Class A
24 1922 127 0.059976 〃
レーティング期間ごとに 2 人の平均的な対戦相手と対戦する場合、約 4 ~ 5 か月でナショナル クラス A に到達でき、平均的な対戦相手は 8 ~ 10 人だけです。
Month Rating RD Volatility Class
1 1672 215 0.059999 National Class B
2 1733 183 0.059997 〃
3 1770 166 0.059995 〃
4 1797 154 0.059993 〃
5 1819 146 0.059992 National Class A
6 1836 140 0.059991 〃
これらの仮定は正確ですか?電卓にバグがありますか?
それがバグでない場合、これ以外にこれに対抗する方法は何ですか:
- 「真の評価」を偏差の下限と見なします (評価 - RD)
- 非アクティブなユーザーの評価を表示しない
- N ゲーム未満のユーザーを表示しない