Wie beweise ich, dass Elo-Bewertung oder Page-Ranking eine Bedeutung für mein Set haben?


13

Ich habe eine Reihe von Spielern. Sie spielen gegeneinander (paarweise). Die Spielerpaare werden zufällig ausgewählt. In jedem Spiel gewinnt ein Spieler und ein anderer verliert. Die Spieler spielen eine begrenzte Anzahl von Spielen miteinander (einige Spieler spielen mehr Spiele, andere weniger). Ich habe also Daten (wer gewinnt gegen wen und wie oft). Jetzt gehe ich davon aus, dass jeder Spieler eine Rangfolge hat, die die Gewinnwahrscheinlichkeit bestimmt.

Ich möchte überprüfen, ob diese Annahme tatsächlich wahr ist. Natürlich kann ich das Elo-Bewertungssystem oder den PageRank-Algorithmus verwenden, um eine Bewertung für jeden Spieler zu berechnen. Aber durch die Berechnung von Ratings beweise ich nicht, dass sie tatsächlich existieren oder dass sie irgendetwas bedeuten.

Mit anderen Worten, ich möchte einen Weg finden, um zu beweisen (oder zu überprüfen), dass Spieler unterschiedliche Stärken haben. Wie kann ich es tun?

HINZUGEFÜGT

Genauer gesagt habe ich 8 Spieler und nur 18 Spiele. Es gibt also viele Paare von Spielern, die nicht gegeneinander gespielt haben, und viele Paare, die nur einmal miteinander gespielt haben. Infolgedessen kann ich die Wahrscheinlichkeit eines Gewinns für ein bestimmtes Spielerpaar nicht abschätzen. Ich sehe zum Beispiel auch, dass es einen Spieler gibt, der 6 Mal in 6 Spielen gewonnen hat. Aber vielleicht ist es nur ein Zufall.


Möchten Sie die Nullhypothese testen, dass alle Spieler die gleiche Stärke haben, oder die Passform eines Modells der Spielerstärke überprüfen?
am

@onestop: Alle Spieler mit der gleichen Stärke wären sehr unwahrscheinlich, nicht wahr? Warum schlagen Sie dies als Hypothese vor?
Endolith

Antworten:


10

Sie benötigen ein Wahrscheinlichkeitsmodell.

Die Idee hinter einem Rangsystem ist, dass eine einzelne Zahl die Fähigkeiten eines Spielers angemessen charakterisiert. Wir könnten diese Zahl ihre "Stärke" nennen (weil "Rang" bereits etwas Spezifisches in der Statistik bedeutet). Wir würden voraussagen, dass Spieler A Spieler B schlagen wird, wenn Stärke (A) Stärke (B) übersteigt. Diese Aussage ist jedoch zu schwach, weil (a) sie nicht quantitativ ist und (b) nicht die Möglichkeit berücksichtigt, dass ein schwächerer Spieler gelegentlich einen stärkeren Spieler schlägt. Wir können beide Probleme überwinden, indem wir annehmen, dass die Wahrscheinlichkeit, dass A B schlägt, nur von dem Unterschied in ihren Stärken abhängt. Ist dies der Fall, können wir alle erforderlichen Stärken erneut ausdrücken, damit der Unterschied in den Stärken den logarithmischen Gewinnchancen entspricht.

Insbesondere ist dieses Modell

logit(Pr(A beats B))=λAλB

wobei per definitionem wird die Protokoll odds und ich habe geschrieben λ A für den Spieler A Stärke usw.logit(p)=log(p)log(1p)λA

Dieses Modell hat so viele Parameter wie Spieler (aber es gibt einen Freiheitsgrad weniger, weil es nur relative Stärken identifizieren kann , sodass wir einen der Parameter auf einen beliebigen Wert festlegen würden). Es ist eine Art verallgemeinertes lineares Modell (in der Binomial-Familie mit logit link).

Die Parameter können durch Maximum Likelihood geschätzt werden . Dieselbe Theorie bietet ein Mittel, um Konfidenzintervalle um die Parameterschätzungen aufzustellen und Hypothesen zu testen (z. B. ob der stärkste Spieler nach den Schätzungen signifikant stärker ist als der geschätzte schwächste Spieler).

Insbesondere ist die Wahrscheinlichkeit einer Reihe von Spielen das Produkt

all gamesexp(λwinnerλloser)1+exp(λwinnerλloser).

λ


In diesem speziellen Problem gibt es 18 Spiele und 7 freie Parameter. Im Allgemeinen sind das zu viele Parameter: Es gibt so viel Flexibilität, dass die Parameter ziemlich frei variiert werden können, ohne die maximale Wahrscheinlichkeit stark zu verändern. Die Anwendung der ML-Maschinerie dürfte sich als naheliegend erweisen, da wahrscheinlich nicht genügend Daten vorliegen, um auf die Festigkeitsschätzungen vertrauen zu können.


2
sA=exp(λA)ABsA/(sA+sB). (3) Wenn ein komplettes Round-Robin-Turnier gespielt wird (was hier nicht der Fall ist), stimmen die Rangfolgen der Stärken genau mit dem Gewinnprozentsatz jedes Spielers überein. (4) Die Anpassungsgüte bezieht sich auf Flüsse über den Graphen mit Spielern als Knoten und Spielen als Kanten.
Kardinal

(Forts.) Lester R. Ford Jr. hat sogar einen Artikel über einen Anpassungsalgorithmus, der auf dieser Idee basiert, in einem Amer. Math Monthly Stück aus dem Jahr 1957 zu Ehren seines Vaters geschrieben.
Kardinal

4

Wenn Sie die Nullhypothese testen möchten, dass jeder Spieler mit gleicher Wahrscheinlichkeit jedes Spiel gewinnt oder verliert, möchten Sie meiner Meinung nach einen Symmetrietest der Kontingenztabelle , bei dem Sieger gegen Verlierer tabellarisch aufgeführt werden.

Stellen Sie die Daten so ein, dass Sie zwei Variablen haben, "Gewinner" und "Verlierer", die die ID des Gewinners und Verlierers für jedes Spiel enthalten, dh jede "Beobachtung" ist ein Spiel. Sie können dann eine Kontingenztabelle von Gewinner gegen Verlierer erstellen. Ihre Nullhypothese ist, dass Sie erwarten würden, dass diese Tabelle symmetrisch ist (im Durchschnitt über wiederholte Turniere). In Ihrem Fall erhalten Sie eine 8 × 8-Tabelle, an der die meisten Einträge Null sind (entsprechend den Spielern, die sich nie getroffen haben), d. H. Der Tisch wird sehr spärlich sein, daher wird mit ziemlicher Sicherheit ein "genauer" Test erforderlich sein, anstatt sich auf Asymptotika zu verlassen.

Eine solche genaue Prüfung steht in Stata mit dem Symmetrie-Befehl zur Verfügung . In diesem Fall wäre die Syntax:

symmetry winner loser, exact

Ohne Zweifel ist es auch in anderen Statistikpaketen implementiert, mit denen ich weniger vertraut bin.


(+1) Es ist lustig, ich habe gerade festgestellt, dass dieser Stata-Befehl für Übertragungs- / Ungleichgewichtstests in der Genetik verwendet werden kann :) Ich habe R-Pakete in einer früheren Antwort besprochen , stats.stackexchange.com/questions/5171/… .
chl

In der Tat ist das TDT eine Anwendung, die in der oben verlinkten Stata-Hilfe erläutert wird. Es ist auch der Kontext, in dem ich zum ersten Mal auf diesen Test gestoßen bin. Vielen Dank für den Link zu diesem vorherigen Q - es sieht so aus, als ob ich mit anderen Qs beschäftigt war, als es gepostet wurde.
am

Obwohl sich die Frage auf das Testen von Hypothesen bezieht, liegt ihre Betonung auf der Frage der Anpassungsgüte: Modelliert eine einzelne numerische (skalare) Stärke die Ergebnisse der Spiele zwischen Spielern effektiv?
whuber

1

Haben Sie einige Veröffentlichungen von Mark Glickman überprüft? Diese scheinen relevant zu sein. http://www.glicko.net/

In der Standardabweichung der Bewertungen ist ein erwarteter Wert eines Spiels enthalten. (Diese Standardabweichung ist in Basic Elo auf eine bestimmte Zahl festgelegt und im Glicko-System variabel). Ich sage eher den erwarteten Wert als die Wahrscheinlichkeit eines Gewinns aufgrund von Unentschieden. Die Grundannahme für die Verteilung (z. B. normal oder logistisch) und die angenommene Standardabweichung sind die wichtigsten Faktoren, die Sie für Ihre Elo-Bewertungen verstehen müssen.

Die logistische Version der Elo-Formeln legt nahe, dass der erwartete Wert einer Bewertungsdifferenz von 110 Punkten 0,653 beträgt, zum Beispiel Spieler A mit 1330 und Spieler B mit 1220.

http://en.wikipedia.org/wiki/Elo_rating_system (OK, das ist eine Wikipedia-Referenz, aber ich habe bereits zu viel Zeit mit dieser Antwort verbracht.)

Jetzt haben wir einen erwarteten Wert für jedes Spiel basierend auf der Bewertung jedes Spielers und ein Ergebnis basierend auf dem Spiel.

An diesem Punkt würde ich das nächste Mal grafisch überprüfen, indem ich die Lücken von niedrig nach hoch ordne und die erwarteten und tatsächlichen Ergebnisse summiere. Für die ersten 5 Spiele haben wir also möglicherweise Gesamtpunkte von 2 und erwartete Punkte von 1,5. Für die ersten 10 Spiele haben wir möglicherweise Gesamtpunkte von 8 und erwartete Punkte von 8,8 usw.

Indem Sie diese beiden Linien kumulativ grafisch darstellen (wie bei einem Kolmogorov-Smirnov-Test), können Sie feststellen, ob die erwarteten und tatsächlichen kumulativen Werte gut oder schlecht übereinstimmen. Es ist wahrscheinlich, dass jemand anderes einen formelleren Test durchführen kann.


1

Das wahrscheinlich bekannteste Beispiel für die Genauigkeit der Schätzmethode im Bewertungssystem war die Schachbewertung - Elo im Vergleich zum Wettbewerb um Kaggle auf der ganzen Welt . Die Struktur war wie folgt:

Die Teilnehmer trainieren ihre Bewertungssysteme mit einem Trainingsdatensatz von über 65.000 aktuellen Ergebnissen für 8.631 Top-Spieler. Die Teilnehmer verwenden dann ihre Methode, um das Ergebnis weiterer 7.809 Spiele vorherzusagen.

Gewinner war Elo ++ .

Es scheint theoretisch ein gutes Testschema für Ihre Bedürfnisse zu sein, auch wenn 18 Übereinstimmungen keine gute Testbasis sind. Sie können sogar Unterschiede zwischen den Ergebnissen für verschiedene Algorithmen überprüfen (hier ein Vergleich zwischen Rankade , unserem Ranking-System und den bekanntesten, einschließlich Elo , Glicko und Trueskill ).


0

Sie möchten die Hypothese testen, dass die Wahrscheinlichkeit eines Ergebnisses vom Matchup abhängt. H0Also ist jedes Spiel im Grunde ein Münzwurf.

Ein einfacher Test hierfür wäre, zu berechnen, wie oft der Spieler mit früheren Spielen gewinnt, und dies mit der binomialen kumulativen Verteilungsfunktion zu vergleichen. Das sollte die Existenz irgendeiner Wirkung zeigen.

Wenn Sie an der Qualität des Elo-Bewertungssystems für Ihr Spiel interessiert sind, besteht eine einfache Methode darin, eine 10-fache Kreuzvalidierung der prädiktiven Leistung des Elo-Modells durchzuführen (wobei davon ausgegangen wird, dass die Ergebnisse nicht korrekt sind, aber ich Ich ignoriere das) und vergleiche das mit einem Münzwurf.


Um genauer zu sein. Ich habe 8 Spieler und nur 18 Spiele. Es gab also viele Spielerpaare, die nicht miteinander gespielt haben, und viele Paare, die nur eins miteinander gespielt haben. Infolgedessen kann ich die Gewinnwahrscheinlichkeit für ein bestimmtes Spielerpaar nicht abschätzen. Ich sehe zum Beispiel auch, dass es einen Spieler gibt, der 6 Mal in 6 Spielen gewonnen hat. Aber vielleicht ist es nur ein Zufall.
Roman
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.