Simulating the 2018 World Cup
4 years ago I, like every other model, picked Brazil to win the World Cup on their home turf. It was my first attempt at a large scale simulator and took me over 1,500 lines of code, written in Java. But 4 years is a long time, I've switched to Python, and I can't even find what I wrote from back then.
So I've adapted my simulator, again, this time written in less than 300 lines, and using my own "ensemble model" like I've generated for college basketball.
I'm taking a composite of of 4 different rating systems, like Ed Feng does:
Group | Country | MDS Rating | Avg Points | 1st in Group | 2nd in Group | Advance | Quarters | Semis | Final | Champion |
A | Egypt | 0.89 | 3.21 | 10.45% | 19.39% | 29.84% | 9.11% | 3.01% | 0.84% | 0.22% |
A | Russia | 1.15 | 5.32 | 39.02% | 33.68% | 72.70% | 33.78% | 15.95% | 6.46% | 2.48% |
A | Saudi Arabia | 0.59 | 3.41 | 10.10% | 18.86% | 28.96% | 6.93% | 2.04% | 0.40% | 0.08% |
A | Uruguay | 1.58 | 4.85 | 40.43% | 28.07% | 68.50% | 30.82% | 14.42% | 5.67% | 2.17% |
B | Iran | 0.97 | 2.92 | 6.44% | 15.22% | 21.66% | 9.10% | 2.87% | 0.81% | 0.18% |
B | Morocco | 1.13 | 3.21 | 9.16% | 19.22% | 28.38% | 12.74% | 4.48% | 1.30% | 0.40% |
B | Spain | 2.25 | 5.88 | 58.18% | 24.70% | 82.88% | 57.53% | 34.64% | 18.61% | 9.92% |
B | Portugal | 1.80 | 4.83 | 26.22% | 40.86% | 67.08% | 39.99% | 19.94% | 8.68% | 3.84% |
C | Australia | 0.89 | 2.77 | 5.37% | 15.07% | 20.44% | 6.80% | 2.23% | 0.60% | 0.18% |
C | France | 2.29 | 6.19 | 64.33% | 21.85% | 86.18% | 57.01% | 36.23% | 18.94% | 9.68% |
C | Peru | 1.36 | 3.97 | 16.28% | 35.92% | 52.20% | 22.70% | 9.53% | 3.33% | 0.97% |
C | Denmark | 1.35 | 3.91 | 14.02% | 27.16% | 41.18% | 17.75% | 7.53% | 2.85% | 0.86% |
D | Iceland | 1.12 | 3.50 | 11.93% | 22.34% | 34.27% | 12.32% | 4.84% | 1.60% | 0.56% |
D | Nigeria | 0.96 | 3.11 | 7.73% | 17.37% | 25.10% | 8.36% | 3.05% | 0.90% | 0.28% |
D | Croatia | 1.46 | 4.32 | 20.92% | 37.11% | 58.03% | 25.61% | 10.84% | 4.10% | 1.57% |
D | Argentina | 2.09 | 5.87 | 59.42% | 23.18% | 82.60% | 49.45% | 28.40% | 14.03% | 7.23% |
E | Brazil | 2.77 | 6.91 | 76.62% | 16.55% | 93.17% | 67.04% | 49.01% | 33.98% | 22.75% |
E | Costa Rica | 1.01 | 2.86 | 4.47% | 17.67% | 22.14% | 6.86% | 2.71% | 0.88% | 0.22% |
E | Serbia | 1.23 | 3.35 | 7.35% | 25.77% | 33.12% | 10.90% | 4.58% | 1.58% | 0.52% |
E | Switzerland | 1.42 | 3.80 | 11.56% | 40.01% | 51.57% | 18.05% | 8.04% | 3.22% | 1.18% |
F | Germany | 2.59 | 6.72 | 73.37% | 17.57% | 90.94% | 62.00% | 44.14% | 29.77% | 17.82% |
F | South Korea | 0.80 | 2.54 | 3.92% | 13.76% | 17.68% | 4.34% | 1.42% | 0.41% | 0.08% |
F | Sweden | 1.29 | 3.64 | 9.59% | 26.67% | 36.26% | 11.83% | 5.30% | 2.14% | 0.64% |
F | Mexico | 1.42 | 4.01 | 13.12% | 42.00% | 55.12% | 18.98% | 9.14% | 3.79% | 1.27% |
G | Belgium | 1.97 | 5.77 | 55.04% | 27.21% | 82.25% | 51.91% | 23.26% | 12.62% | 5.88% |
G | Panama | 0.70 | 2.76 | 5.27% | 13.42% | 18.69% | 6.73% | 1.48% | 0.46% | 0.11% |
G | Tunisia | 0.84 | 3.10 | 7.67% | 18.77% | 26.44% | 10.05% | 2.59% | 0.82% | 0.18% |
G | England | 1.74 | 5.22 | 32.02% | 40.60% | 72.62% | 42.41% | 17.23% | 8.50% | 3.69% |
H | Colombia | 1.67 | 5.18 | 48.08% | 25.98% | 74.06% | 37.85% | 14.60% | 6.55% | 2.81% |
H | Senegal | 1.02 | 3.52 | 11.37% | 19.24% | 30.61% | 11.11% | 3.20% | 0.93% | 0.36% |
H | Japan | 1.02 | 3.55 | 13.88% | 21.65% | 35.53% | 12.71% | 3.47% | 1.06% | 0.36% |
H | Poland | 1.43 | 4.53 | 26.67% | 33.13% | 59.80% | 27.23% | 9.83% | 4.17% | 1.51% |
good stuff
ReplyDelete