case study data mining - ghent university€¦ · case study data mining: voorspellen van...
TRANSCRIPT
CASE STUDY DATA MINING: VOORSPELLEN VAN TENNISUITSLAGEN MET BEHULP VAN
PREDICTIVE MODELLING
Aantal woorden: 19 577
Dennis Guldemont Stamnummer : 01306652
Frederik Verstraeten Stamnummer : 01301451
Promotor: Prof Els Clarysse
Masterproef voorgedragen tot het bekomen van de graad van:
Master of Science in de Handelswetenschappen
Academiejaar: 2017 – 2018
CASE STUDY DATA MINING: VOORSPELLEN VAN TENNISUITSLAGEN MET BEHULP VAN
PREDICTIVE MODELLING
Aantal woorden: 19 577
Dennis Guldemont Stamnummer : 01306652
Frederik Verstraeten Stamnummer : 01301451
Promotor: Prof Els Clarysse
Masterproef voorgedragen tot het bekomen van de graad van:
Master of Science in de Handelswetenschappen
Academiejaar: 2017 – 2018
VERTROUWELIJKHEIDSCLAUSULE
PERMISSION
Ondergetekenden verklaren dat de inhoud van deze masterproef mag geraadpleegd en/of
gereproduceerd worden, mits bronvermelding.
Naam studenten: Dennis Guldemont & Frederik Verstraeten
I
Woord vooraf
Sinds onze jeugd zijn we beiden sterk geïnteresseerd in tal van sporten zoals voetbal, tennis,
zwemmen en wielrennen. De combinatie van enerzijds het beoefenen van deze sporten en
anderzijds het kijken van vele van deze sportwedstrijden, heeft ons door de jaren heen een
inzicht verschaft in deze sporten. Deze kennis en inzichten die we samen vergaard hebben,
in combinatie met kennis uit wetenschappelijke onderzoeken van anderen, gebruiken we in
deze masterproef om tenniswedstrijden te gaan voorspellen.
Deze duomasterproef werd geschreven in het kader van de opleiding Master of Science in de
Handelswetenschappen met afstudeerrichting Management & Informatica aan de Universiteit
Gent.
Voor de totstandkoming van deze masterproef willen we graag onze promoter, Els Clarysse,
bedanken voor haar steun en professionele begeleiding doorheen het jaar.
Daarnaast willen we ook graag onze familie, vrienden en medestudenten bedanken voor hun
steun tijdens onze studies.
Dennis Guldemont & Frederik Verstraeten
Gent
Juni 2018
II
Abstract
In dit onderzoek wordt getracht om tenniswedstrijden te voorspellen m.b.v. predictive
modelling. Predictive modelling wordt als datamining techniek in dit onderzoek gehanteerd om
voorspellingen te maken op nieuwe tenniswedstrijden. In deze masterproef streven we ernaar
om een zo accuraat mogelijk model op te bouwen dat tenniswedstrijden correct kan
voorspellen.
Enerzijds werd de bestaande dataset aangevuld met recente gegevens van tenniswedstrijden,
waardoor het model in staat wordt gesteld om voorspellingen te kunnen maken op actuele
wedstrijden. Anderzijds werd de bestaande dataset verrijkt met tal van nieuwe attributen
(features of kenmerken) die betrekking hebben op de tennisspelers. Dit alles stelt het model
in staat om meer accurate predicties te kunnen maken op tenniswedstrijden.
Op het einde van dit onderzoek wordt het model geëvalueerd door de voorspelde uitslagen
van tennistornooien af te toetsen met de werkelijke resultaten. De accuraatheid van het correct
voorspellen van tenniswedstrijden op basis van de ATP-rankschikking wordt als baseline
predictor gebruikt. De gebouwde modellen scoren in deze dissertatie 6% hoger dan de
baseline predictor bij het voorspellen van tennistornooien. Uit dit onderzoek blijkt dat deze
modellen zich het best lenen voor het voorspellen van Grandslam tornooien.
De opbouw van de modellen wordt ondersteund met literatuur, die betrekking heeft op het
onderzoeksdomein van datamining. Voor het uitwerken van deze datamining case study werd
gebruik gemaakt van het CRISP-DM model. Dit model diende als raamwerk doorheen deze
case study.
Keywords: Predictive modelling, Match prediction, Sports Data Mining, Machine Learning,
Classification
III
Inhoudsopgave
1 Inleiding ......................................................................................................................... 1
2 Literatuuronderzoek ....................................................................................................... 3
2.1 Wat is datamining ................................................................................................... 3
2.2 Sports datamining ................................................................................................... 4
2.3 Datamining in de tennissport ................................................................................... 5
2.4 Sports betting .......................................................................................................... 7
3 Methodologie ................................................................................................................. 9
3.1 CRISP-DM .............................................................................................................. 9
3.1.1 De zes fases .................................................................................................. 10
4 Toepassing case study ................................................................................................ 14
4.1 Business understanding ........................................................................................ 15
4.1.1 Datamining probleem ..................................................................................... 15
4.2 Data understanding ............................................................................................... 16
4.2.1 Bestaande attributen ...................................................................................... 17
4.2.2 Toegevoegde attributen ................................................................................. 17
4.2.3 Data verkenning ............................................................................................. 18
4.3 Data preparation ................................................................................................... 22
4.3.1 Voorbereiding voor classificatie ..................................................................... 22
4.3.2 Datapreparatie in MS Excel ........................................................................... 23
4.3.3 Data cleaning ................................................................................................. 25
4.3.4 Feature selection ........................................................................................... 26
4.4 Modelling .............................................................................................................. 30
4.4.1 Datamining technieken .................................................................................. 30
4.4.2 Machine Learning Models .............................................................................. 30
4.4.3 Overfitting vermijden ...................................................................................... 35
4.4.4 Weka als datamining tool ............................................................................... 36
4.4.5 ML Classifiers ................................................................................................ 39
4.4.6 Constructie model in Weka ............................................................................ 42
IV
4.5 Evaluation ............................................................................................................. 43
4.5.1 Evaluatie metrieken ....................................................................................... 43
4.6 Deployment........................................................................................................... 45
4.6.1 Toepassing van het model ............................................................................. 45
5 Resultaten .................................................................................................................... 46
5.1 Baseline predictor ................................................................................................. 46
5.2 ATP-ranking in combinatie met extra attributen ..................................................... 47
5.3 Verkennende modellen ......................................................................................... 48
5.3.1 Prestaties ML Classifiers training set ............................................................. 48
5.3.2 Prestaties DecisionTable ............................................................................... 49
5.3.3 Prestaties LogitBoost ..................................................................................... 49
5.4 Feature selection door DecisionTable en LogitBoost ............................................ 51
5.5 Tornooi prestatie ................................................................................................... 51
5.5.1 Voorspelling Grandslam tornooien ................................................................. 52
5.5.2 Voorspelling Masters 1000 series .................................................................. 54
5.5.3 Voorspelde probabiliteiten.............................................................................. 57
5.6 Tornooi simulatie .................................................................................................. 58
6 Discussie ..................................................................................................................... 60
6.1 Bevindingen .......................................................................................................... 60
6.1.1 Grandslam vs. Masters 1000 series ............................................................... 60
6.1.2 Vergelijking tussen training set en deployment set ......................................... 61
6.1.3 Tornooi simulatie Australian Open ................................................................. 62
6.2 Vergelijking met andere literatuur .......................................................................... 62
6.2.1 Naam herkenning .......................................................................................... 62
6.2.2 Support Vector Machines (SVM) .................................................................... 63
6.2.3 Verschil tussen ATP-ranking van spelers ....................................................... 63
6.2.4 Bradley-Terry model ...................................................................................... 63
6.2.5 Review datamining technieken voor sportpredictie ........................................ 64
6.3 Limitaties .............................................................................................................. 65
V
7 Conclusie ..................................................................................................................... 66
7.1 Bevindingen .......................................................................................................... 66
7.2 Significantie onderzoek ......................................................................................... 66
7.3 Toekomstig onderzoek .......................................................................................... 66
8 Bibliografie ...................................................................................................................... I
9 Bijlage ........................................................................................................................... IV
9.1 Feature selection ................................................................................................... IV
9.1.1 Decision Table ................................................................................................ IV
9.1.2 LogitBoost ....................................................................................................... IV
9.2 Output Predicties .................................................................................................... V
9.2.1 Roland Garros – LogitBoost ............................................................................. V
9.2.2 Roland Garros – DecisionTable ..................................................................... VII
9.2.3 Wimbledon – LogitBoost ................................................................................. IX
9.2.4 Wimbledon – DecisionTable ........................................................................... XI
9.2.5 Miami Open – LogitBoost .............................................................................. XIII
9.2.6 Miami Open – DecisionTable ........................................................................ XV
9.2.7 Indian Wells – LogitBoost............................................................................ XVII
9.2.8 Indian Wells – DecisionTable ....................................................................... XIX
9.3 Tornooi simulatie ................................................................................................ XXI
9.3.1 Australian Open - DecisionTable .................................................................. XXI
VI
Lijst van gebruikte afkortingen
ANN Artificial Neural Network
ARFF Attribute-Relation File Format
ASCII American Standard Code for Information Interchange
ATP Association of Tennis Professionals
CRISP-DM Cross Industry Standard Process for Data Mining
CSV Comma-Separated Values
ITF International Tennis Federation
KDD Knowledge Discovery in Databases
ML Machine Learning
MS Microsoft
ROI Return On Investment
SVM Support Vector Machine
WEKA Waikato Environment for Knowledge Analysis
WTA Women's Tennis Association
VII
Lijst van figuren
Figuur 1: ATP-kalender voor de maand juni (Sporza, ATP-kalender, 2018) .......................... 6
Figuur 2: Het CRISP-DM datamining proces (Provost & Fawcett, 2013) ............................... 9
Figuur 3: De zes fases van een datamining proces (De Tré, 2017) ..................................... 10
Figuur 4: De stappen in datamining van records van sportwedstrijden (Zdravevski & Kulakov,
2010) .................................................................................................................................. 14
Figuur 5: Aantal tenniswedstrijden per tornooiserie ............................................................. 20
Figuur 6: Verdeling van het aantal ATP-wedstrijden door de jaren heen ............................. 20
Figuur 7: ATP-tenniswedstrijden volgens soort ondergrond ................................................ 21
Figuur 8: Verhouding tussen outdoor en indoor ATP-tenniswedstrijden .............................. 21
Figuur 9: Visualisatie van de klasse "Winnaar" (Target variabele) ....................................... 22
Figuur 10: Correlatie van elk attribuut met de klasse "Winnaar" .......................................... 27
Figuur 11: Het multidisciplinaire karakter van datamining (Dean, 2014) .............................. 30
Figuur 12: Machine Learning high level overview (Bunker & Thabtah, 2017) ...................... 31
Figuur 13: Een fitting grafiek met sweet spot (Provost & Fawcett, 2013) ............................. 36
Figuur 14: Modulair ontwerp van een systeem voor het voorspellen van uitslagen (Zdravevski
& Kulakov, 2010) ................................................................................................................. 38
Figuur 15: De verschillende classifiers per Machine Learning techniek (MathWorks, 2018) 39
Figuur 16: Voorbeeld van een beslissingsboom .................................................................. 40
Figuur 17: Logistische functie 𝛼(𝑡) (Sipko, 2015) ................................................................ 41
Figuur 18: Top tien ATP-ranglijst juli 2018 (Sporza, ATP-ranglijst, 2018) ............................ 47
Figuur 19: Leercurve via error rate voor LogitBoost en DecisionTable ................................ 50
Figuur 20: Leercurve via accuraatheid voor LogitBoost en DecisionTable ........................... 50
Figuur 21: Gemiddelde voorspelde probabiliteiten op deployment sets ............................... 57
Figuur 22: Correct voorspelde spelers per ronde met DecisionTable .................................. 58
Figuur 23: Accuraatheid tornooiprestaties op training set .................................................... 61
Figuur 24: Accuraatheid tornooiprestaties op deployment set ............................................. 61
VIII
Lijst van tabellen
Tabel 1: Voorbeeld betting odds (Tennis-Data, 2018) ........................................................... 8
Tabel 2: Lijst van bestaande attributen ................................................................................ 17
Tabel 3: Geraadpleegde datasets ....................................................................................... 18
Tabel 4: Lijst van toegevoegde attributen ............................................................................ 18
Tabel 5: Men's Pro Tennis tornooien per categorie ............................................................. 19
Tabel 6: Voorbeeld van één gegevensrecord uit ML Tennis Dataset ................................... 29
Tabel 7: Confusion matrix ................................................................................................... 44
Tabel 8: Baseline predictie o.b.v. ATP-rankschikking .......................................................... 46
Tabel 9: Het toevoegen van attributen bij ATP-ranking (Logistic Regression ML Classifier) 47
Tabel 10: Verkennende predictie o.b.v. attributen met ML Tennis Dataset .......................... 48
Tabel 11: Confusion matrix met DecisionTable op de volledige training ML Tennis Dataset 49
Tabel 12: Confusion matrix met LogitBoost op de volledige training ML Tennis Dataset ..... 49
Tabel 13: Voorbeeld van een voorspelling op deployment set (ML Classifier: LogitBoost) .. 52
Tabel 14: Accuraatheid op Roland Garros 2018 .................................................................. 52
Tabel 15: Accuraatheid op Wimbledon 2018 ....................................................................... 53
Tabel 16: Accuraatheid op Miami Open 2018 ..................................................................... 55
Tabel 17: Accuraatheid op Indian Wells 2018 ..................................................................... 56
1
1 Inleiding
Het doel van dit onderzoek is om tenniswedstrijden te kunnen voorspellen m.b.v. datamining
technieken. Hierbij wil men een zo accuraat mogelijk model bouwen dat in staat is om
tenniswedstrijden correct te voorspellen. De vorm van datamining die hier gebruikt zal worden
is predictive modelling. Via een voorspellend model trachten we een zo hoog mogelijke
accuraatheid na te streven, die hoger ligt dan de baseline predictor. A.d.h.v. een case study,
die gevoed wordt door een dataset, wordt deze vorm van datamining toegepast op een
praktijkgerichte case. De resultaten die door het model voorspeld worden, zullen in een latere
fase van het onderzoek geëvalueerd worden met de werkelijke tennisuitslagen. Voor het
bouwen van een voorspellend model maakt men gebruik van een dataset met historische
gegevens van ATP-tenniswedstrijden bij mannen van de voorbije seizoenen.
Tennis behoort zonder enige twijfel tot één van de meest populaire sporten ter wereld. De
Association of Tennis Professionals, of kortweg ATP, is de organisatie achter meer dan 60
professionele wedstrijden. Deze wedstrijden vinden jaarlijks plaats in meer dan 30
verschillende landen en zijn steeds voorzien van een groot aantal toeschouwers. De groei in
de populariteit van deze mondiale sport, gecombineerd met de expansie in de online sports
betting markt, heeft de laatste jaren geleid tot een grote stijging in het volume van
tennisweddenschappen. De potentiële winst, alsook de wetenschappelijke interesse hebben
de zoektocht naar accurate voorspellingsmodellen voor tenniswedstrijden mee gevoed (Sipko,
2015).
Eén van de gebieden waar er dus een grote noodzaak is om gegevens met een goede graad
van accuraatheid te kunnen voorspellen, is het domein van de sport. Het voorspellen van
sportwedstrijden is een belangrijk aspect geworden (Bunker & Thabtah, 2017). In vele
sportwedstrijden zijn toeschouwers en supporters geïnteresseerd in het voorspellen van de
resultaten en in het bekijken van deze wedstrijden om hun voorspellingen te verifiëren (Leung
& Joseph, 2014). Dit is te wijten aan het grote monetaire belang van het wedden op
sportwedstrijden, of het zogenaamde sports betting (Bunker & Thabtah, 2017).
Het raamwerk dat doorheen het onderzoek wordt gehanteerd is het CRISP-DM model. Deze
methodologie wordt vaak gebruikt om datamining projecten in goede banen te leiden. Het
CRISP-DM model stelt ons in staat om alle stappen van een datamining project grondig te
doorlopen. Het model is cyclisch en iteratief, dus de verschillende stappen hebben een
repetitief karakter. Het model is een proces dat meerdere cycli kent en tijdens elke iteratie
wordt getracht om het model te optimaliseren.
2
Deze masterproef is opgedeeld in verschillende secties. Eerst wordt in een literatuurstudie het
begrip datamining gedefinieerd. Vervolgens wordt het gebruik van datamining in de sport en
in de tennissport beschreven. Bovendien wordt ook het domein van sports betting
gedefinieerd. In de volgende sectie wordt de methodologie beschreven, die gebruikt wordt
voor deze datamining case study. Het raamwerk dat gebruikt wordt is het CRISP-DM model,
dit staat voor Cross Industry Standard Process for Data Mining. Hierbij worden alle stappen
van dit proces model doorlopen en uitgevoerd.
In de sectie hierop volgend wordt deze methodologie toegepast op de case study. In deze
sectie worden in de modelling fase de concepten en technieken binnen het domein van
datamining telkens beschreven a.d.h.v. de literatuur. Verder worden de concepten en
technieken ook daadwerkelijk toegepast. Vervolgens worden de resultaten van het predictief
model weergegeven en vergeleken met andere modellen uit de literatuur. Ten slotte volgt een
discussie en conclusie sectie.
3
2 Literatuuronderzoek
2.1 Wat is datamining
Datamining is het proces van het ontdekken van patronen en het vergaren van interessante
kennis uit grote hoeveelheden data (Han, Kamber, & Pei, 2012). Datamining dient gekaderd
te worden binnen twee andere begrippen namelijk Big Data en Data Science. Big Data slaat
in essentie op datasets die te groot zijn voor traditionele data verwerkingssystemen. Daarom
zijn nieuwe verwerkingstechnologieën nodig. Onder deze nieuwe verwerkingssystemen vallen
ook datamining technieken. Deze nieuwe verwerkingsmethoden vertonen analogie met de
opgang van web 1.0 waar bedrijven gebruik begonnen te maken van internet technologieën.
Op het vlak van Big Data kunnen we stellen dat we momenteel in het tijdperk van Big Data
1.0 aanbeland zijn. Bedrijven zijn namelijk volop bezig met het opbouwen van capaciteit om
grote hoeveelheden data te kunnen verwerken. Eens men in staat zal zijn om massieve
hoeveelheden data op een flexibele manier te verwerken, zullen we uiteindelijk in de fase van
Big Data 2.0 aankomen. Het beschikken over grote hoeveelheden data is dus een eerste
vereiste om aan datamining te kunnen doen (Provost & Fawcett, 2013).
Datamining wordt vaak in één adem vermeld met de term Data Science. Deze laatste is de
overkoepelende term binnen het vakgebied. Data science is de mogelijkheid om bruikbare
kennis te halen uit data, welke als key strategic asset dient beschouwd te worden. Data en
data science zijn complementair. Het beste data science team kan slechts weinig waarde
voortbrengen zonder geschikte data. Indien men niet beschikt over een team van analisten
die bedreven zijn binnen het domein van data science, kan data vaak ook geen substantieel
voordeel bieden (Provost & Fawcett, 2013).
Data science is gerelateerd aan veel verschillende termen zoals Machine Learning (ML),
competitive intelligence, data analysis and modelling en knowledge extraction of Knowledge
Discovery in Databases (KDD). Al deze termen zijn analysetechnieken, welke kunnen dienen
tot het optimaliseren en voorspellen van data, maar ook de mogelijkheid hebben om data te
simuleren (Foreman, 2014). Voor deze dissertatie is de term Knowledge Discovery in
Databases (KDD) van het grootste belang. Het is namelijk de bedoeling om kennis, in dit geval
een de uitslag van een tenniswedstrijd, te gaan halen uit de verzamelde data. Hiervoor gaat
men dus via datamining kennis en inzichten trachten te verwerven uit sportgegevens.
4
2.2 Sports datamining
We leven in een wereld waar dagelijks enorme hoeveelheden gegevens worden verzameld.
Analyse van dergelijke gegevens is vandaag een belangrijke noodzaak geworden (Han,
Kamber, & Pei, 2012). Ook in tal van verschillende sportdomeinen zijn er zeer grote
hoeveelheden aan gegevens beschikbaar. Deze gegevens kunnen gaan over individuele
spelersprestaties, coaching- of managementbeslissingen, wedstrijd gerelateerde resultaten,
etc. De moeilijkheid ligt echter niet in hoe deze gegevens verzameld moeten worden, maar
wel in welke gegevens men dient te verzamelen en hoe men deze optimaal kan gebruiken.
Sportclubs en spelers hebben zo de mogelijkheid om een sportief concurrentieel voordeel te
behalen ten opzichte van hun collega's. Dit kan door de juiste methodes en technieken te
vinden om gegevens te begrijpen en deze om te zetten in bruikbare kennis (Schumaker,
Solieman, & Chen, 2010).
Vóór de komst van datamining vertrouwden sportclubs bijna uitsluitend op menselijke
expertise. Er werd aangenomen dat domeinexperts in de sport (zoals coaches, managers en
scouts) hun verzamelde gegevens effectief konden omzetten in bruikbare kennis. Door de
groei in de omvang van de verschillende soorten verzamelde gegevens, probeerden deze
organisaties meer praktische methoden te vinden om te begrijpen wat deze gegevens hen
konden bieden. Dit leidde eerst tot de toevoeging van interne statistici om betere
prestatiemetingen en betere criteria voor besluitvorming te creëren. De tweede stap was
echter om meer praktische methoden te vinden om waardevolle kennis te extraheren met
behulp van datamining technieken. Sportorganisaties zitten bovendien op een schat van
gegevens en hebben manieren nodig om deze te benutten (Schumaker, Solieman, & Chen,
2010).
Vervolgens is het ook voor managers en eigenaars van sportclubs van belang om te streven
naar classificatie modellen, die voorspellingen kunnen maken. Op deze manier kunnen zij
strategieën beter begrijpen en er nieuwe ontwikkelen om wedstrijden te winnen, teneinde
succesvol te zijn. Deze classificatie modellen zijn gebaseerd op tal van factoren die betrokken
zijn bij sportwedstrijden. Dit kan gaan over historische gegevens omtrent resultaten, prestatie-
indicatoren en informatie m.b.t. de tegenstander (Bunker & Thabtah, 2017).
De relatie tussen sportuitslagen en verschillende data-elementen wordt beïnvloed door
verschillende factoren. Factoren die een invloed hebben op deze resultaten zijn bijvoorbeeld
het type sport, de omgeving en de doelstellingen van spelers. Er zijn vele methodes
voorgesteld om deze resultaten te kunnen voorspellen op basis van de beschikbare data.
Toch is men op zoek naar meer betrouwbare methoden om voorspellingen te kunnen doen.
De meest recent ontwikkelde methode voor het maken van voorspellingen, evenwel de minst
5
gebruikte techniek, is het gebied van datamining. Hierbij haalt men voordeel uit de statistiek
voor het maken predicties en besluitvorming (Schumaker, Solieman, & Chen, 2010).
Vele mensen en onderzoekers hebben verschillende systemen ontwikkeld met als bedoeling
om zo goed mogelijk de winnaar van sportwedstrijden te kunnen voorspellen. Veel van deze
systemen worden dagelijks ontwikkeld om het probleem van het voorspellen het hoofd te
bieden. Hoewel veel van deze voorgestelde systemen enkele grote problemen kennen.
Enerzijds kunnen de ontwikkelaars van deze systemen beïnvloed worden door hun emoties.
Anderzijds werken systemen niet altijd correct met bepaalde datasets. Vandaar dat er een
steeds grotere aandacht ontstaat naar het correct en efficiënt gebruik van datamining
technieken voor het voorspellen van sportwedstrijden (Miljković, Gajić, Kovačević, & Konjović,
2010).
2.3 Datamining in de tennissport
Tennis is een internationale sport, die overal ter wereld gevolgd wordt. Dit komt door het feit
dat professionele tennisspelers ook een zeer diverse achtergrond hebben. De origine van
tennisspelers is bijna gelijk verdeeld over de verschillende continenten heen. Zo komen
tennisspelers uit landen van verschillende continenten zoals Noord-Amerika, Zuid-Amerika,
Europa en Azië (Cornman, Spellman, & Wright, 2017). Tennis is bovendien een individuele
sport, maar het kan ook dubbel gespeeld worden. Echter door het stijgende fysieke aspect in
de moderne tennissport, wordt het voor topspelers quasi onmogelijk om competitief te zijn in
beide onderdelen op tornooien doorheen het seizoen (Colin & Bechler, 2015).
Een speciale eigenschap van deze sport is dat de score sequentieel wordt verhoogd. Vanuit
een datamining oogpunt is dit geschikt voor het modelleren. De winnaar van een
tenniswedstrijd is de speler die de eerste twee sets wint. In het geval van een Grandslam
tornooi zijn evenwel drie sets nodig om een wedstrijd te winnen (Colin & Bechler, 2015). In
deze sport zijn veel verschillende variabelen die een tenniswedstrijd kenmerken. Zo wordt
tennis gespeeld op drie verschillende ondergronden zijnde: gravel, gras en hard courts. De
verschillende ondergronden lenen zich voor verschillende spelstrategieën. De sport wordt
zowel indoor als outdoor gespeeld, afhankelijk van het tornooi (Cornman, Spellman, & Wright,
2017).
In onderstaande figuur wordt de ATP-kalender voor mannen van de maand juni 2018
weergegeven. Hier is duidelijk zichtbaar dat de tornooien zich zeer snel op elkaar opvolgen.
Ook de overgang van het gravelseizoen, na het Franse Roland Garros Grandslam tornooi,
6
naar het grasseizoen wordt weergegeven. Als laatste, is ook het verschil in prijzengeld tussen
Grandslam tornooien en andere tornooien duidelijk zichtbaar.
Figuur 1: ATP-kalender voor de maand juni (Sporza, ATP-kalender, 2018)
Gegevens van ATP-tenniswedstrijden in het enkelspel zijn een zeer interessant uitgangspunt
om uitslagen van sportwedstrijden te voorspellen m.b.v. predictive modelling. Dit omwille van
verschillende redenen. Allereerst, elke tenniswedstrijd wordt gespeeld door uitsluitend twee
spelers. In tegenstelling tot andere sporten zoals voetbal, basketbal en rugby die in
teamverband worden gespeeld. Om deze reden is er dus geen analyse nodig van de
offensieve en defensieve sterktes van bepaalde opstellingen. Bovendien moet men ook geen
rekening houden met de mogelijke impact van bepaalde events zoals vervangingen en
uitsluitingen van spelers. Ten tweede, er is een grote hoeveelheid aan open source tennis
statistieken beschikbaar. Deze gegevens zijn dus veelal vrij beschikbaar via websites en
professionele instanties, zoals de Association of Professional Tennis. Dit vergemakkelijkt het
maken van modellen op basis van historische gegevens en het testen van deze modellen.
Ten derde, zijn er ook maar twee mogelijke uitkomsten in tenniswedstrijden. Een speler kan
nl. enkel winnen of verliezen. In andere sporten zijn andere mogelijke uitkomsten mogelijk. In
andere sporten zoals paardrijden en race sporten zijn numerieke uitslagen aan de orde. In het
voetbal is een gelijk spel dan weer mogelijk (Knottenbelt, Spanias, & Madurska, 2012).
In dit onderzoek zullen we niet instinctief te werk gaan voor het voorspellen van
tenniswedstrijden. Maar zullen we tennisuitslagen voorspellen m.b.v. datamining technieken.
Hierbij wordt een historische dataset, met tal van gegevens van ATP-tenniswedstrijden,
gebruikt als training set. Met deze training set wordt een model gebouwd dat voorspellingen
kan maken op een nieuwe dataset van tenniswedstrijden. Deze nieuwe dataset bevat alle
wedstrijdgegevens, behalve de uitslag van deze wedstrijd. De uitslag wordt in dit onderzoek
voorspeld door een model gesteund op predictive modelling.
7
Het voorspellen van uitslagen van sportwedstrijden bevindt zich in het domein van supervised
learning. De laatste kolom, die de target variabele weerspiegelt, is een nominale klasse. Het
voorspellen van tenniswedstrijden is eerder een classificatie probleem dan wel een regressie
probleem.
2.4 Sports betting
Al midden de jaren 80 vond in Europa een snelle groei plaats in het domein van sports betting.
Het duurde enige tijd vooraleer de gaming industrie voordeel ging halen uit dit segment van
weddenschappen. Sports betting omvat het gokken op voetbal, tennis, rugby, American
football, snooker, politieke verkiezingen, etc (Jackson, 1994).
Het voorspellen van de resultaten van sportwedstrijden is vandaag wereldwijd erg populair
geworden onder sportfans. Dit heeft er toe bijgedragen dat het gokken op sportwedstrijden
expansief gegroeid is. Voornamelijk voetbal- en basketbalfans gokken op wedstrijden.
Ondertussen wordt door gokkers ook geld ingezet op wedstrijden in tal van verschillende
sporten. Dit maakt dat het kunnen voorspellen van resultaten van sportwedstrijden een nieuwe
en interessante uitdaging is geworden (Miljković, Gajić, Kovačević, & Konjović, 2010).
Voorspellingsmodellen van sportwedstrijden worden vaak gebruikt in een bredere context,
dan enkel het onderwerp te zijn van een onderzoek op zich. De meest voorkomende
toepassing van dit soort modellen wordt toegepast voor het beoordelen van de efficiëntie van
de markten in de gokindustrie. Deze voorspellingsmodellen zijn pas lucratief wanneer men
positieve returns kan maken. Toch zijn de gevonden resultaten van deze
voorspellingsmodellen van sportwedstrijden zelden succesvol wanneer het om
winstgevendheid gaat. Dit kan het gevolg zijn van het feit dat succesvolle bookmakers en
gokkers niet geneigd zijn om hun predictiemodellen prijs te geven (McHale & Mortonb, 2011).
In deze case study is het bouwen van een zo accuraat mogelijk voorspellingsmodel wel het
onderwerp van het onderzoek op zich. De maatschappelijke relevantie van dit onderzoek is
gelinkt met de industrie van sportweddenschappen. Hoewel de link met het winnen van geld
via het gemaakte voorspellingsmodel in deze masterproef niet onderzocht wordt.
Sport is een wereldwijde industrie geworden, waar geld een belangrijke rol speelt. Spelers
verdienen grote salarissen, maar ook trainers, managers en eigenaars verdienen veel geld.
Het volume aan sportweddenschappen kent tegenwoordig ongeziene hoogtes in de sports
betting industrie. Gokkers voelen zich meer en meer vertrouwd met het online wedden op
sportwedstrijden vanwege de transparantie en de eerlijke gokpraktijken die worden
aangeboden. Vandaag is er de mogelijkheid om te gokken op tal van sporten. Hoewel er
sporten zijn waar veel meer op gewed wordt dan andere. Dit is afhankelijk van de algemene
populariteit van de sport en de regio waarin de sport zich afspeelt. Voetbal is mondiaal gezien
8
veruit de populairste sport, dus het hoeft dan ook niet te verbazen dat op deze sport het meest
wordt gewed. Dit komt vanwege de hoge inzet en het overvloedige geld in deze sport (van
Lier, 2018).
Sports betting is het snelst groeiende marktsegment binnen de wereldwijde markt van
weddenschappen. Het wedden op sportwedstrijden telde in 2014 al voor bijna 50 procent van
de totale online of interactieve markt van weddenschappen. Toen verliep het wedden op
sportwedstrijden al voor 20 procent mobiel, verwacht werd dat dit zou stijgen tot 45 procent in
2018 (SportsBusiness, 2015).
De groei in de populariteit van de tennissport in combinatie met de opkomst van het internet
heeft de financiële activiteit in deze sport sterk gestimuleerd. Dit zowel op het vlak van
traditionele weddenschappen of bookmaking en het volume in de bedragen van het moderne
wedden, m.n. online sports betting (Knottenbelt, Spanias, & Madurska, 2012).
Bookmakers die sportweddenschappen organiseren, maken gebruik van de zogenaamde
betting odds. Deze betting odds of quoteringen reflecteren de kans of de waarschijnlijkheid
dat een bepaalde gebeurtenis of event zal plaatsvinden. De potentiële winst die men kan
verkrijgen is het cijfer van de quotering, bij een inzet van 1 euro. Men vermenigvuldigt als het
ware het inzetbedrag met het cijfer van de quotering. In onderstaand tabel wordt een
voorbeeld gegeven over de werking ervan.
Quoteringen voor de finale van Wimbledon 2018:
Novak Djokovic Kevin Anderson
Bet365 1,16 5
Ladbrokes 1,2 4,5
Tabel 1: Voorbeeld betting odds (Tennis-Data, 2018)
Aan de quoteringen van deze wedstrijd is duidelijk te zien dat de bookmakers Djokovic veel
meer kans geven om te winnen. Indien men 100 euro zou inzetten op Djokovic als winnaar bij
Bet365 zou men slechts 116 euro kunnen terugkrijgen als return. Wanneer men bij dezelfde
bookmaker zou pronostikeren dat Anderson de wedstrijd zou winnen, zou men 500 euro
ontvangen bij eenzelfde inzet van 100 euro.
9
3 Methodologie
3.1 CRISP-DM
Het Cross Industry Standard Process for Data Mining, of kortweg CRISP-DM model, is een
open standaard proces model dat de meest gebruikelijke aanpak van datamining projecten
beschrijft. Het model is vrij beschikbaar en biedt ondersteuning om problemen op te lossen
voor de gebruikers ervan. Het is een succesvol model omdat het gebaseerd is op praktische
en levensechte ervaringen van mensen die datamining projecten uitvoeren (Chapman, et al.,
2000).
Onderstaand proces model voor datamining voorziet een overzicht van de levenscyclus van
een datamining project. Het bevat alle fases dat een datamining project moet doorlopen,
alsook de respectievelijke taken en relaties tussen deze verschillende taken. De levenscyclus
van een datamining project bestaat uit zes fases. De fases volgen elkaar niet op in strikte
volgorde. Het CRISP-DM model beschikt over een iteratief karakter waardoor het vereist is
om steeds heen en weer te schakelen tussen de verschillende fases. De buitenste cirkel van
het CRISP-DM symboliseert dit iteratieve karakter van het datamining proces. Hierbij is het
dus vereist om steeds cyclisch te werk te gaan. Zo worden vaak verschillende iteraties
uitgevoerd, teneinde het datamining model steeds te verbeteren. Hierdoor kan men stellen
dat het datamining proces niet beëindigd wordt wanneer de oplossing wordt geïmplementeerd
(Chapman, et al., 2000).
Figuur 2: Het CRISP-DM datamining proces (Provost & Fawcett, 2013)
10
Het CRISP-DM model wordt gebruikt als raamwerk gedurende het datamining proces. In dit
model is iteratie de regel, het proces blijft zich dus steeds herhalen. Het model bestaat uit 6
stappen en heeft een iteratief karakter. De zes stappen zijn: business understanding, data
understanding, data preparation, modelling, evaluation en deployment.
Voor deze case study werd het CRISP-DM model geselecteerd als raamwerk doorheen dit
datamining project. Dit model is populair en wordt vaak gebruikt als methodologie voor
datamining projecten binnen bedrijfsorganisaties. In een enquête van KD Nuggets in 2004
gaven meer dan 40% van de respondenten aan dat ze het CRISP-DM model gebruikten als
methodologie voor hun datamining projecten. Het model is ook gedetailleerder dan andere
methodologieën voor datamining. Het reikt ook uitgebreide richtlijnen aan bij de verschillende
taken die moeten uitgevoerd worden tijdens de verschillende fases van het project (Sharma
& Osei-Bryson, 2009).
3.1.1 De zes fases
Een datamining project kan pas succesvol zijn wanneer men een goede methodologie voor
handen heeft en men dit grondig voorbereidt. Zo dient er voldoende data ter beschikking te
zijn om zinvolle conclusies te kunnen trekken. Ook de kwaliteit van gegevens is sterk van
belang. Een goede kwaliteit van de data zorgt er namelijk voor dat deze op een goede en
correcte manier kunnen geïnterpreteerd worden. Een systematische aanpak, zoals de
methodologie van het CRISP-DM model het voorschrijft, kan hiervoor soelaas bieden. In
onderstaande figuur worden de zes fases van het CRISP-DM model nog eens op een andere
manier voorgesteld. Elke fase kan op zijn beurt op vier verschillende detailniveaus (algemeen
niveau, taakniveau, gespecialiseerd taakniveau en projectniveau) beschreven worden (De
Tré, 2017).
Figuur 3: De zes fases van een datamining proces (De Tré, 2017)
11
3.1.1.1 Business understanding
De fase van business understanding is de eerste fase binnen het CRISP-DM model.
Allereerst, is het van sterk belang om het business domein goed te begrijpen. Vervolgens zal
men nadenken hoe men het specifieke business probleem kan oplossen met datamining
technieken. Deze fase focust op het begrijpen van de doelstellingen van het datamining
project en op de vereisten van de business kant. Initieel is het belangrijk om in deze fase te
begrijpen welk probleem opgelost dient te worden. Vervolgens wordt deze kennis omgezet in
een definiëring van het datamining probleem en wordt er een voorbereidend plan opgesteld
om de doelstellingen te kunnen bereiken (Chapman, et al., 2000). In deze fase van het
begrijpen van de bedrijfsactiviteiten moet men nadenken over welke data men wil analyseren.
Hierbij wordt ook vastgelegd welke soort kennis, patronen of informatie men wil verkrijgen.
Vervolgens wordt ook overwogen welke databronnen, datasets of datawarehouses
beschikbaar zijn om antwoorden te zoeken op het datamining probleem. Men zal dan gaan
beoordelen of deze beschikbare databronnen volstaan. In deze fase bekijkt men ook welke
datamining software gebruikt kan worden voor het project. Als laatste wordt ook een eerste
versie van het projectplan opgemaakt (De Tré, 2017).
3.1.1.2 Data understanding
De tweede fase in het model is de fase van het begrijpen van de data. Hierbij start men met
de initiële gegevensverzameling. De data understanding fase gaat vervolgens verder met
activiteiten die de gebruiker in staat stellen om vertrouwd te raken met de gegevens en om
problemen met de gegevenskwaliteit te identificeren. Hier kunnen ook eerste inzichten in de
gegevens ontdekt worden, deze fase is dus een exploratie van de data. Bovendien kunnen
interessante subsets gedetecteerd worden om hypotheses te vormen met betrekking tot
verborgen informatie (Chapman, et al., 2000). Men bepaalt in deze fase over welk soort
datamining probleem dit gaat. Dit kan een supervised probleem of unsupervised probleem zijn
(Provost & Fawcett, 2013). In deze fase draait het dus om het begrijpen van de data en
verzamelt men ook data en metadata. Metadata zijn de gegevens die de karakteristieken van
bepaalde gegevens beschrijven, of anders gezegd de data over de data. Men wil ook inzicht
verkrijgen in de hoeveelheid beschikbare data en de kwaliteit van de data (De Tré, 2017). Met
de hoeveelheid data wordt het aantal rijen (records) en het aantal kolommen (attributen)
bedoeld.
3.1.1.3 Data preparation
De fase van data preparation, of het voorbereiden van de data, is de derde fase in het proces
model. Deze fase omvat alle activiteiten die nodig zijn om de finale dataset vorm te geven.
Eerst wordt vertrokken vanuit de oorspronkelijke dataset waarbij de data onbewerkt is, hier
12
spreekt men van raw data. De taken voor het voorbereiden van de data worden meestal
meerdere keren uitgevoerd in een niet voorgeschreven volgorde. Voorbeelden van deze taken
zijn tabel-, record- en attribuutselectie. Ook taken zoals de transformatie en de opschoning
van gegevens voor aanvang van gebruik in modelleertools (Chapman, et al., 2000). Andere
operaties die worden uitgevoerd gedurende deze fase zijn selectie, foutcontrole, foutcorrectie
en integratie. Tijdens deze fase wordt de data dus grondig voorbereid, zodat deze kan
ingeladen worden in de datamining software en in een later stadium wordt deze data dan
verwerkt (De Tré, 2017).
3.1.1.4 Modelling
In deze fase worden verschillende modelleringstechnieken geselecteerd en toegepast en de
parameters ervan worden gekalibreerd tot optimale waarden. Meestal zijn er verschillende
technieken voor hetzelfde type datamining probleem. Sommige technieken hebben dan weer
specifieke vereisten voor de vorm van gegevens. Daarom is het vaak nodig om terug te gaan
naar de fase van gegevensvoorbereiding (Chapman, et al., 2000). In de modelling fase
worden de effectieve operaties m.b.t. datamining dus effectief uitgevoerd. De datamining
technieken die men selecteert, worden in deze fase toegepast. In sommige gevallen is er
evenwel een combinatie van datamining technieken mogelijk (De Tré, 2017).
3.1.1.5 Evaluation
Tijdens deze fase in het datamining project heeft men één of meerdere modellen gebouwd
die van hoge kwaliteit zijn voor data analyse. Alvorens over te gaan tot de definitieve
implementatie van het model, is het van groot belang om de uitgevoerde stappen grondig te
evalueren en beoordelen. Dit gebeurt om na te gaan of het model de doelstellingen van het
project op een juiste manier heeft nagestreefd. Aan het einde van deze evaluatie fase moet
een besluit gevormd worden over het gebruik van de datamining resultaten (Chapman, et al.,
2000). Men zal in deze fase de resultaten van de datamining operaties evalueren en valideren.
De operaties werden evenwel in de voorgaande fase uitgevoerd. Toch bieden niet alle
resultaten een zinvol antwoord op het gestelde datamining probleem. Men moet deze
resultaten laten evalueren en valideren door de gebruikers, die vertrouwd zijn met de
bedrijfsactiviteiten. De uitgevoerde operaties en datamining technieken evalueert men in
functie van de doelstelling, die vooropgesteld werd in de eerste fase (De Tré, 2017).
3.1.1.6 Deployment.
In deze fase van deployment moet de verkregen kennis georganiseerd en gepresenteerd
worden op een manier dat deze gebruikt kan worden. Het presenteren van de resultaten kan
op verschillende manieren geschieden. Afhankelijk van de vereisten kan het voldoende zijn
13
om in deze fase een rapport te genereren, in meer complexe gevallen kan het gaan over een
herhaaldelijk datamining proces (Chapman, et al., 2000). Het is hierbij van groot belang om
de correcte visualisatie- en presentatietechnieken te hanteren. Op deze manier kunnen
beleidsmakers en beslissingsnemers de gevalideerde resultaten éénvoudig analyseren (De
Tré, 2017).
In elk proces waarbij men kennis wil ontdekken of datamining wil toepassen, moet de initiële
oorspronkelijke data dus tal van fases doorlopen. Deze fases, waarbij de data verwerkt wordt,
zijn nodig om te kunnen leiden tot bruikbare informatie. Het datamining proces van
sportgegevens wordt in de toepassing van de case study in detail weergegeven (Zdravevski
& Kulakov, 2010).
14
4 Toepassing case study
In deze sectie wordt het CRISP-DM model, dat in de vorige sectie uitvoerig werd beschreven,
toegepast op deze case study. De toepassing van deze zes fases, die onderdeel uitmaken
van het raamwerk, worden één voor één behandeld. Bovendien worden de uitgevoerde
stappen en taken, in deze sectie, uitgebreid beschreven. Ook tal van begrippen, methodes,
algoritmen, technieken, metrieken en concepten worden verduidelijkt en onderbouwd met
academisch wetenschappelijke literatuur.
Men moet eerst tal van stappen doorlopen om tot bruikbare kennis en inzichten te kunnen
komen. Onderstaande figuur geeft, naar analogie met het CRISP-DM model, op high level
niveau weer welke taken er uitgevoerd werden gedurende dit onderzoek. Deze figuur toont de
workflow van taken en activiteiten, die in deze datamining case study werden uitgevoerd. De
volgende taken zijn weergegeven: het vergaren van data, voorbereiden van data, attribuut-
selectie, selectie van gegevens voor training en evaluatie sets, modellering en model
evaluatie.
Figuur 4: De stappen in datamining van records van sportwedstrijden (Zdravevski & Kulakov, 2010)
Onze datasets worden verkregen via internetbronnen, vervolgens wordt deze ruwe data
voorbereid en verwerkt. Na het selecteren van de geschikte attributen, verkrijgt men
gespecialiseerde data die dan opgesplitst wordt in training data en evaluatie data. Daarna
wordt met deze training dataset een model gemaakt. Dit model wordt dan getest op de
evaluatie dataset. Uiteindelijk worden de resultaten van de training set en evaluatie set
weergegeven en visueel voorgesteld. Tot slot, kan men dan uit deze informatie kennis en
inzicht halen.
15
4.1 Business understanding
Het doel van dit onderzoek is om via een case study een antwoord te kunnen bieden op een
specifiek datamining probleem. Het gaat hier niet om een specifiek bedrijfsprobleem, maar
om een probleemstelling die geformuleerd werd voor academisch onderzoek.
Het datamining probleem dat zich in dit onderzoek stelt, betreft het voorspellen van uitslagen
van tenniswedstrijden via predictive modelling. Hierbij wordt de uitkomst van een
tenniswedstrijd voorspeld a.d.h.v. een historische dataset. Deze historische dataset bevat
gegevens die al dan niet voorspellend kunnen zijn voor de uitslag van tenniswedstrijden. De
probleemstelling die hier naar voor wordt geschoven bevindt zich in het domein van sports
data mining.
In dit onderzoek wordt getracht om tenniswedstrijden correct te voorspellen via het gebruik
van datamining technieken. Hierbij is het de bedoeling dat een datamining model, met een zo
hoog mogelijke accuraatheid, correct kan voorspellen welke tennisser een wedstrijd zal
winnen. Evenwel wordt hierbij geen exacte uitslag voorspeld. De predicties die gemaakt
worden zullen enkel de voorspelde winnaar aantonen.
Naast het bouwen van een predictief model, wil men in dit onderzoek ook een inzicht
verwerven in de voorspellende kenmerken van tennisuitslagen. Via datamining technieken wil
men kennis en inzichten bekomen in het voorspellen van tennisuitslagen. Vervolgens worden
de resultaten getoetst met de literatuur om mogelijke verklaringen te vinden.
4.1.1 Datamining probleem
Het voorspellen van tennisuitslagen is in deze case study een supervised probleem. Bij een
supervised datamining probleem is er een specifieke target variabele die men wil voorspellen.
In deze case study is de target variabele de “winnaar van een bepaalde wedstrijd”. Het gaat
hier meer specifiek om een classificatie probleem omdat men een nominale target variabele
wil voorspellen. Nominaal betekent dat de zogenaamde target variabele categorisch (vaak
binair) van aard is. In dit onderzoek wordt aan de target variabele een binaire waarde (0 of 1)
toegekend.
Doordat men in dit onderzoek een 0 of 1 gaat voorspellen, wordt dit dus beschouwd als
classification modelling. Bij classification modelling modelleert men de probabiliteit of kans dat
een 0 of een 1 zich zal voordoen, dit noemt men class probability estimation. Toegepast op
een datamining probleem geeft deze probabiliteit een waarde tussen 0,5 en 1. In deze case
wordt deze waarde toegekend aan de winnaar. Dit geeft de kans weer dat een bepaalde speler
de tenniswedstrijd zal winnen volgens het predictief model.
16
4.2 Data understanding
De Tennis ATP-dataset (Kaggle, ATP Tennis Dataset, 2017), is de dataset die dient als basis
voor het voorspellen van tenniswedstrijden m.b.v. predictive modelling. Deze dataset bevat
enkel gegevens van tenniswedstrijden bij mannen in het enkelspel. De dataset, die voor deze
masterproef gebruikt wordt, bevat tennisuitslagen van het jaar 2012 tot en met 2017. Deze
dataset werd verkregen via de website van Kaggle (kaggle.com).
Kaggle is een platform website die geschikt is voor het uitvoeren van data science projecten.
Het is meer bepaald een platform voor predictive modelling en analytische competities waarin
statistici en data miners concurreren om de beste modellen te bouwen voor het voorspellen
en beschrijven van datasets. Deze datasets worden geüpload door bedrijven en gebruikers.
In maart 2017 werd Kaggle overgenomen door Google en maakt het deel uit van het Google
Cloud-team (Wikipedia, 2018).
Kaggle heeft een zeer grote community, met meer dan 500.000 gebruikers is het hiermee de
grootste en meest diverse data community ter wereld. De gebruikers hebben veelal een
verschillende achtergrond in domeinen zoals computerwetenschappen, biologie en
geneeskunde. Kaggle organiseert ook wedstrijden m.b.t. datamining, deze trekken regelmatig
meer dan 1 000 teams en individuen aan. De Kaggle community bevat ook veel van 's werelds
bekendste onderzoekers, waaronder leden van het Jeopardy-winnende team van IBM Watson
en het team dat werkt aan Google's DeepMind. Veel van deze onderzoekers publiceren
papers in peer-reviewed tijdschriften op basis van hun prestaties in Kaggle competities
(Wikipedia, 2018).
Voor het opstellen van de ATP Tennis Dataset heeft de auteur beroep gedaan op gegevens
die raadpleegbaar zijn via tennis-data.co.uk (Tennis-Data, 2018). Deze dataset werd gebouwd
met het oog op het voorspellen van wedstrijden. Volgens de auteur was er een noodzaak om
een dataset bij te houden met ATP-tour gegevens voor het maken van prognoses en
voorspellingen op nieuwe wedstrijden.
Het portaal van tennis-data.co.uk voorziet tennisgegevens zoals resultaten, betting odds en
livescores van tenniswedstrijden. Dit portaal biedt historische gegevens aan, in CSV- en Excel
formaat, die meteen klaar zijn voor gebruik via de computer. Een CSV- bestand is een
kommagescheiden bestand en wordt gegenereerd via MS Excel. De raadpleegbare datasets
bevatten gegevens van de mannen ATP-tornooien en van de vrouwen WTA-tornooien. Deze
gegevens worden ter beschikking gesteld voor fans die gokken op tenniswedstrijden. Men
tracht deze te helpen bij het ontwikkelen van kwantitatieve tennis wedsystemen met het oog
op voorspellen van wedstrijden, alsook het genereren van winsten bij gokkers. Alle gegevens
zijn voor iedereen vrij toegankelijk en gratis te gebruiken (Tennis-Data, 2018).
17
4.2.1 Bestaande attributen
Onderstaande tabel bevat voornamelijk gegevens over de omstandigheden waarin de
wedstrijd plaatsvindt. Deze attributen geven geen informatie omtrent de kenmerken van
spelers, met uitzondering van de ATP-ranking van tennisspelers. Deze attributen beschikken
wellicht niet over voldoende voorspellende kracht om een predictief model mee te bouwen.
Volgende 13 attributen zijn reeds opgenomen in de bestaande ATP Tennis Dataset:
Naam attribuut Betekenis attribuut
ATP Nummer van het tornooi
Tournament Naam van het tornooi
Date Datum van de gespeelde wedstrijd
Series Tornooi type
Court Outdoor/indoor
Surface Ondergrond
Round Ronde van het tornooi
Best of Aantal gespeelde sets
Player1 Naam van speler 1
Player2 Naam van speler 2
Player1_Rank Rankschikking van speler 1
Player2_Rank Rankschikking van speler 2
Winner Naam van de winnaar
Tabel 2: Lijst van bestaande attributen
4.2.2 Toegevoegde attributen
De attributen die toegevoegd worden, hebben wel betrekking op eigenschappen van
tennisspelers. Bovendien zijn er ook attributen toegevoegd die informatie bieden omtrent de
prestaties van tennisspelers. Het gaat hier bijvoorbeeld om ratio’s en gemiddelden van
prestatie indexen, die voor elk jaar geannualiseerd (per annum) worden opgenomen in de
dataset.
18
In onderstaande tabel worden de geraadpleegde Excel datasets weergegeven.
Naam dataset (bron) URL Opzet
ATP Tennis Dataset (1)
https://www.kaggle.com/m3financial/atp-
tennis-data-from-201201-to-201707
Basis dataset
Association of Tennis
Professionals Matches (2)
https://www.kaggle.com/gmadevs/atp-
matches-dataset/version/2
Extra attributen
Tennis-Data (3) http://www.tennis-data.co.uk/alldata.php Data actualiseren
ATP Performance Zone (4) https://www.atpworldtour.com/en/perform
ance-zone/win-loss-index
Extra attributen
Ultimate Tennis Statistics (5) http://www.ultimatetennisstatistics.com/sta
tsLeaders
Extra attributen
Tabel 3: Geraadpleegde datasets
Uit bovenstaande tabel met bronnen worden de volgende attributen toegevoegd ter verrijking
van de bestaande dataset. Dit zijn de 11 toegevoegde attributen per speler:
Naam attribuut Betekenis attribuut Bron
Player_Hand Linkshandig of Rechtshandig 2
Player_Height Grootte van speler 2
Player_Origin Nationaliteit 2
Player_Age Leeftijd 2
Player_Career_Win_Loss% Ratio winst/verlies (volledige carrière) 4
Player_Game_Dominance Ratio return games won/service games lost
(jaargemiddelde)
5
Player_Opponent_ELO_Rating Getalsmatige aanduiding van de sterkte van een speler
(jaargemiddelde)
5
Player_AcesPerMatch Aantal aces per wedstrijd (jaargemiddelde) 5
Player_ServicePointsWon% Percentage service games gewonnen (jaargemiddelde) 5
Player_ReturnGamesWon% Percentage return games gewonnen (jaargemiddelde) 5
Player_MatchesWon% Percentage gewonnen matches (jaargemiddelde) 5
Tabel 4: Lijst van toegevoegde attributen
4.2.3 Data verkenning
Bij het verkennen van onze data worden de attributen van naderbij bekeken. Men tracht in
deze fase van het CRISP-DM model een inzicht te krijgen in de data. We bekijken hierbij alle
attributen, zo zien we welke waarden attributen kunnen aannemen. Deze attributen kunnen
m.n. numeriek en nominaal zijn. Er wordt een inkijk in de nieuwe opgestelde ML Tennis
Dataset verschaft via grafieken en diagrammen om zo de data te leren begrijpen en
beschrijven. We weten al dat de laatste variabele (kolom winnaar) van de dataset, de target
variabele is. Dit betreft de nominale klasse, die we willen voorspellen.
19
In onderstaande tabel worden alle attributen opgelijst die tot de volledige ML Tennis Dataset
behoren. Nu bevat deze ML Tennis Dataset 35 attributen. Deze attributen hebben zowel
betrekking op ATP-tenniswedstrijden als op individuele kenmerken van tennisspelers. Met
deze attributen wordt in de fase van modellering een predictief model gemaakt dat uitslagen
van tenniswedstrijden tracht te voorspellen. Deze attributen hebben een impact op de
resultaatbepaling, naargelang de information gain die ze opleveren.
Vandaag bestaan in het huidige mannelijke professionele tenniscircuit drie soorten
categorieën van tornooien: ATP World Tour, Grandslam en ITF events. Echter zit deze laatste
categorie niet vervat in onze dataset. In de dataset geeft het attribuut “Series” aan per record
over welke soort categorie van tornooien het gaat. Dit attribuut is een nominale variabele die
de volgende waarden kan bevatten: Grandslam, ATP Finals, Masters 1000, ATP 500, ATP
250. In onderstaande tabel wordt een overzicht weergegeven van de soorten tornooien per
categorie.
Men's pro tennis
ATP World Tour: Grandslam tornooien: ITF events:
Masters 1000 series Australian Open Davis Cup
500 series Roland Garros (French Open) Hopman Cup
250 series Wimbledon Olympische Spelen tennis
ATP Finals (Masters Cup)
US Open Grand Slam tornooien
Next Generation ATP Finals
Tabel 5: Men's Pro Tennis tornooien per categorie
In de ATP World Tour zijn jaarlijks 64 verschillende tornooien opgenomen, waarvan 9 ATP
Masters 1000 tornooien, 13 ATP 500 tornooien en 40 ATP 250 tornooien. Er is één ATP Finals
eindejaarstornooi voor de 8 beste tennissers van dat jaar. Er is ook nog één Next Generation
ATP Finals, dit is een eindejaarstornooi voor de 8 beste tennissers jonger dan 21 jaar van dat
jaar. Echter is dit laatste tornooi niet opgenomen in onze ML Tennis Dataset. Deze dataset
bevat alle historische gegevens van de ATP World Tour en de Grandslam tornooien. In
onderstaand staafdiagram zien we de verhouding tussen de hoeveelheden tornooien per
tornooiserie van de gespeelde tornooien tussen 2012 en 2018.
20
Figuur 5: Aantal tenniswedstrijden per tornooiserie
Via onderstaande grafiek ziet men hoeveel wedstrijden de historische ML Tennis Dataset
bevat per jaar. Deze grafiek geeft een overzicht van hoe de gegevensrecords verdeeld zijn
per jaar. In deze dataset zijn jaarlijks zo’n 64 à 67 tornooien opgenomen. Dit resulteert in meer
dan 2500 wedstrijden per jaar. In 2018 zien we dat de dataset beduidend minder
gegevensrecords bevat. Dit komt doordat de dataset enkel gegevens bevat van de eerste
zeven maanden van het jaar.
Figuur 6: Verdeling van het aantal ATP-wedstrijden door de jaren heen
In onderstaand cirkeldiagram ziet men de verdeling van het aantal wedstrijden die gespeeld
zijn per ondergrond. Dit diagram bevat alle gegevensrecords van de ML Tennis Dataset. Zo
zien we dat meer dan de helft (55 procent) van de tornooien gespeeld wordt op een hard court
0
1000
2000
3000
4000
5000
6000
7000
8000
ATP 250 ATP 500 Masters 1000 Masters Cup GrandSlam
Aanta
l w
edstr
ijden
Tornooiseries
Aantal tenniswedstrijden per tornooiserie
0
500
1000
1500
2000
2500
3000
2012 2013 2014 2015 2016 2017 2018
Aanta
l w
edstr
ijden
Jaartal
Verdeling van het aantal ATP-wedstrijden per jaar
21
ondergrond. Vervolgens zien we dat het gravelseizoen (32 procent) beduidend meer tornooien
bevat dan het grasseizoen (12 procent). De gegevens zijn hier verdeeld volgens het attribuut
surface. Het betreft een nominaal attribuut dat drie waarden kan aannemen zijnde hardcourt,
gravel of gras.
Figuur 7: ATP-tenniswedstrijden volgens soort ondergrond
In onderstaand cirkeldiagram zien we dat het overgrote deel van alle wedstrijden outdoor
wordt gespeeld, dit vertegenwoordigt zo’n 83 procent van alle wedstrijden. Slechts 17 procent
van de wedstrijden wordt indoor gespeeld. Het diagram wordt opgesteld door te filteren op het
attribuut “court”. Dit is een nominaal attribuut, dat bestaat uit twee waarden, nl. outdoor en
indoor.
Figuur 8: Verhouding tussen outdoor en indoor ATP-tenniswedstrijden
55%32%
12%
Relatieve verhouding tussen het aantal wedstrijden op een bepaalde ondergrond
Hardcourt Gravel Gras
Totaal # instances
= 17 372
83%
17%
Relatieve verhouding tussen het aantal indoor en outdoor wedstrijden
Outdoor Indoor
Totaal # instances
= 17 372
22
4.3 Data preparation
In de derde fase van het CRISP-DM model wordt de data klaargestoomd voor het predictief
modelleren. Allereerst wordt de data voorbereid voor de classificatie opdracht. Deze data
preparatie vindt voornamelijk plaats in Microsoft Excel. Vervolgens wordt de data
opgeschoond. Zo worden overtollige gegevens van de verschillende datasets verwijderd. In
een laatste fase worden de attributen zonder voorspellende kracht (infogain) verwijderd. In de
volgende paragrafen worden de verschillende stappen in de fase van data preparatie
doorlopen.
4.3.1 Voorbereiding voor classificatie
De klasse “winnaar” is de target variabele en eveneens het laatste attribuut in de dataset. De
target variabele is de klasse die we willen voorspellen via classificatietechnieken. Classificatie
betekent dat het hier om een categorische target variabele gaat. Deze variabele heeft hier een
binair datatype. Dit betekent dat er bij elk record in de kolom winnaar een “0” of “1” staat
ingevuld. Een “0” betekent dat speler 1 wint, een “1” betekent dat speler 2 wint. Het voorspellen
van ATP-tenniswedstrijden is dus een classificatieprobleem met een tweewaardige target
variabele. In dit onderzoek wordt voor nieuwe tenniswedstrijden de binaire target variabele
voorspeld.
Vervolgens wordt ook de probabiliteit of de kans dat speler 1 of speler 2 volgens het model
zal winnen, voorspeld. In onderstaande figuur zien we het verschil tussen het aantal keer dat
speler 1 of speler 2 gewonnen heeft. Onderstaande figuur wordt een visualisatie van de klasse
“winnaar” weergegeven, dit is eveneens de target variabele in deze dataset. Hier wordt de
verdeling tussen het totaal aantal instances voor de klasse “winnaar” weergegeven. De
blauwe balk representeert het aantal keer dat speler 1 (binaire waarde = 0) gewonnen heeft,
nl. 8 688. De rode balk daarentegen geeft het aantal keer weer dat speler 2 (binaire waarde
= 1) gewonnen heeft, nl. 8 684.
Figuur 9: Visualisatie van de klasse "Winnaar" (Target variabele)
23
Het voorspellen van sportwedstrijden is, zoals bovenstaand vermeld, een classificatie
probleem. Twee spelers nemen het telkens tegen elkaar op in een ATP-tenniswedstrijd in het
enkelspel. De waarde van de target variabele “winnaar” wordt als volgt gedefinieerd:
Zoals altijd bij classificatieproblemen heeft elke rij een zogenaamde target variabele. Dit gaat
over een categorische target, vaak een binaire waarde (0 of 1). In dit onderzoek wordt voor
de target variabele “winnaar” dan ook voor deze binaire notatie (0 of 1) geopteerd.
In de deployment set wordt de target variabele (kolom winnaar) ingevuld met vraagtekens.
Hier zal het getrainde model dan waarden (0 of 1) gaan invullen voor de nieuwe gegevens.
Bovendien wordt aan deze binaire waarde ook een probabiliteit toegekend. Dit is de kans dat
de voorspelling van de target variabele door het model correct is ingevuld.
4.3.2 Datapreparatie in MS Excel
De bestaande basis dataset werd allereerst geopend in MS Excel waarbij de gegevens
meteen in een tabel werden geplaatst. Vervolgens werden er nieuwe werkbladen aangemaakt
waarin de verschillende formules geplaatst werden.
4.3.2.1 Data actualisatie en toevoeging spelerskenmerken
Voor het verrijken van de data met extra kenmerken of features werden verschillende
attributen toegevoegd. Hiervoor werden datasets met gegevens van ATP-tenniswedstrijden
en tennisspelers gebruikt. Deze dataset werd aangevuld via verscheidene geraadpleegde
bronnen. Het proces van het verrijken van de dataset wordt in deze sectie verder toegelicht.
De bestaande basis dataset, ATP Tennis Dataset genaamd (Kaggle, ATP Tennis Dataset,
2017), werd aangevuld met recente historische gegevens van ATP-tenniswedstrijden en
tennisspelers. De dataset werd geactualisserd met gegevens van de laatste helft van 2017 en
de eerste helft van 2018. Op deze manier kan gewaarborgd worden dat het model
voorspellingen maakt op basis van de meest recente gegevens van tenniswedstrijden. Voor
het actualiseren van deze dataset werd volgende bron gebruikt (Tennis-Data, 2018).
Bovenstaande nieuwe data bevat gegevens van 2017 t.e.m. 2018, inclusief het Wimbledon
tornooi. Ook deze data diende compatibel gemaakt te worden met de basis dataset. Dit omdat
0, 𝑎𝑙𝑠 𝑃𝑙𝑎𝑦𝑒𝑟 1 𝑤𝑖𝑛𝑡
𝑇𝑎𝑟𝑔𝑒𝑡 𝑣𝑎𝑟𝑖𝑎𝑏𝑒𝑙𝑒 (𝑦) =
1, 𝑎𝑙𝑠 𝑃𝑙𝑎𝑦𝑒𝑟 2 𝑤𝑖𝑛𝑡
24
hier geen opsplitsing werd gemaakt tussen “speler 1”, “speler 2” en “winnaar”. De dataset
maakte enkel opsplitsing tussen “winnaar” en “verliezer”. Daarom werd de kolom “winnaar”
eerst verdubbeld om daarna de oorspronkelijke kolommen “winnaar” en “verliezer” te
vervangen door speler 1 en speler 2. Deze twee kolommen werden dan gescrambled zodat
een voorspellend algoritme hier in een latere fase van het onderzoek geen patroon zou in
ontdekken. De scramble werd uitgevoerd met behulp van een functie in MS Excel.
Het fundament van de gebruikte dataset is zoals eerder aangehaald de ATP Tennis Dataset,
welke gegevens bevat van de jaren 2012 tot 2017. Deze werd als basis gebruikt om de nodige
aanvullingen toe te voegen. De toegevoegde data kwam in eerste instantie uit een andere
dataset van de website van Kaggle (Kaggle, Association of Tennis Professionals Matches,
2017). Deze dataset bevat extra informatie t.o.v. de basis dataset en dit voor tennisspelers
vanaf het jaar 2000 t.e.m. 2017. Deze dataset bevat extra informatie omtrent de
eigenschappen van spelers. Voor elk seizoen heeft dit bestand zijn eigen xlsx file.
Om deze extra data toe te voegen aan de basis dataset werd hier een extra rekenblad
toegevoegd. Daarin werden de nieuwe gegevens uit de extra datasets geplaatst. Om deze
twee datasets compatibel te maken werd met een VLOOKUP-functie gewerkt. Via deze functie
van verticaal zoeken konden de records in de extra datasets aangepast worden en op de
juiste plaats ingevuld worden.
Het eerste grote probleem hierbij was dat een VLOOKUP-functie een exacte match nodig had
om data te gaan ophalen uit een andere tabel. De enige overeenkomst in de twee datasets is
de naam van de speler, deze moest dus door de functie gezocht worden. Echter kon men de
tennisspelers niet zomaar opzoeken aangezien in de basis set de spelers eerst met hun
achternaam stonden, gevolgd door de eerste letter van de voornaam met een punt erachter.
Dit terwijl in de extra datasets de spelers louter met hun volledig voor- en achternaam opgelijst
stonden. Daarom werd eerst een formule geschreven die de namen in de extra datesets kon
omzetten naar het formaat van deze in de basis set. Eens dit gebeurd was, konden de extra
gegevens toegevoegd worden. Zowel voor speler 1 als voor speler 2 werden de attributen
“hand” (linkshandige of rechtshandige speler), “height” (lengte van speler) en “origin”
(nationaliteit van speler) toegevoegd.
Voor het attribuut “age” (leeftijd van de speler op datum van het gespeelde tornooi) was er
nog een bijkomende stap nodig. Leeftijd is een attribuut dat variabel is in de tijd, in
tegenstelling tot de voorgaande attributen. De datasets, waaruit de gegevens werden gehaald,
stonden in aparte CSV-bestanden. Hierbij was elk jaar een uniek bestand, hierdoor was de
leeftijd van een tennisser in elk specifieke jaar ter beschikking. Dit alles maakte het mogelijk
om de gegevens van elk jaar apart toe te voegen in een extra rekenblad en vervolgens voor
25
elk jaar een andere VLOOKUP formule te gebruiken. Een tennisspeler krijgt hierbij een leeftijd
toegewezen per jaar, die elk jaar geannualiseerd wordt.
4.3.2.2 Toevoeging statistische prestatiegegevens
Nadat de dataset een eerste maal getest werd in Weka, de gebruikte datamining software in
dit onderzoek, werd duidelijk dat een verdere aanvulling met extra variabelen nodig was.
Daarom werd de dataset verder aangevuld met verscheidene attributen. Allereest werd een
win/loss ratio van de tennisspelers over hun gehele carrière heen toegevoegd (ATP World
Tour, 2018). Dit attribuut is opgenomen in de dataset als Player_Career_Win_Loss%.
Vervolgens werden de volgende vijf variabelen toegevoegd aan de dataset:
Player_Opponent_ELO_Rating, Player_AcesPerMatch, Player_ServicePointsWon%,
Player_ReturnGamesWon% en Player_MatchesWon% (Ultimate Tennis Statistics, 2018). Dit
met het oog om het predictief model zo accuraat mogelijk voorspellingen te laten weergeven.
Ook deze werden toegevoegd via de bekende VLOOKUP-formule binnen MS Excel. Hier
werden eveneens de ingevoegde namen eerst met een formule gerecombineerd zodat deze
vindbaar zouden zijn door middel van de zoekformule.
Verder werd ook een wijziging aangebracht in de kolom winnaar, waarop de ML algoritmen
voorspellen. Tot nu toe stond hier enkel de naam van de gewonnen desbetreffende
tennisspeler. Echter is een tweewaardige target waarde nodig om tot een accurate
voorspelling te komen. Daarom werden de gegevens in deze kolom zoals beschreven onder
punt 4.3.1 vervangen door een binaire waarde (0 of 1). Dit werd opgelost via het toevoegen
van een if-statement in het MS Excel bestand.
Tot slot werd ook een CSV-bestand aangemaakt voor zowel Wimbledon, Roland Garros,
Indian Wells als de Miami Open 2018. Deze deployment datasets dienen om het predictief
model te evalueren. Verder werd ook per ronde een apart CSV-bestand aangemaakt voor de
simulatie van het Australian Open 2018 tornooi. Om dit mogelijk te maken werden al deze
tornooien geïsoleerd uit de ATP-dataset. Vervolgens werd in alle bestanden de inhoud van
het attribuut winnaar verwijderd en vervangen door een vraagteken. Een vraagteken voorkomt
dat Weka deze kolom als leeg beschouwt. Het is namelijk deze kolom waarin de voorspelling
van de winnaar van de match zal terecht komen.
4.3.3 Data cleaning
Om de dataset verder af te stemmen op het predictief modelleren, werden ook enkele features
verwijderd. Zo stond er voor vrijwel elk attribuut een extra kolom met een integer waarde voor
elk record van dat attribuut. Aangezien deze kolommen dezelfde informatie bevatten, maar in
een ander formaat, werd besloten deze gegevens weg te laten. Ook is er het risico dat het
26
behouden van deze integer attributen de accuraatheid van het predictive model negatief zou
beïnvloeden.
Tevens zijn er ook records die niet volledig aangevuld konden worden, hiervoor werd een
foutmelding in de VLOOKUP-formule toegevoegd. Eens de dataset volledig aangevuld was,
werd het xlsx-bestand opgeslagen als een Comma Separated Value (CSV) bestand. CSV is
een tekstbestand (ASCII) waarbij elke regel dient beschouwd te worden als een record, elk
record wordt van elkaar gescheiden door middel van een komma. Dit omdat Weka enkel met
dit formaat compatibel is. De foutmeldingen van de zoekfunctie werden in het CSV-bestand
vervangen door lege cellen. Verder werden ook alle ambigue waarden verwijderd, welke
vooral voorkwamen in de basis dataset. Dit waren o.a. tekens in namen die niet door Weka
ingelezen konden worden, ook nietszeggende waarden (bv. N/A) en enkele fouten.
Vervolgens werden de CSV-bestanden omgezet in een Attribute-Relation File Format (ARFF)
bestand, dit is het formaat dat door Weka wordt gebruikt. Het is een ASCII tekst bestand die
een lijst van instances beschrijft. Deze instances vallen op hun beurt onder een bepaald
attribuut. Een ARFF-bestand heeft twee secties die men kan onderscheiden. De eerste sectie
bevat informatie omtrent de header of het attribuut. Hierin is de naam van de headers terug te
vinden en alle mogelijke waarden die een attribuut kan hebben. Het tweede deel is de data
waarbij de instances gescheiden zijn door een komma (Paynter, 2018). Er werd gebruik
gemaakt van het programma Notepad++ om de headers aan te passen. Zo werden de
headers van training set gekopieerd naar de deployment set, zodat deze deployment set alle
informatie van de training set bevat. Beide datasets worden op deze manier compatibel
gemaakt.
4.3.4 Feature selection
Feature extraction, of ook feature selection genaamd, heeft als bedoeling om de belangrijkste
attributen uit de dataset te identificeren en de minder belangrijke te verwijderen. Het geeft de
mogelijkheid aan data algoritmes om sneller te opereren en efficiënter te werken. In sommige
gevallen kan feature extraction ervoor zorgen dat de accuraatheid op het classificatie model
verbeterd wordt. Het kan ook een meer compact resultaat weergeven en een meer
begrijpelijke voorstelling maken van hoe de target variabele wordt voorspeld. Feature
selection is wel in contradictie met de assumptie dat alle aanwezige informatie vereist is om
tot de hoogste accuraatheid te kunnen leiden. Deze assumptie verwijst naar het feit dat er
minder belangrijke attributen bestaan, maar dat geen enkel attribuut irrelevant of overtollig is.
Evenwel zijn de belangrijkste redenen voor feature selection: het verminderen van de
complexiteit van het model, de accuraatheid van het model verhogen en het verminderen van
irrelevante en overtollige relaties (Maimon & Rokach, 2010).
27
Om de dataset verder te optimaliseren voor predictive modelling werd de correlatie tussen de
verschillende onafhankelijke variabelen bepaald. Dit werd gedaan binnen Weka via de
correlation ranker. Onderstaande figuur geeft de correlatiecoëfficiënt weer per attribuut met
de target variabele (klasse winnaar). Hier zien we of dat de onafhankelijke x-variabelen al dan
niet correleren met de afhankelijke y-variabele. Een onafhankelijke variabele noemt men in
deze ook een predictor. De predictors zijn de variabelen waarop men zich baseert voor het
voorspellen van de afhankelijke variabele.
Figuur 10: Correlatie van elk attribuut met de klasse "Winnaar"
0.00 0.05 0.10 0.15 0.20 0.25 0.30
ATP
Tournament
Date
Series
Court
Surface
Round
Best_of
Player1
Player1_Rank
Player1_Hand
Player1_Height
Player1_Origin
Player1_Age
Player1_Career_Win_Loss
Player1_Games_Dominance
Player1_Opponent_ELO_Rating
Player1_AcesPerMatch
Player1_ServicePointsWon%
Player1_ReturnGamesWon%
Player1_MatchesWon%
Player2
Player2_Rank
Player2_Hand
Player2_Height
Player2_Origin
Player2_Age
Player2_Career_Win_Loss
Player2_Games_Dominance
Player2_Opponent_ELO_Rating
Player2_AcesPerMatch
Player2_ServicePointsWon%
Player2_ReturnGamesWon%
Player2_MatchesWon%
Correlatie van onafhankeliijke variabelen met de target varriable
Correlation
28
We zien dat voornamelijk de toegevoegde attributen een hogere correlatiecoëfficiënt laten
optekenen, dit in tegenstelling tot bestaande attributen. Van de oorspronkelijke dataset laat
enkel de ATP-rankschikking van een speler een significante correlatiecoëfficiënt optekenen.
De correlatiecoëfficiënt van speler 1 en speler 2 zijn respectievelijk 0,15 en 0,17. Voor de
toegevoegde attributen ligt de correlatiecoëfficiënt tussen 0,05 en 0,25. Deze attributen
correleren beduidend beter, in vergelijking met de bestaande attributen, met de klasse
winnaar. We zien dat de attributen zoals “ATP”, “Best_of”, “Date”, “Palyer1_Age” en
“Player2_Age” geen betekenisvolle waarde hebben voor het voorspellen van de klasse
winnaar.
Binnen Weka wordt de information gain van de verschillende attributen berekend via de
ranking filter. Attributen die geen information gain opleveren, dit betekent een information gain
gelijk aan nul, worden verwijderd. Immers hebben deze attributen dan ook geen voorspellende
kracht bij het predictief modelleren van ATP-tenniswedstrijden. Deze stap werd uitgevoerd
omdat het niet verwijderen van deze attributen zou kunnen leiden tot vertekende resultaten.
Een te groot aantal attributen en irrelevante attributen kunnen er toe leiden dat het model te
complex wordt en overfit geraakt. Deze maatregel is een belangrijke stap om het fenomeen
van overfitting te vermijden. Naar analogie met de correlation ranker werd geen information
gain gevonden voor volgende attributen: ATP (tornooinummer), Date (datum), Best of (aantal
sets), Player1_Age (leeftijd speler 1), Player2_Age (leeftijd speler 2). Deze attributen werden
dan ook verwijderd. Vijf van de in totaal 35 attributen werden verwijderd uit de ML Tennis
Dataset omdat ze geen informatie winst opleverden. Hierdoor blijven nog 30 attributen over
voor het opstellen van het predictief model.
In onderstaande tabel worden alle attributen weergegeven waarmee men aan de slag gaat
voor het voorspellen van tennisuitslagen. Deze ML Tennis Dataset bevat nu 30 attributen, dit
zijn de onafhankelijke variabelen die de klasse winnaar kunnen beïnvloeden. Als voorbeeld
worden alle waarden van de attributen van één gegevensrecord weergegeven. Al deze
attributen bevatten dus enige informatiewaarde voor de target variabele. Attributen zonder
informatiewaarde werden, zoals hierboven vermeld, verwijderd.
29
Attribuut # Attribuut Waarde
1 Tournament Wimbledon
2 Series GrandSlam
3 Court Outdoor
4 Surface Grass
5 Round Quarterfinals
6 Player1 AndersonK.
7 Player1_Rank 8
8 Player1_Hand R
9 Player1_Height 203
10 Player1_Origin RSA
11 Player1_Career_Win_Loss% 0.586
12 Player1_Games_Dominance 1.451
13 Player1_Opponent_ELO_Rating 1943.7
14 Player1_AcesPerMatch 17.88
15 Player1_ServicePointsWon% 0.7098
16 Player1_ReturnGamesWon% 0.1678
17 Player1_MatchesWon% 0.725
18 Player2 FedererR.
19 Player2_Rank 2
20 Player2_Hand R
21 Player2_Height 185
22 Player2_Origin SUI
23 Player2_Career_Win_Loss% 0.82
24 Player2_Games_Dominance 3.286
25 Player2_Opponent_ELO_Rating 1964.9
26 Player2_AcesPerMatch 9.45
27 Player2_ServicePointsWon% 0.7441
28 Player2_ReturnGamesWon% 0.2409
29 Player2_MatchesWon% 0.8788
30 Winner 0
Tabel 6: Voorbeeld van één gegevensrecord uit ML Tennis Dataset
Uiteindelijk, wordt met de ML Tennis Dataset, bestaande uit 30 verschillende attributen en
17 372 gegevensrecords, getracht om tennisuitslagen te gaan voorspellen. De kolom winnaar
bevat telkens het resultaat van een gegevensrecord, in deze een tenniswedstrijd. De waarde
van deze target variabele wordt binair uitgedrukt via “0” of “1”. Een “0” betekent dat speler 1
de wedstrijd wint, een “1” betekent dat speler 2 de wedstrijd wint. De nominale klasse winnaar
is bijna exact verdeeld, zo wint speler 1 in 50,01% van alle gevallen. Speler 2 is de winnaar in
de overige 49,99% tenniswedstrijden.
30
4.4 Modelling
4.4.1 Datamining technieken
Predictive modelling is één van de meest gebruikelijke en meest toegepaste vormen van
datamining. Het is een proces dat erin bestaat om op basis van historische data, uit het
verleden, patronen te identificeren in de data. In deze masterproef gebeurt dit op basis van
het CRISP-DM model, dat als raamwerk dient doorheen deze case study. Het patroon dat op
deze manier in de data gevonden wordt, wordt gebruikt om voorspellingen te maken met
betrekking tot de toekomst. Datamining is een vakgebied dat overlapt met diverse andere
takken uit de wetenschap. Door de continue bijdrage van de vele verschillende branches is
het leren van datamining een continu educatief proces. Hieronder worden vooral algoritmen
beschreven die ontleend zijn aan de vakgebieden zoals statistiek en Machine Learning (Dean,
2014).
Figuur 11: Het multidisciplinaire karakter van datamining (Dean, 2014)
De grote variatie aan datamining technieken valt dan ook te verklaren door de vele diverse
domeinen waaraan ze ontleend zijn, zoals de wiskunde en de informatica. Hoe deze
technieken gecombineerd worden is afhankelijk van welk doel de toepassing ervan heeft. Het
oplossen van een datamining probleem heeft als meerwaarde dat het resultaat ervan steeds
dient tot het terugvinden van voorheen onbekende en verborgen kennis (De Tré, 2017).
4.4.2 Machine Learning Models
Machine Learning (ML) of machinaal leren is een snel groeiende discipline die onderzoekt hoe
computerprogramma’s kunnen leren of hun prestaties kunnen verbeteren door zich te baseren
op data. Een belangrijk onderzoeksdomein binnen Machine Learning is dat computer-
programma’s automatisch complexe patronen kunnen herkennen en beslissingen maken op
basis van data (Han, Kamber, & Pei, 2012).
31
4.4.2.1 Supervised versus unsupervised methodes
Predictive modelling doet in de regel beroep op supervised modelling. Dit in tegenstelling tot
het exploratieve karakter van datamining waarbij men op voorhand vaak niet weet naar wat
men zoekt. Toch is het noodzakelijk om in dit geval voor de supervised aanpak te gaan, hier
is wel een target variabele die men wil voorspellen via een predictief model. We willen namelijk
de winst of het verlies van een bepaalde tennisspeler gaan voorspellen. Dit in tegenstelling
met een unsupervised verhaal, waarbij men enkel gaat kijken wat er mogelijk interessant is.
Om deze predictie mogelijk te maken voorzien we onze softwaretool van historische data
waarin historische resultaten van tennisspelers opgenomen zijn. Op basis van deze
historische uitslagen zullen alle nieuwe wedstrijden onderverdeeld in één van de twee
mogelijke uitkomsten, namelijk winst of verlies. Hier betreft het supervised modelling
(Foreman, 2014).
Machine Learning kan opgedeeld worden in twee types, met name het supervised learning
proces en het unsupervised learning proces. Beide worden in deze sectie uitgewerkt. In
onderstaande figuur worden de belangrijkste datamining technieken gevisualiseerd.
Figuur 12: Machine Learning high level overview (Bunker & Thabtah, 2017)
4.4.2.2 Supervised methodes
Bij een supervised datamining probleem is er een specifieke target variabele aanwezig die
men wil voorspellen. Hier is dus steeds een specifieke klasse aanwezig die men wil
voorspellen. Er zijn twee methodes die een oplossing kunnen bieden op een supervised
datamining probleem, enerzijds classificatie-analyse en anderzijds regressie-analyse (Provost
& Fawcett, 2013).
32
Classificatie-analyse
De eerste vorm van supervised learning is classification, het doel hiervan is een bepaalde
target variabele of klasse te gaan voorspellen. Deze variabele kan zowel nominaal als
numeriek zijn. Dit gebeurt aan de hand van een classificatie model, welke getraind wordt op
een training dataset. Daarna wordt dat model gebruikt om de waarde van de gezochte klasse
te voorspellen in een evaluatie set of deployment set (Bunker & Thabtah, 2017). Bij
classificatie of class prediction gebruikt men informatie van onafhankelijke variabelen, of
zogenaamde voorspellers, om data onder te brengen in twee of meerdere klassen (Kotu &
Deshpande, 2015).
Regressie-analyse
Een tweede vorm van supervised learning, is de methode van regression analysis. Deze
analyse is ontleend aan de statistische tak van de wetenschap. Bij regressie-analyse wordt
een record beschouwd als een datapunt. Deze data punten worden verbonden door een
passende lijn of veelterm om de data te verklaren en tegelijkertijd het aantal fitting errors te
minimaliseren. Door middel van een regressie-analyse kan men causale verbanden vinden
tussen de afhankelijk en onafhankelijke variabelen. Dit soort analyses wordt voornamelijk
gebruikt indien de geobserveerde waarde een true inhoudt. Schattingen over de waarde van
de afhankelijke variabele kunnen gemaakt worden door variaties aan te brengen in de
onafhankelijke variabelen (Bunker & Thabtah, 2017). Bij regressie-analyse of numeric
prediction wil men via de onafhankelijke variabelen (attributen) een numerieke waarde
voorspellen voor de afhankelijke target variabele.
Causal modelling
Dit soort modelling dient ertoe om uit te vinden welke gebeurtenissen en acties elkaar eigenlijk
beïnvloeden. Bijvoorbeeld wanneer een predictief model advertenties naar klanten zou richten
en dit effectief leidt tot een hogere verkoop. De vraag is dan of klanten beïnvloed zijn door de
advertenties of het predictief model goed presteert in het voorspellen van klanten die tot een
aankoop overgaan. Er moet dus een afweging gemaakt worden tussen wat toe te schrijven is
aan de afhankelijke variabele in het model en de voorspellende kracht van het model zelf
(Provost & Fawcett, 2013).
4.4.2.3 Unsupervised methodes
Bij Unsupervised Learning is er geen target value die men wil voorspellen. Dit komt doordat
in verkennende datamining niet op voorhand geweten is waar men precies naar opzoek is.
Men kan bijvoorbeeld wel zeggen dat twee entiteiten verschillend zijn, maar het is niet vooraf
geweten wat de beste manier is om deze te gaan segmenteren. Deze algoritmen tonen of er
33
interessante segmentaties zitten in de data (Foreman, 2014). Methodes voor unsupervised
learning zijn: clustering, co-occurrence grouping en profiling.
Clustering
Deze segmentatie gebeurt gebruikelijk op basis van clustering. Hierbij worden de datapunten
gegroepeerd in natuurlijke groepen. Zodat de datapunten binnen éénzelfde groep zeer
gelijkaardig zijn. Dit terwijl datapunten overheen de verschillende clusters sterk verschillende
eigenschappen hebben. Afhankelijk van de data en de gewenste cluster eigenschappen zijn
er verschillende types clusters (Zaki & Meira Jr., 2013).
Co-occurrence grouping
Een andere naam die hiervoor vaak gebruikt wordt, is Frequent Pattern Mining. Dit slaat op
het vinden van zoveel mogelijk nuttige en informatieve patronen in grote en complexe
datasets. Hierbij is men bij vele toepassingen geïnteresseerd in hoe vaak twee of meer
interessante objecten samen voorkomen dus of er co-occurrence is. Eén van de meest
gebruikte toepassingen van dit soort datamining is de zogenaamde market basket analysis.
Hierbij mined men naar sets van producten die frequent tegelijk worden aangekocht. Hieruit
kan men dan association rules halen, welke een statement zijn over hoe waarschijnlijk het is
dat producten tegelijk aangekocht zullen worden (Zaki & Meira Jr., 2013).
Profiling
Deze term staat ook bekend als behavior description. Hierbij poogt men om een bepaald
gedrag, hetzij van een individu, groep of populatie, te karakteriseren. Bijvoorbeeld in de
telecom sector ‘wat is het typische telefoongebruik van klanten in een bepaald segment?’
Behavior is dus niet noodzakelijk een eenvoudige beschrijving. Telefoongebruik kan namelijk
complexe beschrijvingen vereisen. Het kan gaan om internationaal gebruik, roaming kosten,
belminuten, etc. Profiling wordt vooral gebruikt om normen vast te stellen bij anomalieën in
applicaties. Voorbeelden hiervan zijn zaken zoals fraudedetectie en het monitoren van
indringers op computersystemen. Indien men weet wat het typische gebruik is van pakweg
een gebruiker van een kredietkaart. Kan men een beslissing maken of een nieuwe transactie
al dan niet past binnen het profiel van deze gebruiker (Provost & Fawcett, 2013).
34
4.4.2.4 Belangrijke concepten
Bias en Variantie
Er zijn twee soorten fouten die zich kunnen voordoen bij een classificatie in twee categorieën,
deze zijn bias en variantie. Waarbij de eerste bias voortkomt uit de onoverkomelijke foute
assumpties van het voorspellende model. Het model is op dat moment dus niet in staat om op
accurate wijze de relatie tussen de data weer te geven, dit is een geval van underfitting. Het
is bijvoorbeeld mogelijk dat belangrijke eigenschappen van een wedstrijd niet aanwezig zijn
waardoor de voorspelling systematisch fout is. Anderzijds is er de variantie, welke gevoelig is
voor kleine variaties in de dataset. Een model met een hoge variantie zal zich niet makkelijk
laten generaliseren op ongeziene data, dit is het concept van overfitting. Er is dus altijd een
trade-off tussen bias en variantie. Een meer complex model kan dan wel heel accuraat de
relaties binnen een dataset weergeven, het zal niet goed door te vertalen zijn naar een
ongeziene dataset (Sipko, 2015).
Generalisatie
Elke dataset heeft een eindige verzameling data van een bepaalde populatie, in deze
dissertatie zijn dit professionele tennisspelers. Het doel van een predictief model is niet alleen
om een model te vinden dat accurate voorspellingen maakt op de bestaande training set, maar
ook op de volledige populatie. Ook dus het deel van de dataset waaruit de data in de eerste
plaats werd geïsoleerd voor evaluatie. Het doel van datamining is dus om een model op te
stellen dat ook representatief is buiten de training set. Een model dat generaliseerbaar is naar
de volledige populatie (Provost & Fawcett, 2013).
Overfitting
Men is dus geïnteresseerd in patronen die men kan veralgemenen naar de hele dataset. Deze
patronen moeten nieuwe instances goed kunnen voorspellen. Het vinden van toevalligheden
in de data die lijken op interessante patronen, maar die niet veralgemeenbaarheid zijn, noemt
men overfitting. Overfitting is de neiging van datamining procedures om modellen aan te
passen aan de trainingsdata. Dit gaat ten koste van de generaliseerbaarheid naar nieuwe
ongeziene gegevensrecords (Provost & Fawcett, 2013).
Om overfitting te voorkomen wordt in deze case gebruik gemaakt van enerzijds forward
pruning of prepruning. Dit houdt in dat er gebruik wordt gemaakt van een simplest-first
methode. Er wordt pas gestopt nadat een optimale graad van complexiteit is bereikt. Dit zodat
het model niet te complex zou worden. Hierdoor zou het model de data volledig in kaart
brengen, waardoor nieuwe wedstrijden niet meer correct zouden voorspeld worden.
Anderzijds wordt er ook gebruik gemaakt van backward pruning of postpruning. Hierbij wordt
35
een complex model gereduceerd naar een simpelere beschrijving van de data (Witten &
Frank, 2005).
4.4.3 Overfitting vermijden
Holdout data is de data die men uit de dataset haalt en niet opgenomen wordt voor het bouwen
van een model. Dit wil zeggen dat holdout data niet gebruikt wordt als trainingsdata. Echter
kennen we voor deze holdout data wel de waarde van de target variabele. In deze dataset is
de waarde die men later wil voorspellen wel gekend en opgenomen. Het testen van holdout
data is gelijkaardig aan de evaluatie in een laboratorium omgeving. Hoewel de holdout data
weldegelijk een schatting geeft over de prestaties naar veralgemening toe, blijft het maar
slechts één enkele schatting (Provost & Fawcett, 2013).
Een andere, meer gesofisticeerde, manier om overfitting tegen te gaan is cross-validatie.
Cross-validatie is een betere manier dan de procedure van holdout training en holdout test
sets. Cross-validatie maakt beter gebruik van een gelimiteerde dataset. In plaats van het
splitsen van data in één training set en één holdout set, berekent cross-validatie de schatting
over de gehele dataset via het uitvoeren van meerdere splitsingen en het systematisch
uitwisselen van gegevensrecords om te testen (Provost & Fawcett, 2013).
Cross-validatie is het splitsen van de originele dataset in een aantal partities, folds genaamd.
Het aantal folds wordt aangeduid met de letter k. Veelal is deze k gelijk aan vijf of tien. In de
gebruikte dataminingsoftware staat cross-validatie standaard op 10-folds. Cross-validatie
itereert training en testing dan k keren op een speciale wijze. Bij elke iteratie van deze cross-
validatie wordt telkens een nieuwe fold als test data gebruikt. Men verkrijgt hierbij dan k aantal
accuraatheden, waarvan het gemiddelde en de variantie wordt genomen. Elke iteratie creëert
één model en hierbij genereert men één accuraatheid. Bijvoorbeeld bij een 5-fold wordt elke
partitie van de 5 folds éénmaal gebruikt als test partitie. Maar voor elke iteratie is elke partitie
slechts k-1 keer gebruikt als training (Provost & Fawcett, 2013).
De test opties die men kan hanteren in Weka, zijn het gebruik van de training set, het
toevoegen van een test set, cross-validatie en splitsing met percentage. In dit onderzoek wordt
de cross-validatie techniek gebruikt met 10-folds om overfitting tegen te gaan. In de volgende
sectie zal de Weka datamining software besproken worden.
Onderstaande fitting grafiek geeft weer waar de meest optimale accuraatheid van een
predictief model zich bevindt voor een classificatie algoritme. Een fitting grafiek toont de
prestatie voor veralgemening (holdout data) alsook de prestaties op de trainingsdata. Dit wordt
geplot tegenover de complexiteit van het model. De bovenste lijn op de grafiek geeft aan welke
accuraatheid door het model behaald wordt indien men dit toepast op de training set. Eens de
36
complexiteit de sweet spot overstijgt, zal de accuraatheid op de lab test of holdout dataset
significant dalen. Dit is het concept van overfitting visueel weergegeven. Bij een te complex
predictief model is dit model gebruikelijk niet meer in staat om nieuwe, ongeziene cases nog
accuraat te gaan voorspellen (Provost & Fawcett, 2013).
Figuur 13: Een fitting grafiek met sweet spot (Provost & Fawcett, 2013)
4.4.4 Weka als datamining tool
Waikato Environment for Knowledge Analysis, of kortweg Weka, is een open source software
tool die gebruik maakt van algoritmen voor datamining, geschreven in Java (Witten & Frank,
2005). In dit onderzoek zal Weka als datamining tool gebruikt worden om een voorspellend
model te bouwen. Het model dat gebouwd wordt, tracht tennisuitslagen correct te voorspellen.
Hierbij wordt een zo hoog mogelijke accuraatheid voor het predictief model nagestreefd.
De ontwikkeling van open source software is de laatste jaren steeds belangrijker en
prominenter geworden in tal van verschillende software domeinen. In het domein van de
datamining software, zijn vandaag verschillende tools, zoals Weka en RapidMiner, algemeen
aanvaard. Weka is een goede verkenningstool voor het toepassen van datamining technieken
op de verzamelde gegevens (Schumaker, Solieman, & Chen, 2010).
Weka is een werkomgeving waar men de noodzakelijke stappen die tot het datamining proces
behoren, kan uitvoeren. Dit bevat o.a. het voorbewerken van de data (preprocessing) en het
opbouwen van een voorspellend model (modelling). Deze datamining software bevat tal van
algoritmen, hulpmiddelen methoden voor alle standaard datamining problemen. Zo biedt deze
37
werkomgeving oplossingen voor clusteranalyse, classificatie, regressie-analyse en
visualisatie. Het selecteren van attributen, feature selection genaamd, behoort ook tot de
mogelijke bewerkingen in Weka (Schumaker, Solieman, & Chen, 2010). Weka biedt dus een
uniforme interface voor veel verschillende leeralgoritmen, samen met methoden voor pre- en
postprocessing. Ook biedt het mogelijkheden voor het statistisch evalueren van het resultaat
van leerschema's voor elke gegeven dataset. Bovendien biedt het ook ondersteuning voor de
visualisatie van de invoerde gegevens en het resultaat van het modelleren (Witten & Frank,
2005).
Het is bovendien een software die uitermate geschikt is voor het verwerven van kennis en
inzichten uit de verzamelde sportgegevens, dit noemt sports data mining. Weka kan dus
gebruikmaken van meerdere algoritmes en dit laat gebruikers toe om hun sportgegevens snel
te onderzoeken en analyseren. Dit betekent dat gebruikers hun gegevens kunnen uitvoeren
via één van de ingebouwde algoritmes. Daarna bekijkt men welke resultaten eruit komen en
vervolgens laat men een ander algoritme doorlopen om te zien of er iets anders opvalt
(Schumaker, Solieman, & Chen, 2010).
De Weka werkomgeving is een verzameling van state-of-the-art Machine Learning algoritmen,
ML Classifiers en data preprocessing tools. Deze software is zo ontworpen dat men snel op
flexibele manieren allerlei methoden kan uitproberen voor nieuwe datasets. Het biedt ook een
uitgebreide ondersteuning voor het hele proces van experimentele datamining, inclusief het
voorbereiden van de ingeladen gegevens (Witten & Frank, 2005).
Weka bevat dus meerdere ML Classifier algoritmen, waaronder verschillende categorieën
zoals naïeve Bayesiaanse klassen, talrijke aanpassingsalgoritmen, kleinste kwadraten,
regressie, artificiële neurale netwerken (ANN) en support vector machines (SVM). Er is ook
een sterke verscheidenheid aan boosting en bagging algoritmen, een groot assortiment aan
beslissingsbomen en een verzameling van rule-based algoritmen. Naast de ML Classifiers
ondersteunt Weka ook technieken zoals clustering en associatie rule mining (Schumaker,
Solieman, & Chen, 2010).
Afgezien van de vele algoritmen die men ter beschikking heeft, biedt Weka ook een overvloed
aan opties aan. Eén van de opties is bijvoorbeeld het partitioneren van de gegevens tussen
training en test sets, opties voor het filteren van de resultaten en opties voor het visualiseren
van de testgegevens (Schumaker, Solieman, & Chen, 2010).
Een eerste manier om Weka te gebruiken is om een leermethode toe te passen op een dataset
en de output ervan te analyseren om meer over de gegevens te leren. Een tweede manier is
om de geleerde modellen te gebruiken om voorspellingen te kunnen genereren voor nieuwe
38
gegevensrecords. Een derde manier is om verschillende modellen toe te passen en hun
prestaties te vergelijken, om vervolgens er één model uit te kiezen om predicties mee te
maken (Witten & Frank, 2005).
Deze drie manieren waarvoor Weka gebruikt kan worden, zijn toegepast in deze case study.
Eerst werd verkennend gewerkt in Weka om een beter inzicht te krijgen in de dataset.
Vervolgens werd een model gebouwd via ML algoritmes om voorspellingen te kunnen maken.
Hierbij werd bekeken of een model bruikbare output kan genereren. Als laatste werden
verschillende modellen gemaakt en getest om de prestaties en output onderling te vergelijken.
Figuur 14: Modulair ontwerp van een systeem voor het voorspellen van uitslagen (Zdravevski & Kulakov, 2010)
In bovenstaande figuur worden de stappen van datavergaring tot en met het modelleren
visueel weergegeven. In de eerste fase van dit onderzoek wordt data vergaard via
internetbronnen. Zo worden verschillende datasets gedownload en samengevoegd om tot een
dataset te komen die geschikt is voor predictief modelleren. Vervolgens wordt de dataset
ingeladen in Weka en worden datamining leermodellen gemaakt.
De leermethoden worden ML Classifiers genoemd, in de interactieve Weka-interface kan men
in de menu de gewenste classifier kiezen. Implementaties van daadwerkelijke leer-
programma's zijn de meest waardevolle resource dat Weka aan haar gebruikers aanbiedt.
Daarnaast zijn hulpmiddelen voor de voorbewerking van de gegevens, filters genaamd, ook
belangrijk. Net als ML Classifiers, selecteert men filters uit een menu en past men deze aan,
aan de vereisten. Bovendien bevat Weka ook implementaties van algoritmen voor
leerassociatie regels, zoals clustergegevens waarin geen klasse of target variabele is
opgegeven en relevante kenmerken in de gegevens worden geselecteerd (Witten & Frank,
2005).
39
4.4.5 ML Classifiers
In deze case study wordt beroep gedaan op een supervised learning techniek, m.n.
classificatie. Daarom worden hieronder voornamelijk de ML Classifiers besproken die onder
de classifcatie-algoritmen vervat zitten.
Figuur 15: De verschillende classifiers per Machine Learning techniek (MathWorks, 2018)
4.4.5.1 Decision Trees
Dit is een verdeel en heers aanpak om het probleem van het leren van een dataset aan te
pakken. De representatie van onafhankelijk instances leidt al vrij snel tot wat men een
beslissingsboom noemt. Een beslissingsboom is opgebouwd uit wat men nodes noemt. Dit
zijn de punten waarin een bepaald attribuut getest wordt. Doorgaans is de test in een node
een attribuutwaarde die met een constante vergeleken wordt. Het is ook mogelijk dat twee
attributen met elkaar vergeleken worden. Gewoonlijk start een beslissingsboom met de Root
node. Wat het eerste attribuut is waarop een evaluatie wordt uitgevoerd. Daarna blijven er
evaluaties plaatsvinden in de interior nodes tot er een classificatie gevonden is voor een
specifieke instance. Een instance bereikt pas een classificatie indien het een Leaf node
bereikt. Een leaf node geeft een classificatie welke van toepassing is op elke instance die de
leaf node bereikt. Wanneer het geteste attribuut een nominale waarde is, wordt de node
40
opgesplitst in evenveel children als er mogelijke waarden zijn die het attribuut kan aannemen
(Witten & Frank, 2005).
Figuur 16: Voorbeeld van een beslissingsboom
In de root node op bovenstaande figuur wordt van een persoon bekeken of deze al dan niet
tewerkgesteld is. Indien dit inderdaad zo is, wordt hij meteen in de eerste leaf node
geclassificeerd. In dit voorbeeld kan een instance in totaal drie evaluaties ondergaan, de
laatste is de leeftijd. Indien een instance deze node bereikt, wordt deze in één van de laatste
leaf nodes ingedeeld. Een instance kan dus nooit zonder een classificatie blijven bij een
beslissingsboom (Provost & Fawcett, 2013).
J48
Dit is een beslisingsboom ML Classifier in Weka. Het is een doorontwikkeling van iterative
dichtimiser algoritm kortweg ID3. Deze werkt volgens het klassieke prinicipe door een root
node in twee of meerdere delen te splitsen. Dit proces gaat door tot een leaf node in de
beslissingsboom bereikt is (Gupta, Malviya, & Singh, 2012).
Random Forest
Random Forest biedt significante verbeteringen in classificatie accuraatheid door een
ensemble van beslissingsbomen op te stellen en te kiezen voor de meest populaire klasse.
De generalisatie fout hangt af van de sterkte van elke individuele beslissingsboom en hun
onderlinge correlatie (Breiman, 2001).
41
4.4.5.2 Logistische regressie
Logistische regressie is minder gevoelig voor overfitting in vergelijking met beslisingsbomen.
In het geval van het voorspellen van sportwedstrijden zijn er veel karakteristieken beschikbaar.
Verder is het aantal training instances per definitie beperkt, een tennisspeler is namelijk fysiek
maar in staat om een bepaald aantal wedstrijden per jaar te spelen. Bijgevolg zal een
beslissingsboom snel overfitten omdat deze een te grote graad van vrijheid heeft. Logistische
regressie heeft een lagere variantie, maar wel een potentieel hogere bias.
Ondanks de naam, is logistische regressie, geen regressie-algoritme, maar wel een
classificatie algoritme. De eigenschappen van de logistische functie staan weliswaar centraal
in het algoritme. De logistische functie α (t) kan als volgt gedefinieerd worden (Sipko, 2015):
𝛼(𝑡) =1
1 + 𝑒−𝑡
Zoals op onderstaande figuur te zien is, zal de logistische functie de inputwaarden mappen
tussen -∞ en +∞ op de x-as, bij een waarde tussen 0 en 1. Dit zorgt ervoor dat de output als
een probabiliteit kan worden geïnterpreteerd.
Figuur 17: Logistische functie 𝛼(𝑡) (Sipko, 2015)
In Weka worden verschillende soorten implementaties van logistische regressie ondersteund.
• Logistic: logistische regressie in zijn meest simpele vorm.
• SimpleLogistic: classifier voor het bouwen van lineaire logistische regressie
modellen.
• LogitBoost: deze meta classifier voert een addditieve logistische regressie uit. De
regressie ondergaat een bijkomende Boost. Dit is één van de belangrijkste
42
ontwikkelingen binnen de classificatie methodologie. Boosting werkt door steeds
sequentieel aan een classificatie algoritme een ander gewicht toe te kennen. Dit bij
elke nieuwe iteratie op de trainingsdata (Friedman, Hastie, & Robert, 2000).
4.4.5.3 Andere classifiers
DecisionTable
Decision tables zijn één van de meest simpele classifiers in Machine Learning. Zowel op
artificiële als op real-world data met enkel discrete variabelen presteren decision tables vaak
beter dan state-of-the-art algoritmen. Deze ML Classifier is zelfs bruikbaar in datasets waarin
continue variabelen verwerkt zijn. Dit geeft aan dat in veel datasets, die gebruikt worden voor
Machine Learning, deze variabelen ofwel overbodig zijn, ofwel weinig voorspellende waarde
hebben. Door het gebruik van cross-validatie is dit algoritme goed te wapenen tegen overfitting
(Kohavi, 1995).
NaiveBayes
Dit algoritme classificeert elk nieuw record door de kans te schatten dat deze instance tot een
bepaalde klasse behoort. Op basis hiervan geeft het vervolgens de klasse weer met de
hoogste probabiliteit. Naive Bayes is een relatief eenvoudige classifier, desondanks neemt
het wel elke variabele in beschouwing. Afgezien van dit feit is Naive Bayes toch zeer efficiënt
in de tijd die het in beslag neemt om het model op te bouwen (Provost & Fawcett, 2013).
Bagging
Deze ML Classifier is vooral nuttig in combinatie met beslissingsbomen, waar het zorgt voor
een lagere bias ten koste van een hogere variantie. Meerdere beslissingsbomen worden
opgesteld uit de subset van de data en het gemiddelde van de resultaten wordt in rekening
genomen.
4.4.6 Constructie model in Weka
Aan de hand van deze ML Classifiers werd in de Weka datamining tool opzoek gegaan naar
het meest interessante predictief model. De eerste stap hierin is het bekomen van robuuste
en correcte classificaties. Om tot betrouwbare trainingsmodellen te komen werd 10-folds
cross-validatie toegepast op elke ML Classifier om overfitting tegen te gaan. Om tot het meest
solide predictief model te komen werden alle ML Classifiers binnen Weka eerst overlopen via
trial-and-error. Hieruit komen de eerste verkennende resultaten die verder vanaf punt 5.1
worden beschreven.
In een tweede stap werd Weka uitgebreid met de Auto-Weka extensie. Dit is een tool die
algoritme selectie combineert met hyper-parameter optimalisatie. Dit gebeurt voor alle
43
classificatie- en regressie-algoritmes die terug te vinden zijn in Weka. Voor een gegeven
dataset zal Auto-Weka de parameter instellingen voor zoveel mogelijk algoritmen gaan
evalueren. Hoeveel dit er zijn hangt af van de beschikbare rekenkracht en tijd. Op basis van
deze evaluatie zal Auto-Weka een aanbeveling maken aan de gebruiker welk model beste
performantie zal hebben. Deze extensie neemt ook in acht of de resultaten goed
generaliseerbaar zijn naar nieuwe ongeziene instances.
4.5 Evaluation
In deze fase wordt het getrainde model geëvalueerd. Hiervoor bestaan tal van evaluatie
metrieken. In onderstaande sectie worden de meest frequent gebruikte evaluatie metrieken
toegelicht.
4.5.1 Evaluatie metrieken
Accuraatheid
Accuraatheid is de verhouding tussen het aantal correct genomen beslissingen en het totaal
aantal genomen beslissingen. Het totaal aantal betreft zowel de correct genomen als de foutief
genomen beslissingen. De accuraatheid wordt uitgedrukt in een percentage. (Provost &
Fawcett, 2013).
𝐴𝑐𝑐𝑢𝑟𝑎𝑎𝑡ℎ𝑒𝑖𝑑 =𝐴𝑎𝑛𝑡𝑎𝑙 𝑐𝑜𝑟𝑟𝑒𝑐𝑡 𝑔𝑒𝑛𝑜𝑚𝑒𝑛 𝑏𝑒𝑠𝑙𝑖𝑠𝑠𝑖𝑛𝑔𝑒𝑛
𝑇𝑜𝑡𝑎𝑎𝑙 𝑎𝑎𝑛𝑡𝑎𝑙 𝑔𝑒𝑛𝑜𝑚𝑒𝑛 𝑏𝑒𝑠𝑙𝑖𝑠𝑠𝑖𝑛𝑔𝑒𝑛
Een andere manier om accuraatheid uit te drukken is via het berekenen van de error rate. De
error rate is de som van de False Negatives (FN) en de False Positives (FP) gedeeld door het
totaal aantal genomen beslissingen. Het totaal aantal genomen beslissingen is de som van
de True Positives (TP), True Negatives (TN), False Negatives (FN) en False Positives (FP).
𝐸𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒 =𝐹𝑁 + 𝐹𝑃
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑁 + 𝐹𝑃
𝐴𝑐𝑐𝑢𝑟𝑎𝑎𝑡ℎ𝑒𝑖𝑑 = 1 − 𝐸𝑟𝑟𝑜𝑟 𝑟𝑎𝑡𝑒
44
Confusion matrix
In onderstaande tabel wordt de confusion matrix weergegeven. De cellen TP en TN geven de
correct geclassificeerde gegevensrecords weer. De cellen FN en FP daarentegen geven de
foutief geclassificeerde gegevensrecords weer.
Predicted classes
Actual classes
Positive Negative
Yes True Positives (TP) False Positive (FP)
No False Negatives (FN) True Negatives (TN)
Tabel 7: Confusion matrix
Classificatie accuraatheid
In deze case study verwijst een genomen beslissing van het model naar een classificatie. Een
juist genomen beslissing van het model is in deze dan een correct geclassificeerde
tenniswedstrijd.
𝐴𝑐𝑐𝑢𝑟𝑎𝑎𝑡ℎ𝑒𝑖𝑑 =A𝑎𝑛𝑡𝑎𝑙 𝑐𝑜𝑟𝑟𝑒𝑐𝑡 𝑔𝑒𝑐𝑙𝑎𝑠𝑠𝑖𝑓𝑖𝑐𝑒𝑒𝑟𝑑𝑒 𝑤𝑒𝑑𝑠𝑡𝑟𝑖𝑗𝑑𝑒𝑛
Totaal aantal wedstrijden
𝐴𝑐𝑐𝑢𝑟𝑎𝑎𝑡ℎ𝑒𝑖𝑑 =TP + TN
TP + TN + FP + FN
ROI
De winst of het verlies die het resultaat is van een weddenschap wordt de Return On
Investment of ROI genoemd. Het vergelijken van de performantie van het model gebaseerd
op de ROI die gegenereerd wordt, met historische data van de markt van weddenschappen
is één van de voornaamste onderzoeksonderwerpen in de dit onderzoeksdomein.
Gokkansen geven een impliciete probabiliteit over de uitkomst van een match. Bookmakers
zullen dan ook een schatting maken van de echte kans dat een tennisser een bepaalde match
zal winnen. Voor de kans X/Y dat een tennisser een match zal winnen, is de impliciete
probabiliteit (p) op winst de volgende vergelijking (Sipko, 2015):
𝑝 = 𝑌
𝑌 + 𝑋
In deze dissertatie, is het hoofddoel om zo veel mogelijk wedstrijden correct te gaan
voorspellen. Daarom is niet de ROI maar de classificatie accuraatheid gekozen als de
belangrijkste en voornaamste evaluatie metriek.
45
4.6 Deployment
In de laatste fase van het CRISP-DM model gaat men het gemaakte model toepassen op een
evaluatie dataset of zogenaamde deployment set. Deze evaluatie dataset bevat alle gegevens
van een wedstrijd, behalve de uitkomst van de wedstrijd. Het model wordt getraind met
gegevens van de training ML Tennis Dataset. Deze training set bevat alle gegevens van alle
voorgaande wedstrijden uit de seizoenen 2012 t.e.m. medio 2018. De resultaten van het
tornooi dat men wil gaan voorspellen worden uiteraard niet opgenomen in de training dataset.
In deze dissertatie zal men de tenniswedstrijden van vier tornooien gaan voorspellen. Eerst
zal men twee Grandslam tornooi gaan voorspellen, m.n. Roland Garros 2018 en Wimbledon
2018. Vervolgens zal men twee Masters 1000 tornooien gaan voorspellen, nl. Miami Open
2018 en Indian Wells 2018. Tot slot, zal men ook het Australian Open 2018 Grandslam tornooi
volledig simuleren via voorspellingen per ronde.
4.6.1 Toepassing van het model
Er wordt eerst een training set aangemaakt specifiek voor elk tornooi. Dit is de dataset waaruit
alle wedstrijden na het voorspelde tornooi volledig verwijderd werden. Verder wordt het
resultaat van het te voorspellen tornooi uit de dataset verwijderd. Dit betekent dat hier enkel
de inhoud van de laatste kolom, m.n. het attribuut winnaar, verwijderd wordt uit de dataset.
Op deze manier wordt een bruikbare training set verkregen.
Vervolgens wordt ook een nieuwe evaluatie set of deployment set aangemaakt. Hierop zullen
de voorspellingen plaatsvinden. In deze dataset worden alle records van het te voorspellen
tornooi gekopieerd uit de training set. Echter wordt in deze deployment set de laatste kolom
overal ingevuld met vraagtekens als waarde.
Daarna wordt een model gemaakt met een bepaalde ML Classifier. Om overfitting te vermijden
wordt hier gebruik gemaakt van 10-folds cross-validatie. Een model dat goede prestaties levert
op de training set wordt geselecteerd en opgeslagen. Dit opgeslagen model wordt dan
opnieuw ingeladen in Weka. In tussentijd wordt ook een supplied test set ingesteld. Hier wordt
de deployment set, waar men de voorspelling op maakt, ingeladen. Het ingeladen model gaat
men dan opnieuw evalueren, maar deze keer op de deployment set. Dit levert de output
predicties op, deze worden in CSV-formaat weergegeven. Vervolgens worden deze
voorspellingen dan gekopieerd in MS Excel, waar ze duidelijk gepresenteerd kunnen worden.
Ten slotte, worden de voorspelde resultaten van de deployment set vergeleken met de
werkelijke resultaten van de desbetreffende wedstrijden. Zo wordt ook de accuraatheid van
het model berekend op de deployment set. Dit geeft weer hoe accuraat het model presteert
op nieuwe ongeziene gegevens.
46
5 Resultaten
5.1 Baseline predictor
Volgens onderzoek van Boulier & Stekler (1999) is de rankschikking van tennisspelers een
goede voorspeller van de wedstrijdresultaten. Hierbij werd aangetoond dat een rankschikking
een goede voorspellende waarde heeft en dat bij een voorspelling de hoogst gerangschikte
speler zal winnen. Verder werd ook de relatie tussen de rankschikking en de kans van het
winnen van een wedstrijd onderzocht. Hierbij werd verondersteld dat het mogelijk is om deze
baseline voorspeller te verbeteren. Als laatste werd ook een significante relatie vastgesteld
tussen de kans van het winnen en het verschil in rankschikking tussen beide spelers (Boulier
& Stekler, 1999).
In onderzoek van Scheibehenne & Bröder (2007) staat vermeld dat het voorspellen van een
tenniswedstrijd via ATP-ranking een goede predictor is. In hun onderzoek werd een
accuraatheid van 69% bereikt. Hierbij dient wel vermeld te worden dat het om een zeer kleine
steekproef gaat. De 127 wedstrijden van het Wimbledon Grandslam tornooi van 2005 werden
hiervoor gebruikt. De regel is hierbij dat men ervan uitgaat dat de speler met de hoogste
rangschikking de wedstrijd wint (Scheibehenne & Bröder, 2007).
In onderstaande tabel werd een baseline predictor berekend volgens de ATP-ranking. Hierbij
werd een if-functie in Excel gebruikt om te bekijken in hoeveel procent van de gevallen de
speler met de hoogste (lees: beste) ATP-ranking de wedstrijd wint. Hierbij werden 11 535
gegevensrecords correct voorspeld op een totaal van 17 372 wedstrijden. Ook NaiveBayes,
een eenvoudige ML Classifier, werd toegepast op de ML Tennis Dataset. Beide modellen
presteren ongeveer even goed. Hierbij werd ATP-ranking opgenomen als baseline predictor.
De accuraatheid van de baseline predictor bedraagt 66,40% op de volledige ML Tennis
Dataset.
Dataset Baseline predictor Accuraatheid (%)
ML Tennis Dataset ATP-ranking (Excel) 66,4000%
ML Tennis Dataset NaiveBayes (ML Classifier) 66,3884%
Tabel 8: Baseline predictie o.b.v. ATP-rankschikking
47
In onderstaande figuur wordt de ATP-ranglijst van juli 2018 weergegeven. Deze ranglijst is
uitgegeven na het Wimbledon Grandslam tornooi van 2018. Deze ranglijst bevat de bekendste
mondiale tennisspelers zoals Rafael Nadal, Roger Federer en Novak Djokovic. Zij wonnen dit
jaar in respectievelijke volgorde Roland Garros, Australian Open en Wimbledon.
Figuur 18: Top tien ATP-ranglijst juli 2018 (Sporza, ATP-ranglijst, 2018)
5.2 ATP-ranking in combinatie met extra attributen
In onderstaande tabel worden verschillende attributen gecombineerd met het attribuut van
ATP-rankschikking. Deze attributen werden toegevoegd aan de dataset om deze te verrijken.
Deze toegevoegde attributen bevatten gegevens omtrent individuele tennisspelers. Hiervoor
werd geopteerd om de Logistic Regression ML Classifier te gebruiken in Weka. Dit is een
welbekende tool voor classificatie problemen. Logistische regressie deelt de gegeven
kenmerken in naar een waarde tussen 0 en 1. Hierdoor hebben de afhankelijke variabelen
een continue waarde. Logistic Regression werd gekozen omdat het een grote bekendheid
geniet dankzij zijn simpele berekeningswijze en interpretatie, dit in combinatie met
betrouwbare resultaten (Rastegari, Haghighat, & Nourafza, 2013).
Dataset Combinatie Accuraatheid (%)
ML Tennis Dataset ATP-ranking + Service Points Won% 67,7239%
ML Tennis Dataset ATP-ranking + ELO rating 67,4879%
ML Tennis Dataset ATP-ranking + Return Games Won% 67,4591%
ML Tennis Dataset ATP-ranking + Games Dominance 67,2058%
ML Tennis Dataset ATP-ranking + Career Win Loss% 66,4805%
ML Tennis Dataset ATP-ranking + Aces Per Match 66,4575%
Tabel 9: Het toevoegen van attributen bij ATP-ranking (Logistic Regression ML Classifier)
48
Wanneer de toegevoegde attributen in combinatie met ATP-ranking werden gebruikt via
Logistic Regression wordt de baseline predictor van 66,40% overschreden. Er is een minimale
verhoging met 0,06 procentpunt wanneer ATP-ranking gebruikt wordt in combinatie met het
attribuut “aantal aces per wedstrijd”. Er is een maximale verhoging met 1,32 procentpunt
wanneer ATP-ranking gebruikt wordt in combinatie met het attribuut “percentage gewonnen
service punten”.
5.3 Verkennende modellen
5.3.1 Prestaties ML Classifiers training set
Na de baseline modellen werd de ML Tennis Dataset gebruikt om een voorspellend model op
te stellen. Hierbij werden enkel de attributen behouden die een waardevolle InfoGain leveren.
In onderstaande tabel worden de accuraatheden per ML Classifier op de training set
berekend.
Dataset Classifier Accuraatheid (%)
ML Tennis Dataset DeciscionTable 70,6654%
ML Tennis Dataset LogitBoost 70,3661%
ML Tennis Dataset AdaBoostM1 69,7041%
ML Tennis Dataset SimpleLogistic 68,9155%
ML Tennis Dataset Logistic 68,5759%
ML Tennis Dataset NaiveBayes 67,6088%
ML Tennis Dataset Bagging 61,1674%
Tabel 10: Verkennende predictie o.b.v. attributen met ML Tennis Dataset
De berekende accuraatheid van de baseline predictor op de volledige ML Tennis Dataset
bedraagt 66,40%. Deze baseline predictor werd berekend via de ATP-ranking. Bij de
verkennende modellen werd de accuraatheid van de baseline predictor meteen overschreden
met 4,27 procentpunt via DecisionTable als ML Classifier. Overigens presteerden alle ML
Classiefiers, met uitzondering van Bagging, beter dan de baseline predictor.
Op basis van bovenstaande resultaten werd besloten om voor de deployment fase enkel met
de volgende twee ML Classifiers verder te gaan, nl. DecisionTable en Logitboost. De
accuraatheid van deze twee modellen ligt dicht bij elkaar. Beide modellen vergelijken kan
potentieel interessante inzichten verschaffen. Het model verkregen uit elk van deze ML
Classifiers werd op elk van de vier voorspelde tornooi toegepast en de bijhorende resultaten
werden vergeleken.
49
5.3.2 Prestaties DecisionTable
Confusion matrix:
a b Geclassificeerd als
6 139 2 549 a = 0
2 447 6 137 b = 1
Tabel 11: Confusion matrix met DecisionTable op de volledige training ML Tennis Dataset
Totaal aantal training gegevensrecords = 17372 instances.
Accuraatheid:
𝐴𝑐𝑐𝑢𝑟𝑎𝑎𝑡ℎ𝑒𝑖𝑑 (%) =6 139 + 6 137
6 139 + 6 137 + 2 549 + 2 547∗ 100 = 70,6654%
5.3.3 Prestaties LogitBoost
Confusion matrix:
a b Geclassificeerd als
6 097 2 591 a = 0
2 557 6 127 b = 1
Tabel 12: Confusion matrix met LogitBoost op de volledige training ML Tennis Dataset
Totaal aantal training gegevensrecords = 17372 instances.
Accuraatheid:
𝐴𝑐𝑐𝑢𝑟𝑎𝑎𝑡ℎ𝑒𝑖𝑑 (%) =6 097 + 6 127
6 097 + 6 127 + 2 557 + 2 591∗ 100 = 70,3661%
Onderstaande grafiek stelt de leercurve van DecisionTable en LogitBoost ML Classifier voor.
Deze grafiek toont aan dat indien er data verwijderd wordt uit de dataset, de error rate
toeneemt. Met andere woorden hoe minder data het model ter beschikking heeft, hoe meer
fouten het maakt. Indien geen data verwijderd wordt, hebben beide modellen een error rate
van 29,63% en 29,33% voor respectievelijk LogitBoost en DecisionTable. Indien echter 90%
minder data aanwezig zou zijn, hebben de modellen een error rate van 30,59% en 32,20%
voor respectievelijk LogitBoost en DecisionTable.
50
Figuur 19: Leercurve via error rate voor LogitBoost en DecisionTable
Onderstaande grafiek geeft de leercurve van DecisionTable en LogitBoost weer op een
andere manier. Deze grafiek toont aan dat naargelang het aantal gegevensrecords toeneemt
ook de accuraatheid zal toenemen. Met andere woorden, hoe meer data het model ter
beschikking heeft, hoe meer juiste classificaties het maakt. Indien maar 10% van de data
beschikbaar is haalt het model maar een accuraatheid van 69,41% en 67,80% voor
respectievelijk LogitBoost en DecisionTable. Indien echter alle data aanwezig zou zijn, hebben
de modellen een accuraatheid van 70,37% en 70,67% voor respectievelijk LogitBoost en
DecisionTable.
Figuur 20: Leercurve via accuraatheid voor LogitBoost en DecisionTable
29.00%
29.50%
30.00%
30.50%
31.00%
31.50%
32.00%
32.50%
0% 20% 40% 60% 80% 100%
Err
or
rate
(%
)
Uitgenomen data (%)
Leercurve voor DecisionTable en LogitBoost
Error rate LogitBoost
65%
66%
67%
68%
69%
70%
71%
72%
0 2500 5000 7500 10000 12500 15000 17500 20000
Accura
ath
eid
(%
)
Training instances
Leercurve voor DecisionTable en LogitBoost
Accuracy LogitBoost Accuracy DecisionTable
51
5.4 Feature selection door DecisionTable en LogitBoost
DecisionTable
Attributen die door het model gebruikt zijn: Surface, Games_Dominance van speler 1 en 2,
MatchesWon% van speler 1 en 2. De attributen die door het model, met DecisionTable als ML
Classifier, worden opgenomen zijn voornamelijk de toegevoegde attributen. Het betreft hier
de attributen die informatie geven over de speldominantie en het percentage gewonnen
wedstrijden van een speler. Enkel het attribuut ondergrond (surface) wordt opgenomen uit de
bestaande attributenlijst bij de voorspelling van Roland Garros Grandslam tornooi. Voor de
voorspelling van Roland Garros wordt het attribuut “Games_Dominance” niet opgenomen in
het model (Zie bijlage 9.1.1).
LogitBoost
Attributen die door het model gebruikt zijn: MatchesWon% van speler 1 en 2,
Games_Dominance van speler 1 en 2, Opponent_ELO_Rating van speler 1 en 2. De
attributen die door het model, met LogitBoost als ML Classifier, worden opgenomen zijn
voornamelijk de toegevoegde attributen. Het betreft hier de attributen die informatie geven
over de speldominantie, het percentage gewonnen wedstrijden en de ELO-rating van een
speler (Zie bijlage 9.1.2).
5.5 Tornooi prestatie
In deze sectie werden vier verschillende tennistornooien voorspeld, waaronder twee
Grandslam tornooien en twee tornooien van de Master series 1000. Hierbij werd een
vergelijking gemaakt tussen de effectieve resultaten van deze tornooien en de voorspelde
resultaten via predictive modelling. Volgende tornooien van het jaar 2018 werden voorspeld:
Roland Garros, Wimbledon, Miami Open en Indian Wells.
De twee beste classifiers, met de hoogste graad van accuraatheid, werden geselecteerd om
een model mee te maken. De classifiers met de hoogste accuraatheid zijn DecisionTable en
LogitBoost. Met beide classifiers werd een model gebouwd voor elk van deze vier
verschillende tornooien. Dit impliceert dat er telkens één training set en één deployment set
werd opgesteld voor elk tornooi afzonderlijk. Bovendien werd voor elk van deze tornooien de
accuraatheid van de baseline predictor op basis van de ATP-ranking berekend. Om de uplift
door het gebruik van ML Classifiers aan te tonen. In onderstaande paragrafen worden de
resultaten per tornooi weergegeven. Vervolgens worden deze resultaten vergeleken en
besproken.
52
In onderstaande tabel wordt een voorbeeld gegeven van hoe het resultaat er uitziet na
verwerking. Hierbij wordt een voorbeeld gegeven van één record dat voorspeld werd. Hier
ging het om de finale van Roland Garros 2018, waar Nadal het opnam tegen Thiem. Het model
in casu voorspelde dat speler 1 (0 = speler 1), in deze wedstrijd Nadal, met 86% zekerheid
zou winnen. Het voorspelde resultaat komt hier ook effectief overéén met het werkelijke
resultaat.
Instance Tournament Round Player 1 Player 2
Actual
result
Predicted
result Probability
127 French Open The Final NadalR. ThiemD. 0 0 0.86
Tabel 13: Voorbeeld van een voorspelling op deployment set (ML Classifier: LogitBoost)
5.5.1 Voorspelling Grandslam tornooien
De Grandslam tornooien, Roland Garros en Wimbledon van het jaar 2018, werden hier met
elkaar vergeleken. Er werden twee modellen gemaakt met twee verschillende classifiers. De
accuraatheid op de training set werd vergeleken met de accuraatheid op een nieuwe
deployment set.
5.5.1.1 Roland Garros
Roland Garros is een Grandslam tornooi dat op een gravel ondergrond wordt gespeeld. Het
tornooi vindt plaats in de Franse hoofdstad Parijs. Dit tornooi is in de ML tennis dataset terug
te vinden onder de naam French Open.
Training set Deployment set
Baseline 66.44% 70.08%
LogitBoost 70,21% 72,44%
DecisionTable 70,29% 74,02%
Tabel 14: Accuraatheid op Roland Garros 2018
LogitBoost
Hier werd een model gemaakt met LogitBoost als classifier. De accuraatheid van het model
op de deployment set bedraagt 72,44%, de accuraatheid op de traninig set bedraagt 70,21%.
Het model dat werd toegepast op de deployment set presteert 2,23 procentpunt hoger dan de
prestaties op de training set. De prestaties van het model op de deployment set zijn dus
beduidend beter dan de prestaties op de volledige training set.
Vervolgens presteert het model wel goed vanaf de 2de ronde, vanaf dan worden slechts 12
van de 63 instances foutief geclassificeerd. M.a.w. de accuraatheid vanaf de 2de ronde
53
bedraagt 80,95%. In tegenstelling tot de gemaakte predicties van ronde 1, waar 64,06%
correct geclassificeerd. Hierbij werden 23 van de 64 instances foutief geclassificeerd.
Bij de lage probabiliteiten (tussen 0,5 en 0,7) maakt het model relatief veel foute classificaties.
Evenwel bij de hoge probabiliteiten (hoger dan 0,7) zien we dat het aantal juiste classificaties
veel hoger ligt (Zie bijlage 9.2.1).
DecisionTable
Hier werd een model gemaakt met DecisionTable als classifier. De accuraatheid van het
model op de deployment set bedraagt 74,02%, de accuraatheid op de traninig set bedraagt
70,29%. Het model dat werd toegepast op de deployment set presteert 3,73 procentpunt
hoger dan de prestaties op de training set. De prestaties van het model op de deployment set
zijn dus beduidend beter dan de prestaties op de volledige training set.
Vervolgens presteert het model wel goed vanaf de 2de ronde, vanaf dan worden slechts 11
van de 63 instances foutief geclassificeerd. M.a.w. de accuraatheid vanaf de 2de ronde
bedraagt 82,54%. In tegenstelling tot de gemaakte predicties van ronde 1, waar 65,63%
correct geclassificeerd. Hierbij werden 22 van de 64 instances foutief geclassificeerd.
Bij de lage probabiliteiten (tussen 0,5 en 0,75) maakt het model relatief veel foute
classificaties. Evenwel bij de hoge probabiliteiten (hoger dan 0,75) zien we dat er bijna
nauwelijks foute classificaties waar te nemen zijn (Zie bijlage 9.2.2).
5.5.1.2 Wimbledon
Wimbledon is een Grandslamt ornooi dat gespeeld wordt op een gras ondergrond. Het tornooi
vindt plaats in de Britse hoofdstad Londen.
Training set Deployment set
Baseline 66.16% 63.78%
LogitBoost 70,29% 69,29%
DecisionTable 70,34% 69,29%
Tabel 15: Accuraatheid op Wimbledon 2018
LogitBoost
Hier werd een model gemaakt met LogitBoost als classifier. De accuraatheid van het model
op de deployment set bedraagt 69,29%, de accuraatheid op de traninig set bedraagt 70,29%.
Het model dat werd toegepast op de deployment set presteert 1,00 procentpunt lager dan de
prestaties op de training set. De prestaties van het model op de deployment set zijn dus iets
minder goed dan de prestaties op de volledige training set.
54
Vervolgens presteert het model wel goed vanaf de 3de ronde, vanaf dan worden slechts 8 van
de 31 instances foutief geclassificeerd. M.a.w. de accuraatheid vanaf de 3de ronde bedraagt
74,19%. In tegenstelling tot de gemaakte predicties van ronde 1 en 2, waar 66,67% correct
geclassificeerd. Hierbij werden 32 van de 96 instances foutief geclassificeerd.
Bij de lage probabiliteiten (tussen 0,5 en 0,75) maakt het model relatief veel foute
classificaties. Evenwel bij de hoge probabiliteiten (hoger dan 0,75) zien we dat het aantal juiste
classificaties veel hoger ligt (Zie bijlage 9.2.3).
DecisionTable
Hier werd een model gemaakt met DecisionTable als classifier. De accuraatheid van het
model op de deployment set bedraagt 69,29%, de accuraatheid op de traninig set bedraagt
70,34%. Het model dat werd toegepast op de deployment set presteert 1,05 procentpunt lager
dan de prestaties op de training set. De prestaties van het model op de deployment set zijn
iets minder goed dan de prestaties op de volledige training set.
Vervolgens presteert het model wel goed vanaf de 3de ronde, vanaf dan worden slechts 9 van
de 31 instances foutief geclassificeerd. M.a.w. de accuraatheid vanaf de 3de ronde bedraagt
70,97%. In tegenstelling tot de gemaakte predicties van ronde 1 en 2, waar 68,75% correct
geclassificeerd. Hierbij werden 30 van de 96 instances foutief geclassificeerd.
Bij de lage probabiliteiten (tussen 0,5 en 0,8) maakt het model relatief veel foute classificaties.
Evenwel bij de hoge probabiliteiten (hoger dan 0,80) zien we dat er bijna nauwelijks foute
classificaties waar te nemen zijn (Zie bijlage 9.2.4).
5.5.2 Voorspelling Masters 1000 series
De Masters 1000 zijn een serie van negen tornooien in de ATP world tour. De Masters 1000
series wordt georganiseerd door de ATP organisatie. Deze tornooien worden beschouwd als
de meest prestigieuze tornooien in het mannentennis na de grandlamtornooien. De Masters
1000 series tornooien, Miami Open en Indian Wells van het jaar 2018, werden hier met elkaar
vergeleken. Er werden twee modellen gemaakt met twee verschillende ML Classifiers. De
accuraatheid op de training set werd vergeleken met de accuraatheid op een nieuwe
deployment set.
5.5.2.1 Miami Open
Het tennistornooi van Miami (Miami Open) wordt gespeeld op een hard court ondergrond. Het
tornooi vindt plaats nabij Miami, in het Amerikaanse Florida. Het tornooi is in de ML tennis
dataset terug te vinden onder de naam Sony Ericsson Open.
55
Training set Deployment set
Baseline 66.62% 57.89%
LogitBoost 70,46% 65,26%
DecisionTable 71,14% 69,47%
Tabel 16: Accuraatheid op Miami Open 2018
LogitBoost
Hier werd een model gemaakt met LogitBoost als classifier. De accuraatheid van het model
op de deployment set bedraagt 65,26%, de accuraatheid op de traninig set bedraagt 70,46%.
Het model dat werd toegepast op de deployment set presteert 5,20 procentpunt lager dan de
prestaties op de training set. De prestaties van het model op de deployment set zijn dus minder
goed dan de prestaties op de volledige training set.
Vervolgens presteert het model wel goed vanaf de 3de ronde, vanaf dan worden slechts 7 van
de 31 instances foutief geclassificeerd. M.a.w. de accuraatheid vanaf de 3de ronde bedraagt
77,42 procent. In tegenstelling tot de gemaakte predicties van ronde 1 en 2, die zijn samen
voor 59,38% correct geclassificeerd. Hierbij werden 26 van de 64 instances foutief
geclassificeerd.
Bij de lage probabiliteiten (tussen 0,5 en 0,6) maakt het model relatief veel foute classificaties.
Evenwel bij de hoge probabiliteiten (hoger dan 0,7) zien we dat het aantal juiste classificaties
veel hoger ligt (Zie bijlage 9.2.5).
DecisionTable
Hier werd een model gemaakt met DecisionTable als classifier. De accuraatheid van het
model op de deployment set bedraagt 69,47%, de accuraatheid op de traninig set bedraagt
69,47%. Het model dat werd toegepast op de deployment set presteert 1,67 procentpunt lager
dan de prestaties op de training set. De prestaties van het model op de deployment set zijn
dus bijna even goed dan de prestaties op de volledige training set. Het model presteert zoals
verwacht.
Vervolgens presteert het model wel goed vanaf de 3de ronde. Vanaf dan worden slechts 7 van
de 31 instances foutief geclassificeerd. M.a.w. de accuraatheid vanaf de 3de ronde bedraagt
77,42%. In tegenstelling tot de gemaakte predicties van ronde 1 en 2, die zijn samen voor
65,63% correct geclassificeerd. Hierbij werden 22 van de 64 instances foutief geclassificeerd.
Bij de lage probabiliteiten (tussen 0,5 en 0,6) maakt het model relatief veel foute classificaties.
Evenwel bij de hoge probabiliteiten (hoger dan 0,7) zien we dat het aantal juiste classificaties
veel hoger ligt (Zie bijlage 9.2.6).
56
5.5.2.2 Indian Wells
Het tennistornooi van Indian Wells (Indian Wells) wordt gespeeld op een hard court
ondergrond. Dit tornooi vindt plaats in Indian Wells, in het Amerikaanse Florida. Het tornooi is
terug te vinden in de ML tennis dataset onder de naam BNP Parisbas Open.
Training set Deployment set
Baseline 66.67% 58.95%
LogitBoost 70,65% 67,37%
DecisionTable 70,67% 62,11%
Tabel 17: Accuraatheid op Indian Wells 2018
LogitBoost
Hier werd een model gemaakt met LogitBoost als classifier. De accuraatheid van het model
op de deployment set bedraagt 67,37%, de accuraatheid op de traninig set bedraagt 70,65%.
Het model dat werd toegepast op de deployment set presteert 3,28 procentpunt lager dan de
prestaties op de training set. De prestaties van het model op de deployment set zijn dus minder
goed dan de prestaties op de volledige training set.
Vervolgens presteert het model wel goed vanaf de 3de ronde, vanaf dan worden slechts 6 van
de 31 instances foutief geclassificeerd. M.a.w. de accuraatheid vanaf de 3de ronde bedraagt
80,65%. In tegenstelling tot de gemaakte predicties van ronde 1 en 2, die zijn samen voor
60,94% correct geclassificeerd. Hierbij werden 25 van de 64 instances foutief geclassificeerd.
Bij dit model zijn de foute classificaties bij de lage en de hoge probabiliteiten ongeveer gelijk
verdeeld. Zo werden bij lage probabiliteiten (tussen 0,5 en 0,6) en bij hoge probabiliteiten
(tussen 0,8 en 0,9) relatief veel foute classificaties gemaakt (Zie bijlage 9.2.7).
DecisionTable
Hier werd een model gemaakt met DecisionTable als classifier. De accuraatheid van het
model op de deployment set bedraagt 62,11%, de accuraatheid op de traninig set bedraagt
70,67%. Het model dat werd toegepast op de deployment set presteert 8,56 procentpunt lager
dan de prestaties op de training set. De prestaties van het model op de deployment set zijn
dus veel minder goed dan de prestaties op de volledige training set.
Vervolgens presteert het model wel goed vanaf de 3de ronde, vanaf dan worden slechts 7 van
de 31 instances foutief geclassificeerd. M.a.w. de accuraatheid vanaf de 3de ronde bedraagt
77,42%. In tegenstelling tot de gemaakte predicties van ronde 1 en 2, die zijn samen voor
54,69% correct geclassificeerd. Hierbij werden 29 van de 64 instances foutief geclassificeerd.
57
Bij de lage probabiliteiten (tussen 0,5 en 0,85) maakt het model relatief veel foute
classificaties. Evenwel bij de hoge probabiliteiten (hoger dan 0,85) zien we dat het aantal juiste
classificaties veel hoger ligt (Zie bijlage 9.2.8).
5.5.3 Voorspelde probabiliteiten
In onderstaand staafdiagram wordt de gemiddelde voorspelde probabiliteit op de target
variabele weergegeven op basis van foute en juiste classificaties. Dit gebeurt op basis van
een vergelijking tussen de echte uitslag van een wedstrijd en de voorspelde uitslag van een
wedstrijd. Het diagram is zo opgesteld dat indien het actual result en het predicted result
overeen komt, de bijhorende probabiliteit van het predicted result in de kolom “Juist” terecht
komt en vice versa. Naast de voorspelling van de winnaar, behoort deze probabiliteit ook mee
tot het datamining resultaat.
De probabiliteiten in dit diagram werden overigens opgedeeld volgens het type tornooi,
Grandslam of Master 1000 series tornooi. Hierbij dient tevens vermeld te worden dat dit de
gemiddelde probailiteiten van beide modellen (LogitBoost en DecisionTable) zijn. Aangezien
dit de probabiliteiten zijn van het dataming proces, zijn de gemiddelden logischerwijs genomen
van alle gemaakte voorspellingen op de deployment sets.
Figuur 21: Gemiddelde voorspelde probabiliteiten op deployment sets
Men ziet dat bij de juiste classificaties hogere probaliteiten worden weergeven, nl. gemiddeld
0,73 en 0,75 voor respectievelijk Masters 1000 en Grandslam. Daarentegen stelt men vast
dat bij de foute classificaties lagere probabiliteiten worden weergeven, nl. gemiddeld 0,67 en
0.50
0.60
0.70
0.80
0.90
1.00
Masters 1000 Grandslam
Gemiddelde voorspelde probaliliteiten op de target variabele
Foute classificatie Juiste classificatie
58
0,76 voor respectievelijk Masters 1000 en Grandslam. Hieruit kan men besluiten dat de hogere
probabiliteiten een hogere succesratio hebben.
5.6 Tornooi simulatie
In deze sectie wordt het Australian Open Grandlam tornooi van het jaar 2018 voorspeld. Voor
deze tornooi simulatie werd geopteerd om enkel de DecisionTable ML Classifier te gebruiken.
Dit omdat DecisionTable voor Grandslam tornooien gemiddeld gezien beter presteert. Tevens
werd deze ML Classifier ook als meest waardevolle voorspeller naar voor geschoven door
Auto-Weka package. Deze extensie in Weka overloopt alle mogelijke ML Classifiers en
evalueert deze op de desbetreffende dataset, teneinde het model met de hoogste
accuraatheid aan te leveren.
In deze tornooi simulatie werd ronde per ronde voorspeld. De voorspelde winnaars volgens
het model nemen het steeds tegen elkaar op. Zo wordt een volledig tornooi gesimuleerd.
Onderstaande grafiek toont het percentage correct voorspelde spelers per ronde. Men gaat
kijken hoeveel van de voorspelde tennisspelers effectief is doorgegaan naar de volgende
ronde.
Figuur 22: Correct voorspelde spelers per ronde met DecisionTable
In ronde 1 zien we dat de accuraatheid 100% is, dit komt doordat hier nog geen voorspelde
wedstrijden gespeeld zijn. Dit zijn louter de wedstrijden volgens de tabelstructuur, opgesteld
door de organisatie van Australian Open.
In ronde 2 ligt de accuraatheid op 68,75%, dit is vergelijkbaar met de accuraatheid op de
training set, 70,67%. In de volgende ronden ligt deze accuraatheid een flink stuk lager met
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Ronde 1 Ronde 2 Ronde 3 Ronde 4 Kwartfinale Halvefinale
Finale
Percentage correct voorspelde spelers per ronde
Correct voorspelde spelers per ronde
59
53,13% en 56,25% voor respectievelijk ronde 3 en 4. Dit komt omdat de foute classificaties in
een vorige ronde als het ware meegenomen worden naar een volgende ronde. Een speler die
in werkelijkheid uitgeschakeld is, maar door het model als winnaar wordt voorspeld, gaat dus
mee naar de volgende ronde. In de kwartfinale waren drie van de 8 voorspelde tennissers
effectief aanwezig, dit geeft 37,50%. In de halve finale was slechts 1 tennisser van de 4
voorspelde tennissers aanwezig, dit geeft 25,00%. Voor de finale werd voorspeld dat Roger
Federer het ging opnemen tegen Rafael Nadal. In werkelijkheid speelde Roger Federer de
finale tegen Marin Čilić. Als winnaar van de Australian Open werd door het model Rafael Nadal
voorspeld. Dit in tegenstelling tot de werkelijke uitslag, waar Roger Federer het Grandslam
tornooi won. De volledige simulatie van het Australian Open tornooi werd opgenomen in
bijlage 9.3.1.
60
6 Discussie
6.1 Bevindingen
Hieronder worden diverse vergelijkingen gemaakt tussen de resultaten van Grandslam en
Masters 1000 tornooien. Vervolgens wordt ook een vergelijking gemaakt tussen de prestaties
van beide modellen op training en deployment set. Als laatste, wordt ook een simulatie
gemaakt van het Australian Open Grandslam tornooi.
6.1.1 Grandslam vs. Masters 1000 series
Bij het analyseren van de resultaten van beide tornooi types is een significant verschil in
accuraatheid tussen beide merkbaar. De accuraatheid van het model op de deployment set
voor Grandslam tornooien bedraagt gemiddeld 71,26%. Voor de training set is dit een
gemiddelde accuraatheid van 70,28%. De accuraatheid van het model scoort gemiddeld 0,98
procentpunt hoger op de deployment set. Wanneer men de accuraatheid van het model op de
deployment set analyseert voor de Masters 1000 series, ziet men dat deze gemiddeld slechts
66,05% bedraagt. Voor de training set is dit dan weer 70,73%, dit is gemiddeld 4,68
procentpunt verschil met de deployment set. Hierbij kan men constateren dat het gemaakte
model betere prestaties levert op Grandslam tornooien.
In de eerste twee rondes worden door het model relatief veel instances foutief geclassificeerd
in vergelijking met de volgende rondes. Dit komt wellicht omdat er meer onbekende
tennisspelers tegenover elkaar staan. Deze wedstrijden zijn bijgevolg ook moeilijker te
voorspellen omdat de ML Tennis Dataset vaak over minder historische gegevens beschikt van
deze tennisspelers. Vanaf de derde ronde maakt het model minder classificatie fouten, dit
komt wellicht omdat men van deze spelers meer historische informatie heeft.
Bij de lage probabiliteiten (tussen 0,5 en 0,6) maakt het model relatief veel foute classificaties.
Dit kan er op wijzen dat evenwaardige spelers tegen elkaar spelen en de uitslag bijgevolg
moeilijker te voorspellen is. Bij hoge probabiliteiten zien we dat het model minder foute
classificaties maakt (Zie bijlage 9.2.1 – 9.2.8).
61
6.1.2 Vergelijking tussen training set en deployment set
In onderstaand staafdiagram worden de accuraatheden op de training set van beide ML
Classifiers en de baseline op basis van de ATP-ranking vergeleken per tornooi.
Figuur 23: Accuraatheid tornooiprestaties op training set
Beide modellen scoren boven de accuraatheid van de baseline voorspelling op basis van de
ATP-ranking. Gemiddeld is de accuraatheid voor LogitBoost en DecisionTable op de
trainingsdata respectievelijk 3,93 en 4,13 procentpunt hoger dan de baseline predictor. Dit
toont dat het gemaakte model al significant beter presteert dan de baseline predictor. De
toegevoegde attributen bewijzen hierbij hun voorspellende kracht.
In onderstaand staafdiagram worden de accuraatheden op de training set van beide modellen
en de baseline op basis van de ATP-ranking vergeleken per tornooi.
Figuur 24: Accuraatheid tornooiprestaties op deployment set
0%
10%
20%
30%
40%
50%
60%
70%
80%
Roland Garros Wimbledon Miami Open Indian Wells
Accuraatheid tornooiprestaties op training set
LogitBoost DecisionTable Baseline
0%
10%
20%
30%
40%
50%
60%
70%
80%
Roland Garros Wimbledon Miami Open Indian Wells
Accuraatheid tornooiprestaties op deployment set
LogitBoost DecisionTable Baseline
62
Het verschil tussen de accuraatheid van de baseline predictor en de gebouwde modellen is
groter bij de deployment set. Hier worden gemiddeld voor LogitBoost en DecisionTable
waarden van respectievelijk 5,91 en 6,05 procentpunt teruggevonden. Verder is het zo dat de
accuraatheid op de deployment set gemiddeld hoger ligt dan deze op de training set van de
verschillende tornooien. Gemiddeld is de accuraatheid op de training set voor LogitBoost en
DecisionTable respectievelijk 68,59% en 68,72%. Terwijl de gemiddelde accuraatheid op de
deployment set voor LogitBoost en DecisionTable respectievelijk 70,40% en 70,61%
bedraagt.
Echter, presteren de modellen enkel beter op de deployment set van het Roland Garros
Grandslam tornooi. Voor het Wimbledon tornooi presteren beide modellen op de deployment
set in lijn met de accuraatheden verkregen op de training set. Voor de twee andere tornooien
van de Masters 1000 series, presteren de modellen minimaal 1,67 procentpunt en maximaal
8,56 procentpunt lager.
6.1.3 Tornooi simulatie Australian Open
De gemaakte modellen zijn opgebouwd om individuele match predicties te maken. Deze
modellen lenen zich relatief minder goed voor het simuleren van een volledig tornooi. Dit
omdat er rekening dient gehouden te worden met de tabelstructuur van het tornooi. Overigens
wordt een foutieve classificatie steeds meegenomen naar een volgende ronde. Dit zorgt voor
enige vertekening bij het voorspellen van een volledig tornooi. Toch dienen de resultaten zeker
niet geminimaliseerd te worden. Het gemaakte model had overigens 9 van de 16 laatst
overblijvende spelers nog in de running. Bovendien was één van de voorspelde finalisten van
het gesimuleerde tornooi, de effectieve winnaar van het tornooi.
6.2 Vergelijking met andere literatuur
Een vergelijking maken met bestaande literatuur is niet vanzelfsprekend. De reden hiervoor
is het feit dat er verschillende doelen nagestreefd worden voor verschillende datamining
problemen. In deze dissertatie is de gebruikte evaluatie metriek de classificatie accuraatheid,
dit is niet steeds het geval in de literatuur. Verder worden er ook steeds verschillende datasets
gebruikt in de diverse onderzoeken rond sports- en tennismining.
6.2.1 Naam herkenning
Het gezond verstand suggereert dat de voorspelling van uitkomsten van een gebeurtenis en
andere probabilistische gevolgtrekkingen verbeteren wanneer meer informatie geïntegreerd
wordt. Maar ook het tegendeel wordt door andere onderzoeken en studies aangetoond. In het
onderzoek van Scheibehenne & Bröder (2007) werden tennisresultaten voorspeld door
amateur tennisspelers en leken binnen de tennissport.
63
Deze voorspellingen werden gemaakt via het louter en alleen herkennen van spelersnamen.
Hieruit bleek dat de predicties gebaseerd op het herkennen van spelersnamen door de
deelnemers in 70 procent van alle wedstrijden correct werden gemaakt. De accuraatheid van
deze voorspellingen waren gelijk aan of beter dan de voorspellingen gemaakt op basis van de
officiële ATP-ranglijsten. Hun studie laat dus zien dat eenvoudige heuristieken, die op enkele
geldige aanwijzingen berusten, tot zeer nauwkeurige voorspellingen kunnen leiden. Dit
onderzoek werd afgenomen bij 184 respondenten en er werd slechts op één tornooi
voorspellingen gemaakt. De voorspellingen gemaakt op basis van quoteringen van online
weddenschappen leidden wel nog tot een hogere accuraatheid (Scheibehenne & Bröder,
2007).
6.2.2 Support Vector Machines (SVM)
De opzet van Wagner en Narayanan (2013) is gelijkaardig aan degene in deze scriptie. Ook
hier is er sprake van een classificatie probleem dat aan de hand van dezelfde metriek als deze
thesis werd getoetst. Er werd gebruik gemaakt van een dataset met 40 000 records, waarbij
er 34 000 voor training werden gebruikt en 6 000 voor de test dataset. Het gekozen model op
basis van de SVM ML Classifier haalt gemiddeld ongeveer 65% accuraatheid. Daarom haalt
de auteur ook zelf aan dat Support Vector Machines (SVM) niet geschikt zijn voor dit type
probleem (Wagner & Narayanan, 2013).
6.2.3 Verschil tussen ATP-ranking van spelers
In de studie van del Corral & Prieto-Rodriguez (2010) wordt aangetoond dat de verschillen in
rankings (ATP- en WTA-ranking) goede voorspellers zijn voor Grandslam tenniswedstrijden.
De variabele die het verschil in ranking weergeeft is niet lineair, maar stijgt snel wanneer we
hogerop in de ranking gaan. Onderaan in de rangschikking is het verschil van één plaats niet
significant, bovenaan de ranking is één plaats dan wel een substantieel verschil. Verder staat
het vast dat modellen die historische prestatiegegevens gebruiken van tennissers beter
scoren dan modellen die dit niet gebruiken (del Corral & Prieto-Rodriguez, 2010).
6.2.4 Bradley-Terry model
In onderzoek van McHale & Mortonb (2011) introduceert men een model voor het voorspellen
van tennisresultaten voor het segment van toptennisser in de ATP-Tour. Hiervoor wordt een
Bradley-Terry model gebruikt, waarbij historische prestatiegegevens van spelers en de
ondergrond van het tornooi worden opgenomen. Er wordt zo als het ware een nieuwe ranking
opgesteld, waarbij de hoogst genoteerde speler voorspeld wordt te winnen. Initieel bevatte
het Bradley-Terry model uitsluitend tennisresultaten van drie voorgaande jaren. Nadien werd
het verrijkt met attributen zoals de score, datum en ondergrond van de wedstrijd. Hierbij werd
een accuraatheid van 66,90 procent bereikt (McHale & Mortonb, 2011).
64
6.2.5 Review datamining technieken voor sportpredictie
In deze review paper van Rastegari et al. (2013) worden de voor- en nadelen van verschillende
ML Classifiers, gebruikt in vorig onderzoek, besproken voor de predictie van sportwedstrijden
in het algemeen. Om de papers te reviewen werd ook hier de accuraatheid gebruikt als
evaluatie metriek. Hierbij vielen twee uitdagingen op waarvan de eerste zijnde dat een lage
voorspellingsaccuraatheid de nood aan verder onderzoek zoals dit benadrukt. Men raadt aan
om meer diverse Machine Learning en data technieken te gebruiken. Zoals gebruikt in andere
domeinen welke niet noodzakelijk met sport te maken hebben. Ten tweede is er geen
standaard uitgebreide dataset waarop al het onderzoek gebeurt. Dit zorgt ervoor dat net zoals
in deze dissertatie gegevens uit verschillende bronnen moeten worden opgehaald. Hierdoor
is het niet evident om de resultaten van verschillende studies met elkaar te vergelijken. Verder
raadt men aan om ook meer verschillende attributen op te nemen zoals player performance.
Dit type attributen zijn vertegenwoordigd door de extra toegevoegde attributen bovenop de
basis dataset. Deze dragen bovendien bij als de belangrijkste voorspellende variabelen
(Rastegari, Haghighat, & Nourafza, 2013).
Hieruit kan men concluderen dat er tal van methoden zijn om tenniswedstrijden te voorspellen.
Men hoeft niet per definitie een datamining model te bouwen om tenniswedstrijden te
voorspellen. Zo is ATP-ranking op zich al een goed uitgangspunt om wedstrijden te
voorspellen. In combinatie met andere attributen heeft dit al een sterke voorspellingskracht,
die niet eenvoudig te verbeteren is. Ook het voorspellen louter via het herkennen van
spelersnamen geeft al een significante accuraatheid volgens Scheibehenne & Bröder (2007).
Dit toont aan dat het voorspellen van tenniswedstrijden, en van sportwedstrijden in het
algemeen, m.b.v. datamining technieken niet de enige manier zijn om significante resultaten
te verkrijgen. Toch leidde het bouwen van een datamining model in deze case study tot hogere
accuraatheden dan bovenstaande voorspellingstechnieken. Het bouwen van een datamining
model kan geschieden op tal van verschillende manier. Men kan hiervoor verschillende
datasets, attributen, technieken en ML Classifiers hanteren. Vaak wordt ook een andere
evaluatie metriek gehanteerd in de verschillende studies. Hierdoor is het dus moeilijk om de
verschillende manieren van aanpak met elkaar te vergelijken.
65
6.3 Limitaties
Het voorspellen van sportuitslagen is geen exacte wetenschap en blijft moeilijk te voorspellen.
Echter zijn verbeteringen op dit onderzoek steeds mogelijk. Dit kan door gebruik te maken van
meer voorspellende attributen zoals custom made tennisgegevens, die specifiek ontworpen
zijn voor Machine Learning. In dit onderzoek werd gebruik gemaakt van open source data,
deze data kent zijn beperkingen. Veel van deze publieke datasets zijn namelijk niet opgesteld
met het oog op predictive modelling. Door een groter aantal attributen kunnen meer complexe
modellen gebouwd worden, welke op hun beurt
Het voorspellen van sportuitslagen is geen exacte wetenschap en blijft moeilijk te voorspellen.
Echter zijn verbeteringen op dit onderzoek steeds mogelijk. Dit kan door gebruik te maken van
meer voorspellende attributen zoals custom made tennisgegevens, die specifiek ontworpen
zijn voor Machine Learning. In dit onderzoek werd gebruik gemaakt van open source data,
deze data kent zijn beperkingen. Veel van deze publieke datasets zijn namelijk niet opgesteld
met het oog op predictive modelling. Door een groter aantal attributen kunnen meer complexe
modellen gebouwd worden, welke op hun beurt de accuraatheid kunnen verhogen. Evenwel
impliceert een complexer model wel dat het moeilijker te interpreteren is. Als laatste, vormde
ook de beperkte rekenkracht van de gebruikte computers een limitatie voor dit onderzoek.
66
7 Conclusie
7.1 Bevindingen
Beide gebouwde modellen maken goede voorspellingen op Grandslam tornooien, zoals
Roland Garros en Wimbledon. De modellen presteren relatief minder goed op de Masters
1000 tornooien, zoals Miami Open en Indian Wells. Hieruit kan men besluiten dat de gemaakte
modellen in dit onderzoek meer geschikt zijn voor Grandslam tornooien, vanwege de hogere
accuraatheden die beide modellen laten optekenen in dit type tornooi. Echter dient wel
vermeld te worden dat beide modellen nog steeds een betere voorspeller zijn dan de baseline
predictor, ongeacht het type tornooi. Deze baseline predictor voorspelt op basis van ATP-
ranking. De modellen scoren ongeveer 4% beter op de training set dan de baseline predictor.
Voor de deployment set is dit zelfs ongeveer 6% beter. Hieruit kunnen we opmaken dat beide
modellen een significante verbetering zijn t.o.v. de baseline predictor. De gemaakte modellen
zijn gebouwd in functie van match predictie, waardoor ze minder geschikt zijn voor een
volledige tornooi simulatie. Hieruit kan men besluiten, dat de gebouwde modellen geen
overfitting vertonen vanwege de accurate voorspellingen op de deployment sets.
7.2 Significantie onderzoek
Allereerst werd de Kaggle, ATP Tennis Dataset (2017) verrijkt met tal van nieuwe
voorspellende attributen. Vervolgens werden in dit onderzoek ook de gebouwde modellen
effectief toegepast op een nieuwe deployment set. Hierdoor konden de voorspelde resultaten
geëvalueerd worden op nieuwe tenniswedstrijden. De accuraatheid van de voorspelde
uitslagen werd in dit onderzoek dan ook vergeleken met de werkelijke tennisuitslagen. In
voorgaand onderzoek werd de accuraatheid vaak enkel op de training set geëvalueerd en niet
toegepast op nieuwe gegevens. Tot slot, vormt de simulatie van een volledig tornooi een
vernieuwing in dit onderzoeksdomein.
7.3 Toekomstig onderzoek
Het bestaande model in dit onderzoek kan verder geoptimaliseerd worden. Zo kunnen betere
resultaten behaald worden in toekomstig onderzoek, wanneer meer complexe en uitgebreide
datasets ter beschikking worden gesteld. Door toenemende rekenkracht van computers
kunnen ook modellen gebruikt worden die meer rekenkracht vereisen, zoals Artificial Neural
Network (ANN).
I
8 Bibliografie
ATP World Tour. (2018). ATP Performance Zone. Opgehaald van ATP World Tour:
https://www.atpworldtour.com/en/performance-zone/win-loss-index.
Boulier, B. L., & Stekler, H. O. (1999). Are sports seedings good predictors?: an evaluation.
International Journal of Forecasting, 15(1), 83-91.
Breiman, L. (2001). Random Forest. Machine learning, 45(1), 5-32.
Bunker, R. P., & Thabtah, F. (2017). A Machine Learning framework for sport result prediction.
Applied Computing and Informatics.
Chapman, P., Clinton, J., Kerber, R., Khabaza, T., Reinartz, T., Shearer, C., & Wirth, R. (2000).
CRISP-DM 1.0 Step-by-step data mining guide. SPSS.
Colin, P., & Bechler, A. (2015). Informative prior distributions for a binomial model to predict
professional tennis results. Journal de la Société Française de Statistique, 156(2), 25-37.
Cornman, A., Spellman, G., & Wright, D. (2017). Machine Learning for Professional Tennis Match
Prediction and Betting.
De Tré, G. (2017). Principes van databases (Tweede ed.). Amsterdam: Pearson Benelux.
Dean, J. (2014). Big data, data mining, and Machine Learning : value creation for business. New
Jersey: John Wiley & Sons Inc.
del Corral, J., & Prieto-Rodriguez, J. (2010). Are differences in ranks good predictors for Grand
Slam tennis matches? International Journal of Forecasting, 26(3), 551-563.
Foreman, J. W. (2014). Data Smart. In Introduction (pp. 15 - 22). Indiana: John Wiley & Sons, Inc.
Friedman, J., Hastie, T., & Robert, T. (2000). Additive logistic regression: a statistical view of
boosting. The annals of statistics, 28(2), 337-407.
Gupta, D. L., Malviya, A. K., & Singh, S. (2012). Performance Analysis of Classification Tree
Learning Algorithms. International Journal of Computer Applications, 55(6), 39-44.
Han, J., Kamber, M., & Pei, J. (2012). Data Mining: Concepts and Techniques. Waltham: Morgan
Kaufmann Publishers.
Jackson, D. A. (1994). Index Betting on Sports. Journal of the Royal Statistical Society. Series D
(The Statistician), 43(2), 309-315.
II
Kaggle. (2017). Association of Tennis Professionals Matches. Opgehaald van Kaggle:
https://www.kaggle.com/gmadevs/atp-matches-dataset/version/2
Kaggle. (2017). ATP Tennis Dataset. Opgehaald van Kaggle:
https://www.kaggle.com/m3financial/atp-tennis-data-from-201201-to-201707
Knottenbelt, W. J., Spanias, D., & Madurska, A. M. (2012). A common-opponent stochastic model
for predicting the outcome of professional tennis matches. Computers and Mathematics
with Applications, 64(12), 3820-3827.
Kohavi, r. (1995). The Power of Decision Tables. ECML'95 Proceedings of the 8th European
Conference on Machine Learning (pp. 174-189). Heraclion, Greece: Springer-Verlag.
Kotu, V., & Deshpande, B. (2015). Predictive Analytics and Data Mining: Concepts and Practice
with RapidMiner. Waltham, USA: Morgan Kaufmann.
Leung, C. K., & Joseph, K. W. (2014). Sports data mining: predicting results for the college football
games. Procedia Computer Science, 35, 710-719.
Maimon, O., & Rokach, L. (2010). Data Mining and Knowledge Discovery Handbook. Boston:
Springer.
MathWorks. (2018). Machine Learning. Opgehaald van MathWorks:
https://www.mathworks.com/discovery/machine-learning.html
McHale, I., & Mortonb, A. (2011). A Bradley-Terry type model for forecasting tennis match results.
International Journal of Forecasting, 27(2), 619-630.
Miljković, D., Gajić, L., Kovačević, A., & Konjović, Z. (2010). The Use of Data Mining for Basketball
Matches Outcomes Prediction. (pp. 309-312). Subotica, Serbia: IEEE 8th International
Symposium on intelligent.
Paynter, G. (2018, juni 6). Attribute-Relation File Format (ARFF). Opgehaald van website Waikato
Universiteit: https://www.cs.waikato.ac.nz/ml/weka/arff.html
Provost, F., & Fawcett, T. (2013). Data Science for Business: What you need to know about data
mining and data-analytic thinking. Sebastopol, Calif.: O’Reilly.
Rastegari, H., Haghighat, M., & Nourafza, N. (2013, November). A Review of Data Mining
Techniques for Result Prediction in Sports. ACSIJ Advances in Computer Science: an
International Journal(Vol. 2, issue 5, No.6), 166.
III
Scheibehenne, B., & Bröder, A. (2007). Predicting Wimbledon 2005 tennis results by mere player
name recognition. International Journal of Forecasting, 23(3), 415–426.
Schumaker, R. P., Solieman, O. K., & Chen, H. (2010). Sports Data Mining. New York: Springer.
Sharma, S., & Osei-Bryson, K. -M. (2009). Framework for formal implementation of the business
understanding phase of data mining projects. Expert Systems with Applications, 36(2),
4114–4124.
Sipko, M. (2015). Machine Learning for the Prediction of Professional Tennis Matches. (Final year
project, Imperial College London, London).
SportsBusiness. (2015). Top 20 sports betting nations 2014. SportsBusiness, 90-91.
Sporza. (2018). ATP-kalender. Opgehaald van Sporza: https://sporza.be/nl/categorie/tennis/atp-
kalender/
Sporza. (2018). ATP-ranglijst. Opgehaald van Sporza: https://sporza.be/nl/categorie/tennis/atp-
ranglijst/
Tennis-Data. (2018). Opgehaald van Tennis-Data: http://tennis-data.co.uk/alldata.php
Ultimate Tennis Statistics. (2018). Statistics Leaders. Opgehaald van Ultimate Tennis Statistics:
http://www.ultimatetennisstatistics.com/statsLeaders
van Lier, J. (2018). The Most Popular Sports to Bet on Today. Opgehaald van Bitcoinchaser:
https://bitcoinchaser.com/bitcoin-sportsbook/most-popular-sports-to-bet-on-today
Wagner, A., & Narayanan, D. (2013). Using Machine Learning to predict tennis match outcomes.
Wikipedia. (2018). Kaggle. Opgehaald van Wikipedia: https://en.wikipedia.org/wiki/Kaggle
Witten, I. H., & Frank, E. (2005). Introduction to Weka. In Data mining: Practical Machine Learning
Tools and Techniques, 2nd Edition (pp. 363-368). San Francisco: Morgan Kaufmann.
Zaki, M. J., & Meira Jr., W. (2013). Data Mining and Analysis: Fundamental Concepts and
Algorithms. Cambridge: Press and other standard distribution channels.
Zdravevski, E., & Kulakov, A. (2010). System for Prediction of the Winner in a Sports Game. In
Davcev D., & Gómez J.M. (Eds.) , ICT Innovations 2009 (pp. 55-63). Berlin, Heidelberg:
Springer.
IV
9 Bijlage
9.1 Feature selection
9.1.1 Decision Table
Decision Table Feature 1 Feature 2 Feature 3 Feature 4
Indian Wells Player1_Games_
Dominance
Player1_MatchesWon% Player2_MatchesWon% Winner
Roland Garros Surface Player1_MatchesWon% Player2_MatchesWon% Winner
Miami Open Player1_Games_
Dominance
Player1_MatchesWon% Player2_MatchesWon% Winner
Wimbledon Player2_Games_
Dominance
Player1_MatchesWon% Player2_MatchesWon% Winner
Features DecisionTable classifier
9.1.2 LogitBoost
LogitBoost Indian Wells Roland Garros Miami Open Wimbledon
Iteratie 1 Player1_Matches
Won%
Player1_Matches
Won%
Player1_Matches
Won%
Player1_Matches
Won%
Iteratie 2 Player2_Matches
Won%
Player2_Matches
Won%
Player2_Matches
Won%
Player2_Matches
Won%
Iteratie 3 Player1_Matches
Won%
Player1_Matches
Won%
Player1_Matches
Won%
Player1_Matches
Won%
Iteratie 4 Player2_Matches
Won%
Player2_Matches
Won%
Player2_Matches
Won%
Player2_Matches
Won%
Iteratie 5 Player1_Matches
Won%
Player1_Matches
Won%
Player1_Matches
Won%
Player1_Matches
Won%
Iteratie 6 Player2_Games_
Dominance
Player2_Matches
Won%
Player2_Matches
Won%
Player2_Matches
Won%
Iteratie 7 Player1_Games_
Dominance
Player1_Games_
Dominance
Player1_Games_
Dominance
Player1_Games_
Dominance
Iteratie 8 Player1_Opponent_EL
O_Rating
Player2_Games_Domi
nance
Player2_Games_Domi
nance
Player1_Opponent_EL
O_Rating
Iteratie 9 Player2_Opponent_EL
O_Rating
Player1_Opponent_EL
O_Rating
Player1_Opponent_EL
O_Rating
Player2_Games_Domi
nance
Iteratie 10 Player2_Games_Domi
nance
Player2_Opponent_EL
O_Rating
Player2_Opponent_EL
O_Rating
Player1_Opponent_EL
O_Rating
Features DecisionTable classifier
V
9.2 Output Predicties
Groen = Juiste classificaties
Geel = Foute classificaties
9.2.1 Roland Garros – LogitBoost
Inst# Tournament Round Player 1 Player 2 Actual result
Predicted result Probability
1 French Open 1stRound BerankisR. ZverevA. 1 1 0.926
2 French Open 1stRound JarryN. DonaldsonJ. 1 0 0.671
3 French Open 1stRound KlizanM. DjereL. 0 0 0.888
4 French Open 1stRound MedvedevD. PouilleL. 1 0 0.513
5 French Open 1stRound DzumhurD. KudlaD. 0 0 0.513
6 French Open 1stRound KovalikJ. CarrenoBustaP. 1 1 0.861
7 French Open 1stRound SafwatM. DimitrovG. 1 1 0.926
8 French Open 1stRound FritzT. AndreozziG. 1 0 0.58
9 French Open 1stRound BellucciT. DelbonisF. 1 1 0.511
10 French Open 1stRound JanvierM. NishikoriK. 1 1 0.926
11 French Open 1stRound BarrereG. AlbotR. 1 1 0.59
12 French Open 1stRound GoffinD. HaaseR. 0 0 0.725
13 French Open 1stRound NishiokaY. VerdascoF. 1 1 0.669
14 French Open 1stRound MonfilsG. BenchetritE. 0 0 0.88
15 French Open 1stRound KarlovicI. MoutetC. 1 0 0.631
16 French Open 1stRound OtteO. BerrettiniM. 1 0 0.501
17 French Open 1stRound KohlschreiberP. CoricB. 1 1 0.811
18 French Open 1stRound DjokovicN. DutraSilvaR. 0 0 0.958
19 French Open 1stRound ThompsonJ. RuudC. 1 1 0.774
20 French Open 1stRound HaiderMaurerA. KhachanovK. 1 1 0.939
21 French Open 1stRound SchwartzmanD. HemeryC. 0 0 0.893
22 French Open 1stRound BasicM. PavlasekA. 1 0 0.746
23 French Open 1stRound IvashkaI. ThiemD. 1 1 0.861
24 French Open 1stRound CopilM. CecchinatoM. 1 1 0.833
25 French Open 1stRound SimonG. BasilashviliN. 0 0 0.836
26 French Open 1stRound VeselyJ. LajovicD. 1 0 0.513
27 French Open 1stRound TomicB. TrungellitiM. 1 0 0.58
28 French Open 1stRound NorrieC. GojowczykP. 0 1 0.736
29 French Open 1stRound CarballesBaenaR. PaireB. 1 1 0.62
30 French Open 1stRound TiafoeF. QuerreyS. 1 0 0.725
31 French Open 1stRound BautistaR. IstominD. 0 0 0.836
32 French Open 1stRound GiraldoS. BaghdatisM. 0 1 0.736
33 French Open 1stRound GarciaLopezG. WawrinkaS. 0 0 0.76
34 French Open 1stRound GasquetR. SeppiA. 0 0 0.725
35 French Open 1stRound GulbisE. MullerG. 0 1 0.532
36 French Open 1stRound JaziriM. YouzhnyM. 0 0 0.76
37 French Open 1stRound MunarJ. FerrerD. 0 1 0.511
38 French Open 1stRound KukushkinM. RamosVinolasA. 1 0 0.631
39 French Open 1stRound TabernerC. TsitsipasS. 1 0 0.501
40 French Open 1stRound EbdenM. FabbianoT. 1 0 0.671
41 French Open 1stRound MillmanJ. ShapovalovD. 1 0 0.513
42 French Open 1stRound SandgrenT. HurkaczH. 1 0 0.501
43 French Open 1stRound DeMinaurA. EdmundK. 1 1 0.744
44 French Open 1stRound BemelmansR. BhambriY. 0 0 0.542
45 French Open 1stRound MartererM. HarrisonR. 0 0 0.513
46 French Open 1stRound PospisilV. FucsovicsM. 1 1 0.774
47 French Open 1stRound StruffJ.L. DonskoyE. 0 1 0.692
48 French Open 1stRound MannarinoA. JohnsonS. 1 1 0.744
49 French Open 1stRound CuevasP. BedeneA. 0 0 0.513
50 French Open 1stRound PellaG. SousaJ. 0 0 0.513
VI
51 French Open 1stRound DuckworthJ. CilicM. 1 1 0.926
52 French Open 1stRound ZeballosH. SugitaY. 0 0 0.542
53 French Open 1stRound SockJ. ZoppJ. 1 0 0.554
54 French Open 1stRound MayerF. ZverevM. 1 1 0.589
55 French Open 1stRound FogniniF. AndujarP. 0 0 0.725
56 French Open 1stRound LopezF. StakhovskyS. 1 0 0.746
57 French Open 1stRound NadalR. BolelliS. 0 0 0.97
58 French Open 1stRound RubinN. IsnerJ. 1 1 0.895
59 French Open 1stRound YmerE. SelaD. 0 1 0.59
60 French Open 1stRound DelPotroJ.M. MahutN. 0 0 0.974
61 French Open 1stRound AndersonK. LorenziP. 0 0 0.935
62 French Open 2ndRound DjokovicN. MunarJ. 0 0 0.959
63 French Open 2ndRound KlizanM. MonfilsG. 1 1 0.537
64 French Open 2ndRound DimitrovG. DonaldsonJ. 0 0 0.836
65 French Open 2ndRound TrungellitiM. CecchinatoM. 1 1 0.895
66 French Open 2ndRound DelbonisF. CarrenoBustaP. 1 1 0.833
67 French Open 2ndRound MoutetC. GoffinD. 1 1 0.926
68 French Open 2ndRound ZverevA. LajovicD. 0 0 0.882
69 French Open 2ndRound DzumhurD. AlbotR. 0 0 0.671
70 French Open 2ndRound NishikoriK. PaireB. 0 0 0.725
71 French Open 2ndRound GiraldoS. BautistaR. 1 1 0.895
72 French Open 1stRound HerbertP.H. PolanskyP. 0 0 0.61
73 French Open 2ndRound SimonG. QuerreyS. 0 0 0.725
74 French Open 1stRound BenneteauJ. MayerL. 0 1 0.62
75 French Open 1stRound ChardyJ. BerdychT. 0 0 0.64
76 French Open 2ndRound AndreozziG. VerdascoF. 1 1 0.736
77 French Open 2ndRound KhachanovK. GarciaLopezG. 0 0 0.725
78 French Open 2ndRound GulbisE. BerrettiniM. 1 1 0.551
79 French Open 2ndRound FabbianoT. CoricB. 1 1 0.881
80 French Open 2ndRound FogniniF. YmerE. 0 0 0.88
81 French Open 2ndRound MartererM. ShapovalovD. 0 0 0.513
82 French Open 2ndRound CilicM. HurkaczH. 0 0 0.88
83 French Open 2ndRound NorrieC. PouilleL. 1 1 0.736
84 French Open 2ndRound TsitsipasS. ThiemD. 1 1 0.895
85 French Open 2ndRound EdmundK. FucsovicsM. 0 0 0.725
86 French Open 2ndRound NadalR. PellaG. 0 0 0.921
87 French Open 2ndRound StruffJ.L. JohnsonS. 1 1 0.873
88 French Open 2ndRound ZoppJ. BemelmansR. 0 1 0.511
89 French Open 2ndRound StakhovskyS. ZverevM. 1 1 0.59
90 French Open 2ndRound HerbertP.H. ChardyJ. 0 1 0.861
91 French Open 2ndRound AndersonK. CuevasP. 0 0 0.882
92 French Open 2ndRound ZeballosH. IsnerJ. 1 1 0.833
93 French Open 2ndRound GasquetR. JaziriM. 0 0 0.725
94 French Open 2ndRound DelPotroJ.M. BenneteauJ. 0 0 0.921
95 French Open 2ndRound RuudC. RamosVinolasA. 1 0 0.746
96 French Open 2ndRound PavlasekA. SchwartzmanD. 1 1 0.736
97 French Open 3rdRound CarrenoBustaP. CecchinatoM. 1 1 0.537
98 French Open 3rdRound ZverevA. DzumhurD. 0 0 0.882
99 French Open 3rdRound VerdascoF. DimitrovG. 0 1 0.811
100 French Open 3rdRound DjokovicN. BautistaR. 0 0 0.792
101 French Open 3rdRound NishikoriK. SimonG. 0 1 0.537
102 French Open 3rdRound ThiemD. BerrettiniM. 0 0 0.954
103 French Open 3rdRound SchwartzmanD. CoricB. 0 1 0.632
104 French Open 3rdRound GoffinD. MonfilsG. 0 1 0.537
105 French Open 3rdRound PouilleL. KhachanovK. 1 1 0.632
106 French Open 3rdRound JohnsonS. CilicM. 1 1 0.632
107 French Open 3rdRound MartererM. ZoppJ. 0 0 0.681
108 French Open 3rdRound EdmundK. FogniniF. 1 1 0.537
109 French Open 3rdRound ZverevM. AndersonK. 1 1 0.833
110 French Open 3rdRound NadalR. GasquetR. 0 0 0.792
111 French Open 3rdRound HerbertP.H. IsnerJ. 1 1 0.861
112 French Open 3rdRound DelPotroJ.M. RamosVinolasA. 0 0 0.97
VII
113 French Open 4thRound ZverevA. KhachanovK. 0 0 0.624
114 French Open 4thRound NishikoriK. ThiemD. 1 1 0.537
115 French Open 4thRound GoffinD. CecchinatoM. 1 1 0.537
116 French Open 4thRound DjokovicN. VerdascoF. 0 0 0.921
117 French Open 4thRound NadalR. MartererM. 0 0 0.921
118 French Open 4thRound CilicM. FogniniF. 0 1 0.537
119 French Open 4thRound DelPotroJ.M. IsnerJ. 0 0 0.792
120 French Open 4thRound AndersonK. SchwartzmanD. 1 0 0.882
121 French Open Quarterfinals ZverevA. ThiemD. 1 0 0.71
122 French Open Quarterfinals DjokovicN. CecchinatoM. 1 0 0.792
123 French Open Quarterfinals DelPotroJ.M. CilicM. 0 0 0.721
124 French Open Quarterfinals SchwartzmanD. NadalR. 1 1 0.863
125 French Open Semifinals CecchinatoM. ThiemD. 1 1 0.537
126 French Open Semifinals NadalR. DelPotroJ.M. 0 1 0.588
127 French Open TheFinal NadalR. ThiemD. 0 0 0.792
9.2.2 Roland Garros – DecisionTable
Inst# Tournament Round Player 1 Player 2 Actual result
Predicted result Probability
1 French Open 1stRound BerankisR. ZverevA. 1 1 0.75
2 French Open 1stRound JarryN. DonaldsonJ. 1 0 0.645
3 French Open 1stRound KlizanM. DjereL. 0 0 0.69
4 French Open 1stRound MedvedevD. PouilleL. 1 1 0.557
5 French Open 1stRound DzumhurD. KudlaD. 0 0 0.581
6 French Open 1stRound KovalikJ. CarrenoBustaP. 1 1 0.827
7 French Open 1stRound SafwatM. DimitrovG. 1 1 0.827
8 French Open 1stRound FritzT. AndreozziG. 1 0 0.537
9 French Open 1stRound BellucciT. DelbonisF. 1 1 0.669
10 French Open 1stRound JanvierM. NishikoriK. 1 1 0.897
11 French Open 1stRound BarrereG. AlbotR. 1 0 0.548
12 French Open 1stRound GoffinD. HaaseR. 0 0 0.675
13 French Open 1stRound NishiokaY. VerdascoF. 1 1 0.746
14 French Open 1stRound MonfilsG. BenchetritE. 0 0 0.8
15 French Open 1stRound KarlovicI. MoutetC. 1 0 0.684
16 French Open 1stRound OtteO. BerrettiniM. 1 0 0.537
17 French Open 1stRound KohlschreiberP. CoricB. 1 1 0.788
18 French Open 1stRound DjokovicN. DutraSilvaR. 0 0 0.8
19 French Open 1stRound ThompsonJ. RuudC. 1 1 0.739
20 French Open 1stRound HaiderMaurerA. KhachanovK. 1 1 0.827
21 French Open 1stRound SchwartzmanD. HemeryC. 0 0 0.8
22 French Open 1stRound BasicM. PavlasekA. 1 0 0.746
23 French Open 1stRound IvashkaI. ThiemD. 1 1 0.897
24 French Open 1stRound CopilM. CecchinatoM. 1 1 0.833
25 French Open 1stRound SimonG. BasilashviliN. 0 0 0.69
26 French Open 1stRound VeselyJ. LajovicD. 1 0 0.581
27 French Open 1stRound TomicB. TrungellitiM. 1 0 0.537
28 French Open 1stRound NorrieC. GojowczykP. 0 1 0.746
29 French Open 1stRound CarballesBaenaR. PaireB. 1 1 0.674
30 French Open 1stRound TiafoeF. QuerreyS. 1 0 0.752
31 French Open 1stRound BautistaR. IstominD. 0 0 0.852
32 French Open 1stRound GiraldoS. BaghdatisM. 0 1 0.739
33 French Open 1stRound GarciaLopezG. WawrinkaS. 0 0 0.645
34 French Open 1stRound GasquetR. SeppiA. 0 0 0.667
35 French Open 1stRound GulbisE. MullerG. 0 1 0.669
36 French Open 1stRound JaziriM. YouzhnyM. 0 0 0.794
37 French Open 1stRound MunarJ. FerrerD. 0 1 0.669
38 French Open 1stRound KukushkinM. RamosVinolasA. 1 0 0.684
39 French Open 1stRound TabernerC. TsitsipasS. 1 0 0.537
40 French Open 1stRound EbdenM. FabbianoT. 1 0 0.645
41 French Open 1stRound MillmanJ. ShapovalovD. 1 1 0.557
VIII
42 French Open 1stRound SandgrenT. HurkaczH. 1 0 0.537
43 French Open 1stRound DeMinaurA. EdmundK. 1 1 0.665
44 French Open 1stRound BemelmansR. BhambriY. 0 0 0.75
45 French Open 1stRound MartererM. HarrisonR. 0 0 0.581
46 French Open 1stRound PospisilV. FucsovicsM. 1 1 0.746
47 French Open 1stRound StruffJ.L. DonskoyE. 0 1 0.574
48 French Open 1stRound MannarinoA. JohnsonS. 1 1 0.665
49 French Open 1stRound CuevasP. BedeneA. 0 0 0.581
50 French Open 1stRound PellaG. SousaJ. 0 1 0.557
51 French Open 1stRound DuckworthJ. CilicM. 1 1 0.897
52 French Open 1stRound ZeballosH. SugitaY. 0 0 0.745
53 French Open 1stRound SockJ. ZoppJ. 1 1 0.7
54 French Open 1stRound MayerF. ZverevM. 1 1 0.636
55 French Open 1stRound FogniniF. AndujarP. 0 0 0.752
56 French Open 1stRound LopezF. StakhovskyS. 1 0 0.746
57 French Open 1stRound NadalR. BolelliS. 0 0 0.9
58 French Open 1stRound RubinN. IsnerJ. 1 1 0.827
59 French Open 1stRound YmerE. SelaD. 0 1 0.669
60 French Open 1stRound DelPotroJ.M. MahutN. 0 0 0.913
61 French Open 1stRound AndersonK. LorenziP. 0 0 0.8
62 French Open 2ndRound DjokovicN. MunarJ. 0 0 0.913
63 French Open 2ndRound KlizanM. MonfilsG. 1 1 0.57
64 French Open 2ndRound DimitrovG. DonaldsonJ. 0 0 0.69
65 French Open 2ndRound TrungellitiM. CecchinatoM. 1 1 0.827
66 French Open 2ndRound DelbonisF. CarrenoBustaP. 1 1 0.732
67 French Open 2ndRound MoutetC. GoffinD. 1 1 0.827
68 French Open 2ndRound ZverevA. LajovicD. 0 0 0.889
69 French Open 2ndRound DzumhurD. AlbotR. 0 0 0.794
70 French Open 2ndRound NishikoriK. PaireB. 0 0 0.714
71 French Open 2ndRound GiraldoS. BautistaR. 1 1 0.897
72 French Open 1stRound HerbertP.H. PolanskyP. 0 0 0.537
73 French Open 2ndRound SimonG. QuerreyS. 0 0 0.675
74 French Open 1stRound BenneteauJ. MayerL. 0 1 0.574
75 French Open 1stRound ChardyJ. BerdychT. 0 0 0.675
76 French Open 2ndRound AndreozziG. VerdascoF. 1 1 0.746
77 French Open 2ndRound KhachanovK. GarciaLopezG. 0 0 0.675
78 French Open 2ndRound GulbisE. BerrettiniM. 1 0 0.537
79 French Open 2ndRound FabbianoT. CoricB. 1 1 0.828
80 French Open 2ndRound FogniniF. YmerE. 0 0 0.867
81 French Open 2ndRound MartererM. ShapovalovD. 0 1 0.557
82 French Open 2ndRound CilicM. HurkaczH. 0 0 0.867
83 French Open 2ndRound NorrieC. PouilleL. 1 1 0.746
84 French Open 2ndRound TsitsipasS. ThiemD. 1 1 0.897
85 French Open 2ndRound EdmundK. FucsovicsM. 0 0 0.714
86 French Open 2ndRound NadalR. PellaG. 0 0 0.75
87 French Open 2ndRound StruffJ.L. JohnsonS. 1 1 0.732
88 French Open 2ndRound ZoppJ. BemelmansR. 0 0 0.548
89 French Open 2ndRound StakhovskyS. ZverevM. 1 1 0.669
90 French Open 2ndRound HerbertP.H. ChardyJ. 0 1 0.827
91 French Open 2ndRound AndersonK. CuevasP. 0 0 0.889
92 French Open 2ndRound ZeballosH. IsnerJ. 1 1 0.732
93 French Open 2ndRound GasquetR. JaziriM. 0 0 0.667
94 French Open 2ndRound DelPotroJ.M. BenneteauJ. 0 0 0.889
95 French Open 2ndRound RuudC. RamosVinolasA. 1 0 0.746
96 French Open 2ndRound PavlasekA. SchwartzmanD. 1 1 0.746
97 French Open 3rdRound CarrenoBustaP. CecchinatoM. 1 1 0.57
98 French Open 3rdRound ZverevA. DzumhurD. 0 0 0.889
99 French Open 3rdRound VerdascoF. DimitrovG. 0 1 0.665
100 French Open 3rdRound DjokovicN. BautistaR. 0 0 0.686
101 French Open 3rdRound NishikoriK. SimonG. 0 0 0.682
102 French Open 3rdRound ThiemD. BerrettiniM. 0 0 0.913
103 French Open 3rdRound SchwartzmanD. CoricB. 0 1 0.731
IX
104 French Open 3rdRound GoffinD. MonfilsG. 0 1 0.57
105 French Open 3rdRound PouilleL. KhachanovK. 1 1 0.57
106 French Open 3rdRound JohnsonS. CilicM. 1 1 0.537
107 French Open 3rdRound MartererM. ZoppJ. 0 0 0.746
108 French Open 3rdRound EdmundK. FogniniF. 1 1 0.537
109 French Open 3rdRound ZverevM. AndersonK. 1 1 0.828
110 French Open 3rdRound NadalR. GasquetR. 0 0 0.875
111 French Open 3rdRound HerbertP.H. IsnerJ. 1 1 0.827
112 French Open 3rdRound DelPotroJ.M. RamosVinolasA. 0 0 0.913
113 French Open 4thRound ZverevA. KhachanovK. 0 0 0.808
114 French Open 4thRound NishikoriK. ThiemD. 1 1 0.537
115 French Open 4thRound GoffinD. CecchinatoM. 1 1 0.57
116 French Open 4thRound DjokovicN. VerdascoF. 0 0 0.786
117 French Open 4thRound NadalR. MartererM. 0 0 0.75
118 French Open 4thRound CilicM. FogniniF. 0 1 0.537
119 French Open 4thRound DelPotroJ.M. IsnerJ. 0 0 0.808
120 French Open 4thRound AndersonK. SchwartzmanD. 1 0 0.786
121 French Open Quarterfinals ZverevA. ThiemD. 1 0 0.686
122 French Open Quarterfinals DjokovicN. CecchinatoM. 1 0 0.808
123 French Open Quarterfinals DelPotroJ.M. CilicM. 0 0 0.686
124 French Open Quarterfinals SchwartzmanD. NadalR. 1 1 0.857
125 French Open Semifinals CecchinatoM. ThiemD. 1 1 0.731
126 French Open Semifinals NadalR. DelPotroJ.M. 0 0 0.526
127 French Open TheFinal NadalR. ThiemD. 0 0 0.86
9.2.3 Wimbledon – LogitBoost
Inst# Tournament Round Player1 Player2 Actual result
Predicted result Probability
1 Wimbledon 1stRound MedvedevD. CoricB. 0 1 0.812
2 Wimbledon 1stRound TsitsipasS. BarrereG. 0 0 0.521
3 Wimbledon 1stRound BhambriY. FabbianoT. 1 1 0.528
4 Wimbledon 1stRound GasquetR. MonfilsG. 1 1 0.531
5 Wimbledon 1stRound JaziriM. DonaldsonJ. 1 0 0.606
6 Wimbledon 1stRound BerankisR. McdonaldM. 1 1 0.732
7 Wimbledon 1stRound LorenziP. DjereL. 0 1 0.528
8 Wimbledon 1stRound KudlaD. PouilleL. 1 0 0.519
9 Wimbledon 1stRound RaonicM. BroadyL. 0 0 0.896
10 Wimbledon 1stRound HarrisonR. CarballesBaenaR. 0 0 0.546
11 Wimbledon 1stRound JarryN. KrajinovicF. 0 1 0.555
12 Wimbledon 1stRound FedererR. LajovicD. 0 0 0.885
13 Wimbledon 1stRound KohlschreiberP. DonskoyE. 0 0 0.519
14 Wimbledon 1stRound KublerJ. PellaG. 1 1 0.745
15 Wimbledon 1stRound BemelmansR. JohnsonS. 0 1 0.831
16 Wimbledon 1stRound NorrieC. BedeneA. 1 1 0.745
17 Wimbledon 1stRound TravagliaS. MillmanJ. 1 1 0.68
18 Wimbledon 1stRound StakhovskyS. SousaJ. 0 1 0.745
19 Wimbledon 1stRound NishiokaY. CilicM. 1 1 0.908
20 Wimbledon 1stRound GarinC. MannarinoA. 1 1 0.745
21 Wimbledon 1stRound NovakD. PolanskyP. 0 1 0.538
22 Wimbledon 1stRound BonziB. LackoL. 1 1 0.745
23 Wimbledon 1stRound ThompsonJ. QuerreyS. 1 1 0.846
24 Wimbledon 1stRound GombosN. AndersonK. 1 1 0.9
25 Wimbledon 1stRound MadenY. IsnerJ. 1 1 0.867
26 Wimbledon 1stRound DimitrovG. WawrinkaS. 1 0 0.839
27 Wimbledon 1stRound EliasG. GarciaLopezG. 1 1 0.68
28 Wimbledon 1stRound MmohM. MullerG. 1 1 0.525
29 Wimbledon 1stRound KarlovicI. YouzhnyM. 0 1 0.528
30 Wimbledon 1stRound MayerL. StruffJ.L. 1 0 0.576
31 Wimbledon 1stRound SeppiA. SmithJ.P. 0 0 0.718
32 Wimbledon 1stRound AndreozziG. ZeballosH. 1 1 0.604
X
33 Wimbledon 1stRound ChardyJ. ShapovalovD. 1 0 0.73
34 Wimbledon 1stRound VerdascoF. TiafoeF. 1 1 0.74
35 Wimbledon 1stRound TomicB. HurkaczH. 0 0 0.599
36 Wimbledon 1stRound FerrerD. KhachanovK. 1 1 0.831
37 Wimbledon 1stRound BaghdatisM. ThiemD. 0 1 0.909
38 Wimbledon 1stRound MayerF. VeselyJ. 1 1 0.785
39 Wimbledon 1stRound FogniniF. DanielT. 0 0 0.73
40 Wimbledon 1stRound DeMinaurA. CecchinatoM. 0 1 0.74
41 Wimbledon 1stRound BerrettiniM. SockJ. 0 1 0.604
42 Wimbledon 1stRound MartererM. DzumhurD. 1 1 0.555
43 Wimbledon 1stRound SimonG. BasilashviliN. 0 0 0.795
44 Wimbledon 1stRound ZverevA. DuckworthJ. 0 0 0.961
45 Wimbledon 1stRound BenneteauJ. FucsovicsM. 0 1 0.615
46 Wimbledon 1stRound AlbotR. CarrenoBustaP. 0 1 0.868
47 Wimbledon 1stRound EbdenM. GoffinD. 0 1 0.74
48 Wimbledon 1stRound HaaseR. CopilM. 0 0 0.606
49 Wimbledon 1stRound KukushkinM. PospisilV. 0 0 0.539
50 Wimbledon 1stRound HarrisonC. NishikoriK. 1 1 0.9
51 Wimbledon 1stRound ClarkeJ. GulbisE. 1 1 0.538
52 Wimbledon 1stRound GojowczykP. DelPotroJ.M. 1 1 0.94
53 Wimbledon 1stRound HerbertP.H. ZverevM. 0 1 0.525
54 Wimbledon 1stRound SandgrenT. DjokovicN. 1 1 0.931
55 Wimbledon 1stRound KyrgiosN. IstominD. 0 0 0.957
56 Wimbledon 1stRound BolelliS. CuevasP. 0 1 0.745
57 Wimbledon 1stRound NadalR. SelaD. 0 0 0.957
58 Wimbledon 1stRound DelbonisF. LopezF. 1 1 0.682
59 Wimbledon 1stRound RamosVinolasA. RobertS. 1 0 0.521
60 Wimbledon 1stRound EdmundK. BoltA. 0 0 0.872
61 Wimbledon 1stRound SonegoL. FritzT. 1 0 0.542
62 Wimbledon 1stRound BasicM. SchwartzmanD. 1 1 0.555
63 Wimbledon 1stRound PaireB. JungJ. 0 0 0.774
64 Wimbledon 1stRound SugitaY. KlahnB. 1 0 0.597
65 Wimbledon 2ndRound StruffJ.L. KarlovicI. 0 1 0.747
66 Wimbledon 2ndRound GarciaLopezG. MedvedevD. 1 0 0.519
67 Wimbledon 2ndRound McdonaldM. JarryN. 0 0 0.519
68 Wimbledon 2ndRound NovakD. PouilleL. 0 1 0.745
69 Wimbledon 2ndRound AlbotR. BedeneA. 0 1 0.682
70 Wimbledon 2ndRound RaonicM. MillmanJ. 0 0 0.73
71 Wimbledon 2ndRound HarrisonR. MannarinoA. 1 1 0.615
72 Wimbledon 2ndRound FedererR. LackoL. 0 0 0.885
73 Wimbledon 2ndRound QuerreyS. StakhovskyS. 0 0 0.774
74 Wimbledon 2ndRound MonfilsG. LorenziP. 0 0 0.839
75 Wimbledon 2ndRound WawrinkaS. FabbianoT. 1 1 0.656
76 Wimbledon 2ndRound BenneteauJ. TiafoeF. 1 1 0.831
77 Wimbledon 2ndRound KlahnB. EdmundK. 1 1 0.9
78 Wimbledon 2ndRound SchwartzmanD. VeselyJ. 1 0 0.73
79 Wimbledon 2ndRound NishikoriK. TomicB. 0 0 0.872
80 Wimbledon 2ndRound GulbisE. DzumhurD. 0 1 0.783
81 Wimbledon 2ndRound CilicM. PellaG. 1 0 0.73
82 Wimbledon 2ndRound ShapovalovD. PaireB. 1 0 0.519
83 Wimbledon 2ndRound IsnerJ. BemelmansR. 0 0 0.839
84 Wimbledon 2ndRound BolelliS. FogniniF. 1 1 0.9
85 Wimbledon 2ndRound KyrgiosN. HaaseR. 0 0 0.921
86 Wimbledon 2ndRound ZeballosH. DjokovicN. 1 1 0.881
87 Wimbledon 2ndRound KukushkinM. NadalR. 1 1 0.973
88 Wimbledon 2ndRound KhachanovK. BaghdatisM. 0 0 0.73
89 Wimbledon 2ndRound AndersonK. SeppiA. 0 0 0.885
90 Wimbledon 2ndRound MullerG. KohlschreiberP. 1 1 0.785
91 Wimbledon 2ndRound DelPotroJ.M. LopezF. 0 0 0.921
92 Wimbledon 2ndRound EbdenM. RobertS. 0 0 0.774
93 Wimbledon 2ndRound DonaldsonJ. TsitsipasS. 1 0 0.665
94 Wimbledon 2ndRound SimonG. BerrettiniM. 0 0 0.865
XI
95 Wimbledon 2ndRound DeMinaurA. HerbertP.H. 0 0 0.73
96 Wimbledon 3rdRound TsitsipasS. FabbianoT. 0 1 0.604
97 Wimbledon 3rdRound QuerreyS. MonfilsG. 1 1 0.74
98 Wimbledon 3rdRound PellaG. McdonaldM. 1 1 0.555
99 Wimbledon 3rdRound IsnerJ. AlbotR. 0 0 0.839
100 Wimbledon 3rdRound MedvedevD. MannarinoA. 1 0 0.519
101 Wimbledon 3rdRound KohlschreiberP. AndersonK. 1 1 0.74
102 Wimbledon 3rdRound StruffJ.L. FedererR. 1 1 0.98
103 Wimbledon 2ndRound ZverevA. FritzT. 0 0 0.951
104 Wimbledon 3rdRound TiafoeF. KhachanovK. 1 1 0.531
105 Wimbledon 3rdRound NishikoriK. KyrgiosN. 0 1 0.631
106 Wimbledon 3rdRound DjokovicN. EdmundK. 0 0 0.791
107 Wimbledon 3rdRound NovakD. RaonicM. 1 1 0.931
108 Wimbledon 3rdRound DelPotroJ.M. PaireB. 0 0 0.921
109 Wimbledon 3rdRound ZverevA. GulbisE. 1 0 0.951
110 Wimbledon 3rdRound SimonG. EbdenM. 0 0 0.669
111 Wimbledon 3rdRound VeselyJ. FogniniF. 0 1 0.793
112 Wimbledon 3rdRound NadalR. DeMinaurA. 0 0 0.921
113 Wimbledon 4thRound AndersonK. MonfilsG. 0 0 0.714
114 Wimbledon 4thRound DjokovicN. KhachanovK. 0 0 0.791
115 Wimbledon 4thRound RaonicM. McdonaldM. 0 0 0.73
116 Wimbledon 4thRound GulbisE. NishikoriK. 1 1 0.917
117 Wimbledon 4thRound FedererR. MannarinoA. 0 0 0.885
118 Wimbledon 4thRound VeselyJ. NadalR. 1 1 0.955
119 Wimbledon 4thRound TsitsipasS. IsnerJ. 1 1 0.9
120 Wimbledon 4thRound DelPotroJ.M. SimonG. 0 0 0.791
121 Wimbledon Quarterfinals IsnerJ. RaonicM. 0 1 0.631
122 Wimbledon Quarterfinals NishikoriK. DjokovicN. 1 1 0.631
123 Wimbledon Quarterfinals DelPotroJ.M. NadalR. 1 1 0.593
124 Wimbledon Quarterfinals AndersonK. FedererR. 0 1 0.688
125 Wimbledon Semifinals IsnerJ. AndersonK. 1 1 0.531
126 Wimbledon Semifinals DjokovicN. NadalR. 0 1 0.593
127 Wimbledon TheFinal DjokovicN. AndersonK. 0 0 0.885
9.2.4 Wimbledon – DecisionTable
Inst# Tournament Round Player1 Player2 Actual result
Predicted result Probability
1 Wimbledon 1stRound MedvedevD. CoricB. 0 1 0.801
2 Wimbledon 1stRound TsitsipasS. BarrereG. 0 0 0.585
3 Wimbledon 1stRound BhambriY. FabbianoT. 1 1 0.564
4 Wimbledon 1stRound GasquetR. MonfilsG. 1 1 0.556
5 Wimbledon 1stRound JaziriM. DonaldsonJ. 1 0 0.586
6 Wimbledon 1stRound BerankisR. McdonaldM. 1 1 0.767
7 Wimbledon 1stRound LorenziP. DjereL. 0 1 0.75
8 Wimbledon 1stRound KudlaD. PouilleL. 1 1 0.535
9 Wimbledon 1stRound RaonicM. BroadyL. 0 0 0.89
10 Wimbledon 1stRound HarrisonR. CarballesBaenaR. 0 1 0.539
11 Wimbledon 1stRound JarryN. KrajinovicF. 0 1 0.591
12 Wimbledon 1stRound FedererR. LajovicD. 0 0 0.6
13 Wimbledon 1stRound KohlschreiberP. DonskoyE. 0 0 0.689
14 Wimbledon 1stRound KublerJ. PellaG. 1 1 0.695
15 Wimbledon 1stRound BemelmansR. JohnsonS. 0 1 0.815
16 Wimbledon 1stRound NorrieC. BedeneA. 1 1 0.695
17 Wimbledon 1stRound TravagliaS. MillmanJ. 1 1 0.695
18 Wimbledon 1stRound StakhovskyS. SousaJ. 0 1 0.759
19 Wimbledon 1stRound NishiokaY. CilicM. 1 1 0.892
20 Wimbledon 1stRound GarinC. MannarinoA. 1 1 0.695
21 Wimbledon 1stRound NovakD. PolanskyP. 0 0 0.678
22 Wimbledon 1stRound BonziB. LackoL. 1 1 0.67
23 Wimbledon 1stRound ThompsonJ. QuerreyS. 1 0 0.5
XII
24 Wimbledon 1stRound GombosN. AndersonK. 1 1 0.838
25 Wimbledon 1stRound MadenY. IsnerJ. 1 1 0.78
26 Wimbledon 1stRound DimitrovG. WawrinkaS. 1 0 0.821
27 Wimbledon 1stRound EliasG. GarciaLopezG. 1 1 0.695
28 Wimbledon 1stRound MmohM. MullerG. 1 1 0.62
29 Wimbledon 1stRound KarlovicI. YouzhnyM. 0 0 0.737
30 Wimbledon 1stRound MayerL. StruffJ.L. 1 1 0.571
31 Wimbledon 1stRound SeppiA. SmithJ.P. 0 0 0.777
32 Wimbledon 1stRound AndreozziG. ZeballosH. 1 1 0.67
33 Wimbledon 1stRound ChardyJ. ShapovalovD. 1 0 0.604
34 Wimbledon 1stRound VerdascoF. TiafoeF. 1 1 0.643
35 Wimbledon 1stRound TomicB. HurkaczH. 0 0 0.585
36 Wimbledon 1stRound FerrerD. KhachanovK. 1 1 0.815
37 Wimbledon 1stRound BaghdatisM. ThiemD. 0 1 0.879
38 Wimbledon 1stRound MayerF. VeselyJ. 1 1 0.828
39 Wimbledon 1stRound FogniniF. DanielT. 0 0 0.81
40 Wimbledon 1stRound DeMinaurA. CecchinatoM. 0 1 0.606
41 Wimbledon 1stRound BerrettiniM. SockJ. 0 1 0.53
42 Wimbledon 1stRound MartererM. DzumhurD. 1 0 0.507
43 Wimbledon 1stRound SimonG. BasilashviliN. 0 0 0.711
44 Wimbledon 1stRound ZverevA. DuckworthJ. 0 0 0.941
45 Wimbledon 1stRound BenneteauJ. FucsovicsM. 0 1 0.778
46 Wimbledon 1stRound AlbotR. CarrenoBustaP. 0 1 0.815
47 Wimbledon 1stRound EbdenM. GoffinD. 0 1 0.709
48 Wimbledon 1stRound HaaseR. CopilM. 0 0 0.682
49 Wimbledon 1stRound KukushkinM. PospisilV. 0 0 0.622
50 Wimbledon 1stRound HarrisonC. NishikoriK. 1 1 0.75
51 Wimbledon 1stRound ClarkeJ. GulbisE. 1 1 0.585
52 Wimbledon 1stRound GojowczykP. DelPotroJ.M. 1 1 0.933
53 Wimbledon 1stRound HerbertP.H. ZverevM. 0 1 0.67
54 Wimbledon 1stRound SandgrenT. DjokovicN. 1 1 0.892
55 Wimbledon 1stRound KyrgiosN. IstominD. 0 0 0.958
56 Wimbledon 1stRound BolelliS. CuevasP. 0 1 0.759
57 Wimbledon 1stRound NadalR. SelaD. 0 0 0.833
58 Wimbledon 1stRound DelbonisF. LopezF. 1 0 0.571
59 Wimbledon 1stRound RamosVinolasA. RobertS. 1 0 0.585
60 Wimbledon 1stRound EdmundK. BoltA. 0 0 0.835
61 Wimbledon 1stRound SonegoL. FritzT. 1 1 0.66
62 Wimbledon 1stRound BasicM. SchwartzmanD. 1 1 0.591
63 Wimbledon 1stRound PaireB. JungJ. 0 0 0.777
64 Wimbledon 1stRound SugitaY. KlahnB. 1 1 0.667
65 Wimbledon 2ndRound StruffJ.L. KarlovicI. 0 1 0.539
66 Wimbledon 2ndRound GarciaLopezG. MedvedevD. 1 0 0.507
67 Wimbledon 2ndRound McdonaldM. JarryN. 0 0 0.507
68 Wimbledon 2ndRound NovakD. PouilleL. 0 1 0.759
69 Wimbledon 2ndRound AlbotR. BedeneA. 0 1 0.744
70 Wimbledon 2ndRound RaonicM. MillmanJ. 0 0 0.749
71 Wimbledon 2ndRound HarrisonR. MannarinoA. 1 1 0.702
72 Wimbledon 2ndRound FedererR. LackoL. 0 0 0.966
73 Wimbledon 2ndRound QuerreyS. StakhovskyS. 0 0 0.777
74 Wimbledon 2ndRound MonfilsG. LorenziP. 0 0 0.78
75 Wimbledon 2ndRound WawrinkaS. FabbianoT. 1 1 0.564
76 Wimbledon 2ndRound BenneteauJ. TiafoeF. 1 1 0.696
77 Wimbledon 2ndRound KlahnB. EdmundK. 1 1 0.855
78 Wimbledon 2ndRound SchwartzmanD. VeselyJ. 1 0 0.674
79 Wimbledon 2ndRound NishikoriK. TomicB. 0 0 0.904
80 Wimbledon 2ndRound GulbisE. DzumhurD. 0 1 0.695
81 Wimbledon 2ndRound CilicM. PellaG. 1 0 0.749
82 Wimbledon 2ndRound ShapovalovD. PaireB. 1 0 0.507
83 Wimbledon 2ndRound IsnerJ. BemelmansR. 0 0 0.824
84 Wimbledon 2ndRound BolelliS. FogniniF. 1 1 0.838
85 Wimbledon 2ndRound KyrgiosN. HaaseR. 0 0 0.925
XIII
86 Wimbledon 2ndRound ZeballosH. DjokovicN. 1 1 0.879
87 Wimbledon 2ndRound KukushkinM. NadalR. 1 1 0.972
88 Wimbledon 2ndRound KhachanovK. BaghdatisM. 0 0 0.667
89 Wimbledon 2ndRound AndersonK. SeppiA. 0 0 0.814
90 Wimbledon 2ndRound MullerG. KohlschreiberP. 1 1 0.757
91 Wimbledon 2ndRound DelPotroJ.M. LopezF. 0 0 0.5
92 Wimbledon 2ndRound EbdenM. RobertS. 0 0 0.777
93 Wimbledon 2ndRound DonaldsonJ. TsitsipasS. 1 0 0.732
94 Wimbledon 2ndRound SimonG. BerrettiniM. 0 0 0.802
95 Wimbledon 2ndRound DeMinaurA. HerbertP.H. 0 0 0.5
96 Wimbledon 3rdRound TsitsipasS. FabbianoT. 0 1 0.655
97 Wimbledon 3rdRound QuerreyS. MonfilsG. 1 1 0.606
98 Wimbledon 3rdRound PellaG. McdonaldM. 1 1 0.535
99 Wimbledon 3rdRound IsnerJ. AlbotR. 0 0 0.78
100 Wimbledon 3rdRound MedvedevD. MannarinoA. 1 0 0.507
101 Wimbledon 3rdRound KohlschreiberP. AndersonK. 1 1 0.757
102 Wimbledon 3rdRound StruffJ.L. FedererR. 1 1 0.972
103 Wimbledon 2ndRound ZverevA. FritzT. 0 0 0.875
104 Wimbledon 3rdRound TiafoeF. KhachanovK. 1 0 0.68
105 Wimbledon 3rdRound NishikoriK. KyrgiosN. 0 1 0.622
106 Wimbledon 3rdRound DjokovicN. EdmundK. 0 0 0.857
107 Wimbledon 3rdRound NovakD. RaonicM. 1 1 0.892
108 Wimbledon 3rdRound DelPotroJ.M. PaireB. 0 0 0.925
109 Wimbledon 3rdRound ZverevA. GulbisE. 1 0 0.957
110 Wimbledon 3rdRound SimonG. EbdenM. 0 0 0.761
111 Wimbledon 3rdRound VeselyJ. FogniniF. 0 1 0.757
112 Wimbledon 3rdRound NadalR. DeMinaurA. 0 0 0.956
113 Wimbledon 4thRound AndersonK. MonfilsG. 0 0 0.849
114 Wimbledon 4thRound DjokovicN. KhachanovK. 0 0 0.857
115 Wimbledon 4thRound RaonicM. McdonaldM. 0 0 0.694
116 Wimbledon 4thRound GulbisE. NishikoriK. 1 1 0.75
117 Wimbledon 4thRound FedererR. MannarinoA. 0 0 0.956
118 Wimbledon 4thRound VeselyJ. NadalR. 1 1 0.974
119 Wimbledon 4thRound TsitsipasS. IsnerJ. 1 1 0.78
120 Wimbledon 4thRound DelPotroJ.M. SimonG. 0 0 0.849
121 Wimbledon Quarterfinals IsnerJ. RaonicM. 0 1 0.766
122 Wimbledon Quarterfinals NishikoriK. DjokovicN. 1 1 0.622
123 Wimbledon Quarterfinals DelPotroJ.M. NadalR. 1 1 0.842
124 Wimbledon Quarterfinals AndersonK. FedererR. 0 1 0.842
125 Wimbledon Semifinals IsnerJ. AndersonK. 1 1 0.632
126 Wimbledon Semifinals DjokovicN. NadalR. 0 1 0.842
127 Wimbledon TheFinal DjokovicN. AndersonK. 0 0 0.5
9.2.5 Miami Open – LogitBoost
Inst# Tournament Round Player1 Player2
Actual result
Predicted result Probability
1 Sony Ericsson Open 1stRound ChardyJ. DutraSilvaR. 0 0 0.834
2 Sony Ericsson Open 1stRound StruffJ.L. YmerM. 1 0 0.554
3 Sony Ericsson Open 1stRound NorrieC. JarryN. 1 1 0.744
4 Sony Ericsson Open 1stRound FucsovicsM. MartererM. 1 0 0.51
5 Sony Ericsson Open 1stRound FratangeloB. BroadyL. 1 0 0.584
6 Sony Ericsson Open 1stRound LackoL. VeselyJ. 1 0 0.51
7 Sony Ericsson Open 1stRound SousaJ. HarrisonR. 0 0 0.51
8 Sony Ericsson Open 1stRound KarlovicI. PospisilV. 1 0 0.663
9 Sony Ericsson Open 1stRound GojowczykP. MillmanJ. 1 0 0.51
10 Sony Ericsson Open 1stRound ZverevM. PaireB. 1 1 0.623
11 Sony Ericsson Open 1stRound SugitaY. HaaseR. 1 1 0.623
12 Sony Ericsson Open 1stRound DonaldsonJ. BaghdatisM. 0 1 0.623
13 Sony Ericsson Open 1stRound EbdenM. SimonG. 0 1 0.748
14 Sony Ericsson Open 1stRound PellaG. YouzhnyM. 1 0 0.759
XIV
15 Sony Ericsson Open 1stRound MmohM. EubanksC. 0 0 0.584
16 Sony Ericsson Open 1stRound FritzT. HerbertP.H. 1 0 0.502
17 Sony Ericsson Open 1stRound BasilashviliN. FabbianoT. 0 0 0.539
18 Sony Ericsson Open 1stRound TroickiV. ShapovalovD. 1 1 0.735
19 Sony Ericsson Open 1stRound HemeryC. KokkinakisT. 1 1 0.625
20 Sony Ericsson Open 1stRound BasicM. BhambriY. 1 0 0.668
21 Sony Ericsson Open 1stRound KukushkinM. CopilM. 1 0 0.539
22 Sony Ericsson Open 1stRound ZeballosH. LajovicD. 1 1 0.623
23 Sony Ericsson Open 1stRound AlbotR. BerankisR. 0 0 0.646
24 Sony Ericsson Open 1stRound EstrellaBurgosV. JohnsonS. 1 1 0.9
25 Sony Ericsson Open 1stRound DonskoyE. BedeneA. 0 1 0.623
26 Sony Ericsson Open 1stRound MayerL. YoungD. 0 0 0.772
27 Sony Ericsson Open 1stRound KecmanovicM. IstominD. 1 1 0.601
28 Sony Ericsson Open 1stRound MedvedevD. TsitsipasS. 0 0 0.751
29 Sony Ericsson Open 1stRound NishiokaY. DeMinaurA. 0 1 0.673
30 Sony Ericsson Open 1stRound KingD. KuhnN. 1 1 0.5
31 Sony Ericsson Open 1stRound GarciaLopezG. SandgrenT. 0 0 0.751
32 Sony Ericsson Open 2ndRound RaonicM. YmerM. 0 0 0.883
33 Sony Ericsson Open 2ndRound IsnerJ. VeselyJ. 0 0 0.722
34 Sony Ericsson Open 1stRound TiafoeF. KickerN. 0 0 0.834
35 Sony Ericsson Open 2ndRound BroadyL. KrajinovicF. 1 1 0.744
36 Sony Ericsson Open 2ndRound RublevA. PospisilV. 1 0 0.894
37 Sony Ericsson Open 2ndRound MillmanJ. NishikoriK. 1 1 0.822
38 Sony Ericsson Open 2ndRound GoffinD. SousaJ. 1 0 0.722
39 Sony Ericsson Open 2ndRound MmohM. BautistaR. 0 1 0.864
40 Sony Ericsson Open 2ndRound ChungH. EbdenM. 0 0 0.722
41 Sony Ericsson Open 2ndRound PaireB. DjokovicN. 0 1 0.822
42 Sony Ericsson Open 2ndRound GasquetR. ChardyJ. 1 1 0.543
43 Sony Ericsson Open 2ndRound MullerG. YouzhnyM. 1 0 0.521
44 Sony Ericsson Open 2ndRound DonaldsonJ. LopezF. 0 1 0.623
45 Sony Ericsson Open 2ndRound JarryN. SchwartzmanD. 1 0 0.51
46 Sony Ericsson Open 2ndRound CilicM. HerbertP.H. 0 0 0.844
47 Sony Ericsson Open 2ndRound DzumhurD. ShapovalovD. 1 0 0.51
48 Sony Ericsson Open 2ndRound ZverevA. MedvedevD. 0 0 0.881
49 Sony Ericsson Open 2ndRound BerdychT. NishiokaY. 0 0 0.684
50 Sony Ericsson Open 2ndRound FedererR. KokkinakisT. 1 0 0.939
51 Sony Ericsson Open 2ndRound TiafoeF. EdmundK. 0 1 0.543
52 Sony Ericsson Open 2ndRound SockJ. BhambriY. 0 0 0.539
53 Sony Ericsson Open 2ndRound AndersonK. BasilashviliN. 0 0 0.935
54 Sony Ericsson Open 2ndRound IstominD. CarrenoBustaP. 1 1 0.836
55 Sony Ericsson Open 2ndRound MartererM. DimitrovG. 1 1 0.822
56 Sony Ericsson Open 2ndRound KhachanovK. CopilM. 0 0 0.834
57 Sony Ericsson Open 2ndRound QuerreyS. AlbotR. 0 0 0.668
58 Sony Ericsson Open 2ndRound HaaseR. DelPotroJ.M. 1 1 0.944
59 Sony Ericsson Open 2ndRound JohnsonS. MannarinoA. 0 0 0.722
60 Sony Ericsson Open 2ndRound KuhnN. FogniniF. 1 1 0.9
61 Sony Ericsson Open 2ndRound CoricB. MayerL. 0 0 0.802
62 Sony Ericsson Open 2ndRound GarciaLopezG. VerdascoF. 1 0 0.51
63 Sony Ericsson Open 2ndRound DonskoyE. FerrerD. 1 0 0.539
64 Sony Ericsson Open 3rdRound ChungH. MmohM. 0 0 0.844
65 Sony Ericsson Open 2ndRound LajovicD. KyrgiosN. 1 1 0.822
66 Sony Ericsson Open 3rdRound PaireB. KrajinovicF. 1 0 0.51
67 Sony Ericsson Open 3rdRound DelPotroJ.M. NishikoriK. 0 0 0.707
68 Sony Ericsson Open 3rdRound DonaldsonJ. SousaJ. 1 1 0.623
69 Sony Ericsson Open 3rdRound PospisilV. CilicM. 1 1 0.943
70 Sony Ericsson Open 3rdRound DimitrovG. ChardyJ. 1 1 0.543
71 Sony Ericsson Open 3rdRound IsnerJ. YouzhnyM. 0 0 0.887
72 Sony Ericsson Open 3rdRound CarrenoBustaP. JohnsonS. 0 1 0.543
73 Sony Ericsson Open 3rdRound ShapovalovD. QuerreyS. 0 0 0.51
74 Sony Ericsson Open 3rdRound KyrgiosN. FogniniF. 0 0 0.79
XV
75 Sony Ericsson Open 3rdRound KhachanovK. AndersonK. 1 1 0.543
76 Sony Ericsson Open 3rdRound KokkinakisT. VerdascoF. 1 1 0.673
77 Sony Ericsson Open 3rdRound RaonicM. SchwartzmanD. 0 0 0.722
78 Sony Ericsson Open 4thRound ShapovalovD. CoricB. 1 1 0.822
79 Sony Ericsson Open 3rdRound SockJ. CoricB. 1 1 0.888
80 Sony Ericsson Open 4thRound AndersonK. TiafoeF. 0 0 0.706
81 Sony Ericsson Open 3rdRound FerrerD. ZverevA. 1 1 0.836
82 Sony Ericsson Open 4thRound DelPotroJ.M. KrajinovicF. 0 0 0.921
83 Sony Ericsson Open 4thRound VerdascoF. CarrenoBustaP. 1 1 0.748
84 Sony Ericsson Open 4thRound ChungH. SousaJ. 0 0 0.722
85 Sony Ericsson Open 4thRound RaonicM. ChardyJ. 0 1 0.543
86 Sony Ericsson Open 3rdRound TiafoeF. BerdychT. 0 0 0.722
87 Sony Ericsson Open 4thRound CilicM. IsnerJ. 1 1 0.543
88 Sony Ericsson Open 4thRound KyrgiosN. ZverevA. 1 0 0.79
89 Sony Ericsson Open Quarterfinals ChungH. IsnerJ. 1 1 0.543
90 Sony Ericsson Open Quarterfinals DelPotroJ.M. RaonicM. 0 0 0.79
91 Sony Ericsson Open Quarterfinals CarrenoBustaP. AndersonK. 0 1 0.543
92 Sony Ericsson Open Quarterfinals ZverevA. CoricB. 0 0 0.606
93 Sony Ericsson Open Semifinals IsnerJ. DelPotroJ.M. 0 1 0.872
94 Sony Ericsson Open Semifinals ZverevA. CarrenoBustaP. 0 0 0.706
95 Sony Ericsson Open TheFinal ZverevA. IsnerJ. 1 0 0.706
9.2.6 Miami Open – DecisionTable
Inst# Tournament Round Player1 Player2 Actual result
Predicted result Probability
1 Sony Ericsson Open 1stRound ChardyJ. DutraSilvaR. 0 0 0.756
2 Sony Ericsson Open 1stRound StruffJ.L. YmerM. 1 0 0.75
3 Sony Ericsson Open 1stRound NorrieC. JarryN. 1 1 0.786
4 Sony Ericsson Open 1stRound FucsovicsM. MartererM. 1 0 0.615
5 Sony Ericsson Open 1stRound FratangeloB. BroadyL. 1 0 0.589
6 Sony Ericsson Open 1stRound LackoL. VeselyJ. 1 0 0.538
7 Sony Ericsson Open 1stRound SousaJ. HarrisonR. 0 0 0.573
8 Sony Ericsson Open 1stRound KarlovicI. PospisilV. 1 0 0.756
9 Sony Ericsson Open 1stRound GojowczykP. MillmanJ. 1 0 0.573
10 Sony Ericsson Open 1stRound ZverevM. PaireB. 1 1 0.695
11 Sony Ericsson Open 1stRound SugitaY. HaaseR. 1 1 0.696
12 Sony Ericsson Open 1stRound DonaldsonJ. BaghdatisM. 0 1 0.633
13 Sony Ericsson Open 1stRound EbdenM. SimonG. 0 1 0.681
14 Sony Ericsson Open 1stRound PellaG. YouzhnyM. 1 0 0.871
15 Sony Ericsson Open 1stRound MmohM. EubanksC. 0 0 0.589
16 Sony Ericsson Open 1stRound FritzT. HerbertP.H. 1 0 0.589
17 Sony Ericsson Open 1stRound BasilashviliN. FabbianoT. 0 0 0.533
18 Sony Ericsson Open 1stRound TroickiV. ShapovalovD. 1 1 0.868
19 Sony Ericsson Open 1stRound HemeryC. KokkinakisT. 1 1 0.581
20 Sony Ericsson Open 1stRound BasicM. BhambriY. 1 0 0.769
21 Sony Ericsson Open 1stRound KukushkinM. CopilM. 1 0 0.533
22 Sony Ericsson Open 1stRound ZeballosH. LajovicD. 1 1 0.633
23 Sony Ericsson Open 1stRound AlbotR. BerankisR. 0 0 0.591
24 Sony Ericsson Open 1stRound EstrellaBurgosV. JohnsonS. 1 1 0.824
25 Sony Ericsson Open 1stRound DonskoyE. BedeneA. 0 1 0.667
26 Sony Ericsson Open 1stRound MayerL. YoungD. 0 0 0.761
27 Sony Ericsson Open 1stRound KecmanovicM. IstominD. 1 1 0.711
28 Sony Ericsson Open 1stRound MedvedevD. TsitsipasS. 0 0 0.734
29 Sony Ericsson Open 1stRound NishiokaY. DeMinaurA. 0 1 0.711
30 Sony Ericsson Open 1stRound KingD. KuhnN. 1 1 0.599
31 Sony Ericsson Open 1stRound GarciaLopezG. SandgrenT. 0 0 0.734
XVI
32 Sony Ericsson Open 2ndRound RaonicM. YmerM. 0 0 0.858
33 Sony Ericsson Open 2ndRound IsnerJ. VeselyJ. 0 0 0.682
34 Sony Ericsson Open 1stRound TiafoeF. KickerN. 0 0 0.88
35 Sony Ericsson Open 2ndRound BroadyL. KrajinovicF. 1 1 0.786
36 Sony Ericsson Open 2ndRound RublevA. PospisilV. 1 0 0.791
37 Sony Ericsson Open 2ndRound MillmanJ. NishikoriK. 1 1 0.837
38 Sony Ericsson Open 2ndRound GoffinD. SousaJ. 1 0 0.696
39 Sony Ericsson Open 2ndRound MmohM. BautistaR. 0 1 0.808
40 Sony Ericsson Open 2ndRound ChungH. EbdenM. 0 0 0.782
41 Sony Ericsson Open 2ndRound PaireB. DjokovicN. 0 1 0.762
42 Sony Ericsson Open 2ndRound GasquetR. ChardyJ. 1 1 0.522
43 Sony Ericsson Open 2ndRound MullerG. YouzhnyM. 1 0 0.632
44 Sony Ericsson Open 2ndRound DonaldsonJ. LopezF. 0 1 0.633
45 Sony Ericsson Open 2ndRound JarryN. SchwartzmanD. 1 1 0.601
46 Sony Ericsson Open 2ndRound CilicM. HerbertP.H. 0 0 0.858
47 Sony Ericsson Open 2ndRound DzumhurD. ShapovalovD. 1 1 0.601
48 Sony Ericsson Open 2ndRound ZverevA. MedvedevD. 0 0 0.797
49 Sony Ericsson Open 2ndRound BerdychT. NishiokaY. 0 0 0.625
50 Sony Ericsson Open 2ndRound FedererR. KokkinakisT. 1 0 0.919
51 Sony Ericsson Open 2ndRound TiafoeF. EdmundK. 0 1 0.536
52 Sony Ericsson Open 2ndRound SockJ. BhambriY. 0 0 0.591
53 Sony Ericsson Open 2ndRound AndersonK. BasilashviliN. 0 0 0.945
54 Sony Ericsson Open 2ndRound IstominD. CarrenoBustaP. 1 1 0.771
55 Sony Ericsson Open 2ndRound MartererM. DimitrovG. 1 1 0.62
56 Sony Ericsson Open 2ndRound KhachanovK. CopilM. 0 0 0.86
57 Sony Ericsson Open 2ndRound QuerreyS. AlbotR. 0 0 0.75
58 Sony Ericsson Open 2ndRound HaaseR. DelPotroJ.M. 1 1 0.972
59 Sony Ericsson Open 2ndRound JohnsonS. MannarinoA. 0 0 0.705
60 Sony Ericsson Open 2ndRound KuhnN. FogniniF. 1 1 0.896
61 Sony Ericsson Open 2ndRound CoricB. MayerL. 0 0 0.782
62 Sony Ericsson Open 2ndRound GarciaLopezG. VerdascoF. 1 1 0.601
63 Sony Ericsson Open 2ndRound DonskoyE. FerrerD. 1 1 0.524
64 Sony Ericsson Open 3rdRound ChungH. MmohM. 0 0 0.858
65 Sony Ericsson Open 2ndRound LajovicD. KyrgiosN. 1 1 0.762
66 Sony Ericsson Open 3rdRound PaireB. KrajinovicF. 1 1 0.563
67 Sony Ericsson Open 3rdRound DelPotroJ.M. NishikoriK. 0 0 0.698
68 Sony Ericsson Open 3rdRound DonaldsonJ. SousaJ. 1 1 0.695
69 Sony Ericsson Open 3rdRound PospisilV. CilicM. 1 1 0.914
70 Sony Ericsson Open 3rdRound DimitrovG. ChardyJ. 1 1 0.563
71 Sony Ericsson Open 3rdRound IsnerJ. YouzhnyM. 0 0 0.756
72 Sony Ericsson Open 3rdRound CarrenoBustaP. JohnsonS. 0 1 0.514
73 Sony Ericsson Open 3rdRound ShapovalovD. QuerreyS. 0 0 0.573
74 Sony Ericsson Open 3rdRound KyrgiosN. FogniniF. 0 0 0.698
75 Sony Ericsson Open 3rdRound KhachanovK. AndersonK. 1 1 0.576
76 Sony Ericsson Open 3rdRound KokkinakisT. VerdascoF. 1 1 0.676
77 Sony Ericsson Open 3rdRound RaonicM. SchwartzmanD. 0 0 0.716
78 Sony Ericsson Open 4thRound ShapovalovD. CoricB. 1 1 0.762
79 Sony Ericsson Open 3rdRound SockJ. CoricB. 1 1 0.925
80 Sony Ericsson Open 4thRound AndersonK. TiafoeF. 0 0 0.871
81 Sony Ericsson Open 3rdRound FerrerD. ZverevA. 1 1 0.821
82 Sony Ericsson Open 4thRound DelPotroJ.M. KrajinovicF. 0 0 0.797
83 Sony Ericsson Open 4thRound VerdascoF. CarrenoBustaP. 1 1 0.62
84 Sony Ericsson Open 4thRound ChungH. SousaJ. 0 0 0.716
85 Sony Ericsson Open 4thRound RaonicM. ChardyJ. 0 0 0.641
86 Sony Ericsson Open 3rdRound TiafoeF. BerdychT. 0 0 0.75
87 Sony Ericsson Open 4thRound CilicM. IsnerJ. 1 0 0.641
88 Sony Ericsson Open 4thRound KyrgiosN. ZverevA. 1 0 0.698
89 Sony Ericsson Open Quarterfinals ChungH. IsnerJ. 1 0 0.641
90 Sony Ericsson Open Quarterfinals DelPotroJ.M. RaonicM. 0 0 0.698
91 Sony Ericsson Open Quarterfinals CarrenoBustaP. AndersonK. 0 1 0.707
92 Sony Ericsson Open Quarterfinals ZverevA. CoricB. 0 0 0.698
93 Sony Ericsson Open Semifinals IsnerJ. DelPotroJ.M. 0 1 0.895
XVII
94 Sony Ericsson Open Semifinals ZverevA. CarrenoBustaP. 0 0 0.871
95 Sony Ericsson Open TheFinal ZverevA. IsnerJ. 1 0 0.871
9.2.7 Indian Wells – LogitBoost
Inst# Tournament Round Player1 Player2 Actual result
Predicted result Probability
1 BNP Paribas Open 1stRound SugitaY. ZeballosH. 1 0 0.542
2 BNP Paribas Open 1stRound MartererM. KarlovicI. 0 1 0.504
3 BNP Paribas Open 1stRound JohnsonS. MedvedevD. 1 0 0.71
4 BNP Paribas Open 1stRound LackoL. LajovicD. 1 1 0.589
5 BNP Paribas Open 1stRound CoricB. YoungD. 0 0 0.929
6 BNP Paribas Open 1stRound ChardyJ. BenneteauJ. 0 0 0.635
7 BNP Paribas Open 1stRound OpelkaR. FritzT. 1 1 0.567
8 BNP Paribas Open 1stRound AlbotR. TsitsipasS. 1 0 0.665
9 BNP Paribas Open 1stRound EbdenM. MonfilsG. 1 1 0.768
10 BNP Paribas Open 1stRound EscobedoE. TiafoeF. 0 1 0.928
11 BNP Paribas Open 1stRound DonskoyE. KhachanovK. 0 1 0.89
12 BNP Paribas Open 1stRound BaghdatisM. NishiokaY. 0 0 0.565
13 BNP Paribas Open 1stRound NorrieC. DanielT. 1 1 0.751
14 BNP Paribas Open 1stRound MahutN. BhambriY. 1 1 0.654
15 BNP Paribas Open 1stRound VeselyJ. KickerN. 1 0 0.673
16 BNP Paribas Open 1stRound TroickiV. FucsovicsM. 1 1 0.639
17 BNP Paribas Open 1stRound HarrisonR. DelbonisF. 1 0 0.542
18 BNP Paribas Open 1stRound PolanskyP. CopilM. 0 1 0.654
19 BNP Paribas Open 1stRound ShapovalovD. BerankisR. 0 0 0.759
20 BNP Paribas Open 1stRound VerdascoF. PellaG. 0 1 0.504
21 BNP Paribas Open 1stRound KruegerM. PaireB. 0 1 0.81
22 BNP Paribas Open 1stRound YouzhnyM. SousaJ. 1 1 0.639
23 BNP Paribas Open 1stRound DonaldsonJ. KingE. 0 0 0.665
24 BNP Paribas Open 1stRound SimonG. HerbertP.H. 1 0 0.849
25 BNP Paribas Open 1stRound KlahnB. FabbianoT. 1 1 0.59
26 BNP Paribas Open 2ndRound FritzT. RublevA. 0 1 0.754
27 BNP Paribas Open 1stRound SmyczekT. DjereL. 0 0 0.645
28 BNP Paribas Open 2ndRound DzumhurD. KickerN. 1 0 0.673
29 BNP Paribas Open 1stRound SandgrenT. BasilashviliN. 0 1 0.59
30 BNP Paribas Open 1stRound AugerAliassimeF. PospisilV. 0 0 0.539
31 BNP Paribas Open 2ndRound AndersonK. DonskoyE. 0 0 0.876
32 BNP Paribas Open 1stRound SelaD. GojowczykP. 0 1 0.639
33 BNP Paribas Open 1stRound KukushkinM. ZverevM. 1 0 0.542
34 BNP Paribas Open 2ndRound ChardyJ. FogniniF. 0 1 0.571
35 BNP Paribas Open 1stRound EstrellaBurgosV. MayerL. 1 1 0.751
36 BNP Paribas Open 2ndRound ShapovalovD. CuevasP. 1 1 0.504
37 BNP Paribas Open 2ndRound MartererM. BerdychT. 1 1 0.589
38 BNP Paribas Open 2ndRound MedvedevD. BerrettiniM. 0 0 0.775
39 BNP Paribas Open 2ndRound ThiemD. TsitsipasS. 0 0 0.961
40 BNP Paribas Open 1stRound DeMinaurA. StruffJ.L. 0 0 0.6
41 BNP Paribas Open 2ndRound IsnerJ. MonfilsG. 1 1 0.571
42 BNP Paribas Open 2ndRound BautistaR. DonaldsonJ. 0 0 0.837
43 BNP Paribas Open 2ndRound LajovicD. ChungH. 1 1 0.824
44 BNP Paribas Open 2ndRound LopezF. EscobedoE. 0 0 0.776
45 BNP Paribas Open 2ndRound BhambriY. PouilleL. 0 1 0.639
46 BNP Paribas Open 2ndRound ZeballosH. CarrenoBustaP. 1 1 0.639
47 BNP Paribas Open 2ndRound MannarinoA. PolanskyP. 0 0 0.776
48 BNP Paribas Open 2ndRound ZverevM. QuerreyS. 1 1 0.639
49 BNP Paribas Open 2ndRound BemelmansR. MayerL. 1 1 0.639
XVIII
50 BNP Paribas Open 2ndRound DanielT. DjokovicN. 0 1 0.89
51 BNP Paribas Open 2ndRound EdmundK. SelaD. 1 0 0.837
52 BNP Paribas Open 2ndRound DimitrovG. VerdascoF. 1 0 0.71
53 BNP Paribas Open 2ndRound SmyczekT. KohlschreiberP. 1 1 0.639
54 BNP Paribas Open 2ndRound DelbonisF. FedererR. 1 1 0.959
55 BNP Paribas Open 2ndRound CoricB. RamosVinolasA. 0 0 0.928
56 BNP Paribas Open 2ndRound KrajinovicF. KruegerM. 0 0 0.896
57 BNP Paribas Open 2ndRound MullerG. HerbertP.H. 1 0 0.565
58 BNP Paribas Open 2ndRound FerrerD. SandgrenT. 0 0 0.665
59 BNP Paribas Open 2ndRound SockJ. FabbianoT. 0 0 0.542
60 BNP Paribas Open 2ndRound SousaJ. ZverevA. 0 1 0.824
61 BNP Paribas Open 3rdRound FedererR. KrajinovicF. 0 0 0.876
62 BNP Paribas Open 2ndRound CilicM. FucsovicsM. 0 0 0.71
63 BNP Paribas Open 3rdRound MedvedevD. CarrenoBustaP. 1 1 0.504
64 BNP Paribas Open 2ndRound DeMinaurA. DelPotroJ.M. 1 1 0.931
65 BNP Paribas Open 3rdRound ChardyJ. MannarinoA. 0 0 0.71
66 BNP Paribas Open 3rdRound CoricB. BautistaR. 0 0 0.531
67 BNP Paribas Open 2ndRound SchwartzmanD. BaghdatisM. 1 0 0.71
68 BNP Paribas Open 2ndRound RaonicM. AugerAliassimeF. 0 0 0.896
69 BNP Paribas Open 3rdRound VerdascoF. FritzT. 1 0 0.693
70 BNP Paribas Open 3rdRound CuevasP. ThiemD. 0 1 0.768
71 BNP Paribas Open 3rdRound QuerreyS. BhambriY. 0 0 0.673
72 BNP Paribas Open 3rdRound SousaJ. RaonicM. 1 1 0.768
73 BNP Paribas Open 3rdRound FerrerD. DelPotroJ.M. 1 1 0.959
74 BNP Paribas Open 3rdRound DanielT. MayerL. 1 1 0.639
75 BNP Paribas Open 3rdRound KickerN. AndersonK. 1 1 0.852
76 BNP Paribas Open 3rdRound ChungH. BerdychT. 0 0 0.635
77 BNP Paribas Open 3rdRound CilicM. KohlschreiberP. 1 0 0.71
78 BNP Paribas Open 3rdRound MonfilsG. HerbertP.H. 1 0 0.849
79 BNP Paribas Open 4thRound CuevasP. ChungH. 1 1 0.824
80 BNP Paribas Open 4thRound FedererR. ChardyJ. 0 0 0.684
81 BNP Paribas Open 4thRound CarrenoBustaP. AndersonK. 1 1 0.571
82 BNP Paribas Open 3rdRound SelaD. BaghdatisM. 1 1 0.639
83 BNP Paribas Open 4thRound HerbertP.H. KohlschreiberP. 1 1 0.684
84 BNP Paribas Open 3rdRound SockJ. LopezF. 1 1 0.639
85 BNP Paribas Open 4thRound CoricB. FritzT. 0 0 0.895
86 BNP Paribas Open Quarterfinals AndersonK. CoricB. 1 0 0.606
87 BNP Paribas Open 4thRound BaghdatisM. RaonicM. 1 1 0.852
88 BNP Paribas Open 4thRound MayerL. DelPotroJ.M. 1 1 0.931
89 BNP Paribas Open 4thRound QuerreyS. LopezF. 0 1 0.504
90 BNP Paribas Open Quarterfinals FedererR. ChungH. 0 0 0.606
91 BNP Paribas Open Quarterfinals KohlschreiberP. DelPotroJ.M. 1 1 0.931
92 BNP Paribas Open Quarterfinals RaonicM. QuerreyS. 0 0 0.71
93 BNP Paribas Open Semifinals FedererR. CoricB. 0 0 0.606
94 BNP Paribas Open Semifinals RaonicM. DelPotroJ.M. 1 1 0.844
95 BNP Paribas Open TheFinal FedererR. DelPotroJ.M. 1 1 0.652
XIX
9.2.8 Indian Wells – DecisionTable
Inst# Tournament Round Player1 Player2
Actual result
Predicted result Probability
1 BNP Paribas Open 1stRound SugitaY. ZeballosH. 1 1 0.544
2 BNP Paribas Open 1stRound MartererM. KarlovicI. 0 0 0.574
3 BNP Paribas Open 1stRound JohnsonS. MedvedevD. 1 0 0.606
4 BNP Paribas Open 1stRound LackoL. LajovicD. 1 0 0.539
5 BNP Paribas Open 1stRound CoricB. YoungD. 0 0 0.855
6 BNP Paribas Open 1stRound ChardyJ. BenneteauJ. 0 0 0.679
7 BNP Paribas Open 1stRound OpelkaR. FritzT. 1 1 0.6
8 BNP Paribas Open 1stRound AlbotR. TsitsipasS. 1 0 0.529
9 BNP Paribas Open 1stRound EbdenM. MonfilsG. 1 1 0.678
10 BNP Paribas Open 1stRound EscobedoE. TiafoeF. 0 1 0.84
11 BNP Paribas Open 1stRound DonskoyE. KhachanovK. 0 1 0.833
12 BNP Paribas Open 1stRound BaghdatisM. NishiokaY. 0 0 0.753
13 BNP Paribas Open 1stRound NorrieC. DanielT. 1 1 0.802
14 BNP Paribas Open 1stRound MahutN. BhambriY. 1 1 0.696
15 BNP Paribas Open 1stRound VeselyJ. KickerN. 1 0 0.646
16 BNP Paribas Open 1stRound TroickiV. FucsovicsM. 1 1 0.794
17 BNP Paribas Open 1stRound HarrisonR. DelbonisF. 1 0 0.537
18 BNP Paribas Open 1stRound PolanskyP. CopilM. 0 1 0.878
19 BNP Paribas Open 1stRound ShapovalovD. BerankisR. 0 0 0.87
20 BNP Paribas Open 1stRound VerdascoF. PellaG. 0 1 0.565
21 BNP Paribas Open 1stRound KruegerM. PaireB. 0 1 0.791
22 BNP Paribas Open 1stRound YouzhnyM. SousaJ. 1 1 0.794
23 BNP Paribas Open 1stRound DonaldsonJ. KingE. 0 0 0.663
24 BNP Paribas Open 1stRound SimonG. HerbertP.H. 1 0 0.795
25 BNP Paribas Open 1stRound KlahnB. FabbianoT. 1 1 0.713
26 BNP Paribas Open 2ndRound FritzT. RublevA. 0 1 0.64
27 BNP Paribas Open 1stRound SmyczekT. DjereL. 0 1 0.55
28 BNP Paribas Open 2ndRound DzumhurD. KickerN. 1 0 0.646
29 BNP Paribas Open 1stRound SandgrenT. BasilashviliN. 0 1 0.713
30 BNP Paribas Open 1stRound AugerAliassimeF. PospisilV. 0 1 0.6
31 BNP Paribas Open 2ndRound AndersonK. DonskoyE. 0 0 0.896
32 BNP Paribas Open 1stRound SelaD. GojowczykP. 0 1 0.698
33 BNP Paribas Open 1stRound KukushkinM. ZverevM. 1 0 0.537
34 BNP Paribas Open 2ndRound ChardyJ. FogniniF. 0 1 0.727
35 BNP Paribas Open 1stRound EstrellaBurgosV. MayerL. 1 1 0.802
36 BNP Paribas Open 2ndRound ShapovalovD. CuevasP. 1 0 0.574
37 BNP Paribas Open 2ndRound MartererM. BerdychT. 1 0 0.574
38 BNP Paribas Open 2ndRound MedvedevD. BerrettiniM. 0 0 0.731
39 BNP Paribas Open 2ndRound ThiemD. TsitsipasS. 0 0 0.969
40 BNP Paribas Open 1stRound DeMinaurA. StruffJ.L. 0 0 0.539
41 BNP Paribas Open 2ndRound IsnerJ. MonfilsG. 1 1 0.56
42 BNP Paribas Open 2ndRound BautistaR. DonaldsonJ. 0 0 0.865
43 BNP Paribas Open 2ndRound LajovicD. ChungH. 1 1 0.763
44 BNP Paribas Open 2ndRound LopezF. EscobedoE. 0 0 0.731
45 BNP Paribas Open 2ndRound BhambriY. PouilleL. 0 1 0.721
46 BNP Paribas Open 2ndRound ZeballosH. CarrenoBustaP. 1 1 0.764
47 BNP Paribas Open 2ndRound MannarinoA. PolanskyP. 0 0 0.731
48 BNP Paribas Open 2ndRound ZverevM. QuerreyS. 1 1 0.63
49 BNP Paribas Open 2ndRound BemelmansR. MayerL. 1 1 0.69
50 BNP Paribas Open 2ndRound DanielT. DjokovicN. 0 1 0.824
51 BNP Paribas Open 2ndRound EdmundK. SelaD. 1 0 0.865
52 BNP Paribas Open 2ndRound DimitrovG. VerdascoF. 1 0 0.61
53 BNP Paribas Open 2ndRound SmyczekT. KohlschreiberP. 1 1 0.789
54 BNP Paribas Open 2ndRound DelbonisF. FedererR. 1 1 0.952
55 BNP Paribas Open 2ndRound CoricB. RamosVinolasA. 0 0 0.855
56 BNP Paribas Open 2ndRound KrajinovicF. KruegerM. 0 0 0.831
57 BNP Paribas Open 2ndRound MullerG. HerbertP.H. 1 0 0.503
58 BNP Paribas Open 2ndRound FerrerD. SandgrenT. 0 0 0.663
59 BNP Paribas Open 2ndRound SockJ. FabbianoT. 0 1 0.544
XX
60 BNP Paribas Open 2ndRound SousaJ. ZverevA. 0 1 0.763
61 BNP Paribas Open 3rdRound FedererR. KrajinovicF. 0 0 0.9
62 BNP Paribas Open 2ndRound CilicM. FucsovicsM. 0 0 0.718
63 BNP Paribas Open 3rdRound MedvedevD. CarrenoBustaP. 1 1 0.678
64 BNP Paribas Open 2ndRound DeMinaurA. DelPotroJ.M. 1 1 0.971
65 BNP Paribas Open 3rdRound ChardyJ. MannarinoA. 0 0 0.679
66 BNP Paribas Open 3rdRound CoricB. BautistaR. 0 1 0.578
67 BNP Paribas Open 2ndRound SchwartzmanD. BaghdatisM. 1 0 0.633
68 BNP Paribas Open 2ndRound RaonicM. AugerAliassimeF. 0 0 0.855
69 BNP Paribas Open 3rdRound VerdascoF. FritzT. 1 0 0.763
70 BNP Paribas Open 3rdRound CuevasP. ThiemD. 0 1 0.684
71 BNP Paribas Open 3rdRound QuerreyS. BhambriY. 0 0 0.667
72 BNP Paribas Open 3rdRound SousaJ. RaonicM. 1 1 0.763
73 BNP Paribas Open 3rdRound FerrerD. DelPotroJ.M. 1 1 0.952
74 BNP Paribas Open 3rdRound DanielT. MayerL. 1 1 0.63
75 BNP Paribas Open 3rdRound KickerN. AndersonK. 1 1 0.824
76 BNP Paribas Open 3rdRound ChungH. BerdychT. 0 0 0.781
77 BNP Paribas Open 3rdRound CilicM. KohlschreiberP. 1 0 0.718
78 BNP Paribas Open 3rdRound MonfilsG. HerbertP.H. 1 0 0.85
79 BNP Paribas Open 4thRound CuevasP. ChungH. 1 1 0.684
80 BNP Paribas Open 4thRound FedererR. ChardyJ. 0 0 0.925
81 BNP Paribas Open 4thRound CarrenoBustaP. AndersonK. 1 1 0.703
82 BNP Paribas Open 3rdRound SelaD. BaghdatisM. 1 1 0.63
83 BNP Paribas Open 4thRound HerbertP.H. KohlschreiberP. 1 1 0.667
84 BNP Paribas Open 3rdRound SockJ. LopezF. 1 1 0.69
85 BNP Paribas Open 4thRound CoricB. FritzT. 0 0 0.855
86 BNP Paribas Open Quarterfinals AndersonK. CoricB. 1 0 0.703
87 BNP Paribas Open 4thRound BaghdatisM. RaonicM. 1 1 0.926
88 BNP Paribas Open 4thRound MayerL. DelPotroJ.M. 1 1 0.964
89 BNP Paribas Open 4thRound QuerreyS. LopezF. 0 0 0.571
90 BNP Paribas Open Quarterfinals FedererR. ChungH. 0 0 0.848
91 BNP Paribas Open Quarterfinals KohlschreiberP. DelPotroJ.M. 1 1 0.964
92 BNP Paribas Open Quarterfinals RaonicM. QuerreyS. 0 0 0.781
93 BNP Paribas Open Semifinals FedererR. CoricB. 0 0 0.848
94 BNP Paribas Open Semifinals RaonicM. DelPotroJ.M. 1 1 0.865
95 BNP Paribas Open TheFinal FedererR. DelPotroJ.M. 1 0 0.63
XXI
9.3 Tornooi simulatie
9.3.1 Australian Open - DecisionTable
Round 1 Round 2 Round 3 Round 4 Quarterfinal
1. NADAL, Rafael
2. ESTRELLA BURGOS, Victor
3. JARRY, Nicolas
4. MAYER, Leonardo
5. MILLMAN, John
6. CORIC, Borna
7. LORENZI, Paolo
8. DZUMHUR, Damir
9. SCHWARTZMAN, Diego
10. LAJOVIC, Dusan
11. RUUD, Casper
12. HALYS, Quentin
13. DOLGOPOLOV, Alexandr
14. HAIDER-MAURER, Andreas
15. EBDEN, Matthew
16. ISNER, John
17. CARRENO BUSTA, Pablo
18. KUBLER, Jason
19. SIMON, Gilles
20. COPIL, Marius
21. CARUSO, Salvatore
22. JAZIRI, Malek
23. DELBONIS, Federico
24. MULLER, Gilles
25. CUEVAS, Pablo
26. YOUZHNY, Mikhail
27. SELA, Dudi
28. HARRISON, Ryan
29. BROWN, Dustin
30. SOUSA, Joao
31. POSPISIL, Vasek
32. CILIC, Marin
33. DIMITROV, Grigor
34. NOVAK, Dennis
35. MCDONALD, Mackenzie
36. YMER, Elias
37. BAGHDATIS, Marcos
38. BHAMBRI, Yuki
39. FERRER, David
40. RUBLEV, Andrey
41. KYRGIOS, Nick
42. DUTRA SILVA, Rogerio
43. TROICKI, Viktor
44. BOLT, Alex
45. TSITSIPAS, Stefanos
46. SHAPOVALOV, Denis
47. KING, Kevin
48. TSONGA, Jo-Wilfried
49. ANDERSON, Kevin
50. EDMUND, Kyle
51. HERBERT, Pierre-Hugues
52. ISTOMIN, Denis
53. MELZER, Gerald
54. BASILASHVILI, Nikoloz
55. Q: BEMELMANS, Ruben
56. POUILLE, Lucas
57. KOHLSCHREIBER, Philipp
58. NISHIOKA, Yoshihito
59. SEPPI, Andreas
60. MOUTET, Corentin
61. KARLOVIC, Ivo
62. DJERE, Laslo
63. SUGITA, Yuichi
64. SOCK, Jack
63. SUGITA, Yuichi
64. SOCK, Jack
R. Nadal
JARRY
R. Nadal
R. Nadal
CORIC R. Nadal
D. Dzumhur
CoricB.
D. Schwartzman
Semifinal
R. Nadal
C. Ruud
D. Schwartzman
ISNER, John
HAIDER-MAURER
ISNER, John
ISNER, John
CARRENO BUSTA, Pablo
Final
R. Nadal
G. Simon
G. Simon
G. Simon
M. Jaziri
M. Cilic
DELBONIS, Federico
M. Jaziri
P. Cuevas
R. Harrison
P. Cuevas
M. Cilic
J. Sousa
M. Cilic
M. Cilic
G. Dimitrov
Semifinal
N. Kyrgios
M. McDonald
G. Dimitrov
G. Dimitrov
M. Baghdatis
N. Kyrgios
A. Rublev
A. Rublev
N. Kyrgios
V. Troicki
N. Kyrgios
N. Kyrgios
D. Shapovalov
KING, Kevin
D. Shapovalov
ANDERSON, Kevin
D. Istomin
ANDERSON, Kevin
ANDERSON, Kevin
N. Basilashvili
ANDERSON, Kevin
POUILLE, Lucas
POUILLE, Lucas
KOHLSCHREIBER, Philipp
A. Seppi
A. Seppi
A. Seppi
I. Karlovic
SOCK, Jack
I. Karlovic
XXII
Round 1 Round 2 Round 3 Round 4 Quarterfinals
65. THIEM, Dominic
66. PELLA, Guido
67. JOHNSON, Steve
68. KUDLA, Denis
69. SAFRANEK, Vaclav
70. VESELY, Jiri
71. BERRETTINI, Matteo
72. MANNARINO, Adrian
73. BAUTISTA AGUT, Roberto
74. VERDASCO, Fernando
75. STEBE, Cedrik-Marcel
76. MARTERER, Maximilian
77. CHARDY, Jeremy
78. SANDGREN, Tennys
79. BERANKIS, Ricardas
80. WAWRINKA, Stan
81. DJOKOVIC, Novak
82. YOUNG, Donald
83. MONFILS, Gael
84. MUNAR, Jaume
85. SMYCZEK, Tim
86. POPYRIN, Alexei
87. DONALDSON, Jared
88. RAMOS-VINOLAS, Albert
89. ZVEREV, Mischa
90. CHUNG, Hyeon
91. WC: KOKKINAKIS, Thanasi
92. MEDVEDEV, Daniil
93. KUKUSHKIN, Mikhail
94. GOJOWCZYK, Peter
95. FABBIANO, Thomas
96. ZVEREV, Alexander
97. GOFFIN, David
98. Q: BACHINGER, Matthias
99. BENNETEAU, Julien
100. DANIEL, Taro
101. DONSKOY, Evgeny
102. MAYER, Florian
103. ZEBALLOS, Horacio
104. FOGNINI, Fabio
105. BERDYCH, Tomas
106. DE MINAUR, Alex
107. GARCIA-LOPEZ, Guillermo
108. PAIRE, Benoit
109. KHACHANOV, Karen
110. LL: POLANSKY, Peter
111. TIAFOE, Frances
112. DEL POTRO, Juan Martin
113. QUERREY, Sam
114. LOPEZ, Feliciano
115. ALBOT, Radu
116. FUCSOVICS, Marton
117. KICKER, Nicolas
118. THOMPSON, Jordan
119. LACKO, Lukas
120. RAONIC, Milos
121. GASQUET, Richard
122. KAVCIC, Blaz
123. SONEGO, Lorenzo
124. HAASE, Robin
125. KWON, Soonwoo
126. STRUFF, Jan-Lennard
127. BEDENE, Aljaz (SLO) 127. BEDENE, Aljaz
128. FEDERER, Roger
THIEM, Dominic
JOHNSON, Steve
THIEM, Dominic
THIEM, Dominic
VESELY, Jiri THIEM, Dominic
MANNARINO, Adrian
VESELY, Jiri
BAUTISTA AGUT, Roberto
Semifinal
THIEM, Dominic
MARTERER, Maximilian
BAUTISTA AGUT, Roberto
BAUTISTA AGUT, Roberto
CHARDY, Jeremy
WAWRINKA, Stan
CHARDY, Jeremy
DJOKOVIC, Novak
Final
FEDERER, Roger
MONFILS, Gael
DJOKOVIC, Novak
DJOKOVIC, Novak
SMYCZEK, Tim
DJOKOVIC, Novak
DONALDSON, Jared
DONALDSON, Jared
CHUNG, Hyeon
MEDVEDEV, Daniil
CHUNG, Hyeon
ZVEREV, Alexander
GOJOWCZYK, Peter
ZVEREV, Alexander
ZVEREV, Alexander
GOFFIN, David
Semifinal
FEDERER, Roger
DANIEL, Taro
GOFFIN, David
FOGNINI, Fabio
DONSKOY, Evgeny
DEL POTRO, J.M.
FOGNINI, Fabio
FOGNINI, Fabio
DE MINAUR, Alex
PAIRE, Benoit
PAIRE, Benoit
DEL POTRO, J.M.
KHACHANOV, Karen
DEL POTRO, J.M.
DEL POTRO, J.M.
LOPEZ, Feliciano
FUCSOVICS, Marton
FUCSOVICS, Marton
RAONIC, Milos
KICKER, Nicolas
FEDERER, Roger
RAONIC, Milos
RAONIC, Milos
GASQUET, Richard
HAASE, Robin
GASQUET, Richard
FEDERER, Roger
STRUFF, Jan-Lennard
FEDERER, Roger
FEDERER, Roger