ข้ามไปยังเนื้อหาหลัก

คาดการณ์ผู้ชนะฟุตบอลโลก 2026: คู่มือ MLOps

ดูวิธีที่ไปป์ไลน์ MLOps แบบครบวงจรทำนายผลฟุตบอลโลก 2026 ตั้งแต่การฝึกใหม่อัตโนมัติและ DVC ไปจนถึงการจำลองมอนติคาร์โล 10,000 ครั้งของสายการแข่งขัน
อัปเดตแล้ว 11 มิ.ย. 2569  · 15 นาที อ่าน

การทำนายฟุตบอลเป็นเรื่องยาก ฟุตบอลเป็นกีฬาที่ทำประตูน้อย ซึ่งลูกยิงแฉลบลูกเดียวสามารถเปลี่ยนผลการแข่งขันได้ และความโชคดีมีส่วนไม่น้อยในทุกนัด ฟุตบอลทีมชาติยิ่งยากกว่าเดิม เพราะทีมชาติมักลงเล่นเกมทางการเพียงไม่กี่นัดต่อปี ทำให้มีข้อมูลให้เรียนรู้น้อยกว่าลีกสโมสรอย่างมาก

และหากยังไม่พอ ปีนี้ FIFA ก็ทำให้โจทย์ยากขึ้นอีกสำหรับฟุตบอลโลก รอบสุดท้ายแบบ 48 ทีมที่ขยายเพิ่มมาพร้อมรูปแบบใหม่ที่ทีมอันดับ 1–2 จากทั้ง 12 กลุ่มผ่านเข้ารอบ พร้อมด้วยทีมอันดับ 3 ที่ดีที่สุด 8 จาก 12 กลุ่ม ทำให้ชะตากรรมรอบแบ่งกลุ่มคาดเดายากยิ่งขึ้น ในเมื่อชอบความท้าทาย (และฟุตบอล) นี่จึงเป็นสิ่งที่ตั้งใจจะทำนายให้ได้

นี่เป็นงานต่อยอดจากโครงการ คาดการณ์ EURO 2024 ที่เกือบสร้างใหม่ทั้งชุด ครั้งก่อนทำงานทั้งหมดใน Jupyter notebook และทำนายสกอร์ที่มีแนวโน้มมากที่สุดเพียงค่าเดียวต่อนัด คราวนี้สร้างไปป์ไลน์ MLOps แบบครบวงจรที่ดึงผลการแข่งขันล่าสุด ฝึกใหม่ด้วยตนเอง และรันการจำลองมอนติคาร์โลของทั้งทัวร์นาเมนต์ 10,000 ครั้ง เปลี่ยนการทำนายระดับแมตช์ให้กลายเป็นความน่าจะเป็นว่าทีมแต่ละทีมจะไปได้ไกลแค่ไหน

บทความนี้จะพาชมภาพรวมระดับสูงของโครงการ: ข้อมูลและฟีเจอร์ แนวปฏิบัติ MLOps ที่ทำให้ทำซ้ำได้ โครงสร้างไปป์ไลน์ และแบบจำลองใดที่ทำนายฟุตบอลทีมชาติได้ดีที่สุด โค้ดทั้งหมดอยู่ใน repo ของโปรเจกต์ และแน่นอน จะบอกด้วยว่าแบบจำลองคิดว่าใครจะเป็นผู้ชนะ (สปอยล์: ชอบสเปนและอาร์เจนตินาราว 16% เท่ากัน แต่ที่น่าสนใจกว่าคือกระบวนการที่พาไปถึงตรงนั้น)

ถ้าเริ่มคึกคักกับทัวร์นาเมนต์นี้ แนะนำให้รับชมสัปดาห์ Data & AI World Cup ของเรา ชุดเซสชันว่าข้อมูลและ AI กำลังเปลี่ยนโฉมฟุตบอลอย่างไร รับชมสดหรือย้อนหลังได้ฟรี

สรุปย่อ

  • นี่คือไปป์ไลน์ MLOps แบบครบวงจรที่ทำนายฟุตบอลโลก 2026 ดึงผลทีมชาติล่าสุดและฝึกใหม่อัตโนมัติบน Google Cloud ทุกสองชั่วโมงระหว่างทัวร์นาเมนต์
  • ข้อมูลจาก API-Football และคะแนน Elo ถูกประมวลผลผ่านสถาปัตยกรรมเหรียญ Bronze-Silver-Gold และจัดเวอร์ชันด้วย DVC เพื่อความสามารถในการทำซ้ำอย่างสมบูรณ์
  • เปรียบเทียบ 10 โมเดลจาก 5 ตระกูลบนชุดทดสอบกันไว้ 347 นัด; XGBoost ชนะฉิวเฉียด ท็อปไฟว์แทบแยกกันไม่ออก และความต่าง Elo ระหว่างทีมทำงานเชิงทำนายส่วนใหญ่
  • การจำลองมอนติคาร์โลเล่นทั้งทัวร์นาเมนต์ 10,000 ครั้ง แปลงการทำนายจำนวนประตูระดับแมตช์ให้เป็นโอกาสเข้ารอบและคว้าแชมป์ของแต่ละทีม
  • ณ วันที่ 10 มิถุนายน 2026 ตัวเต็งของโมเดลคือสเปนและอาร์เจนตินาราว 16% เท่ากัน ดูการทำนายสดได้บน แดชบอร์ด Streamlit ที่รีเฟรชทุกสองชั่วโมง

ข้อมูลที่อยู่เบื้องหลังการทำนาย

คุณภาพของการทำนายดีได้เท่ากับสิ่งที่ป้อนเข้าไปเท่านั้น จึงคุ้มค่าที่จะเริ่มจากวัตถุดิบ โมเดลเรียนรู้จากสองแหล่งข้อมูลสดและแปลงให้เป็นตารางฟีเจอร์ที่เป็นระเบียบเพียงชุดเดียว

ข้อมูลมาจากไหน

ทุกอย่างสร้างจากสองแหล่ง API-Football จัดหาโปรแกรมแข่งขันและสถิติต่อแมตช์: ใครเจอใคร เมื่อไหร่ ที่ไหน และจบอย่างไร eloratings.net จัดหาเรตติ้ง Elo สำหรับทุกทีมชาติ

คะแนน Elo คือค่าตัวเลขเดียวที่สะท้อนความแข็งแกร่งของทีม ทุกทีมอยู่บนสเกลเดียวกัน และหลังจบทุกนัด คะแนนจะอัปเดต: ชนะทีมที่แกร่งกว่า ได้แต้มมาก แพ้ทีมที่อ่อนกว่า แต้มจะร่วงแรง แนวคิดมาจากหมากรุกและปรับใช้กับฟุตบอลได้อย่างลงตัว หากอยากเข้าใจเต็ม ๆ บทความ DataCamp ก่อนหน้านี้ อธิบายไว้ในบริบทฟุตบอลโลก 2022

เมื่อรวมกัน ทั้งสองแหล่งให้ชุดข้อมูล Gold ของการแข่งขันทีมชาติราว 6,900 นัดตั้งแต่ปี 2018 สำหรับการเรียนรู้

โมเดลทำนายอะไร

นี่คือจุดออกแบบสำคัญข้อแรก แทนที่จะทำนายผลลัพธ์โดยตรงว่า ชนะ เสมอ หรือแพ้ โมเดลทำนายสิ่งที่ละเอียดกว่า: จำนวนประตูที่แต่ละทีมทำได้ในนัดนั้น จำนวนประตูในฟุตบอลโดยประมาณตาม การกระจายปัวซอง วิธีมาตรฐานในการจำลองเหตุการณ์ที่พบไม่บ่อยภายในช่วงเวลาคงที่

การทำนายจำนวนประตูแทนผลลัพธ์คือสิ่งที่ทำให้ทุกอย่างต่อจากนี้เป็นไปได้ เมื่อโมเดลสร้างสกอร์ไลน์ที่สมเหตุสมผลได้สำหรับคู่ใดก็ตาม คำถามที่ทุกคนสนใจจริง ๆ ว่าใครจะผ่านรอบแบ่งกลุ่มและใครจะชูถ้วย ก็สามารถตอบได้ด้วยการจำลองสกอร์ไลน์เหล่านั้นนับพันครั้ง

ฟีเจอร์ที่สำคัญ

แต่ละนัดอธิบายด้วยชุดฟีเจอร์เล็ก ๆ ที่คัดสรรอย่างระมัดระวัง:

  • ความต่าง Elo: ช่องว่างคะแนนระหว่างสองทีม นี่คือฟีเจอร์ที่สำคัญที่สุดทิ้งห่าง โดยมีความสำคัญมากกว่าฟีเจอร์รองลงมาราวสองลำดับขั้น ตรงกับสัญชาตญาณ เพราะช่องว่างความแข็งแกร่งระหว่างสองฝ่ายบอกแนวโน้มผลได้มากกว่าสิ่งอื่นส่วนใหญ่
  • ผลรวม Elo: คะแนนสองทีมบวกกัน ใช้แทนคุณภาพโดยรวมของแมตช์ ความต่างอย่างเดียวบอกไม่ออกว่าอาร์เจนตินาพบสเปนต่างจากซานมารีโนพบอันดอร์ราอย่างไร ซึ่งเป็นเกมสูสีคนละระดับกัน ผลรวมช่วยคืนข้อมูลนั้น
  • การเปลี่ยนแปลง Elo แบบกลิ้ง (5 นัดหลัง): คะแนนของแต่ละทีมเปลี่ยนไปล่าสุดเท่าไร จับฟอร์มพร้อมคำนึงถึงความแข็งแกร่งของคู่แข่งที่เจอมาแล้ว
  • จำนวนประตูได้–เสียแบบกลิ้ง (5 นัดหลัง): ผลงานรุกและรับล่าสุดแบบสัมบูรณ์ คำนวณแยกสำหรับแต่ละทีม
  • บริบทของแมตช์: ระดับความสำคัญของรายการ (ฟุตบอลโลกต่างจากรอบคัดเลือกหรือนัดเนชันส์ลีก) เป็นนัดน็อกเอาต์หรือไม่ และแข่งสนามกลางหรือไม่

ทุกฟีเจอร์ออกแบบให้ปลอดการรั่วของข้อมูลอย่างเคร่งครัด หมายความว่าใช้เฉพาะข้อมูลที่มีอยู่ก่อนเขี่ยบอลเท่านั้น ฟังดูชัดเจน แต่เป็นวิธีที่พลาดง่ายที่สุดวิธีหนึ่งในการสร้างโมเดลที่ดูดีเลิศตอนทดสอบแต่พังในโลกจริง

ไอเดียหนึ่งที่ไม่ผ่าน: เดิมตั้งใจทำฟีเจอร์ "สไตล์การเล่น" โดยจัดกลุ่มทีมจากสถิติระหว่างเกม ซึ่งเป็นขั้นตอน เรียนรู้แบบไม่ต้องมีตัวแปรอธิบาย ในทางปฏิบัติ ทีมไม่ได้แยกเป็นกลุ่มที่มีความหมาย จึงตัดทิ้งเพื่อไม่ป้อนสัญญาณรบกวนให้โมเดล ผลลัพธ์เชิงลบก็คือผลลัพธ์

ทำให้ข้อมูลทำซ้ำได้

เมื่อข้อมูลทยอยเข้าจากสองแหล่ง เส้นทางจากไฟล์ดิบไปยังฟีเจอร์พร้อมเทรนต้องเหมือนกันทุกครั้ง ซึ่ง สถาปัตยกรรมเหรียญ ช่วยได้ โดยจัดข้อมูลเป็นสามเลเยอร์:

  • Bronze: ข้อมูลดิบตามที่ได้รับมา ไม่แตะต้อง
  • Silver: ทำความสะอาดและมาตรฐาน ในขั้นนี้จะทำแมปชื่อทีมระหว่างสองแหล่ง (มักสะกดไม่ตรงกัน) ตรวจสคีมา ผนวกรวม Elo เข้ากับข้อมูลแมตช์ และจัดการข้อมูลที่หายหรือผิดรูป
  • Gold: เลเยอร์สำหรับโมเดล ข้อมูลแบบ tidy หนึ่งแถวต่อแมตช์ พร้อมฟีเจอร์คำนวณครบสำหรับฝึก

แต่ละเลเยอร์ป้อนให้เลเยอร์ถัดไป เมื่อมีอะไรดูแปลก จะไล่ย้อนทีละขั้นได้แทนที่จะต้องแกะทุกอย่างพร้อมกัน เพื่อทำให้ทั้งเส้นทางทำซ้ำได้ ใช้ DVC (Data Version Control) เมื่อมีผลใหม่เข้า เพียงคำสั่ง dvc repro ก็จะสร้าง Silver และ Gold จาก Bronze ใหม่ รันเฉพาะขั้นที่อินพุตเปลี่ยน และจัดเวอร์ชันชุดข้อมูลที่ได้เพื่อกู้สถานะก่อนหน้าได้ตรงตัว

เลือกโมเดลที่ดีที่สุด

การทำนายจำนวนประตูเป็นปัญหาที่ศึกษากันมาก และไม่มีเครื่องมือเดียวที่ชัดเจน จึงไม่ผูกมัดแนวทางเดียวแต่แรก สร้างไว้สิบโมเดลแล้วปล่อยแข่งกัน

ผู้ท้าชิง

สิบโมเดลครอบคลุมห้าตระกูลพร้อมเบสไลน์ง่าย ๆ ไม่จำเป็นต้องรู้กลไกภายในของแต่ละตัว จุดสำคัญคือพวกมันตั้งสมมติฐานต่างกันมากเกี่ยวกับการเกิดประตู

ตระกูล โมเดล แนวคิดหลัก
เบสไลน์ Poisson อัตราเฉลี่ย สมมติว่าทุกทีมทำประตูตามค่าเฉลี่ยระยะยาวโดยรวม เพิกเฉยต่อฟีเจอร์ทั้งหมด เป็นพื้นฐานให้ตัวอื่นทำคะแนนเหนือกว่า
เชิงสถิติ Bivariate Poisson, Negative Binomial จำลองจำนวนประตูทั้งสองฝั่งด้วยการกระจายความน่าจะเป็นสำหรับการนับเหตุการณ์
แบบเบย์esian Bayesian Poisson (MCMC) ไอเดียการนับเดียวกัน แต่ให้ช่วงความไม่แน่นอนเต็มรอบค่าประมาณแต่ละค่า ต้องคำนวณมากกว่ามาก: ใช้เวลาฟิตประมาณ 100 เท่าของตัวอื่น
อนุกรมเวลา SARIMAX มองผลของทีมเป็นลำดับตามเวลาและฉายภาพไปข้างหน้า
แมชชีนเลิร์นนิง Ridge, Random Forest, XGBoost เรียนรู้รูปแบบจากฟีเจอร์โดยไม่ยึดติดสมการตายตัว
ดีปเลิร์นนิง LSTM, 1D CNN โครงข่ายประสาทที่ค้นหารูปแบบตามลำดับและเฉพาะที่ในข้อมูล

วิธีให้คะแนน

มีผู้ท้าชิงสิบราย การเลือกผู้ชนะด้วยสายตาย่อมเป็นไปไม่ได้ แทนที่จะเป็นเช่นนั้น แต่ละโมเดลต้องผ่านสามขั้น และโค้ดจะตัดสินว่าจะได้ไปต่อหรือไม่ นี่คือความหมายของ การดีพลอยโดยอิงโค้ด: โมเดลถูกโปรโมตจากสภาพแวดล้อมหนึ่งไปยังอีกสภาพแวดล้อมด้วยการตรวจอัตโนมัติแทนการปรับด้วยมือ ทำให้กระบวนการคัดเลือกทำซ้ำและตรวจสอบได้ง่าย

  • ทดลอง. ทุกโมเดลฝึกด้วยแมตช์ทีมชาติที่เกิดขึ้นก่อนฟุตบอลโลก 2022 เท่านั้น ไม่ใช่ทุกนัดมีน้ำหนักเท่ากัน: เกมล่าสุดและนัดเดิมพันสูงให้น้ำหนักมากกว่า (การถดถอยตามเวลาและน้ำหนักตามความสำคัญของแมตช์) เพื่อให้ผลทางการล่าสุดมีอิทธิพลต่อโมเดลมากกว่าเกมอุ่นเครื่องเก่า จากนั้นปรับจูนพารามิเตอร์ของแต่ละโมเดลให้ลด Poisson negative log-likelihood (NLL) ด้วย cross-validation NLL เป็นคะแนนว่าค่าอัตราทำประตูที่ทำนายสอดคล้องกับประตูที่เกิดขึ้นจริงแค่ไหน ยิ่งต่ำยิ่งดี ได้เวอร์ชันที่จูนดีที่สุดของแต่ละโมเดล
  • ประกันคุณภาพ. โมเดลที่จูนแล้วถูกทดสอบกับแมตช์ที่ไม่เคยเห็น: ฟุตบอลโลก 2022 บวกทัวร์นาเมนต์ใหญ่อีกหกรายการหลังจากนั้น (EURO, แอฟริกันคัพแห่งชาติสองครั้ง, โคปาอเมริกา, เอเชียนคัพ, และโกลด์คัพ) รวม 347 นัด ที่นี่เมตริกจะเปลี่ยนเป็น ranked probability score (RPS) วัดความแม่นของการพยากรณ์เชิงความน่าจะเป็นเมื่อผลลัพธ์มีลำดับธรรมชาติ เช่น แพ้ เสมอ ชนะ และให้รางวัลเมื่อมั่นใจไปในทิศที่ถูกโดยประมาณ ยิ่งต่ำยิ่งดีเช่นกัน โมเดลที่แข็งแกร่งที่สุดที่นี่จะเป็น ผู้ท้าชิง RPS เป็นไม้บรรทัดที่เหมาะสมเพราะเป้าหมายจริงคือการทำนายว่าแต่ละทีมจะไปได้ไกลแค่ไหน ไม่ใช่แค่ยอดรวมประตู
  • ดีพลอย. ผู้ท้าชิงถูกเปรียบเทียบกับแชมป์เก่า หากชนะ จะถูกโปรโมตและฟิตใหม่ด้วยทุกแมตช์ที่มี เพื่อเข้าทัวร์นาเมนต์โดยได้เรียนรู้จากข้อมูลทั้งหมด

ผู้ชนะคือใคร

แล้วแนวทางใดชนะ? นี่คือบอร์ดผู้นำชุดทดสอบกันไว้เต็มรูปแบบ วัดด้วย RPS (ยิ่งต่ำยิ่งดี):

โมเดล RPS บนชุดกันไว้
XGBoost 0.18289
Bayesian Poisson 0.18316
Negative Binomial 0.18373
Bivariate Poisson 0.18389
Random Forest 0.18392
SARIMAX 0.18583
Ridge 0.18813
LSTM 0.19299
1D CNN 0.20916
Poisson อัตราเฉลี่ย (เบสไลน์) 0.22872

มีสี่ประเด็นที่โดดเด่นจากผลลัพธ์นี้:

  • XGBoost ชนะ แต่เฉียดฉิวมาก. ห้าอันดับแรก (XGBoost, Bayesian Poisson, Negative Binomial, Bivariate Poisson และ Random Forest) จบภายในช่วงประมาณ 0.0011 RPS ของกันและกัน เมื่อหลายแนวทางที่ต่างกันมากมาลงที่ใกล้กันขนาดนี้ มักหมายความว่าเพดานถูกกำหนดโดยข้อมูลและฟีเจอร์ ไม่ใช่ตัวโมเดล ที่นี่ ความต่าง Elo ทำงานส่วนใหญ่จนการเลือกโมเดลแทบไม่ขยับเข็ม
  • ฟีเจอร์เดียวครองเกม. ความต่าง Elo เป็นตัวทำนายสำคัญทิ้งห่าง มีอิทธิพลมากกว่าฟีเจอร์รองลงมาราวร้อยเท่า นั่นน่าชื่นใจมากกว่าน่าประหลาดใจ: ในเกมเดียว ช่องว่างความแข็งแกร่งระหว่างสองทีมคือเกือบทั้งหมดของเรื่อง
  • ดีปเลิร์นนิงรั้งท้าย ยกเว้นเบสไลน์. 1D CNN และ LSTM เป็นโมเดลที่อ่อนที่สุดยกเว้นเบสไลน์อย่างง่าย ด้วยข้อมูลให้เรียนรู้เพียงราว 7,000 นัด จำนวนน้อยไปสำหรับเครือข่ายที่มีพารามิเตอร์มาก วิธีคลาสสิกจัดการกับชุดข้อมูลขนาดเล็กและมีโครงสร้างได้ดีกว่า
  • ไม่เห็นสัญญาณโอเวอร์ฟิตในโมเดลคลาสสิก. ปกติแล้วโมเดลจะทำได้แย่ลงเล็กน้อยบนข้อมูลที่ไม่เคยเห็นเมื่อเทียบกับระหว่างฝึก ที่นี่เกือบทุกโมเดล (ยกเว้น LSTM) ทำคะแนนดีกว่าบนทัวร์นาเมนต์กันไว้มากกว่าในการ cross-validation เหตุผลที่เป็นไปได้คือฟุตบอลทัวร์นาเมนต์คาดเดาได้มากกว่าปฏิทินทีมชาติประจำ: เดิมพันสูง ทีมแข็งแกร่งและคุ้นเคยกว่า สนามกลาง ช่วยลดความสุ่มบางส่วนออกไป

Elo difference dominates football predictionสำหรับทัวร์นาเมนต์สด จะไม่รันทั้งสิบตัว รักษาโรสเตอร์เล็กลง: เบสไลน์อัตราเฉลี่ยเป็นจุดอ้างอิง พร้อมผู้ทำผลงานดีที่สุดสามตัว โดย XGBoost และ Bayesian Poisson ครองสองอันดับแรก

ที่สามถือว่าเสมอกัน: Negative Binomial และ Bivariate Poisson จบห่างกันเพียง 0.0002 RPS และสลับอันดับกันตาม random seed ดังนั้นระหว่างโมเดลที่แยกกันไม่ออกทางสถิติ เลือก Bivariate Poisson ซึ่งมีสูตรตั้งอยู่บนฐานวรรณกรรมการทำนายฟุตบอลที่แข็งแรงกว่า (Karlis and Ntzoufras, 2004)

สรุปโรสเตอร์คือ XGBoost (แมชชีนเลิร์นนิง), Bivariate Poisson (สถิติคลาสสิก) และ Bayesian Poisson (อนุมานแบบเบย์) ส่วนต่อไปจะอธิบายว่าโมเดลเหล่านี้ทำงาน ฝึกใหม่ และเปลี่ยนการทำนายแมตช์เดี่ยวให้เป็นการคาดการณ์ทั้งทัวร์นาเมนต์อย่างไร

นำขึ้นใช้งานจริง

โมเดลที่อยู่ในโน้ตบุ๊กมีประโยชน์เฉพาะตอนที่กำลังนั่งอยู่หน้ามัน การทำนายนัดต่าง ๆ ตลอดทัวร์นาเมนต์ที่ยาวหนึ่งเดือน จำเป็นต้องให้ทุกอย่างทำงานเอง: ดึงผลใหม่ ฝึกใหม่ จำลองใหม่ และรีเฟรชพยากรณ์โดยไม่ต้องมีใครแตะต้อง นั่นคือหน้าที่ของไปป์ไลน์

ไปป์ไลน์ทุกสองชั่วโมงบน GCP

ทั้งโปรเจกต์รันเป็นงานกำหนดเวลาเดียวบน Google Cloud Run ก่อนทัวร์นาเมนต์จะปลุกวันละครั้ง ตั้งแต่แมตช์เปิดวันที่ 11 มิถุนายน จะรันทุกสองชั่วโมง แต่ละรันทำวงจรเดิม:

  • ตรวจข้อมูลใหม่. หากไม่มีนัดใดจบตั้งแต่รอบก่อน ก็ไม่มีอะไรต้องทำ งานจะจบลงทันที
  • ดึงเข้าและสร้างใหม่. เมื่อมีผลใหม่ จะดึงจากแหล่งข้อมูล และสั่ง dvc repro เดียวเพื่อสร้างเลเยอร์ Silver และ Gold ใหม่ให้ฟีเจอร์เป็นปัจจุบัน
  • ฝึกใหม่ ทำนาย จำลอง. โมเดลในโรสเตอร์อัปเดตให้ทันสมัย (รายละเอียดด้านล่าง) ทำนายทุกคู่ที่กำลังจะมา และจำลองทั้งทัวร์นาเมนต์
  • ให้คะแนน. เมื่อแมตช์หนึ่งสิ้นสุด จะนำการทำนายที่ทำไว้มาให้คะแนน ซึ่งป้อนเข้าการมอนิเตอร์ด้านล่าง

เพราะทุกขั้นถูกเรียกด้วยโค้ดตามตาราง จึงไม่มีการกดปุ่มด้วยมือระหว่างทัวร์นาเมนต์ ผลใหม่เข้า พยากรณ์รีเฟรชออก

สองโหมด: แช่แข็ง vs. ต่อรอบ

ตรงนี้โปรเจกต์ทำหน้าที่เป็นการทดลองไปพร้อมกัน ระหว่างทัวร์นาเมนต์ โรสเตอร์รันสองโหมดคู่ขนาน และความต่างระหว่างสองโหมดคือคำถามที่หวังจะตอบจากข้อมูล: การฝึกใหม่ระหว่างทัวร์นาเมนต์ช่วยให้การทำนายดีขึ้นหรือไม่?

  • แช่แข็ง. โมเดลถูกล็อกตั้งแต่ทัวร์นาเมนต์เริ่มและไม่ฝึกใหม่ พวกมันยังตอบสนองต่อผลการแข่งขัน เพราะการจำลองแต่ละครั้งเริ่มจากผังประกบที่อัปเดตแล้ว แต่พารามิเตอร์ของโมเดลเองจะไม่เปลี่ยน
  • ต่อรอบ. ไฮเปอร์พารามิเตอร์ (การตั้งค่าระดับสูง) คงที่ แต่พารามิเตอร์ที่โมเดลเรียนรู้จะฟิตใหม่บนข้อมูลที่มีอยู่ทั้งหมดหลังจบรอบแมตช์แบ่งกลุ่มแต่ละชุดและหลังจบแต่ละรอบน็อกเอาต์ เพื่อให้โมเดลเรียนรู้จากทัวร์นาเมนต์ขณะเกิดขึ้น

การรันทั้งสองแบบพร้อมกันทำให้เปรียบเทียบได้สองด้านเมื่อจบ: ความแม่นยำเชิงทำนาย และความเร็วที่ความไม่แน่นอนของแต่ละแบบคลี่คลายเมื่อสนามแคบลง หากต่อรอบชนะ การฝึกใหม่สม่ำเสมอก็คุ้มค่า หากแช่แข็งยังสูสี เครื่องจักรพิเศษอาจไม่จำเป็น

จากการทำนายสู่ทัวร์นาเมนต์: การจำลองมอนติคาร์โล

ทำนายนัดเดียวอย่างหนึ่ง การแปลงให้เป็น "โอกาสคว้าแชมป์ของแต่ละทีม" คือหน้าที่ของการจำลองมอนติคาร์โล

เริ่มจากการอนุมาน แทนที่จะทำนายเฉพาะโปรแกรมที่รู้แล้ว โมเดลจะทำนายทุกคู่ที่เป็นไปได้ในบรรดา 48 ทีม ฟังดูมากเกินไป แต่ในทัวร์นาเมนต์ ทีมไหนก็มีสิทธิ์เจอกันได้ในรอบน็อกเอาต์ จึงต้องมีการทำนายพร้อมสำหรับทุกคู่

ต่อไปต้องเข้ารหัสกติกา และรูปแบบปี 2026 ทำให้ซับซ้อนเป็นพิเศษ ใน 12 กลุ่ม อันดับ 1–2 เข้ารอบอัตโนมัติ แต่ยังมีทีมอันดับ 3 ที่ดีที่สุด 8 ทีมเข้ารอบด้วย และตำแหน่งน็อกเอาต์ของทีมอันดับ 3 เหล่านั้นขึ้นอยู่กับว่ามาจากกลุ่มใด

มี 495 วิธีในการเลือก 8 กลุ่มจาก 12 กลุ่ม (สิบสองเลือกแปด) และแต่ละวิธีให้คู่ประกบรอบ 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 ระบุว่าทีมอันดับ 3 ที่ผ่านเข้ารอบมาจากกลุ่มใดบ้าง และค่าจะแมปทีมเหล่านั้น (3E, 3F เป็นต้น) ไปยังหมายเลขแมตช์รอบ 32 ทีมสุดท้ายที่กำหนด นี่คือตัวอย่างหนึ่ง รายการเต็มทำซ้ำ 495 ครั้ง ครั้งละหนึ่งคอมบิเนชัน

สามชาติเจ้าภาพ (สหรัฐฯ แคนาดา เม็กซิโก) ต้องจัดการพิเศษหนึ่งอย่าง เมื่อเจ้าภาพเตะในประเทศตนเอง การจำลองจะปรับอคติเจ้าบ้านสำหรับนัดนั้น ขณะที่แมตช์อื่นถือเป็นสนามกลาง

เมื่อได้การทำนายและกติกา การจำลองจะวิ่งทั้งทัวร์นาเมนต์ 10,000 ครั้ง ในแต่ละครั้ง ทำตามขั้นตอนนี้:

  1. สุ่มสกอร์ของทุกแมตช์โดยจับจำนวนประตูเหย้า–เยือนจากการกระจายที่โมเดลทำนาย
  2. เล่นรอบแบ่งกลุ่มตามกฎคะแนนและตัวตัดสินจริง
  3. ตัดสินตารางทีมอันดับสามที่ดีที่สุด
  4. เติมสายประกบน็อกเอาต์จากแมปปิงด้านบน
  5. เล่นไปจนได้แชมป์หนึ่งทีม

ในบรรดาทัวร์นาเมนต์จำลอง 10,000 รายการ สัดส่วนครั้งที่ทีมหนึ่งไปถึงรอบชิงหรือคว้าแชมป์จะกลายเป็นความน่าจะเป็นของทีมนั้น การวิ่งครั้งเดียวคือการเดา การวิ่งหมื่นครั้งคือพยากรณ์

ติดตามทั้งหมดด้วย MLflow

การรันทุกครั้งที่กล่าวมา ในทั้งสองโหมด ถูกบันทึกลง MLflow (โฮสต์บน DagsHub) การติดตามการทดลองคือการบันทึกอินพุต การตั้งค่า ผลลัพธ์ และเอาต์พุตของแต่ละรันอย่างเป็นระบบ เพื่อให้เปรียบเทียบกันหรือนำมาทำซ้ำได้ตรงตัว มีหลายอย่างที่ควรกล่าวถึง:

  • ความทำซ้ำได้. การจำลองใช้ seed แบบสุ่มคงที่ที่ได้มาจากรอบของทัวร์นาเมนต์ และใช้ seed เดียวกันทั้งโหมดแช่แข็งและต่อรอบ หมายความว่าแตกต่างใด ๆ ระหว่างสองโหมดมาจากตัวโมเดลเอง ไม่ใช่ดวงภายในจำลอง แต่ละรันยังบันทึกสแน็ปช็อตข้อมูลที่เห็น (จำนวนแถว Gold และเวลา) เพื่อไล่ที่มาของผลลัพธ์กลับไปยังอินพุตได้เสมอ
  • การทดลอง. แต่ละรันติดแท็กโหมด (แช่แข็งหรืออต่อรอบ) และสถานะในวงจรชีวิต ตั้งแต่เชิงทดลองและ QA ไปจนถึงการอนุมานสดและการฟิตใหม่ สะท้อนโฟลว์การโปรโมตจากส่วนก่อนหน้า
  • การเปรียบเทียบ. บันทึก RPS บนชุดกันไว้เป็นเมตริกคัดเลือก พร้อมการอ้างอิงไปยังรันของแชมป์ปัจจุบันเพื่อดูสายสัมพันธ์ บันทึกเวลาในการฟิตด้วย ซึ่งทำให้เห็นชัด ๆ ว่าโมเดลแบบเบย์ฝึกช้ากว่าราว 100 เท่า

โมเดลที่ฝึกแล้วและไฟล์การทำนายเอง (ความน่าจะเป็นของทัวร์นาเมนต์ อันดับรอบแบ่งกลุ่ม และพยากรณ์แมตช์) ถูกเก็บเป็นอาร์ติแฟกต์ของรัน และไฟล์เหล่านี้คือสิ่งที่แดชบอร์ดสดอ่าน ปิดลูปตั้งแต่ผลดิบ ผ่านการฝึกและการจำลอง ไปจนถึงตัวเลขที่เห็นออนไลน์

มอนิเตอร์การดริฟต์

ชิ้นส่วนสุดท้ายรันเมื่อแมตช์สิ้นสุด เมื่อผลจริงเข้ามา จะนำการทำนายที่ทำไว้มาให้คะแนนและเปรียบเทียบกับเบสไลน์อัตราเฉลี่ยง่าย ๆ หากโมเดลเต็มเริ่มแพ้ให้กับโมเดลที่ไม่รู้อะไรเกี่ยวกับทีม นั่นคือสัญญาณเตือนการดริฟต์: รูปแบบที่เรียนรู้ก่อนทัวร์นาเมนต์อาจไม่ตรงกับสิ่งที่เกิดขึ้นในสนามอีกต่อไป

การเฝ้าดูเช่นนี้เป็นแนวปฏิบัติมาตรฐานสำหรับระบบที่ทำนายสดใด ๆ และอ่านเพิ่มเติมเกี่ยวกับวิธีตรวจจับได้ในคู่มือนี้เกี่ยวกับ data drift และ model drift

แล้วใครจะคว้าแชมป์โลก?

หลังเครื่องไม้เครื่องมือทั้งหมด นี่คือสิ่งที่สร้างขึ้นมาเพื่อมัน

ตัวเต็ง

ณ วันที่ 10 มิถุนายน 2026 วันก่อนนัดเปิด โมเดลให้คำตัดสินที่ชัดเจนที่หัวขบวนและแน่นหนาในกลุ่มตามมา สเปนและอาร์เจนตินานำหน้าด้วยโอกาสชูถ้วยราว 16% เท่ากัน ที่แชมป์โลกปัจจุบัน (อาร์เจนตินา) และแชมป์ยุโรปปัจจุบัน (สเปน) ออกมานำหน้าถือเป็นเช็คสติว่าตัวโมเดลยืนอยู่บนความจริง

ด้านหลังคือกลุ่มไล่ล่าที่สูสี: ฝรั่งเศส อังกฤษ บราซิล และโคลอมเบีย คือผู้ชนะที่มีความเป็นไปได้มากที่สุดถัดมา ตัวเลขเหล่านี้เป็นแบบสด และจะขยับทันทีที่ผลจริงเริ่มเข้ามา จึงควรมองเป็นภาพ ณ วันที่ 10 มิถุนายน ไม่ใช่คำทำนายตายตัว แดชบอร์ดจะแสดงตัวเลขปัจจุบันเสมอ โดยหน่วงสูงสุดสองชั่วโมง

แดชบอร์ดสด

พูดถึงแล้ว: ตัวเลขทุกค่าในบทความนี้มาจากแอป Streamlit สดที่อัปเดตอัตโนมัติพร้อมการรันของไปป์ไลน์ เปิดได้ที่ wc2026-predictions.streamlit.app เพื่อติดตามทัวร์นาเมนต์ มีสี่มุมมองหลัก:

  • ภาพรวมทัวร์นาเมนต์: ทีมแต่ละทีมคาดว่าจะไปได้ไกลแค่ไหน แบบมองภาพรวม
  • อันดับรอบแบ่งกลุ่ม: สำหรับแต่ละกลุ่ม ความน่าจะเป็นที่แต่ละทีมจะจบอันดับหนึ่ง สอง สาม (แยกเป็นที่สามแล้วเข้ารอบกับที่สามแล้วตกรอบ ตามกฎทีมอันดับสามที่ดีที่สุด) หรือสี่
  • การทำนายแมตช์: สำหรับแต่ละนัดในรอบแบ่งกลุ่ม โอกาสชนะเหย้า เสมอ หรือชนะเยือน พร้อมสายประกบน็อกเอาต์ที่มีแนวโน้มที่สุด
  • คู่ประกบน็อกเอาต์ที่พบบ่อยที่สุด: คู่ที่การจำลองสร้างบ่อยที่สุด

จุดสังเกตหนึ่งในมุมมองแมตช์: บางทีมปรากฏในสองตำแหน่งที่เป็นไปได้ของรอบ 32 ทีมพร้อมกัน นั่นไม่ใช่บั๊ก เกิดขึ้นเมื่อกลุ่มสูสีจนโมเดลบอกตำแหน่งเข้ารอบของทีมหนึ่ง ๆ ได้ไม่มั่นใจนัก เมื่อรวมความไม่แน่นอนของทีมอันดับสามเข้ามา ผลสองแบบนำไปสู่ช่องประกบที่ต่างกัน สำหรับตุรกีถึงขั้นทำให้พวกเขาอยู่ในรอบ 16 ทีมถึงสองครั้ง

กราฟิกต่อไปนี้แสดงรอบสุดท้าย (ตั้งแต่รอบก่อนรองชนะเลิศจนถึงชิงชนะเลิศ) ที่โมเดล XGBoost ฉายภาพก่อนทัวร์นาเมนต์เริ่ม:

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

ทีมเหรียญเสี่ยงทาย: สหรัฐอเมริกา

ความสนุกของโมเดลแบบนี้อยู่ที่ทีมที่สวนทางกับความรู้สึก โดยตัวอย่างชัดที่สุดคือสหรัฐอเมริกา หากไปที่ภาพรวมทัวร์นาเมนต์บนแดชบอร์ด จะสังเกตเห็นว่าสหรัฐฯ โดดเด่นขึ้นมาด้วยสีทันที

ในฐานะเจ้าภาพร่วมเล่นต่อหน้าแฟนบอลในบ้าน อาจคาดหวังการออกสตาร์ทที่สบาย ๆ แต่โมเดลระมัดระวังกว่ามาก: ให้โอกาสผ่านรอบแบ่งกลุ่มเพียงราว 54.6% ซึ่งต่ำเป็นอันดับ 13 ของทั้งสนาม (อย่าลืมว่าสองในสามของทีมเข้ารอบ!) เพราะอยู่กลุ่มที่สูพลังพอ ๆ กันกับออสเตรเลีย ปารากวัย และตุรกี

ที่น่าสนใจคือสิ่งที่ตามมา เมื่อผ่านแบบเฉียด ๆ สหรัฐฯ จะอยู่แถว ๆ โอกาสเสี่ยงทายในทุกรอบถัดไป เมื่อนำการเสี่ยงทายเหล่านั้นมาต่อกัน พวกเขามีโอกาสชนะทั้งทัวร์นาเมนต์ราว 2% ซึ่งสูงเป็นอันดับ 13 จากทั้ง 48 ทีม

ทีมที่อยู่ราวอันดับ 13 จากท้ายเพื่อผ่านรอบแบ่งกลุ่ม แต่ราวอันดับ 13 จากหัวเพื่อคว้าแชมป์ คือคำจำกัดความที่สมบูรณ์แบบของทีมเหรียญเสี่ยงทาย: ไม่เคยเป็นตัวเต็ง แต่ไม่เคยถูกตัดออก

บทส่งท้าย

โปรเจกต์นี้ใช้แรงไม่น้อย และครอบคลุมมากกว่าที่บทความเดียวจะบรรจุได้ repo ยังมีอีกมากที่ไม่ได้ใส่มาที่นี่: ชุดผู้สมัครโมเดลเต็ม ฟีเจอร์เอนจิเนียริง และการจัดการที่ทำให้ทุกอย่างวิ่งต่อเนื่อง เป็นต้น

ตอนนี้โมเดลได้เลือกของมันแล้ว และทัวร์นาเมนต์จะเป็นผู้ตัดสิน ไม่ว่ามาเพราะ MLOps หรือฟุตบอล หวังว่าจะสนุกกับการติดตามไปพร้อมกัน เปิดดู พยากรณ์สด ขณะผลการแข่งขันไหลมา และดูว่าการทำนายจะยืนระยะได้ดีแค่ไหน

หากอยากเจาะลึกแนวคิดบางส่วนที่กล่าวถึง แนะนำคอร์ส MLOps Concepts ของเรา

หัวข้อ

คอร์สแมชชีนเลิร์นนิงยอดนิยม

Courses

Understanding Machine Learning

2 ชม.
292.4K
An introduction to machine learning with no coding involved.
ดูรายละเอียดRight Arrow
เริ่มหลักสูตร
ดูเพิ่มเติมRight Arrow