Originalmente tenía esto publicado en StackOverflow, ya que podría ser un error en las implementaciones, pero algunos sugirieron que publique en matemáticas. Acabo de encontrar este stackexchange y pensé quién mejor. Algunos de ustedes pueden saber de inmediato que esto parece correcto o no, sin la necesidad de depurar. Cualquier enlace a calculadoras en línea o métodos de calificación alternativos son bienvenidos.
Glicko-2 es un sistema de clasificación utilizado en el ajedrez, pero puede utilizarse en muchas otras situaciones. Glicko-2 es una mejora en Glicko-1, que abordó los problemas de la calificación ELO anterior.
Lo que hace que Glicko-2 sea especial en comparación con la versión 1 es que incorpora una desviación de calificación más alta (RD) cuanto más tiempo alguien ha estado inactivo. Lo hace con la noción de una constante del sistema que se relaciona con los períodos de tiempo / calificación.
Un ejemplo escrito del autor se encuentra aquí: http://www.glicko.net/glicko/glicko2.pdf .
En este documento, explica:
El sistema Glicko-2 funciona mejor cuando el número de juegos en un período de calificación es de moderado a grande, digamos un promedio de al menos 10-15 juegos por jugador en un período de calificación. El período de tiempo para un período de calificación queda a discreción del administrador.
Suponiendo que un grupo de jugadores de ajedrez activos juegan 10-15 juegos en promedio en un período de 1 mes, el administrador actualizará las calificaciones al final de cada mes.
Necesitaba una implementación PHP del sistema de calificación Glicko-2 y encontré lo siguiente:
Implementación de JavaScript Glicko-2
- El JavaScript tenía un pequeño error, en el que no lo dejaba coincidir con el ejemplo de redacción técnica, el autor lo encontró lo suficientemente cerca y no se molestó en depurarlo.
- La implementación de PHP estuvo plagada de muchos errores, pero eso no era evidente a menos que hiciera más de un período de calificación (que la descripción técnica nunca muestra los valores esperados de)
- Finalmente, la calculadora Excel parecía estar libre de errores y la más profesional, realizada por alguien de la comunidad de ajedrez. Una vez que se solucionó el error de JavaScript, la Calculadora de JavaScript y Excel coincidió muy estrechamente entre sí (aunque no es perfecta, podría estar dentro del error de redondeo)
Solucioné los errores (y envié problemas / parches a los autores) que pude encontrar en las versiones de PHP y JavaScript para que coincidan lo más posible con la Calculadora de Excel
Ahora estoy 99% seguro de que tengo una implementación precisa de Glicko-2 (entre los 3) para el análisis y es cuando encontré algo extraño y el tema de esta discusión.
Dado el valor predeterminado sugerido para Glicko-2 para un nuevo jugador:
Rating: 1500
RD: 350
Volatility: 0.06
Si se enfrenta a un oponente promedio de la calificación 1378 y RD 99 ( Fuente ) solo una vez cada período de calificación (1 mes) durante los próximos 12 períodos (1 año) habrá acumulado una calificación asumida de Clase Nacional A (1800-1999) de 1852 cuando en realidad solo has vencido a 12 jugadores con calificación promedio en un lapso de 12 meses.
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 〃
Si te enfrentas a 2 oponentes promedio en cada período de calificación, puedes llegar a la Clase Nacional A alrededor de 4-5 meses, enfrentando solo a 8-10 oponentes promedio.
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 〃
¿Son precisos estos supuestos? ¿Hay algún error en mi calculadora?
Si no es un error, ¿cuáles son algunas formas de contrarrestar esto además de:
- Considere que la "calificación verdadera" es el límite inferior de la desviación (Calificación - RD)
- No mostrar la calificación del usuario inactivo
- No mostrar a los usuarios con menos de N juegos