Przejdź do głównej treści

Prognoza zwycięzcy Mistrzostw Świata FIFA 2026: przewodnik MLOps

Zobacz, jak kompleksowy pipeline MLOps przewiduje wyniki MŚ 2026: od automatycznego ponownego trenowania i DVC po 10 000-krotną symulację Monte Carlo drabinki.
Zaktualizowano 17 cze 2026  · 15 min Czytać

Przewidywanie piłki nożnej jest trudne. To sport niskopunktowy, w którym jeden rykoszet może odwrócić wynik, a spora część każdego meczu to zwyczajny łut szczęścia. Piłka reprezentacyjna jest jeszcze trudniejsza: kadry narodowe grają w roku zaledwie kilka meczów o stawkę, więc jest znacznie mniej danych do nauki niż w ligach klubowych.

Jakby tego było mało, FIFA dodatkowo utrudniła zadanie w tym roku. Rozszerzony, 48‑zespołowy mundial wprowadza nowy format, w którym z dwunastu grup awansują po dwie najlepsze drużyny oraz osiem z dwunastu najlepszych ekip z trzecich miejsc, co czyni losy fazy grupowej bardziej nieprzewidywalnymi. Ponieważ lubię wyzwania (i piłkę), właśnie to postanowiłem przewidzieć.

To kontynuacja mojego projektu z prognozami EURO 2024, zbudowana niemal od zera. Ostatnio pracowałem wyłącznie w notatnikach Jupyter i przewidywałem jeden najbardziej prawdopodobny wynik bramkowy na mecz. Tym razem stworzyłem od końca do końca pipeline MLOps, który pobiera świeże wyniki, sam się ponownie trenuje i uruchamia symulację Monte Carlo całego turnieju 10 000 razy, zamieniając prognozy na poziomie meczu w prawdopodobieństwa przejścia każdej drużyny do kolejnych rund.

W tym artykule przeprowadzę cię przez projekt z lotu ptaka: dane i cechy, praktyki MLOps zapewniające odtwarzalność, architekturę pipeline’u i to, który model najlepiej przewiduje futbol reprezentacyjny. Pełen kod znajdziesz w repozytorium projektu. I oczywiście zdradzę, kto według modelu wygra. (Spoiler: faworyzuje Hiszpanię i Argentynę po ok. 16% każda, ale najciekawsze jest, jak do tego dochodzi).

Jeśli to wprowadziło cię w turniejowy nastrój, polecam nagrania z naszych sesji Data & AI World Cup albo weź udział w naszej rywalizacji FIFA World Cup 2026 Prediction. Zwycięzca otrzyma nie tylko oficjalną koszulkę mundialową, ale też 3‑miesięczną subskrypcję Claude Enterprise. Śledź na bieżąco live ranking.

FIFA World Cup 2026 Prediction

W skrócie

  • To kompleksowy pipeline MLOps, który przewiduje mundial 2026, pobiera świeże wyniki reprezentacji i automatycznie trenuje się na Google Cloud co dwie godziny w trakcie turnieju.
  • Dane z API-Football i rankingów Elo są przetwarzane w architekturze medalionowej Bronze–Silver–Gold i wersjonowane za pomocą DVC dla pełnej odtwarzalności.
  • Dziesięć modeli z pięciu rodzin porównano na 347‑meczowym zbiorze testowym; XGBoost wygrał minimalnie, pierwsza piątka była niemal nie do odróżnienia, a różnica Elo między drużynami wykonuje większość pracy prognostycznej.
  • Symulacja Monte Carlo rozgrywa cały turniej 10 000 razy, zamieniając przewidywane gole na poziomie meczu w szanse każdej drużyny na awans i zwycięstwo.
  • Na 10 czerwca 2026 r. faworytami modelu są Hiszpania i Argentyna, po ok. 16% każda. Na bieżąco możesz śledzić prognozy na towarzyszącym dashboardzie Streamlit, odświeżanym co dwie godziny.

Dane stojące za prognozami

Prognoza jest tak dobra, jak dane wejściowe, więc warto zacząć od surowców. Model uczy się z dwóch źródeł na żywo i łączy je w jedną, uporządkowaną tabelę cech.

Skąd pochodzą dane

Wszystko opiera się na dwóch miejscach. API-Football dostarcza terminarze i statystyki meczowe: kto z kim grał, kiedy, gdzie i jak się skończyło. eloratings.net dostarcza rankingi Elo dla każdej reprezentacji.

Ocena Elo to pojedyncza liczba oddająca siłę drużyny. Każda ekipa ma swoje miejsce na skali, a po każdym meczu rating się aktualizuje: pokonasz silniejszego – zyskujesz dużo; przegrasz ze słabszym – mocno spadasz. Pomysł pochodzi z szachów i dobrze adaptuje się do piłki. Jeśli chcesz pełnej intuicji, ten wcześniejszy tekst DataCamp omawia to na przykładzie mundialu 2022.

Razem te źródła dają zbiór Gold ok. 6900 meczów międzynarodowych od 2018 r., na których można się uczyć.

Co przewiduje model

Oto pierwszy ważny wybór projektowy. Zamiast bezpośrednio przewidywać wynik jako wygraną, remis lub porażkę, model przewiduje coś bardziej granularnego: liczbę goli każdej z drużyn w meczu. Liczby goli w piłce nożnej w przybliżeniu podlegają rozkładowi Poissona, standardowemu sposobowi modelowania tego, jak często rzadkie zdarzenie zachodzi w stałym oknie czasu.

Przewidywanie goli zamiast wyniku umożliwia wszystko, co dalej. Gdy model potrafi wygenerować wiarygodny wynik bramkowy dla dowolnego starcia, na pytania, które wszystkich naprawdę interesują – kto wyjdzie z grupy i kto podniesie puchar – można odpowiedzieć, symulując te wyniki tysiące razy.

Cechy, które mają znaczenie

Każdy mecz opisuje niewielki, starannie dobrany zestaw cech:

  • Różnica Elo: różnica ratingów między drużynami. To zdecydowanie najważniejsza pojedyncza cecha w modelu, o wadze ok. dwa rzędy wielkości większej niż kolejna. Zgadza się to z intuicją: luka siły między zespołami mówi o spodziewanym wyniku więcej niż niemal cokolwiek innego.
  • Suma Elo: suma obu ratingów, zastępująca ogólną jakość meczu. Sama różnica nie odróżni Argentyny ze Hiszpanią od San Marino z Andorą – dwóch wyrównanych spotkań na zupełnie innym poziomie – a suma tę informację przywraca.
  • Ruch Elo w serii (ostatnie 5 meczów): jak bardzo ostatnio zmienił się rating każdej drużyny. Uchwyca formę, już z uwzględnieniem siły rywali.
  • Ruch goli strzelonych i straconych (ostatnie 5 meczów): ostatnia ofensywa i defensywa w wartościach bezwzględnych, liczona dla każdej ekipy.
  • Kontekst meczu: ranga rozgrywek (mecz MŚ waży inaczej niż eliminacje czy Liga Narodów), czy to faza pucharowa i czy grany na neutralnym terenie.

Każda cecha jest ściśle bezwyciekowa, czyli korzysta wyłącznie z informacji dostępnych przed pierwszym gwizdkiem. Brzmi banalnie, ale to jeden z najłatwiejszych sposobów, by niechcący zbudować model błyszczący w testach i rozsypujący się w realu.

Pomysł, który odpadł: planowałem zestaw cech „stylu gry” zbudowanych przez klastrowanie drużyn na podstawie statystyk meczowych, czyli krok uczenia bez nadzoru. W praktyce zespoły nie podzieliły się na sensowne grupy, więc zamiast karmić model szumem, odpuściłem. Negatywne wyniki to też wyniki.

Jak utrzymać odtwarzalność danych

Przy danych napływających z dwóch źródeł w trybie ciągłym, ścieżka od plików surowych do cech gotowych pod model musi być identyczna za każdym razem. Tę gwarancję daje architektura medalionowa. Organizuje ona dane w trzy warstwy:

  • Bronze: surowe dane, dokładnie jak przyszły, nietknięte.
  • Silver: oczyszczone i ustandaryzowane. Tu mapuję nazwy drużyn między źródłami (rzadko zgadzają się w pisowni), waliduję schemat, łączę rankingi Elo z zapisami meczów i obchodzę się z brakami czy błędami.
  • Gold: warstwa modelowania, jeden schludny wiersz na mecz z wyliczonymi cechami gotowymi do trenowania.

Każda warstwa zasila następną, więc gdy coś wygląda podejrzanie, mogę śledzić problem etap po etapie zamiast rozplątywać wszystko naraz. Aby całą ścieżkę uczynić odtwarzalną, używam DVC (Data Version Control). Gdy pojawią się świeże wyniki, jedno dvc repro odbudowuje Silver i Gold z Bronze, ponownie uruchamiając krok tylko wtedy, gdy zmieniły się jego wejścia, i wersjonuje powstałe zbiory, by każde wcześniejsze stadium dało się dokładnie odtworzyć.

Wybór najlepszego modelu

Prognozowanie goli jest dobrze zbadanym problemem i nie ma jednego oczywistego narzędzia. Zamiast więc od razu wiązać się z jedną metodą, zbudowałem dziesięć i pozwoliłem im rywalizować.

Pretendenci

Dziesięć modeli obejmuje pięć rodzin plus prosty baseline. Nie musisz znać wnętrzności każdego; ważne, że przyjmują bardzo różne założenia co do powstawania goli.

Rodzina Modele Główny pomysł
Baseline Poisson o średniej częstości Zakłada, że każda drużyna strzela po prostu swoją długookresową średnią, ignorując wszystkie cechy. Poprzeczka do pobicia przez pozostałych.
Statystyczne Biwariacyjny Poisson, Ujemny dwumian Modelują bezpośrednio obie liczby goli rozkładami zbudowanymi do zliczania zdarzeń.
Bayesowskie Bayesowski Poisson (MCMC) Ten sam pomysł zliczania, ale zwraca pełen zakres niepewności wokół każdej estymaty. Znacznie bardziej wymagający obliczeniowo: ok. 100 razy wolniejszy w dopasowaniu od reszty.
Szeregowe SARIMAX Traktuje wyniki drużyny jako sekwencję w czasie i rzutuje ją w przód.
Uczenie maszynowe Ridge, Random Forest, XGBoost Uczą wzorców prosto z cech bez narzucania stałego równania.
Głębokie uczenie LSTM, 1D CNN Sieci neuronowe szukające wzorców sekwencyjnych i lokalnych w danych.

Jak je oceniano

Przy dziesięciu kandydatach wybieranie zwycięzcy „na oko” nie miało sensu. Zamiast tego każdy model przechodzi trzy etapy i to kod decyduje, czy idzie dalej. O to chodzi w wdrożeniu sterowanym kodem: modele są promowane z jednego środowiska do następnego przez automatyczne testy, a nie ręczne strojenie, więc cały wybór pozostaje odtwarzalny i łatwy do audytu.

  • Eksperyment. Każdy model trenuje wyłącznie na meczach reprezentacyjnych sprzed mundialu 2022. Nie wszystkie te mecze ważą równo: nowsze i o większej stawce dostają większą wagę (ważenie starzenia i ważności meczu), więc świeży wynik o stawkę kształtuje model bardziej niż stary sparing. Ustawienia modeli są następnie strojone, by minimalizować ujemną log‑wiarygodność Poissona (NLL) z użyciem walidacji krzyżowej. NLL to po prostu miara zgodności przewidywanych częstości goli z golami faktycznie strzelonymi – im niższa, tym lepiej. Wynikiem jest najlepiej wystrojona wersja każdego modelu.
  • Kontrola jakości. Te wystrojone modele są testowane na meczach, których nie widziały: mundial 2022 plus sześć dużych turniejów od tego czasu (EURO, dwa Puchary Narodów Afryki, Copa América, Puchar Azji i Złoty Puchar), w sumie 347 spotkań. Tu metryka zmienia się na ranked probability score (RPS), która mierzy jakość probabilistycznej prognozy przy naturalnym porządku wyników (porażka, remis, wygrana) i nagradza pewność we właściwym kierunku. Znów – im niższa, tym lepiej. Najsilniejszy model zostaje pretendentem. RPS to właściwa miara, bo prawdziwym celem jest przewidzieć, jak daleko zespoły zajdą, nie tylko sumy goli.
  • Wdrożenie. Pretendent jest porównywany z panującym mistrzem. Jeśli wygrywa, jest promowany i dopasowywany na wszystkich dostępnych meczach, by wejść w turniej z całą wiedzą z danych.

Co wygrało

Które podejście okazało się najlepsze? Oto pełna tabela wyników na zbiorze testowym, oceniona RPS (niżej = lepiej):

Model RPS holdout
XGBoost 0.18289
Bayesowski Poisson 0.18316
Ujemny dwumian 0.18373
Biwariacyjny Poisson 0.18389
Random Forest 0.18392
SARIMAX 0.18583
Ridge 0.18813
LSTM 0.19299
1D CNN 0.20916
Poisson o średniej częstości (baseline) 0.22872

Z tych wyników wynikają cztery rzeczy:

  • XGBoost wygrał, ale minimalnie. Top 5 modeli (XGBoost, Bayesowski Poisson, Ujemny dwumian, Biwariacyjny Poisson i Random Forest) zmieściło się w ok. 0,0011 RPS. Gdy pięć bardzo różnych podejść ląduje tak blisko, zwykle sufit wyznaczają dane i cechy, a nie model. Tu różnica Elo robi tak dużo, że wybór modelu ledwie rusza wskazówkę.
  • Jedna cecha dominuje. Różnica Elo była najważniejszym predyktorem z ogromną przewagą, ok. sto razy bardziej wpływowa niż kolejna. To raczej uspokaja niż dziwi: w pojedynczym meczu luka siły między drużynami to naprawdę większość historii.
  • Deep learning był najsłabszy (poza baseline’em). 1D CNN i LSTM okazały się najsłabsze poza naiwną bazą. Przy ok. 7 000 meczów do nauki to po prostu zbyt mało danych, by karmić sieci z tyloma parametrami; metody klasyczne dużo lepiej radzą sobie z małymi, ustrukturyzowanymi zbiorami.
  • Brak oznak przeuczenia w modelach klasycznych. Zwykle model wypada trochę gorzej na danych niewidzianych niż w treningu. Tutaj niemal każdy (poza LSTM) miał lepsze wyniki na odłożonych turniejach niż w walidacji krzyżowej. Najpewniej dlatego, że piłka turniejowa jest bardziej przewidywalna niż kalendarz reprezentacyjny na co dzień: wyższa stawka, silniejsze i bardziej znajome drużyny oraz neutralne boiska usuwają część losowości.

Elo difference dominates football predictionW turnieju na żywo nie uruchamiam całej dziesiątki. Zostawiam mniejszy skład: baseline o średniej jako punkt odniesienia oraz trzy najlepsze. XGBoost i Bayesowski Poisson zajmują dwa pierwsze miejsca.

Trzecie miejsce to de facto remis: Ujemny dwumian i Biwariacyjny Poisson kończą w różnicy 0,0002 RPS i zamieniają się miejscami w zależności od ziarna losowego, więc spośród statystycznie nieodróżnialnych modeli wybrałem Biwariacyjnego Poissona, którego sformułowanie ma silniejsze umocowanie w literaturze przewidywania futbolu (Karlis i Ntzoufras, 2004).

To zostawia skład: XGBoost (uczenie maszynowe), Biwariacyjny Poisson (statystyka klasyczna) i Bayesowski Poisson (wnioskowanie bayesowskie). W następnej sekcji – jak te modele działają, uczą się na nowo i zamieniają prognozy pojedynczych meczów w przewidywania całego turnieju.

Wdrożenie w produkcji

Model żyjący w notatniku jest użyteczny tylko wtedy, gdy siedzisz przed nim. By przewidywać mecze przez miesiąc trwania turnieju, wszystko musi działać samo: pobierać nowe wyniki, trenować się na nowo, symulować i odświeżać prognozę bez czyjejkolwiek ingerencji. To rola pipeline’u.

Pipeline co dwie godziny na GCP

Cały projekt działa jako jedno zadanie harmonogramowane na Google Cloud Run. Przed turniejem budzi się raz dziennie; od meczu otwarcia 11 czerwca – co dwie godziny. Każdy przebieg to ten sam cykl:

  • Sprawdź nowe dane. Jeśli od ostatniego uruchomienia nie zakończyły się żadne mecze, nie ma nic do zrobienia i zadanie kończy się wcześniej.
  • Pobierz i odbuduj. Gdy są nowe wyniki, są pobierane ze źródeł, a jedno dvc repro odbudowuje warstwy Silver i Gold, by cechy były aktualne.
  • Trenuj, przewiduj, symuluj. Modele ze składu są aktualizowane (jak – za chwilę), przewidywany jest każdy nadchodzący mecz i symulowany jest cały turniej.
  • Oceń. Gdy mecz się rozstrzygnie, prognozy dla niego są punktowane, co zasila monitoring opisany poniżej.

Ponieważ każdy krok wyzwala kod według harmonogramu, w trakcie turnieju nie ma ręcznego klikania. Nowy wynik wpada – odświeżona prognoza wypada.

Dwa tryby: zamrożony vs. na rundę

Tu projekt pełni też rolę eksperymentu. W trakcie turnieju skład działa równolegle w dwóch trybach, a różnica między nimi to pytanie, na które chcę odpowiedzieć danymi: czy ponowne trenowanie w miarę trwania turnieju poprawia trafność prognoz?

  • Zamrożony. Modele są zablokowane w chwili startu turnieju i nigdy nie są trenowane ponownie. Reagują na wyniki, bo każda symulacja startuje z uaktualnionej drabinki, ale same parametry modelu nie zmieniają się.
  • Na rundę. Hiperparametry (ustawienia wysokiego poziomu) pozostają stałe, ale parametry uczone przez model są dopasowywane na wszystkich dostępnych danych po każdej zakończonej kolejce grupowej i po każdej rundzie pucharowej, więc modele uczą się na bieżąco.

Uruchamianie obu obok siebie pozwala po wszystkim porównać je na dwóch frontach: surowej trafności i tego, jak szybko rozwiązuje się niepewność, gdy pole się zawęża. Jeśli wygrywa tryb na rundę, regularne ponowne trenowanie ma sens; jeśli zamrożony daje radę, dodatkowa maszyneria może nie być warta zachodu.

Od prognoz do turnieju: symulacja Monte Carlo

Przewidzieć jeden mecz to jedno. Zamienić to w „jakie są szanse każdej drużyny na mistrzostwo” – tu wchodzi symulacja Monte Carlo.

Najpierw inferencja. Zamiast przewidywać tylko znane już pary, model przewiduje każde możliwe zestawienie 48 drużyn. Brzmi przesadnie, ale w turnieju każda może trafić na każdą w fazie pucharowej, więc prognoza musi być gotowa dla każdej pary.

Potem trzeba zakodować zasady, a format 2026 szczególnie to komplikuje. Z 12 grup dwie pierwsze awansują automatycznie, ale także osiem najlepszych ekip z trzecich miejsc, a to, w które miejsce drabinki trafi każda z tych ośmiu, zależy od tego, z których grup pochodzą.

Jest 495 sposobów wyboru ośmiu kwalifikujących się grup z dwunastu („dwanaście po osiem”), a każdy daje inny zestaw par w 1/16 finału. Nie ma na to eleganckiego wzoru; FIFA po prostu publikuje tabelę. Więc ja (a właściwie mój bardzo sprawny kolega Cursor) zahardkodowałem wszystkie 495 kombinacji do mapowania, biorąc za źródło oficjalną tabelę.

"best_third_mappings": {
  "EFGHIJKL": {
    "74": "3F",
    "77": "3G",
    "79": "3E",
    "80": "3K",
    "81": "3I",
    "82": "3H",
    "85": "3J",
    "87": "3L"
  }, 
  "DFGHIJKL": ...

Każdy klucz, jak EFGHIJKL, wymienia, które osiem grup dostarczyło awansujące ekipy z trzecich miejsc, a wartości wstawiają każdą z tych drużyn (3E, 3F itd.) do konkretnego numeru meczu w 1/16 finału. To jeden wpis; pełne mapowanie powtarza to 495 razy, po jednym na kombinację.

Trzej gospodarze (Stany Zjednoczone, Kanada i Meksyk) dostają dodatkowe traktowanie. Gdy gospodarz gra mecz w swoim kraju, symulacja stosuje korektę atutu własnego boiska w tym spotkaniu, podczas gdy reszta turnieju jest traktowana jako teren neutralny.

Mając prognozy i zasady, symulacja rozgrywa cały turniej 10 000 razy. W każdym przebiegu postępuje tak:

  1. Losuje wynik każdego meczu, próbkując gole gospodarzy i gości z przewidywanych przez model rozkładów
  2. Rozgrywa fazę grupową według rzeczywistych zasad punktowych i tiebreaków
  3. Rozstrzyga tabelę najlepszych trzecich
  4. Uzupełnia drabinkę pucharową z użyciem powyższych mapowań
  5. Gra aż do jednego mistrza.

W 10 000 symulowanych turniejach udział przebiegów, w których drużyna dociera do finału lub podnosi puchar, staje się jej prawdopodobieństwem. Jeden przebieg to zgadywanka; dziesięć tysięcy – prognoza.

Śledzenie wszystkiego w MLflow

Każdy opisany dotąd przebieg, w obu trybach, jest logowany do MLflow (hostowanego na DagsHub). Śledzenie eksperymentów oznacza systematyczne zapisywanie wejść, ustawień, wyników i wyjść każdego przebiegu, by dowolny z nich dało się porównać z innymi lub dokładnie odtworzyć. Warto wymienić kilka rzeczy, które rejestruje:

  • Odtwarzalność. Symulacja używa stałego ziarna losowego wyprowadzonego z rundy turnieju i to samo ziarno dzielą tryby zamrożony i na rundę. To znaczy, że różnice między nimi pochodzą z samych modeli, nie z losu w symulacji. Każdy przebieg loguje też dokładny migawkowy stan danych (liczbę wierszy Gold i znacznik czasu), więc wyniki zawsze można powiązać z wejściami.
  • Eksperyment. Każdy przebieg ma tag trybu (zamrożony lub na rundę) i etapu cyklu życia – od eksperymentalnego i QA po produkcyjne wnioskowanie i refit – odzwierciedlając ścieżkę promocji z poprzedniej sekcji.
  • Porównanie. RPS holdout jest logowany jako metryka selekcji, wraz z odwołaniem do bieżącego przebiegu‑mistrza dla zachowania linii rodowej. Rejestrowany jest też czas dopasowania, co czarno na białym pokazuje ok. 100‑krotnie wolniejsze trenowanie modelu bayesowskiego.

Wytrenowane modele i same pliki z prognozami (prawdopodobieństwa turniejowe, tabele grup i przewidywania meczów) są zapisywane jako artefakty przebiegów i to dokładnie te pliki czyta live dashboard. Domyka to pętlę: od surowych wyników, przez trenowanie i symulację, po liczby widoczne online.

Monitoring dryfu

Ostatni element działa po zakończeniu meczów. Gdy spływają realne wyniki, prognozy dla nich są punktowane i porównywane z prostym baseline’em o średniej częstości. Jeśli pełne modele zaczynają przegrywać z modelem, który nic nie wie o drużynach, to sygnał dryfu: wzorce wyuczone przed turniejem mogą nie pasować do tego, co dzieje się na boisku.

Takie monitorowanie to standard w systemach z prognozami na żywo, a więcej o wykrywaniu przeczytasz w tym przewodniku po dryfie danych i modeli.

No więc, kto wygra mundial?

Po całej tej maszynerii – o to w niej chodzi.

Faworyci

Na 10 czerwca 2026, dzień przed meczem otwarcia, werdykt modelu jest jasny na samym szczycie i ciasny tuż za nim. Hiszpania i Argentyna prowadzą w stawce, każda z ok. 16% szans na tytuł. To, że aktualni mistrzowie świata (Argentyna) i aktualni mistrzowie Europy (Hiszpania) są na czele, to kojący sanity check, że model stoi twardo na ziemi.

Za nimi jest równy pościg: Francja, Anglia, Brazylia i Kolumbia domykają grono najbardziej prawdopodobnych zwycięzców. To liczby na żywo i ruszą się, gdy tylko spłyną realne wyniki, więc traktuj je jako migawkę z 10 czerwca, nie wyrocznię. Dashboard zawsze pokazuje aktualne dane, z maksymalnym opóźnieniem dwóch godzin.

Live dashboard

A skoro o tym mowa: każda liczba w tym artykule pochodzi z live aplikacji Streamlit, która aktualizuje się automatycznie wraz z pipeline’em. Otworzysz ją pod wc2026-predictions.streamlit.app i możesz śledzić turniej. Ma cztery główne widoki:

  • Przegląd turnieju: jak daleko każda drużyna ma dojść – na pierwszy rzut oka.
  • Tabele grupowe: dla każdej grupy, prawdopodobieństwo zajęcia pierwszego, drugiego, trzeciego (z podziałem na „trzecie i awans” vs. „trzecie i odpadnięcie”, dzięki zasadzie najlepszych trzecich) lub czwartego miejsca.
  • Prognozy meczów: dla każdego meczu grupowego – szanse gospodarzy, remisu i gości oraz najbardziej prawdopodobna drabinka pucharowa.
  • Najczęstsze pary w pucharach: zestawienia, które symulacja produkuje najczęściej.

Jedna rzecz warta uwagi w widoku meczów: kilka drużyn pojawia się naraz w dwóch możliwych slotach 1/16 finału. To nie błąd. Dzieje się tak, gdy grupa jest tak wyrównana, że model nie potrafi pewnie wskazać pozycji kwalifikacyjnej zespołu. W połączeniu z niepewnością najlepszych trzecich te dwa scenariusze prowadzą do różnych miejsc w drabince. W przypadku Turcji skończyło się to nawet podwójną obecnością w 1/8 finału.

Poniższa grafika pokazuje ostatnie rundy (ćwierćfinały aż do finału), które model XGBoost prognozuje przed startem turnieju:

ChatGPT Image Jun 11, 2026, 04_37_40 PM.png

Drużyna rzutów monetą: Stany Zjednoczone

Frajda z takiego modelu tkwi w ekipach, które przeczą „testowi oka”, a najczystszy przykład to Stany Zjednoczone. Jeśli wejdziesz do przeglądu turnieju na dashboardzie, od razu zauważysz, że USA wyróżniają się kolorem.

Jako współgospodarze, grając u siebie, możesz oczekiwać komfortowego startu, ale model jest znacznie ostrożniejszy: daje im tylko ok. 54,6% szans na wyjście z grupy – 13. najniższy wynik w całym polu (pamiętaj, że awansuje dwie trzecie drużyn!) – bo ich grupa z Australią, Paragwajem i Turcją jest wyjątkowo równa.

Ciekawe jest to, co później. Po wydostaniu się z grupy USA balansują mniej więcej na rzucie monetą w każdej kolejnej rundzie. Zsumuj te monety i wychodzi ok. 2% szans na wygranie całego turnieju, co jest 13. najwyższym wynikiem z 48.

Ekipa, która jest 13. od dołu pod względem wyjścia z grupy i 13. od góry pod względem tytułu, to niemal idealna definicja „drużyny rzutów monetą”: nigdy faworyt, nigdy bez szans.

Na koniec

Ten projekt wymagał sporo pracy i obejmuje więcej, niż zmieści jeden artykuł. W repo znajdziesz rzeczy, które tu się nie zmieściły: pełen zestaw modeli kandydujących, inżynierię cech i orkiestrację, która to wszystko spina.

Na teraz model wytypował swoich faworytów, a sędzią będzie turniej. Niezależnie, czy przyszedłeś po MLOps, czy po piłkę, mam nadzieję, że będziesz czerpać z tego tyle frajdy co ja. Możesz śledzić prognozy na żywo wraz z napływem meczów i zobaczyć, jak trzymają się przewidywania.

Jeśli chcesz przyjrzeć się bliżej niektórym wspomnianym koncepcjom, polecam nasz kurs MLOps Concepts.

FIFA World Cup 2026 Winner Prediction FAQs

Kto wygra Mistrzostwa Świata FIFA 2026?

Na 10 czerwca 2026 r., tuż przed startem turnieju, model wskazuje Hiszpanię i Argentynę jako współfaworytów, każdą z ok. 16% szans na triumf, a za nimi Francję, Anglię, Brazylię i Kolumbię. Brak jednego zdecydowanego faworyta odzwierciedla otwartość turnieju. To liczby na żywo, które zmieniają się wraz z wynikami, więc dashboard zawsze pokazuje aktualne wartości.

Na ile dokładny może być model ML w przewidywaniu piłki nożnej?

Piłkę reprezentacyjną trudno prognozować: jest niskopunktowa, a drużyny grają mało meczów o stawkę, więc nawet silny model zostawia dużo miejsca na przypadek. W tym projekcie pięć najlepszych modeli zmieściło się w ok. 0,001 RPS, co sugeruje, że sufit dokładności wyznaczają głównie dostępne dane i cechy, a nie sam algorytm. Największym pojedynczym czynnikiem była różnica rankingów Elo między drużynami.

Dlaczego przewidywać liczbę goli zamiast wyniku meczu?

Przewidywanie liczby goli dla każdej drużyny, zamiast prostego wyniku (wygrana, remis, porażka), daje pełny rozkład prawdopodobieństwa wyników bramkowych. To umożliwia symulację całego turnieju: gdy możesz losować wiarygodne wyniki, możesz rozgrywać fazę grupową i drabinkę pucharową tysiące razy i odczytywać szanse na awans czy zwycięstwo.

Liczniki goli dość dobrze podążają za rozkładem Poissona, co sprzyja takiemu modelowaniu.

Czym jest symulacja Monte Carlo i dlaczego uruchamiać ją 10 000 razy?

Symulacja Monte Carlo wielokrotnie odtwarza losowy proces, by oszacować prawdopodobieństwa trudne do policzenia wprost. Tutaj każdy przebieg losuje wynik dla każdego meczu z przewidywań modelu i rozgrywa turniej do zwycięzcy; zrobienie tego 10 000 razy zamienia prognozy meczowe w stabilne odsetki typu „Hiszpania wygrywa ok. 16% razy”. Jedna symulacja to tylko jeden możliwy przebieg, ale dziesięć tysięcy przybliża realne spektrum możliwości.

Jakich narzędzi potrzebujesz, by zbudować taki pipeline MLOps?

Kluczowe elementy to wersjonowanie danych (w tym projekcie DVC), śledzenie eksperymentów (MLflow), możliwość uruchamiania zadań według harmonogramu (Google Cloud Run z Cloud Scheduler) i sposób serwowania wyników (dashboard Streamlit).

Same modele korzystają z mieszanki bibliotek Pythona: scikit-learn (Ridge i random forest), XGBoost (zwycięzca), statsmodels i SciPy (regresje Poissona, biwariacyjnego Poissona i ujemnego dwumianu plus SARIMAX), PyMC (model bayesowski) i Keras (LSTM i CNN), a pandas i NumPy obsługują dane.

Żadna z nich nie jest bezwzględnie konieczna do jednorazowego modelu, ale razem sprawiają, że pipeline jest odtwarzalny i potrafi sam się ponownie uczyć i odświeżać bez ręcznej pracy

Tematy

Najlepsze kursy uczenia maszynowego

course

Wprowadzenie do uczenia maszynowego

2 godz.
293.4K
Wprowadzenie do uczenia maszynowego bez kodowania.
Zobacz szczegółyRight Arrow
Rozpocznij kurs
Zobacz więcejRight Arrow