course
फुटबॉल की भविष्यवाणी करना मुश्किल है। यह कम स्कोर वाला खेल है जहां एक डिफ्लेक्टेड शॉट नतीजा पलट सकता है, और हर मैच का एक बड़ा हिस्सा किस्मत पर निर्भर होता है। अंतरराष्ट्रीय फुटबॉल और भी कठिन है: राष्ट्रीय टीमें साल में कुछ ही प्रतिस्पर्धी मैच खेलती हैं, इसलिए क्लब लीगों की तुलना में सीखने के लिए डेटा बहुत कम होता है।
और मानो यह काफी न था, इस साल के विश्व कप के लिए FIFA ने काम को और कठिन बना दिया है। 48 टीमों तक फैले विश्व कप में नया फॉर्मेट है जिसमें बारह समूहों में से हर एक के शीर्ष दो आगे बढ़ते हैं, साथ ही सर्वश्रेष्ठ तीसरे स्थान पर रहने वाली बारह टीमों में से आठ भी, जिससे ग्रुप स्टेज के भाग्य अनिश्चित हो जाते हैं। चूंकि मुझे चुनौती (और फुटबॉल) पसंद है, मैंने ठीक उसी की भविष्यवाणी करने का निश्चय किया।
यह मेरे EURO 2024 भविष्यवाणी प्रोजेक्ट का फॉलो-अप है, जिसे लगभग शुरू से फिर बनाया गया है। पिछली बार मैंने पूरी तरह Jupyter नोटबुक्स में काम किया था और प्रत्येक मैच के लिए एक सबसे संभावित स्कोरलाइन की भविष्यवाणी की थी। इस बार, मैंने एक एंड-टू-एंड MLOps पाइपलाइन बनाई जो ताज़ा नतीजे इन्गेस्ट करती है, खुद को रीट्रेन करती है, और पूरे टूर्नामेंट की 10,000 बार मोंटे कार्लो सिमुलेशन चलाती है, जिससे मैच-स्तरीय भविष्यवाणियों को इस बात की संभावनाओं में बदला जा सके कि हर टीम कितनी दूर तक जाती है।
इस लेख में, मैं आपको प्रोजेक्ट का उच्च-स्तरीय वॉकथ्रू दूंगा: डेटा और फीचर्स, वे MLOps प्रैक्टिसेज जो इसे पुनरुत्पादक रखती हैं, पाइपलाइन आर्किटेक्चर, और कौन-सा मॉडल राष्ट्रीय टीमों के फुटबॉल की सबसे अच्छी भविष्यवाणी करता है। आप पूरा कोड प्रोजेक्ट रिपो में पा सकते हैं। और निश्चित रूप से, मैं आपको बताऊंगा कि मॉडल किसे विजेता मानता है। (स्पॉयलर: इसे स्पेन और अर्जेंटीना लगभग 16% पर पसंद हैं, लेकिन दिलचस्प हिस्सा है कि यह वहां तक कैसे पहुंचता है।)
अगर इससे आपको टूर्नामेंट का मूड बन गया है, तो मैं हमारे Data & AI World Cup सत्रों की रिकॉर्डिंग देखने या हमारी FIFA World Cup 2026 Prediction प्रतियोगिता में भाग लेने की सलाह देता हूं। विजेता को न सिर्फ आधिकारिक विश्व कप जर्सी मिलती है, बल्कि Claude Enterprise की 3-महीने की सदस्यता भी। लाइव लीडरबोर्ड के साथ अपडेट रहें।
FIFA World Cup 2026 Prediction
संक्षेप में
- यह 2026 FIFA विश्व कप की भविष्यवाणी करने वाली एक एंड-टू-एंड MLOps पाइपलाइन है, जो ताज़ा अंतरराष्ट्रीय नतीजे खींचती है और टूर्नामेंट के दौरान हर दो घंटे में Google Cloud पर अपने-आप रीट्रेन होती है।
- API-Football और Elo रेटिंग्स का डेटा Bronze-Silver-Gold मेडलियन आर्किटेक्चर से प्रोसेस होता है और पूरी पुनरुत्पादनक्षमता के लिए DVC से वर्ज़न किया जाता है।
- पांच परिवारों के दस मॉडलों की 347-मैच होल्डआउट पर तुलना की गई; XGBoost मामूली अंतर से जीता, शीर्ष पांच लगभग अलग न किए जा सकने जितने करीब थे, और टीमों के बीच Elo अंतर अधिकांश भविष्यसूचक काम करता है।
- एक मोंटे कार्लो सिमुलेशन पूरा टूर्नामेंट 10,000 बार खेलता है, जिससे मैच-स्तरीय गोल भविष्यवाणियां हर टीम के आगे बढ़ने और खिताब जीतने की संभावनाओं में बदलती हैं।
- 10 जून, 2026 तक, मॉडल के फ़ेवरेट स्पेन और अर्जेंटीना हैं, लगभग 16% प्रत्येक। लाइव भविष्यवाणियों को साथ चलने वाले Streamlit डैशबोर्ड पर फॉलो किया जा सकता है जो हर दो घंटे में रिफ्रेश होता है।
भविष्यवाणियों के पीछे का डेटा
कोई भी भविष्यवाणी उतनी ही अच्छी होती है जितना अच्छा डेटा उसमें जाता है, इसलिए कच्चे मटीरियल से शुरू करना उचित है। मॉडल दो लाइव डेटा स्रोतों से सीखता है और उन्हें एक एकल, व्यवस्थित फीचर टेबल में बदल देता है।
डेटा कहां से आता है
सब कुछ दो जगहों से बनता है। API-Football फिक्स्चर और प्रति-मैच आंकड़े देता है: किसने किससे कब, कहां खेला, और परिणाम क्या रहा। eloratings.net हर राष्ट्रीय टीम की Elo रेटिंग देता है।
Elo रेटिंग एक एकल संख्या है जो बताती है कि कोई टीम कितनी मजबूत है। हर टीम इस पैमाने पर कहीं न कहीं बैठती है, और हर मैच के बाद रेटिंग अपडेट होती है: किसी मजबूत टीम को हराएं, तो बहुत अंक मिलते हैं; किसी कमजोर से हारें, तो तेज़ी से गिरते हैं। यह विचार शतरंज से आया है और फुटबॉल पर अच्छी तरह लागू होता है। अगर आप पूरी समझ चाहते हैं, तो DataCamp का यह पुराना लेख 2022 विश्व कप के संदर्भ में इसे समझाता है।
साथ मिलकर, ये दो स्रोत 2018 से अब तक के लगभग 6,900 अंतरराष्ट्रीय मैचों का एक Gold डेटासेट देते हैं, जिससे मॉडल सीखता है।
मॉडल क्या भविष्यवाणी करता है
यह पहली महत्वपूर्ण डिज़ाइन पसंद है। परिणाम को सीधे जीत, ड्रा, या हार के रूप में भविष्यवाणी करने के बजाय, मॉडल कुछ अधिक सूक्ष्म चीज़ भविष्यवाणी करता है: एक मैच में प्रत्येक टीम द्वारा किए गए गोलों की संख्या। फुटबॉल में गोल काउंट्स मोटे तौर पर पॉइसन वितरण का पालन करते हैं—एक मानक तरीका जिससे किसी तय समय-खिड़की में दुर्लभ घटना कितनी बार होती है, इसे मॉडल किया जाता है।
नतीजों के बजाय गोलों की भविष्यवाणी करना ही आगे की सारी चीज़ें संभव बनाता है। एक बार जब मॉडल किसी भी मुकाबले के लिए एक संभावित स्कोरलाइन दे सकता है, तब वही प्रश्न जिनमें सबकी दिलचस्पी है—कौन ग्रुप से निकलेगा और कौन ट्रॉफी उठाएगा—उन स्कोरलाइनों को हज़ारों बार सिमुलेट करके जवाब दिए जा सकते हैं।
जो फीचर्स मायने रखते हैं
हर मैच को एक छोटे, सावधानी से चुने गए फीचर सेट से वर्णित किया जाता है:
- Elo अंतर: दोनों टीमों की रेटिंग के बीच का फासला। यह मॉडल में अब तक का सबसे महत्वपूर्ण एकल फीचर है, जिसकी अहमियत अगले सबसे मजबूत फीचर से लगभग दो क्रमिक मानक अधिक है। यह सहज समझ के अनुरूप है, क्योंकि दोनों पक्षों के बीच की ताकत का अंतर संभावित नतीजे के बारे में लगभग हर चीज़ से ज़्यादा बताता है।
- Elo योग: दोनों रेटिंग्स का जोड़, जो फिक्स्चर की समग्र गुणवत्ता का संकेतक है। सिर्फ अंतर से अर्जेंटीना बनाम स्पेन और सैन मारिनो बनाम एंडोरा में फर्क पता नहीं चलता—दोनों बराबरी के मैच हैं पर पूरी तरह अलग स्तर पर—और योग वह जानकारी वापस लाता है।
- रोलिंग Elo बदलाव (पिछले 5 मैच): हाल में प्रत्येक टीम की रेटिंग कितनी बदली है। यह फॉर्म को कैप्चर करता है, और पहले से सामना किए गए प्रतिद्वंद्वियों की ताकत का हिसाब रखता है।
- रोलिंग गोल्स फॉर और अगेंस्ट (पिछले 5 मैच): हालिया आक्रामक और रक्षात्मक आउटपुट, प्रत्येक टीम के लिए गणना किया गया।
- मैच संदर्भ: प्रतियोगिता का स्तर (विश्व कप का मैच क्वालिफायर या नेशंस लीग फिक्स्चर से अलग वेट रखता है), क्या मैच नॉकआउट है, और क्या यह न्यूट्रल वेन्यू पर खेला जा रहा है।
हर फीचर सख्ती से लीक-सेफ है, यानी प्रत्येक फीचर केवल वही जानकारी उपयोग करता है जो किकऑफ से पहले उपलब्ध थी। यह सुनने में सामान्य लगता है, पर यही वह आसान तरीका है जिससे अनजाने में ऐसा मॉडल बन सकता है जो टेस्टिंग में शानदार दिखे और वास्तविक दुनिया में बिखर जाए।
एक विचार जो शामिल नहीं हुआ: मैंने इन-गेम सांख्यिकी से टीमों को क्लस्टर करके "प्लेइंग स्टाइल" फीचर्स का सेट बनाने की योजना बनाई थी—एक अनसुपरवाइज़्ड लर्निंग स्टेप। व्यवहार में, टीमें अर्थपूर्ण समूहों में अलग नहीं हो पाईं, तो मॉडल में शोर डालने के बजाय मैंने इसे हटा दिया। नकारात्मक नतीजे भी नतीजे ही होते हैं।
डेटा को पुनरुत्पादक बनाए रखना
दो स्रोतों से लगातार डेटा आते रहने पर, कच्ची फाइलों से मॉडल-तैयार फीचर्स तक का रास्ता हर बार एक जैसा होना चाहिए। यही मेडलियन आर्किटेक्चर देता है। यह डेटा को तीन लेयरों में संगठित करता है:
- Bronze: कच्चा डेटा, जैसा आता है वैसा ही, बिना छुए।
- Silver: साफ-सुथरा और मानकीकृत। यहां मैं दोनों स्रोतों के बीच टीम नामों का मैपिंग करता हूं (वे शायद ही वर्तनी पर सहमत होते हैं), स्कीमा वैलिडेट करता हूं, Elo रेटिंग्स को मैच रिकॉर्ड्स से जोड़ता हूं, और जो भी मिसिंग या बिगड़ा हुआ है उससे निपटता हूं।
- Gold: मॉडलिंग लेयर, प्रति मैच एक टिडी रो जिसमें हर फीचर कंप्यूटेड और ट्रेनिंग के लिए तैयार होता है।
हर लेयर अगली को फीड करती है, इसलिए जब कुछ गड़बड़ दिखे, तो मैं एक-एक चरण पीछे जाकर ट्रेस कर सकता हूं, सबकुछ एक साथ सुलझाने की बजाय। पूरे रास्ते को पुनरुत्पादक बनाने के लिए, मैं DVC (Data Version Control) का उपयोग करता हूं। जब भी ताज़ा नतीजे आते हैं, एक dvc repro Bronze से Silver और Gold को फिर से बनाता है, किसी स्टेप को तभी चलाता है जब उसके इनपुट बदले हों, और तैयार हुए डेटासेट्स को वर्ज़न करता है ताकि पहले की किसी भी स्थिति को ठीक-ठीक रिकवर किया जा सके।
सर्वश्रेष्ठ मॉडल चुनना
गोल्स की भविष्यवाणी एक अच्छी तरह अध्ययन किया गया समस्या है, और इसके लिए कोई एक स्पष्ट टूल नहीं है। इसलिए एक ही तरीके पर पहले से कमिट करने के बजाय, मैंने दस बनाए और उन्हें मुकाबला करने दिया।
दावेदार
ये दस मॉडल पांच परिवारों और एक सरल बेसलाइन में फैले हैं। आपको हर एक के भीतर के कामकाज जानने की ज़रूरत नहीं; बात यह है कि वे गोल्स बनने के तरीके के बारे में बहुत अलग मान्यताएं रखते हैं।
| परिवार | मॉडल | मुख्य विचार |
|---|---|---|
| बेसलाइन | मीन-रेट पॉइसन | मानता है कि हर टीम बस अपनी दीर्घकालिक औसत दर से स्कोर करती है, सभी फीचर्स को नजरअंदाज करते हुए। बाकी सबके हराने के लिए एक फर्श। |
| सांख्यिकीय | बाइवेरिएट पॉइसन, नेगेटिव बाइनोमियल | दोनों गोल काउंट्स को सीधे उन प्रायिकता वितरणों से मॉडल करना जो काउंटिंग इवेंट्स के लिए बने हैं। |
| बेयेसियन | बेयेसियन पॉइसन (MCMC) | वही काउंटिंग विचार, लेकिन यह हर अनुमान के आसपास अनिश्चितता की पूरी रेंज देता है। गणना में कहीं अधिक मांग: बाकी की तुलना में फिट करने में लगभग 100 गुना धीमा। |
| टाइम सीरीज़ | SARIMAX | किसी टीम के नतीजों को समय के साथ एक अनुक्रम की तरह मानता है और उस अनुक्रम को आगे प्रोजेक्ट करता है। |
| मशीन लर्निंग | रिज, रैंडम फॉरेस्ट, XGBoost | किसी तय समीकरण पर कमिट किए बिना सीधे फीचर्स से पैटर्न सीखना। |
| डीप लर्निंग | LSTM, 1D CNN | न्यूरल नेटवर्क जो डेटा में सीक्वेंशियल और लोकल पैटर्न ढूंढ़ते हैं। |
उन्हें कैसे स्कोर किया गया
दस उम्मीदवारों के साथ, आंख से विजेता चुनना संभव नहीं था। इसके बजाय, हर मॉडल तीन चरणों से गुजरता है, और कोड तय करता है कि वह आगे बढ़ेगा या नहीं। इसे ही कोड-आधारित डिप्लॉयमेंट कहते हैं: मॉडल्स को एक वातावरण से अगले में मैनुअल ट्यूनिंग की बजाय स्वचालित जांचों से प्रोमोट किया जाता है, ताकि पूरी सेलेक्शन पुनरुत्पादक और ऑडिट में आसान रहे।
- एक्सपेरिमेंट। हर मॉडल को केवल 2022 विश्व कप से पहले खेले गए अंतरराष्ट्रीय मैचों पर प्रशिक्षित किया जाता है। उन सभी मैचों का वज़न बराबर नहीं है: हाल के मैचों और उच्च-दांव फिक्स्चर्स को ज्यादा वज़न दिया जाता है (टाइम-डिके और मैच-इम्पॉर्टेंस वेटिंग), ताकि कोई हालिया प्रतिस्पर्धी नतीजा किसी पुराने फ्रेंडली से अधिक मॉडल को आकार दे। फिर हर मॉडल की सेटिंग्स को क्रॉस-वैलिडेशन का उपयोग करते हुए पॉइसन नेगेटिव लॉग-लाइकलिहुड (NLL) को कम से कम करने के लिए ट्यून किया जाता है। NLL बस एक स्कोर है कि भविष्यवाणी की गई गोल दरें टीमों द्वारा किए गए वास्तविक गोलों से कितनी मेल खाती हैं—जितना कम, उतना बेहतर। नतीजा हर मॉडल का सर्वश्रेष्ठ-ट्यून किया गया संस्करण होता है।
- क्वालिटी एश्योरेंस। वे ट्यून किए गए मॉडल फिर उन मैचों पर टेस्ट किए जाते हैं जिन्हें उन्होंने कभी नहीं देखा: 2022 विश्व कप प्लस तब से हुए छह बड़े टूर्नामेंट (EURO, दो अफ्रीका कप ऑफ नेशंस, कोपा अमेरिका, एशियन कप, और गोल्ड कप), कुल 347 मैच। यहां, मैट्रिक रैंक्ड प्रॉबेबिलिटी स्कोर (RPS) में बदल जाती है, जो आर्डर वाले नतीजों—जैसे हार, ड्रा, जीत—के लिए प्रायिकतामूलक पूर्वानुमान की गुणवत्ता मापती है और मोटे तौर पर सही दिशा में आत्मविश्वास को पुरस्कृत करती है। फिर से, जितना कम उतना बेहतर। यहां का सबसे मजबूत मॉडल चैलेंजर बनता है। RPS सही यार्डस्टिक है क्योंकि वास्तविक लक्ष्य केवल गोल टोटल्स नहीं बल्कि यह है कि टीमें कितनी दूर जाती हैं।
- डिप्लॉय। चैलेंजर की तुलना मौजूदा चैंपियन से की जाती है। अगर वह जीतता है, तो उसे प्रोमोट किया जाता है और उपलब्ध हर मैच पर दोबारा फिट किया जाता है, ताकि वह टूर्नामेंट में जाते समय सभी डेटा से सीख चुका हो।
कौन जीता
तो कौन-सा तरीका शीर्ष पर आया? यहां पूरा होल्डआउट लीडरबोर्ड है, RPS से स्कोर किया गया (कम बेहतर):
| मॉडल | होल्डआउट RPS |
|---|---|
| XGBoost | 0.18289 |
| बेयेसियन पॉइसन | 0.18316 |
| नेगेटिव बाइनोमियल | 0.18373 |
| बाइवेरिएट पॉइसन | 0.18389 |
| रैंडम फॉरेस्ट | 0.18392 |
| SARIMAX | 0.18583 |
| रिज | 0.18813 |
| LSTM | 0.19299 |
| 1D CNN | 0.20916 |
| मीन-रेट पॉइसन (बेसलाइन) | 0.22872 |
इन नतीजों से चार बातें उभरती हैं:
- XGBoost जीता, लेकिन बेहद मामूली अंतर से। शीर्ष पांच मॉडल (XGBoost, बेयेसियन पॉइसन, नेगेटिव बाइनोमियल, बाइवेरिएट पॉइसन, और रैंडम फॉरेस्ट) एक-दूसरे से लगभग 0.0011 RPS के भीतर रहे। जब पांच बहुत अलग तरीके इतने करीब पहुंचते हैं, तो आमतौर पर इसका मतलब होता है कि छत डेटा और फीचर्स ने तय कर दी है, मॉडल ने नहीं। यहां, Elo अंतर इतना ज्यादा काम कर देता है कि मॉडल की पसंद सुई मुश्किल से हिलाती है।
- एक फीचर का दबदबा। Elo अंतर सबसे महत्वपूर्ण प्रिडिक्टर था, अगले फीचर से लगभग सौ गुना ज्यादा प्रभावशाली। यह चौंकाने के बजाय दिलासा देता है: एक मैच में, दो टीमों की ताकत का फासला वाकई कहानी का बड़ा हिस्सा होता है।
- डीप लर्निंग सबसे पीछे रही, बेसलाइन को छोड़कर। 1D CNN और LSTM, भोली बेसलाइन को छोड़कर, सबसे कमजोर रहे। सीखने के लिए केवल ~7,000 मैच होने पर, इतने पैरामीटर्स वाले नेटवर्क्स के लिए पर्याप्त डेटा नहीं है; छोटे, स्ट्रक्चर्ड डेटासेट्स के साथ पारंपरिक तरीके कहीं बेहतर काम करते हैं।
- क्लासिकल मॉडलों में ओवरफिटिंग के संकेत नहीं। आमतौर पर कोई मॉडल अनदेखे डेटा पर ट्रेनिंग की तुलना में थोड़ा खराब करता है। यहां, लगभग हर मॉडल (LSTM को छोड़कर) क्रॉस-वैलिडेशन से बेहतर स्कोर होल्ड-आउट टूर्नामेंट्स पर लाया। संभावित कारण यह है कि टूर्नामेंट फुटबॉल रोज़मर्रा के अंतरराष्ट्रीय कैलेंडर से ज्यादा पूर्वानुमेय है: उच्च दांव, मजबूत और परिचित टीमें, और न्यूट्रल वेन्यू कुछ रैंडमनेस निकाल देते हैं।
लाइव टूर्नामेंट के लिए, मैं सभी दस नहीं चलाता। मैं एक छोटा रोस्टर रखता हूं: संदर्भ बिंदु के रूप में मीन-रेट बेसलाइन, और साथ में तीन सर्वश्रेष्ठ परफॉर्मर। XGBoost और बेयेसियन पॉइसन स्पष्ट तौर पर शीर्ष दो स्थान लेते हैं।
तीसरा स्थान व्यावहारिक रूप से टाई है: नेगेटिव बाइनोमियल और बाइवेरिएट पॉइसन एक-दूसरे से 0.0002 RPS के भीतर खत्म करते हैं और रैंडम सीड पर निर्भर होकर स्थान बदलते हैं, तो दो सांख्यिकीय रूप से अभेद्य मॉडलों में, मैंने बाइवेरिएट पॉइसन को चुना, जिसकी फॉर्म्युलेशन फुटबॉल-प्रेडिक्शन साहित्य (Karlis और Ntzoufras, 2004) में मजबूत आधार रखती है।
इससे एक रोस्टर बनता है—XGBoost (मशीन लर्निंग), बाइवेरिएट पॉइसन (क्लासिकल स्टैटिस्टिक्स), और बेयेसियन पॉइसन (बेयेसियन इंफेरेंस)। अगला सेक्शन बताता है कि ये मॉडल कैसे चलते हैं, रीट्रेन होते हैं, और सिंगल-मैच भविष्यवाणियों को पूरे टूर्नामेंट के फोरकास्ट में कैसे बदलते हैं।
इसे प्रोडक्शन में उतारना
जो मॉडल नोटबुक में रहता है, वह तभी उपयोगी है जब आप उसके सामने बैठे हों। एक महीने लंबे टूर्नामेंट के दौरान मैचों की भविष्यवाणी करने के लिए, पूरी चीज़ खुद चलनी चाहिए: नए नतीजे खींचना, रीट्रेन करना, दोबारा सिमुलेट करना, और बिना किसी के छुए फोरकास्ट को रिफ्रेश करना। यही पाइपलाइन का काम है।
GCP पर द्विघंटीय पाइपलाइन
पूरा प्रोजेक्ट एक एकल शेड्यूल जॉब के रूप में Google Cloud Run पर चलता है। टूर्नामेंट से पहले, यह रोज़ एक बार जागता है; 11 जून को उद्घाटन मैच से, यह हर दूसरे घंटे चलता है। हर रन यही चक्र फॉलो करता है:
- नए डेटा की जांच। अगर पिछली रन से अब तक कोई मैच खत्म नहीं हुआ, तो करने को कुछ नहीं है, और जॉब जल्दी बाहर निकल जाता है।
- इन्गेस्ट और रिबिल्ड। जब नए नतीजे आते हैं, तो वे डेटा स्रोतों से खींचे जाते हैं, और एक
dvc reproSilver और Gold लेयरों को फिर से बनाता है ताकि फीचर्स अपडेटेड रहें। - रीट्रेन, प्रेडिक्ट, सिमुलेट। रोस्टर मॉडल अपडेट तक लाए जाते हैं (कैसे—यह आगे है), हर आने वाले मुकाबले की भविष्यवाणी होती है, और पूरा टूर्नामेंट सिमुलेट होता है।
- स्कोर। एक बार मैच निपट जाए, तो उसके लिए की गई भविष्यवाणियों को स्कोर किया जाता है, जो नीचे वर्णित मॉनिटरिंग में फीड होता है।
क्योंकि हर स्टेप शेड्यूल पर कोड द्वारा ट्रिगर होता है, टूर्नामेंट के दौरान कोई मैनुअल बटन दबाना नहीं पड़ता। नया नतीजा अंदर, ताज़ा फोरकास्ट बाहर।
दो मोड: फ्रोजन बनाम प्रति-राउंड
यहीं से प्रोजेक्ट एक प्रयोग भी बन जाता है। टूर्नामेंट के दौरान, रोस्टर दो समानांतर मोड में चलता है, और उनके बीच का फर्क वह प्रश्न है जिसका उत्तर मैं डेटा से चाहता हूं: क्या टूर्नामेंट चलते-चलते रीट्रेन करना भविष्यवाणियों को बेहतर बनाता है?
- फ्रोजन। टूर्नामेंट शुरू होते ही मॉडल लॉक हो जाते हैं और कभी रीट्रेन नहीं होते। वे फिर भी नतीजों पर प्रतिक्रिया देते हैं, क्योंकि हर सिमुलेशन अपडेटेड ब्रैकेट से शुरू होता है, लेकिन मॉडल पैरामीटर खुद नहीं बदलते।
- प्रति-राउंड। हाइपरपैरामीटर्स (हाई-लेवल सेटिंग्स) फिक्स रहते हैं, लेकिन मॉडल द्वारा सीखे गए पैरामीटर्स हर पूरे हुए ग्रुप मैचडे और हर नॉकआउट राउंड के बाद सभी उपलब्ध डेटा पर फिर से फिट किए जाते हैं, ताकि मॉडल्स टूर्नामेंट से सीखते रहें।
दोनों को साथ-साथ चलाना मुझे टूर्नामेंट खत्म होने पर दो मोर्चों पर तुलना करने देता है: कच्ची भविष्यसूचक सटीकता, और फील्ड सिमटने के साथ हर एक की अनिश्चितता कितनी तेजी से घटती है। अगर प्रति-राउंड जीतता है, तो नियमित रीट्रेनिंग अपनी उपयोगिता दिखाती है; अगर फ्रोजन टिकता है, तो अतिरिक्त मशीनरी शायद उतनी सार्थक न हो।
भविष्यवाणियों से टूर्नामेंट तक: मोंटे कार्लो सिमुलेशन
एक मैच की भविष्यवाणी एक बात है। इसे "हर टीम के टूर्नामेंट जीतने की कितनी संभावना है" में बदलना वहीं है जहां मोंटे कार्लो सिमुलेशन काम आता है।
पहले, इंफेरेंस। केवल वे फिक्स्चर जिनका हमें पहले से पता है, उनकी बजाय, मॉडल 48 टीमों के बीच हर संभव मुकाबले की भविष्यवाणी करता है। यह अतिशयोक्ति लग सकती है, लेकिन टूर्नामेंट में कोई भी टीम नॉकआउट में किसी भी अन्य से मिल सकती है, इसलिए हर पेयरिंग के लिए भविष्यवाणी तैयार होनी चाहिए।
अगला, नियमों को एन्कोड करना पड़ता है, और 2026 का फॉर्मेट इसे खास तौर पर पेचीदा बनाता है। 12 ग्रुप्स में, शीर्ष दो स्वतः आगे बढ़ते हैं, लेकिन सर्वश्रेष्ठ तीसरे स्थान पर रहने वाली आठ टीमें भी, और उन आठ में से कौन-सी किस नॉकआउट स्लॉट में जाएगी यह इस पर निर्भर करता है कि वे किन समूहों से आई हैं।
बारह में से आठ क्वालिफाइंग ग्रुप्स चुनने के 495 तरीके हैं (ट्वेल्व चूज़ एट), और हर एक राउंड-ऑफ-32 पेयरिंग्स का अलग सेट बनाता है। इसका कोई साफ सूत्र नहीं; FIFA बस एक टेबल प्रकाशित करता है। तो मैंने (या यूं कहें मेरे अत्यंत सक्षम सहकर्मी Cursor ने) आधिकारिक टेबल को स्रोत मानकर सभी 495 कॉम्बिनेशन को एक मैपिंग में हार्डकोड किया।
"best_third_mappings": {
"EFGHIJKL": {
"74": "3F",
"77": "3G",
"79": "3E",
"80": "3K",
"81": "3I",
"82": "3H",
"85": "3J",
"87": "3L"
},
"DFGHIJKL": ...
हर कुंजी, जैसे EFGHIJKL, बताती है कि कौन-से आठ समूहों ने तीसरे स्थान पर रहते हुए आगे बढ़ने वाली टीमें दीं, और वैल्यूज़ उन टीमों (3E, 3F, आदि) को किसी विशेष राउंड-ऑफ-32 मैच नंबर में स्लॉट करती हैं। यह एक एंट्री है; पूरी मैपिंग इसे 495 बार दोहराती है, हर कॉम्बिनेशन पर एक।
तीन मेज़बान देशों (संयुक्त राज्य अमेरिका, कनाडा, और मेक्सिको) के लिए एक अतिरिक्त हैंडलिंग है। जब कोई होस्ट अपने ही देश में आयोजित मैच खेलता है, तो सिमुलेशन उस फिक्स्चर पर होम-एडवांटेज समायोजन लागू करता है, जबकि टूर्नामेंट का बाकी हिस्सा न्यूट्रल ग्राउंड माना जाता है।
भविष्यवाणियां और नियम तय होने के बाद, सिमुलेशन पूरा टूर्नामेंट 10,000 बार चलाता है। हर रन में यह प्रक्रिया फॉलो होती है:
- मॉडल की प्रेडिक्टेड डिस्ट्रिब्यूशंस से होम और अवे गोल्स सैंपल करके हर मैच के लिए एक स्कोरलाइन निकालें
- वास्तविक पॉइंट्स और टाईब्रेक नियमों के तहत ग्रुप स्टेज खेलें
- सर्वश्रेष्ठ-तीसरे की टेबल तय करें
- ऊपर दी गई मैपिंग्स से नॉकआउट ब्रैकेट भरें
- एकल चैंपियन तक खेलें।
10,000 सिमुलेटेड टूर्नामेंट्स में, जितने अंश में कोई टीम फाइनल तक पहुंचती है या ट्रॉफी उठाती है, वही उसकी संभावना बन जाती है। एक रन एक अनुमान है; दस हजार रन एक फोरकास्ट।
MLflow से सब ट्रैक करना
अब तक वर्णित हर रन—दोनों मोड में—MLflow (जो DagsHub पर होस्टेड है) में लॉग होता है। एक्सपेरिमेंट ट्रैकिंग का मतलब है हर रन के इनपुट्स, सेटिंग्स, नतीजे और आउटपुट को व्यवस्थित रूप से रिकॉर्ड करना, ताकि किसी भी रन की ठीक-ठीक तुलना या पुनरुत्पादन किया जा सके। कुछ खास चीजें जो यह कैप्चर करता है, उल्लेखनीय हैं:
- रीप्रोड्यूसिबिलिटी। सिमुलेशन एक फिक्स्ड रैंडम सीड का उपयोग करता है जो टूर्नामेंट राउंड से व्युत्पन्न है, और वही सीड फ्रोजन और प्रति-राउंड मोड्स द्वारा साझा किया जाता है। इसका मतलब है कि दोनों के बीच का कोई भी फर्क मॉडलों से आता है, सिमुलेशन के अंदर ड्रॉ की किस्मत से नहीं। हर रन वह सटीक डेटा स्नैपशॉट (Gold रो की संख्या और टाइमस्टैम्प) भी लॉग करता है जो उसने देखा, ताकि नतीजों को हमेशा उनके इनपुट्स तक ट्रेस किया जा सके।
- एक्सपेरिमेंट। हर रन को उसके मोड (फ्रोजन या प्रति-राउंड) और उसके लाइफसाइकल स्टेज—एक्सपेरिमेंटल और QA से लेकर लाइव इंफेरेंस और रिफिट रन तक—के टैग्स मिलते हैं, जो पिछले सेक्शन की प्रोमोशन फ्लो को प्रतिबिंबित करते हैं।
- तुलना। चयन मैट्रिक के रूप में होल्डआउट RPS लॉग होता है, साथ में वंशावली के लिए मौजूदा चैंपियन रन का रेफरेंस। फिटिंग टाइम भी रिकॉर्ड होता है, जहां बेयेसियन मॉडल का लगभग 100 गुना धीमा ट्रेनिंग काले-सफेद में दिख जाता है।
ट्रेंड मॉडल्स और स्वयं प्रेडिक्शन फाइलें (टूर्नामेंट संभावनाएं, ग्रुप स्टैंडिंग्स, और मैच फोरकास्ट) रन आर्टिफैक्ट्स के रूप में स्टोर होती हैं, और यही फाइलें लाइव डैशबोर्ड पढ़ता है। इस तरह लूप पूरा होता है: कच्चे नतीजों से, ट्रेनिंग और सिमुलेशन होते हुए, उन संख्याओं तक जिन्हें आप ऑनलाइन देख सकते हैं।
ड्रिफ्ट की मॉनिटरिंग
आखिरी हिस्सा मैचों के निपटने के बाद चलता है। जैसे-जैसे वास्तविक नतीजे आते हैं, उनके लिए की गई भविष्यवाणियों को स्कोर किया जाता है और सरल मीन-रेट बेसलाइन से तुलना की जाती है। अगर फुल मॉडल्स ऐसी मॉडल से भी पीछे रहने लगें जो टीमों के बारे में कुछ नहीं जानता, तो यह ड्रिफ्ट का चेतावनी संकेत है: टूर्नामेंट से पहले सीखे गए पैटर्न अब मैदान पर हो रही चीजों से मेल नहीं खाते होंगे।
लाइव भविष्यवाणियां करने वाली किसी भी प्रणाली के लिए इस पर निगरानी रखना मानक प्रैक्टिस है, और आप डेटा ड्रिफ्ट और मॉडल ड्रिफ्ट पर इस गाइड में जान सकते हैं कि इसे कैसे पहचाना जाता है।
तो, विश्व कप कौन जीतेगा?
इतनी सारी मशीनरी के बाद, यही उसका मकसद है।
फेवरेट्स
10 जून, 2026 तक, उद्घाटन मैच से एक दिन पहले, मॉडल का फैसला शीर्ष पर स्पष्ट और उसके पीछे भीड़भाड़ वाला है। स्पेन और अर्जेंटीना फील्ड का नेतृत्व करते हैं, प्रत्येक के ट्रॉफी उठाने की संभावना लगभग 16% है। कि मौजूदा विश्व चैंपियन (अर्जेंटीना) और मौजूदा यूरोपीय चैंपियन (स्पेन) शीर्ष पर आते हैं, यह एक आश्वस्त करने वाला स sanity check है कि मॉडल वास्तविकता पर टिका है।
उनके पीछे कड़ा पीछा करने वाला समूह है: फ्रांस, इंग्लैंड, ब्राज़ील और कोलंबिया सबसे संभावित विजेताओं में शामिल हैं। ये लाइव आंकड़े हैं, और वास्तविक नतीजे आते ही बदलेंगे, इसलिए इन्हें 10 जून का स्नैपशॉट मानें, न कि पक्की भविष्यवाणी। डैशबोर्ड हमेशा मौजूदा नंबर दिखाता है, अधिकतम दो घंटे की देरी के साथ।
लाइव डैशबोर्ड
यही बात उठी: इस लेख की हर संख्या एक लाइव Streamlit ऐप से आती है जो पाइपलाइन के चलते ही अपने-आप अपडेट होती है। आप इसे wc2026-predictions.streamlit.app पर खोल सकते हैं और टूर्नामेंट भर फॉलो कर सकते हैं। इसमें चार मुख्य दृश्य हैं:
- टूर्नामेंट ओवरव्यू: एक नज़र में, हर टीम कितनी दूर जाने की उम्मीद है।
- ग्रुप स्टैंडिंग्स: हर ग्रुप के लिए, हर टीम के पहले, दूसरे, तीसरे (सर्वश्रेष्ठ-तीसरे नियम की वजह से तीसरे-और-आगे बनाम तीसरे-और-बाहर में विभाजित) या चौथे स्थान पर खत्म करने की संभावना।
- मैच भविष्यवाणियां: हर ग्रुप गेम के लिए, होम जीत, ड्रा, या अवे जीत की संभावना, साथ ही सबसे संभावित नॉकआउट ब्रैकेट।
- सबसे आम नॉकआउट मुकाबले: वे पेयरिंग्स जो सिमुलेशन सबसे अधिक बार बनाता है।
मैच व्यू में एक खास बात नोट करने लायक है: कुछ टीमें एक साथ राउंड-ऑफ-32 के दो संभावित स्लॉट्स में दिखाई देती हैं। यह बग नहीं है। ऐसा तब होता है जब कोई ग्रुप इतना संतुलित हो कि मॉडल भरोसे के साथ नहीं बता पाए कि टीम कौन-सी क्वालिफाइंग पोज़िशन लेगी। सर्वश्रेष्ठ-तीसरे की अनिश्चितता के साथ मिलकर, ये दो परिणाम अलग-अलग नॉकआउट स्लॉट्स की ओर ले जाते हैं। तुर्की के मामले में, यह उन्हें राउंड ऑफ 16 में दो बार ले गया।
नीचे दिया गया ग्राफिक XGBoost मॉडल द्वारा टूर्नामेंट शुरू होने से पहले प्रोजेक्ट किए गए अंतिम राउंड्स (क्वार्टरफाइनल से फाइनल तक) दिखाता है:

कॉइन-फ्लिप टीम: संयुक्त राज्य
ऐसे मॉडल का मजा उन टीमों में है जो आंखों की कसौटी को चुनौती देती हैं, और सबसे स्पष्ट उदाहरण संयुक्त राज्य है। अगर आप डैशबोर्ड पर टूर्नामेंट ओवरव्यू में जाएं, तो आप तुरंत देखेंगे कि US रंग में अलग दिखता है।
को-होस्ट्स के रूप में घरेलू भीड़ों के सामने खेलते हुए आप आरामदायक शुरुआत की उम्मीद कर सकते हैं, लेकिन मॉडल कहीं ज्यादा सतर्क है: वह उन्हें अपने ग्रुप से निकलने की केवल लगभग 54.6% संभावना देता है, जो पूरे फील्ड में 13वां सबसे कम है (याद रखें कि दो-तिहाई टीमें क्वालिफाई करती हैं!), क्योंकि उनका ग्रुप ऑस्ट्रेलिया, पराग्वे और तुर्किये के साथ असाधारण रूप से संतुलित है।
दिलचस्प हिस्सा उसके बाद आता है। किसी तरह निकलने के बाद, US फिर हर अगले राउंड में लगभग सिक्का उछाल जैसी स्थिति में मंडराता है। उन सिक्का उछालों को जोड़ने पर उनके पूरे टूर्नामेंट जीतने की संभावना लगभग 2% पर आती है, जो 48 टीमों में 13वां सबसे ऊंचा है।
जो टीम अपने ग्रुप से निकलने में नीचे से 13वीं और खिताब जीतने में ऊपर से 13वीं रैंक करे, वह व्यावहारिक रूप से कॉइन-फ्लिप टीम की परफेक्ट परिभाषा है: कभी स्पष्ट फेवरेट नहीं, कभी पूरी तरह बाहर नहीं।
अंतिम विचार
यह प्रोजेक्ट काफी काम का था, और यह एक लेख से कहीं अधिक चीजों को कवर करता है। रिपो में बहुत-सी चीजें हैं जो यहां नहीं समा सकीं: उम्मीदवार मॉडलों का पूरा सेट, फीचर इंजीनियरिंग, और वह ऑर्केस्ट्रेशन जो सब कुछ चलाए रखता है—कुछ उदाहरण हैं।
फिलहाल, मॉडल ने अपनी पसंद बता दी है, और फैसला टूर्नामेंट करेगा। आप MLOps के लिए आए हों या फुटबॉल के लिए, मुझे उम्मीद है कि आप इसे unfolding होते देखना उतना ही एन्जॉय करेंगे जितना मैं करूंगा। आप मैचों के आते ही लाइव फोरकास्ट फॉलो कर सकते हैं और देख सकते हैं कि भविष्यवाणियां कितनी टिकती हैं।
अगर आप बताए गए कुछ कॉन्सेप्ट्स को करीब से देखना चाहते हैं, तो मैं हमारा MLOps Concepts कोर्स लेने की सलाह देता हूं।
FIFA World Cup 2026 विजेता भविष्यवाणी FAQs
FIFA World Cup 2026 कौन जीतेगा?
10 जून, 2026 तक, ठीक टूर्नामेंट शुरू होने से पहले, मॉडल स्पेन और अर्जेंटीना को संयुक्त फेवरेट बनाता है, प्रत्येक के जीतने की संभावना लगभग 16% है, जिनके बाद फ्रांस, इंग्लैंड, ब्राज़ील और कोलंबिया आते हैं। कोई एकल टीम भारी फेवरेट नहीं है, जो टूर्नामेंट के खुलेपन को दर्शाता है। ये लाइव आंकड़े हैं जो नतीजों के आते ही बदलते हैं, इसलिए डैशबोर्ड हमेशा मौजूदा नंबर दिखाता है।
फुटबॉल की मशीन लर्निंग भविष्यवाणी कितनी सटीक हो सकती है?
अंतरराष्ट्रीय फुटबॉल का पूर्वानुमान लगाना कठिन है: यह कम-स्कोर वाला है और टीमें कम प्रतिस्पर्धी मैच खेलती हैं, इसलिए मजबूत मॉडल होने पर भी बहुत कुछ किस्मत पर रहता है। इस प्रोजेक्ट में, शीर्ष पांच मॉडल सभी लगभग 0.001 RPS के भीतर रहे, जो सुझाता है कि सटीकता की छत अधिकांशतः उपलब्ध डेटा और फीचर्स से तय होती है, एल्गोरिदम से नहीं। भविष्यवाणियों का सबसे बड़ा चालक दोनों टीमों के बीच Elo रेटिंग का फासला था।
मैच परिणाम की बजाय गोलों की संख्या क्यों भविष्यवाणी करें?
सीधे जीत, ड्रा, या हार की बजाय प्रत्येक टीम के लिए गोलों की भविष्यवाणी करने से स्कोरलाइनों पर एक पूरी प्रायिकता-वितरण मिलता है। यही पूरी टूर्नामेंट को सिमुलेट करना संभव बनाता है: जब आप संभावित स्कोरलाइन सैंपल कर सकते हैं, तो आप ग्रुप स्टेज और नॉकआउट ब्रैकेट को हज़ारों बार खेल सकते हैं और हर टीम के आगे बढ़ने या जीतने की संभावना पढ़ सकते हैं।
गोल काउंट्स भी पॉइसन वितरण का उचित रूप से पालन करते हैं, जो इस शैली के मॉडलिंग के अनुकूल है।
मोंटे कार्लो सिमुलेशन क्या है, और 10,000 बार क्यों चलाएं?
मोंटे कार्लो सिमुलेशन किसी रैंडम प्रक्रिया को बार-बार चलाकर उन संभावनाओं का अनुमान लगाता है जिन्हें सीधे गणना करना कठिन होता है। यहां, हर रन मॉडल की भविष्यवाणियों से हर मैच की स्कोरलाइन खींचता है और टूर्नामेंट को विजेता तक खेलता है; ऐसा 10,000 बार करने से सिंगल-मैच भविष्यवाणियां स्थिर प्रतिशतों में बदल जाती हैं, जैसे "स्पेन लगभग 16% बार जीतता है।" एक सिमुलेटेड टूर्नामेंट केवल एक संभावित परिणाम है, पर दस हजार उनकी वास्तविक संभावनाओं के फैलाव का लगभग अनुमान देते हैं।
ऐसी MLOps पाइपलाइन बनाने के लिए किन टूल्स की जरूरत होती है?
मुख्य हिस्से हैं डेटा वर्ज़निंग (इस प्रोजेक्ट में DVC), एक्सपेरिमेंट ट्रैकिंग (MLflow), शेड्यूल पर जॉब चलाने का तरीका (Google Cloud Run विद Cloud Scheduler), और नतीजे सर्व करने का तरीका (एक Streamlit डैशबोर्ड)।
खुद मॉडल्स कई Python लाइब्रेरीज़ पर आधारित हैं: scikit-learn (रिज और रैंडम फॉरेस्ट), XGBoost (चैंपियन), statsmodels और SciPy (पॉइसन, बाइवेरिएट पॉइसन, नेगेटिव बाइनोमियल रिग्रेशन, साथ ही SARIMAX), PyMC (बेयेसियन मॉडल), और Keras (LSTM और CNN), जबकि pandas और NumPy डेटा संभालते हैं।
इनमें से कोई भी एक-बार के मॉडल के लिए सख्ती से आवश्यक नहीं है, लेकिन मिलकर वे पाइपलाइन को पुनरुत्पादक बनाते हैं और उसे बिना मैनुअल काम के खुद रीट्रेन और रिफ्रेश करने में सक्षम बनाते हैं।