EK voorspellen

In alle even jaren weet vrijwel iedereen het zeker: Nederland wordt kampioen, of ligt er juist al na de poulefase uit. Niet alleen over het Nederlands elftal zijn er dan ineens genoeg kenners te vinden, over het hele verloop van de Europese of mondiale eindronde hebben de meeste mensen wel iets te zeggen. Direct na afloop wordt er dan ook gelijk gekeken wat voor invloed de uitslag van de wedstrijd heeft gehad. Niet op de kansen van Oranje in de rest van het toernooi, maar op de stand van de EK- of WK-pool.

Het grootste deel van de deelnemers vult zo’n pool in met fingerspitzengefühl. Er wordt afgegaan op de reputatie van landen, al zullen de fanatiekelingen ook de recente resultaten in de kwalificatiewedstrijden erbij pakken. Deze voorspellingen zijn natuurlijk niet echt met data onderbouwd, vandaar dat wij het op een andere manier aanpakken.

Data

De Big Data Challenge leverde ons de uitslagen van 4.300 internationale wedstrijden die gespeeld zijn sinds 2002. Hierin is de datum, uitslag en locatie van de wedstrijd vermeldt, samen met het wedstrijdtype (bijvoorbeeld vriendschappelijk, WK of kwalificatie). Deze data hebben wij verrijkt met de De FIFA ranking, waarbij we hebben gezorgd dat er wordt gekeken naar de ranking op de datum van de wedstrijd. Ook gebruiken we de informatie van de laatste drie wedstrijden van de twee teams. Hierbij hebben we het over alle wedstrijden, niet over onderlinge wedstrijden aangezien daar bij veel wedstrijden te weinig data voor beschikbaar is. Hier gebruiken we het aantal doelpunten voor/tegen en het resultaat (winst/gelijk/verlies).

Vervolgens hebben we de verrijkte data gebruikt om de resultaten van dit EK te voorspellen. Dit gebeurt doormiddel van een neuraal netwerk.

Neuraal netwerk

Een neuraal netwerk is een soort model dat gebaseerd is op de werking van de hersenen. Hieronder volgt een korte uitleg aan de hand van deze schematische weergave:



Het netwerk bestaat uit een aantal lagen van (kunstmatige) neuronen, weergegeven als bolletjes. In het groen staat de input laag, waarin elk bolletje een variabele uit de verrijkte data voorstelt. In het blauw hebben we twee verborgen lagen. Elke neuron gebruikt een formule om de getallen uit de vorige laag om te zetten in één nieuw getal. Als we meer verborgen lagen (of aantal neuronen per laag) gebruiken, kan het model lastigere verbanden uit de data halen. De rode laag is de output laag, welke de data uit de laatste verborgen laag gebruikt om de voorspellingen te maken.

Voorspellingen groepsfase

De vraag is natuurlijk of het mogelijk is om op basis van de historische data de resultaten goed te voorspellen. Voordat het EK begon hebben we de uitslagen van de groepswedstrijden proberen te voorspellen. In onderstaande tabel staat hoe vaak onze voorspellingen goed waren.

Uitslag
Thuiswinst Gelijkspel Uitwinst
Thuiswinst 9 4 6
Voorspelling Gelijkspel 0 0 0
Uitwinst 3 7 7

In totaal voorspelden we 16 van de 36 wedstrijden, ongeveer 44% van de wedstrijden. Dit is iets hoger dan wanneer we de uitslagen gegokt zouden hebben (ongeveer 35%). Echter hadden we het model ook getest op wedstrijden van de afgelopen vier jaar (gebaseerd op de data van alleen de tien jaar daarvoor), waarbij het model ongeveer 58% van de uitslagen goed had. Hieruit kunnen we afleiden dat de wedstrijden in de groepsfase van dit EK lastig te voorspellen waren.

Wat verder opvalt in de tabel is dat we nooit een gelijkspel voorspellen. Dit komt omdat het model het lastig vind om een gelijkspel correct te voorspellen en dit dus daarom ook niet probeert. Het feit dat maar ongeveer 23% van de wedstrijden in een gelijkspel eindigt speelt hier ook in mee.

Voorspellingen 8e finales

Nieuwe ronde, nieuwe voorspellingen:

Datum Thuisteam Uitteam Kans winst thuisteam Kans gelijkspel Kans winst uitteam
25/06/2016 Zwitserland Polen 54% 25% 21%
25/06/2016 Wales Noord Ierland 42% 31% 27%
25/06/2016 Kroatië Portugal 28% 31% 40%
26/06/2016 Frankrijk Ierland 54% 27% 19%
26/06/2016 Duitsland Slowakije 66% 20% 14%
26/06/2016 Hongarije België 19% 17% 64%
27/06/2016 Italië Spanje 16% 27% 56%
27/06/2016 Engeland IJsland 58% 20% 22%

In bovenstaande tabel staan de kansen op winst/gelijkspel/verlies per wedstrijd. We voorspellen uiteraard de uitslag met de hoogste kans. Voor veel wedstrijden is er een duidelijke favoriet, maar andere wedstrijden lijken nog onbeslist.

Update:
De achtste finales zijn gespeeld en weer zijn er een aantal verrassende uitslagen. IJsland en Italië wisten zich knap naar de volgende ronde te spelen, Zwitserland deed het ook een stuk slechter dan voorspeld, maar de overige wedstrijden voldeden aan de verwachtingen. Met deze data hebben we het model weer geüpdatet en de kwartfinales voorspeld:

Datum Thuisteam Uitteam Kans winst thuisteam Kans gelijkspel Kans winst uitteam
30/06/2016 Polen Portugal 31% 26% 42%
01/07/2016 Wales België 12% 18% 70%
02/07/2016 Duitsland Italië 29% 35% 36%
03/07/2016 Frankrijk IJsland 52% 22% 26%

Update 2:
Na een aantal spannende kwartfinales hebben we ook de voorspellingen voor de halve finales gemaakt:

Datum Thuisteam Uitteam Kans winst thuisteam Kans gelijkspel Kans winst uitteam
06/07/2016 Portugal Wales 37% 25% 38%
07/07/2016 Duitsland Frankrijk 53% 20% 27%

Update 3:
En als laatst nog de voorspelling van de finale:

Datum Thuisteam Uitteam Kans winst thuisteam Kans gelijkspel Kans winst uitteam
10/07/2016 Portugal Frankrijk 28% 30% 42%

Wil je zien hoe wij de data hebben samengevoegd en uiteindelijk gebruikt hebben om voorspellingen te creëren? Klik dan hier voor de bronbestanden en R-code.

Nieuwsgierig naar hoe neurale netwerken werken? Klik dan hier voor een artikel die de werking van het model uitlegt.

Joeri Admiraal

Auteur: Joeri

Functie: Data Analist

Terug