• Keine Ergebnisse gefunden

Vergleichsmöglichkeiten von Ranglisten

GER ITA BRA

1 1,0000 1,0000 1,0000 10 0,5702 0,3061 0,5869 25 0,4040 0,2229 0,4136 50 0,3881 0,2149 0,3977

Tabelle 2.2: PageRank-Werte während der Iteration

Im Abschnitt 5.6 im Anhang wurden die PageRank-Werte für alle Mannschaften berechnet, über welche mir Daten vorlagen. Auf den ersten Blick entspricht die Rangliste – verglichen mit den Closeness- oder Betweenness-Ranglisten – eher den Werten der offiziellen Rangliste. Doch auch hier sind große Unterschiede vorhanden. Beispielsweise beträgt der Unterschied bei Bulgarien zwischen der offiziellen und der PageRank-Liste15 Ranglistenplätze, und Portugal springt vom 18.auf den 10. Platz. Auch wenn es mir aufgrund fehlender Spieldaten unmöglich ist, die offizielle Rangliste mit Ranglisten-Modellen exakt nachzubilden, ist ein Maß für den Unterschied zwischen zwei Ranglisten durchaus sinnvoll. Nicht zuletzt ist erst damit die Möglichkeit gegeben, Ranglisten miteinander vergleichen zu können.

2.4 Vergleichsmöglichkeiten von Ranglisten

Zur Messung von Differenzen zwischen zwei gegebenen Ranglisten gibt es eine Reihe von Möglichkeiten. Im folgenden Abschnitt werden einige Metriken zur Messung kurz vorgestellt.

2.4.1 Spearman-Distanz

Man stelle sich eine Rangliste mit n Plätzen als n-dimensionalen Vektor vor, und die Mannschaften als Einträge, welche durchnummeriert sind. Eine der Ranglisten dient als „Pattern“-Vektor und ist damit der Zielvektor, mit dem die andere Rangliste – der „unsortierte“ Vektor – verglichen werden soll. Im Pattern-Vektor sind alle Mannschaften vom ersten bis zum letzten Platz durchnummeriert, während im unsortierten Vektor an der Position einer Mannschaft ihr Rang im Pattern-Vektor eingetragen ist. Sind im Pattern-Vektor nacheinander die Mannschaften Brasilien, Deutschland und Italien auf den ersten drei Plätzen ( [BRA, GER, ITA] ) und die Reihenfolge der zu vergleichenden Rangliste ist Deutschland, Brasilien, Italien, so ergibt sich der „unsortierte“ Vektor[2, 1, 3].

2.4. Vergleichsmöglichkeiten von Ranglisten 17

Die zwei Ranglisten sind nun zwei Punkte im dreidimensionalen Raum mit den Koordinaten(1, 2, 3) bzw. (2, 1, 3). Der geometrische Abstand zwischen beiden beiden Punkten beträgt:

d=p

(1−2)2+ (2−1)2+ (3−3)2 =√

1 + 1 + 0 = √ 2

Die Spearman-Distanz17 [Spe06] ist der euklidischen Distanz ähnlich. Seien π1 undπ2 die beiden Ranglisten, die der Menge der MannschaftenU ={u1. . . un} jeweils einen Ranglistenplatzπ1(i) und π2(i)zuordnen.

2.10 Def inition (Spearman-Distanz)

Die Summe der Ranglistenplatzunterschiede zwischen zwei Ranglistenπ1 und π2

F(π1, π2) =

Die Kendall-Tau-Distanz [Ken62] zählt die minimale Anzahl paarweiser Tausch-operationen, um eine Rangliste in die jeweils andere Rangliste zu überführen.

2.11 Def inition (Kendall-Tau-Distanz)

Die Anzahl der Inversionen zwischen zwei Ranglisten π1 und π2

K(π1, π2) =|{i, j ∈U : i < j, π1(ui)< π1(uj) und π2(ui)> π2(uj)}|

heißtKendall-Tau-Distanz.

Die Kendall-Tau-Distanz kann normalisiert werden, indem man den erhaltenen Wert durch die Anzahl aller möglichen Inversionen teilt:

Kn1, π2) = K(π1, π2)

n 2

So ergibt sich ein Wertebereich zwischen0und1. Zwei Distanzmessungen zwischen verschiedenen Ranglisten lassen sich dann direkt miteinander vergleichen. Da bei den folgenden Distanzmessungenn immer gleich ist18, können auch die Anzahl der InversionenK(π1, π2) direkt miteinander verglichen werden.

17Es gibt zwei Versionen, gemeint ist Spearmans „Footrule“-Distanz.

18Die Distanzen werden immer nur zwischen den 63 Mannschaften gemessen, die sowohl im FIVB-Ranking als auch in den Daten für das Eigenvektorranking vorhanden sind.

Die maximal mögliche Anzahl Inversionen ist 632

= 1953.

2.4. Vergleichsmöglichkeiten von Ranglisten 18 2.4.3 Weitere Distanz-Metriken

2.12 Def inition (Chebyshev-Distanz)

Die absolute maximale Differenz für alle Teams zwischen zwei Ranglisten

C(π1, π2) = max{|π1(ui)−π2(ui)|,1≤i≤n}

wird Chebyshev-Distanz, oder auch Maximum-Distanzgenannt.

Die letzte Metrik ist vor allem aus der Informationstheorie bekannt.

2.13 Def inition (Hamming-Distanz)

Die Hamming-Distanzist die Anzahl der Nicht-Übereinstimmungen zwischen zwei Ranglisten.

H(π1, π2) =

n

X

i=1

xi

mit

xi =

(0 falls π1(ui) =π2(ui) 1 sonst

Es gibt eine Reihe weiterer Distanz-Metriken, die aber für Ranglistenvergleiche weniger sinnvoll erscheinen. Im folgenden Kapitel werde ich die Ranglisten meist anhand den ersten beiden Metriken vergleichen und dort, wo es mir sinnvoll erscheint, die Ranglisten mit Hilfe der restlichen Distanz-Maße untersuchen.

3 Eigenvektorranking

3.1 Ziele

Die Idee für ein neues Ranglistenmodell liegt darin, dass in die Bewertung der Mannschaften in der Weltrangliste nicht mehr nur deren reinen Spielergebnisse (gewonnene Spiele und Sätze) und der Zeitpunkt der Spiele einfließen, wie es bisher geschieht. Es soll vielmehr eine ausgewogene Bewertung der einzelnen Spiele stattfinden, bei der vor allem die Stärke der gegnerischen Mannschaft einen Einfluss hat. Mögliche Kriterien, die Einfluss finden sind:

• die Stärke des Gegners,

• die Differenz aus den gewonnenen Sätze beider Mannschaften,

• die Art des Spiels (Freundschaft, Turnier, Ligaspiel),

• bei welchem Turnier das Spiel stattfand,

• von welchem Kontinent die gegnerische Mannschaft stammt,

• zu welchem Zeitpunkt das Spiel stattfand,

• und ob eine Mannschaft einen Heimvorteil hatte.

Das Ziel soll sein, eine ausgewogene Bewertung der wirklichen „Leistung“ einer Mannschaft während eines Spiel zu finden, und nicht mehr nur das reine Ergebnis zu werten. Verliert eine starke Mannschaft bei einem Freundschaftsspiel gegen eine Mannschaft, die im Normalfall unterlegen wäre, dann liegt dies eventuell daran, dass sich die Spieler schonen wollten für ein wichtiges Spiel. Dieser Hintergrund muss untersucht werden, und Freundschaftsspiele sollten in der Bewertung eventu-ell einen geringeren Einfluss haben als beispielsweise ein Weltmeisterschaftsspiel.

3.2 Grundlage

Beim Eigenvektorranking werden, ähnlich der PageRank-Methode, die Stärken der Mannschaften während der Berechnung bestimmt. Im Vorfeld wird dabei für

19

3.2. Grundlage 20

jedes Spiel beiden Mannschaften ein „Score“ für dieses Spiel zugeteilt. Der Score sollte außer von dem eigentlichen Ergebnis auch von den im ersten Abschnitt genannten Punkten abhängen. Der Ausgangspunkt für den Score ist die Anzahl gewonnener Sätze bei dem Spiel.1 Diese Punkte (im Bereich von0−3) werden nun gewichtet mit den eingangs erwähnten Rahmen-Faktoren. Fand das Spiel während einer Weltmeisterschaft statt, so werden die Punkte proportional erhöht, z. B. durch Multiplikation mit einem Faktor 1.5. Zwei gewonnene Sätze bei einer Weltmeisterschaft sind dann soviel Wert wie drei gewonnene Sätze bei einem

„normalen“ Spiel (Wertungsfaktor 1.0). Auch die anderen Kriterien finden in Form von Wertungsfaktoren Einfluss in die Berechnung des Scores für ein Spiel.

Der Score für eine Mannschafti bei einem Spiel ergibt sich dann also aus ai =wi ·f1·f2·. . .·fn

wobei wi die Anzahl der gewonnen Sätze ist (die Gewichtung, weighting) und f1 bisfn die Einflussfaktoren für die genannten Kriterien.

Die bisherigen Überlegungen entsprechen weiterhin dem Graph-Modell für Vol-leyballspiele. Die Knoten repräsentieren wie bisher die Mannschaften und die Spiele zwischen ihnen werden durch gewichtete Kanten repräsentiert. Dabei gibt es für jedes Spiel eine gerichtete Kante vom Verlierer des Spiels zum Gewinner.

Gewichtet werden die Kanten mit den Faktoren und der Anzahl gewonnener Sätze (bzw. Punkte). Da es durchaus mehrere Spiele zwischen je zwei Mannschaften geben kann, handelt es sich um einen Multigraph.

Sei A∈ Rn×n eine Adjazenzmatrix des Multigraphen, und der Einträge aij die Summe der Spiel-Gewichtungen für Mannschafti gegen Mannschaft j. Hier muss entschieden werden, auf welche Art die Gewichtungen der einzelnen Kanten aufsummiert werden. Dazu gibt es mehrere Möglichkeiten, die ich später analy-sieren werde. Weiterhin seir der gesuchte Ranking-Vektor mit den Stärken der Mannschaften, mit positiven Wertenrj für die Stärke der j-ten Mannschaft.

Der Gesamtscore einer Mannschaft i sei dann definiert durch si = 1

wobeiN die Anzahl aller Mannschaften und ni die Anzahl der Spiele von Mann-schafti ist. [Kee93]

Die Division mitni sorgt für eine Harmonisierung von Mannschaften mit unter-schiedlicher Anzahl an Spielen – ohne diese Vorkehrung könnte eine Mannschaft

1Andere Varianten sind allerdings ebenso möglich, beispielsweise die Punktdifferenz zwischen beiden Mannschaften am Ende des Spiels.

3.2. Grundlage 21

allein durch eine Vielzahl an Spielen eine große Punktzahl erreichen. Die obige Formel kann nun in Matrixform gebracht werden mit

s=Ar

wobeis der Vektor mit den Scores der Mannschaften als Einträge ist. Keener geht nun davon aus, dass die Stärke einer Mannschaft proportional zu ihrem erreichten Score sein sollte, dass heißt

s=λr bzw.

Ar=λr

Also ist der gesuchte Rankingvektor r ein Eigenvektor der Matrix A.

3.1 Def inition

SeiM eine quadratische Matrix der Dimension n, und x∈ Rn ein Vektor, und gilt für sie

M x=λx

mitλ ∈R,x6= 0, so heißtxEigenvektorvonM zumEigenwertλ. Man nennt (λ, x)auch Eigenpaar von M.

3.2 Satz (Perron-Frobenius-Theorem)

Ist die Matrix Aeine Matrix mit reellwertigen, nicht-negativen Einträge und ist sie weiterhin irreduzibel, so gibt es einen positiven Eigenvektor r zum größten Eigenwert (als Absolutwert) λ von A.

Der Beweis des Perron-Frobenius-Theorems ist im Anhang von [Kee93] zu finden, und soll hier nicht wiedergegeben werden.

Eine MatrixM ∈Rn×n ist reduzierbar (reduzibel), wenn es eine Permutation der Koordinaten der Matrix gibt, so dass

P0M P = M11 M12 0 M22

wobeiP ∈Rn×neine Permutationsmatrix2ist,M11∈Rr×rundM22 ∈R(n−r)×(n−r). Gibt es keine solche Permutation vonM, so ist die Matrix irreduzibel.

Die Matrix mit unseren Volleyballspielen als Einträgen ist dann irreduzibel, wenn es keine Zerlegung der Mannschaften in zwei disjunkte Teilmengen S und T gibt, so dass kein Team aus S gegen irgendein Team aus T spielt, oder jedes Spiel

2Jede Zeile und Spalte haben genau einen Eintrag mit 1, der Rest ist0

3.2. Grundlage 22

zwischen einer Mannschaft aus S und einer aus T von der Mannschaft aus S gewonnen wurde (S. 7).

Daher wird im Algorithmus zur Berechnung des Eigenvektors nach dem Eintragen der Gewichtungen die Matrix auf0-Werte durchsucht, und entsprechende Einträge durch eine minimale Gewichtung > 0 ersetzt. Versuche mit n1 und n1 ·min

i,j aij wurden unternommen.

Da die direkte Berechnung eines Eigenvektors bei einer so großen Matrix (Di-mension: Anzahl aller Mannschaften) nicht trivial ist, wird eine Potenziteration auf die MatrixA angewendet. Bei einer Potenziteration über eine Matrix A wird ein beliebiger3 Ausgangsvektorq(0) mit der Matrix A multipliziert. Anschließend wird der erhaltene Vektor (als q(1) bezeichnet) mit seiner Länge normiert, und abermals mit der Matrix multipliziert. Dieses Vorgehen wird iteriert, bis schließlich der Vektor gegen den Eigenvektor zum größten absoluten Eigenwert der Matrix A konvergiert. Man erhält also nach k Schritten eine Approximation q(k) des Eigenvektors zum größten Eigenwert der Matrix A.

Es gilt:

n→∞lim Anr0

|Anr0| =r

für einen beliebigen nicht-negativen Ausgangsvektorr0.

Durch iterative Matrixmultiplikation vonAmitr(x)(wobeir(x) dasx-te Zwischen-ergebnis ist), tangiert das Ergebnis gegen den gesuchten Eigenvektor, welcher die Stärken der Mannschaften enthält.

Als Abbruchbedingung könnte man die Differenz des Eigenvektors zwischen zwei Iterationsschritten wählen, und bei Unterschreitung einer vorgegebenen Schranke den Vorgang beenden. Allerdings kann es bei diesem Vorgehen zu einem Abbruch in einem lokalen Differenzminimum kommen, welches möglicherweise weit entfernt vom globalen Minimum liegt. Eine bessere Vorgehensweise ist die Differenzbe-rechnung zwischen dem aktuell berechneten Eigenvektor und dem Produkt aus vorherigem Eigenvektor und Eigenwert der Matrix. Für den Eigenvektorr zum Eigenwert λ muss gelten Ar=λr, und damit ergibt sich für den Eigenwert:

λ= rTAr rTr

Weiterhin gilt zum Zeitpunktt+ 1:r(t+1)= Ar(t)und damitr(t+1) =λr(t). Berech-net man nun die Länge des Differenzvektors zwischenr(t+1) undλr(t), so erhält

3mit gleicher Dimension wie die Breite der Matrix, z.B.q(0)=1n

3.3. Implementation 23

man den absoluten Fehler zu einem Zeitpunkt t+ 1, und kann abbrechen, sobald dieser unter eine vorgegebene Schrankeεfällt. Somit lautet die Abbruchbedingung:

kr(t+1)−λr(t)k< ε

Der nach dem Ende der Iteration erhaltene Eigenvektorrwird in die Weltrangliste umgesetzt, indem die Einträge des Vektors sortiert und nummeriert werden.

3.3 Def inition (Rangfolge)

Eine Rangfolge ist eine Funktionπ:V → {1. . . n}, die den Elementen der Menge V ={v1. . . vn} jeweils einen Index (Rang) zuweist.

Wird ein Rang mehrmals vergeben (bei gleich hohen Einträgen im Eigenvektor), so wird die entsprechende Anzahl Folgeränge nicht besetzt.

Der genaue Algorithmus, wie ich ihn in Java4 implementiert habe, ist im Anhang im Abschnitt 5.7 beschrieben.

3.3 Implementation

Der Algorithmus zur Berechnung des Eigenvektorrankings wurde in JavaR (http:

//java.sun.com) als Modul für Visone 2 (http://www.visone.info) erstellt.

Das Programm Visone 2 zur Netzwerkanalyse basiert auf dem Graphenpaket yFiles der Firma yWorks (http://www.yworks.com).

Im Listing 5.1 im Anhang (Seite 56) ist der Ausschnitt aus dem Sourcecode gegeben, in dem die Gewichtungen und der Eigenvektor berechnet werden.

Nach der Überprüfung am Anfang, ob überhaupt genügend Knoten im Graph vorhanden sind (Zeile 29), beginnt der Algorithmus mit der Initialisierung der Matrix (Zeilen34–37). Danach wird über alle Kanten im Graph iteriert (ab Zeile 43). In den Zeilen51–55wird die Anzahl der gewonnenen Sätze für die Heim- und Auswärtsmannschaft, und für den Gewinner und Verlierer bestimmt. Diese dienen als Score und Ausgangsbasis für die Gewichtungen, die im Anschluss erfolgen.5 Bei aktivierter Turniergewichtung erfolgt diese in den Zeilen 69-77, dabei wird zuerst das zugehörige Turnier bestimmt und für dieses der Gewichtungsfaktor mit

4JavaR ist eine Marke der Firma Sun,http://java.sun.com

5An dieser Stelle wurden Variationen vorgenommen und getestet, die hier nicht alle im Quellcode aufgeführt sind.

3.3. Implementation 24

dem bisherigen Score multipliziert, welcher bis zu diesem Zeitpunkt nur aus der gewonnenen Satzanzahl bestand.

Auf ähnliche Art wird danach in den Zeilen 79–100 die zeitliche Gewichtung vorgenommen. Hier wird vom Basisjahr ausgegangen (aktuelles Jahr der Berech-nungen – keine zeitliche Abwertung der Spiele) und das Alter eines Spiels (in Jahren) bestimmt. Je nach aktivierter Form der zeitlichen Abwertung der Spiele wird dieses Alter geometrisch, linear oder nach fest vorgegebenen Gewichtungs-faktoren in den aktuellen Score einbezogen.

Falls eines der Teams einen Heimvorteil besaß6, so wird diese der Score damit gewichtet (Zeilen102–109).

Als letzter Faktor7 erfolgt nun noch die Kontinentalgewichtung in den Zeilen 112–

126. Nach der Bestimmung der Kontinente für beide Mannschaften wird der Score beider Mannschaften mit dem Kontinentalfaktor der jeweils anderen Mannschaft multipliziert. Wurde ausgewählt, dass in Anlehnung an das FIFA-Ranking8 eine Mittelbildung der Kontinentalgewichtungen erfolgen soll, so wird dies statt der getrennten Gewichtung vorgenommen. Der Score, den Teami für das Spiel gegen Team j erhalten hat, wird nun zu dem ggf. bereits eingetragenen Wert in Aij addiert, und umgekehrt entsprechend für Mannschaftj.9

Damit endet die Iteration über alle Kanten in Zeile 136. In den Zeilen 139–145 wird dafür gesorgt, dass die Matrix irreduzibel ist (siehe Seite 3.2), indem alle noch vorhandenen Einträge mit dem Wert0 durch einen Minimaleintrag ersetzt werden. Die Potenziteration der Matrix erfolgt in den Zeilen168–182. Es wird solange iteriert, bis der Fehler der Berechnung unter die gewünschte Schwelle fällt, und am Ende jedes Iterationsschrittes der Rankingvektor normalisiert mit seiner Länge.

Zuletzt werden die errechneten Werte in einer NodeMap (ai_weighting) gespei-chert, und so im Analyse-Tool vonVisone 2 zur Verfügung gestellt. Dort können die errechneten Werte weiter analysiert und Layouts für den Graph basierend auf dem Eigenvektorranking generiert werden.

Die Daten über den Graph, die Resultate der Spiele und sämtliche

Zentralitäts-6Dies wurde ggf. direkt in den Daten der Spiele markiert

7Siehe Fußnote 5.

8FIFA-Ranking: http://www.fifa.com/de/mens/statistics/rank/procedures/

(Abschnitt 3.5)

9Siehe Fußnote 5.

3.3. Implementation 25

werte werden als GraphML-Datei10 abgespeichert, und können durch das damit verwendete XML-Format von zahlreichen weiteren Programmen geöffnet und bearbeitet werden. Ein kurzes Beispiel einer solchen Datei ist im Anhang auf Seite 58 aufgeführt.

Mit Hilfe eines Perl-Skripts wurden die Zentralitätswerte schließlich aus den GraphML-Dateien extrahiert und konnten so tabellarisch aufbereitet und weiter untersucht werden.

Für die Abbildungen der Graphen in dieser Arbeit wurden die Dateien im Vektor-format SVG11 abgespeichert und mit geeigneten Programmen schließlich in eine PDF-Datei umgewandelt.

10http://graphml.graphdrawing.org/

11http://www.w3.org/TR/SVG/