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.
quelle
Antworten:
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
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(1−p) λ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
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.
quelle
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:
Ohne Zweifel ist es auch in anderen Statistikpaketen implementiert, mit denen ich weniger vertraut bin.
quelle
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.
quelle
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:
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 ).
quelle
Sie möchten die Hypothese testen, dass die Wahrscheinlichkeit eines Ergebnisses vom Matchup abhängt.H0 Also 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.
quelle