Hvem vinder EM 2016?

EM 2016 står for døren, hvilket betyder, at en stor del at juni måneds tv-flade vil blive fyldt af fodboldkampe, optaktsudsendelser til fodboldkampe, og studiedebatter efter hver kamp, hvor fodboldkommentatorer øser af deres lommefilosofiske betragtninger. Personligt er jeg ikke super interesseret i fodbold - og slet ikke, når Danmark ikke spiller med. Alligevel kan det være sjovt at regne på, hvem der vinder slutrunden, så her er mit “bud” på, hvem der bliver de nye europamestre.

I princippet er det let at simulere en slutrunde. Man starter med de relevante hold i de respektive grupper, og så simulerer man hele slutrunden et stort antal gange, og hver gang noterer man, hvem der vandt. Det komplicerede er at komme med et realistisk bud på udfaldet af hver enkel kamp, og hvis man kunne gøre det nogenlunde hæderligt kunne man sikkert tjene lidt penge på at odds’e.

Selve slutrunden er låst med hvilke hold, der møder hinanden, så den del er der ikke noget tilfældig ved. Til gengæld kan vi lave en statistisk model, der kan bruges til at generere udfaldet af hver enkelt kamp. Mange andre har set på at modellere fodboldresultater, og her vil vi hverken gå særlig originalt eller grundig til værks - det er primært for at lave et setup, så alle kan prøve forskellige modeller af og sammenligne deres resultater.

Hvem vinder en kamp?

En simpel model er at lade antallet af mål, der bliver scoret af et hold i en kamp være Poissonfordelt med en parameter, \(\lambda\), der afhænger af det pågældende holds evner. Har man et bud på det gennemsnitlige antal mål, som et hold scorer i en kamp, så svarer det til \(\lambda\), så det er måske den simpleste model at benytte. Til gengæld har man så også antaget, at antallet af mål for de to hold ikke afhænger af modstanderen, hvilket - selv for de personer, der kender meget lidt til fodbold - virker urimeligt. Når et godt hold spiller mod et dårligt hold forventer vi, at de i gennemsnit scorer flere mål, end hvis et godt hold spiller mod et tilsvarende godt hold. Resultatet af de to holds mål bør derfor afhænge af forskellen eller forholdet mellem de to holds evner. For to hold \(A\) og \(B\) kan vi for eksempel antage, at

\[ \frac{\lambda_A}{\lambda_B} \approx \frac{\alpha_A}{\alpha_B} \;\; \mbox{ og } \;\; \lambda_A + \lambda_B = \eta, \label{model:betingelser} \]

hvor \(\eta\) er det gennemsnitlige (totale) antal mål i en slutrundekamp, og hvor \(\alpha_A/\alpha_B\) i er forholdet mellem de to holds styrke. Groft sagt resulterer de to betingelser i, at man fordeler det gennemsnitlige antal mål, \(\eta\), ud på de to hold afhængig af deres indbyrdes styrkeforhold, og så tilføjer noget tilfældighed.

En anden model er at bruge holdenes indbyrdes ELO rating når man skal vurderer, hvem der vinder. Hver foldboldnation har en ELO rating, og den indbyrdes forskel mellem landene kan bruges som input i en logistisk sammenhæng mellem ratings og sandsynligheden for at vinde. Hvis hold \(A\) har rating \(R_A\) og hold \(B\) har rating \(R_B\) så er den forventede sandsynlighed for at hold \(A\) vinder givet ved

\[ E_A = \frac 1 {1 + 10^{(R_B - R_A)/400}}. \]

Når er kamp er afsluttet er ændringen i ELO rating \(k(O_A - E_A)\), hvor \(k\) er en konstant, der typisk bliver sat til et sted mellem 55 og 60 i slutrunder (her er brugt 58), og \(O_A\) er 1 eller 0 afhængig af om man har vundet eller tabt, og \(E_A\) er som sagt sandsynligheden for at vinde. Vinder man selvom sandsynligheden var meget lille, så kan man derfor tjene op til 58 point. Fordelen ved ELO systemet er, at der allerede er udarbejdet et system for at opdatere hvert enkelt holds ELO rating efter hver kamp. Det betyder, at hvis et dårligt hold slår et godt hold, så vil det have stor indflydelse på begge holds ELO rating, men hvis et meget godt hold vinder over et dårligt hold, så vil det næsten ikke ændre deres ELO ratings. Det giver større anledning til, at et hold kan klare sig godt i løbet af en slutrunde, og måske være “inde i en stime” af kampe, hvor de hver gang overrasker, men hvor det skyldes, at holdets evne forbedres undervejs som turneringen skrider frem.

Vurdering af holdene

Som sagt har jeg ikke ret meget kendskab til fodbold, så hvis vi skal komme med realistiske bud på holdenes indbyrdes styrker, så kræver det noget forhåndsviden. Nedenfor er vist odds fra Danske Spil og ELO rating for hvert land, der begge er indhentet 31. maj 2016.

Tabel 1: En høj ELO rating betyder at holdet er godt, hvilket svarer til at odds er lave (gevinsten hvis de vinder er ikke så stor). De to bud på holdenes indbyrdes styrker er derfor ret sammenfaldende. Frankrig har størst chance for at vinde (ud fra odds), mens Tyskland har størst chance for at vinde ud fra ELO.
group elo odds land
A 1591 400.00 Albania
A 1948 4.00 France
A 1725 200.00 Romania
A 1744 60.00 Switzerland
B 1941 9.00 England
B 1747 70.00 Russia
B 1748 150.00 Slovakia
B 1638 70.00 Wales
C 2009 4.25 Germany
C 1589 125.00 NIreland
C 1762 23.00 Poland
C 1805 80.00 Ukraine
D 1795 30.00 Croatia
D 1730 400.00 CzechRepublic
D 1983 6.50 Spain
D 1795 80.00 Turkey
E 1905 12.00 Belgium
E 1850 17.00 Italy
E 1752 100.00 Ireland
E 1729 80.00 Sweden
F 1704 35.00 Austria
F 1670 300.00 Hungary
F 1647 100.00 Iceland
F 1889 23.00 Portugal

Desuden har jeg boostet Frankrigs ELO rating med 5% for hjemmebanefordel så de starter med 2045.4. De 5% er - ligesom meget af det andet - grebet lidt ud af luften. I det efterfølgende har jeg brugt ELO ratingen til at sammenligne og opdatere holdenes indbyrdes styrker. Hvis man simulerer 1000 slutrunder får man nedenstående histogram over antallet af gange, som hver enkelt land har vundet.

Figur 1: Resultat af 1000 simulerede slutrunder. Søjler med ens farver angiver, at holdene startede i den samme gruppe.

Her er Frankrig den umiddelbare favorit (27% chance for at vinde) med Tyskland som det næstbedste hold med lige under 18% chance for at finde EM.

Resultatet af gruppespillet. Hver kurve viser hvilke ottendedelskampe, som hvert land kan gå videre til, og tykkelsen på de grå kurver angiver, hvor ofte det skete (ud af de 1000 simulationer). Farverne på kurverne angiver ligesom før, hvilken gruppe man startede i.

Lav dine egne prædiktioner

Analyserne er lavet i R, og jeg har samlet min R kode og lagt den frit tilgængelig for alle på GitHub. Der er ret meget spaghetti-kode over det, og der er skåret nogle hjørner hist og her, men så er der mulighed for at andre kan prøve kræfter med at finde den optimale måde at modellere resulatet af to kampe. Det kræver bare, at man tilpasser funktionen

playgame <- function(team1, team2, data,
                     musthavewinner=FALSE,
                     k=58) {   }

Hvis du laver dine egne prædiktioner vil jeg rigtig gerne høre om det, og husk:

Hvis du bruger informationerne her og vinder lidt på EM 2016, så modtager jeg gerne lidt chokolade som tak for hjælpen. Bruger du informationerne og taber penge så husk, at man ikke skal tro på alt, hvad man læser på nettet.