Ich hatte dies ursprünglich auf StackOverflow veröffentlicht, da dies ein Fehler in den Implementierungen sein könnte , aber einige schlugen vor, ich poste in Mathe. Ich habe gerade diesen Stapelaustausch gefunden und dachte, wer wäre besser? Einige von Ihnen wissen vielleicht sofort, dass dies korrekt erscheint oder nicht, ohne dass ein Debugging erforderlich ist. Alle Links zu Online-Rechnern oder alternativen Bewertungsmethoden sind willkommen.
Glicko-2 ist ein Bewertungssystem, das im Schach verwendet wird, aber in vielen anderen Situationen verwendet werden kann. Glicko-2 ist eine Verbesserung gegenüber Glicko-1, mit der Probleme der älteren ELO-Bewertung behoben wurden.
Was Glicko-2 im Vergleich zu Version 1 besonders macht, ist, dass es eine höhere Bewertungsabweichung (RD) enthält länger war jemand inaktiv. Dies geschieht mit dem Begriff einer Systemkonstante, die sich auf Zeit- / Bewertungszeiträume bezieht.
Ein Beispiel des Autors finden Sie hier: http://www.glicko.net/glicko/glicko2.pdf .
In diesem Dokument erklärt er:
Das Glicko-2-System funktioniert am besten, wenn die Anzahl der Spiele in einem Bewertungszeitraum mittel bis groß ist. Sagen wir durchschnittlich mindestens 10-15 Spiele pro Spieler in einem Bewertungszeitraum. Die Dauer eines Bewertungszeitraums liegt im Ermessen des Administrators.
Es wird davon ausgegangen, dass eine Gruppe aktiver Schachspieler 10 bis 15 Spiele spielt Im Durchschnitt eines Monats aktualisierte der Administrator die Bewertungen am Ende eines jeden Monats.
Ich benötigte eine PHP-Implementierung des Glicko-2-Bewertungssystems und stieß auf Folgendes:
Glicko-2-JavaScript-Implementierung
- Das JavaScript hatte einen kleinen Fehler, bei dem es nicht mit dem technischen Beispiel übereinstimmte, der Autor es nahe genug fand und sich nicht darum kümmerte Debug.
- Die PHP-Implementierung war mit vielen Fehlern behaftet, aber das war nicht ersichtlich, es sei denn, Sie haben mehr als einen Bewertungszeitraum durchgeführt (den das technische Schreiben bis nev er zeigt die erwarteten Werte von)
- Schließlich schien der Excel-Rechner fehlerfrei und der professionellste zu sein, der von jemandem in der Schachgemeinschaft ausgeführt wurde. Sobald der JavaScript-Fehler behoben war, stimmten JavaScript und Excel-Rechner sehr genau überein (obwohl nicht perfekt, könnte innerhalb eines Rundungsfehlers liegen).
Ich hatte die Fehler behoben (und Probleme eingereicht / Patches für die Autoren) Ich konnte feststellen, dass die PHP- und JavaScript-Versionen so gut mit dem Excel-Rechner übereinstimmen.
Jetzt bin ich zu 99% sicher, dass ich eine genaue Glicko-2-Implementierung habe (zwischen den 3 von ihnen) zur Analyse, und dann stieß ich auf etwas Seltsames und das Thema dieser Diskussion.
Angesichts der vorgeschlagenen Standardeinstellung für Glicko-2 für einen neuen Spieler:
Rating: 1500 RD: 350 Volatility: 0.06
Wenn Sie einem durchschnittlichen Gegner mit Bewertung 1378 und RD 99 ( Quelle ) nur einmal pro Bewertungszeitraum gegenüberstehen (1 Monat) für die nächsten 12 Perioden (1 Jahr) haben Sie eine angenommene Nationale Klasse A (1800-1999) Bewertung von 1852, wenn Sie in Wirklichkeit haben Schlage nur 12 durchschnittlich bewertete Spieler über einen Zeitraum von 12 Monaten.
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 〃
Wenn Sie in jeder Bewertungsperiode gegen 2 durchschnittliche Gegner antreten, können Sie die nationale Klasse A in etwa 4 bis 5 Monaten erreichen, wobei Sie nur gegen 8 bis 10 durchschnittliche Gegner antreten.
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 〃
Sind diese Annahmen korrekt? Gibt es einen Fehler in meinem Rechner?
Wenn es sich nicht um einen Fehler handelt, wie können Sie dem entgegenwirken:
- Betrachten Sie „wahre Bewertung“ als Untergrenze der Abweichung (Bewertung – RD)
- Keine inaktive Benutzerbewertung anzeigen
- Benutzer mit weniger als N Spielen nicht anzeigen
Kommentare
- chess.com/forum/view/general/chess-ratings—glicko-vs-elo Schauen Sie sich das an
- chesschat.org/showthread.php?t=13621
Antwort
Ich habe vor einigen Monaten an einer Scala-Implementierung gearbeitet, obwohl sie etwas unpoliert war – ich sollte zurückgehen, um sie zu beenden. Ich habe zumindest einige vernünftige Ergebnisse erhalten es.
Wenn Sie jedes Spiel gewinnen, das Sie spielen, ja, wird Ihre Bewertung ziemlich hoch, selbst wenn Sie nur gegen Spieler mit niedriger Bewertung spielen. Die Wahrscheinlichkeit, dass Sie jedes Spiel gegen einen solchen Gegner gewinnen, ist wahrscheinlich darüber, was ein Klasse-A-Spieler erreichen würde (obwohl es wahrscheinlich ich s etwas aufgeblasen wegen der relativ hohen RD, immer noch).
Der beste Weg, dem entgegenzuwirken, besteht meiner Meinung nach darin, jemanden mit einem RD über einem bestimmten Betrag nicht als stabiles Rating zu betrachten – d. h. Betrachten Sie es als „vorläufig“. Um tatsächlich einen Titel zu gewinnen, zumindest in USCF, gibt es ein Normsystem, bei dem Sie in einem Turnier mit 4 oder mehr Spielen (4-mal, glaube ich) auf einem bestimmten Niveau auftreten müssen, was die Wahrscheinlichkeit erhöht Es ist sehr unwahrscheinlich, dass Sie während des gesamten Turniers [viermal] gegen ~ 1378 spielen.
Ist es Ihr Ziel, dies für Schach zu verwenden? Was ist Ihr Anwendungsfall?
Update: FICS behandelt dies, indem nur Personen mit einer RD von < 80 aktiv berücksichtigt werden. (Ich glaube, sie verwenden immer noch Glicko-1.) http://www.freechess.org/Help/ficsfaq.html#Q005.003
Und von Übrigens verwendet Glicko-1 auch RD / Time Decay. Die Hauptverbesserung von Glicko-2 war der „Volatilitäts“ -Faktor, mit dem Personen mit fehlerhaften oder stabilen Ergebnissen geringfügig anders berechnet werden können. Ich denke, es ist eine sehr geringfügige Änderung an Glicko-1, die erhebliche zusätzliche Berechnungen verursacht – aber Wie Sie war ich immer noch daran interessiert, es zu berechnen. Ich habe Glickman selbst um einige zusätzliche Datenpunkte zum Testen gebeten, aber er war zu beschäftigt, um diese zu liefern.
Kommentare
- FYI, a Für Titel auf USCF-Klassenebene muss in 5 Turnieren eine Norm erworben werden.
Antwort
Alle Bewertungssysteme haben Probleme in wahres Leben. Bestenfalls kann keiner von ihnen mehr als eine Vermutung über Ihre Fähigkeiten anstellen.
Sie werden auf GM-Ebene besser abschneiden, da diese Spieler konsistenter sind und tendenziell mehr GMs spielen. während der Rest von uns inkonsistenter ist und dazu neigt, eine größere Anzahl von Spielern mit niedrigerer Bewertung zu spielen, die auch inkonsistenter sind. Und neue Spieler verbessern sich tendenziell viel schneller, während sie an weniger Turnieren teilnehmen, was alle Bewertungen weiter verzerrt. Und auf jeder Ebene haben einige Spieler arbeitsfreie Tage oder versuchen es nicht so sehr, wenn sich dadurch ihre Position in den Endergebnissen nicht ändert.
Der Versuch, die Bewertungen so genau wie bei Glicko2 zu optimieren, ist ein Kinderspiel. P. >
Ein weiterer Faktor, der das Problem verschärft, ist, dass Spieler dazu neigen, dieselben Spieler zu spielen. Wenn es ein weltweit obligatorisches Schweizer System gäbe, das genügend Runden gespielt hätte, würde sich die Bewertung der meisten Spieler stark verändern. Ein weltweites Double Round Robin würde einige weitere Änderungen vornehmen, aber die Schweiz wäre ein guter Anfang, um Bewertungsfehler zu beheben – zumindest in der Mitte bei etablierten Spielern. Sie haben immer noch das Problem, dass neue Spieler die Bewertungen verzerren.