Phân tích thể thao: Cách tôi dự đoán trận chung kết EURO 2024

Những thách thức trong việc dự đoán kết quả bóng đá

Khi tôi 14 tuổi, tôi đã đặt cược bóng đá đầu tiên vào đội vô địch World Cup 2010. Chỉ dựa vào trực giác, tôi đoán từng trận và đặt cược vào hai đội lọt vào chung kết: Hà Lan và Tây Ban Nha. Cuối cùng, hai đội đó đã vào chung kết – tôi vui mừng vì dự đoán của mình đã thành hiện thực.

14 năm sau, tôi tìm một dự án để nâng cao kỹ năng Python và machine learning, dẫn đến dự án dự đoán EURO 2024. Mục tiêu chính của tôi là dự đoán kết quả trận đấu (thắng, hòa, thua) và số bàn thắng của mỗi đội.

Trong bài viết này, tôi đưa ra tổng quan về dự án dự đoán EURO 2024, nêu bật các bước chính, thách thức và bài học kinh nghiệm. Để tìm hiểu chi tiết kỹ thuật, vui lòng tham khảo dự án notebook đi kèm.

Dự đoán kết quả bóng đá nổi tiếng là khó khăn do nhiều yếu tố. Trong bóng đá, phân bố thống kê số bàn thắng rất biến động. Đồng thời, có tương đối ít cơ hội ghi bàn mỗi trận so với các môn thể thao bóng đội khác, dẫn đến kết quả khó lường.

Ví dụ, bóng ném: tần suất ghi bàn thường xuyên tạo ra kết quả dễ dự đoán hơn vì số bàn thắng phản ánh khả năng tạo và ngăn chặn cơ hội khi số lần dứt điểm bình quân trong suốt trận đấu. Trong bóng đá, đôi khi chỉ cần "park the bus" trước khung thành và thực hiện một pha phản công quyết định để lật ngược tình thế.

Ngoài ra, các trận bóng đá có tính phụ thuộc đường đi cao, nghĩa là đà và kết quả thường phụ thuộc nhiều vào bàn thắng đầu tiên. Những hành động nhỏ nhưng quan trọng có thể dẫn đến bàn thắng hoặc thẻ đỏ và thay đổi cục diện trận đấu, khiến dự đoán càng khó khăn.

Sự ra đời của VAR trong những năm gần đây làm tăng thêm tính khó đoán, vì nó có thể lật ngược các quyết định quan trọng trên sân. Và đừng quên yếu tố "phong độ trong ngày" khó nắm bắt.

Chiến lược khắc phục hạn chế dữ liệu

Bên cạnh các yếu tố đã thảo luận, mô hình dự đoán của tôi cũng phải đối mặt với một số hạn chế dữ liệu bổ sung.

  • Thiếu dữ liệu cầu thủ: Không có dữ liệu chi tiết về cầu thủ, như sự tồn tại của các cầu thủ chủ chốt, chỉ số cá nhân hoặc chấn thương, mô hình có thể bỏ qua các yếu tố quan trọng ảnh hưởng đến kết quả. Mặc dù các đội tuyển quốc gia không chịu biến động của thị trường chuyển nhượng như các câu lạc bộ, nhưng thành phần đội hình thay đổi nhiều qua các năm, nên dữ liệu phản ánh điều đó sẽ có lợi.
  • Thiếu dữ liệu trong trận: Thiếu số liệu thống kê trong trận, như tỷ lệ kiểm soát bóng hay tỷ lệ chuyền bóng thành công, có thể làm giảm khả năng dự đoán chính xác. Các dữ liệu như phút và đội ghi bàn đầu tiên cũng giúp lần ra các mẫu hình liên quan đến tính phụ thuộc đường đi.

Để giải quyết các vấn đề với dữ liệu sử dụng, đã áp dụng một số chiến lược:

Điền dữ liệu thiếu

Tôi đã điền các điểm dữ liệu thiếu nếu có thể để đảm bảo tập dữ liệu toàn diện – ví dụ, thêm đội hình chiến thuật cho các trận cần dự đoán. Vì hầu hết các đội giữ nguyên đội hình sau khi đã huấn luyện và thử nghiệm, tôi giả định mỗi đội sẽ chơi với đội hình họ sử dụng nhiều nhất trong năm trận gần đây. Điều này cho phép dự đoán trước khi công bố đội hình chính thức (chỉ một giờ trước trận).

Loại trừ hoặc thay thế đặc trưng

Khi không thể điền hoặc loại bỏ, tôi loại trừ hoặc thay thế một số đặc trưng để duy trì độ chính xác. Ban đầu, tôi muốn dự đoán hai cấp độ: dùng đặc trưng chính để dự đoán đặc trưng phụ như kiểm soát bóng và bàn thắng kỳ vọng, rồi từ đó dự đoán kết quả. Để đơn giản, tôi đã từ bỏ và thay vào đó gán cho mỗi đội hai đặc trưng dựa trên thống kê trung bình trận để đại diện cho phong cách chơi.

Loại bỏ dữ liệu thiếu

Khi không thể điền, tôi loại bỏ dữ liệu thiếu để giữ toàn vẹn tập dữ liệu. May mắn là chỉ mất một số ít quan sát, tập dữ liệu vẫn có hơn 3.000 trận để xây dựng mô hình.

Đường ống dữ liệu: Từ thu thập đến dự đoán

Sau khi giải quyết các khó khăn và hạn chế, hãy xem xét quy trình biến dữ liệu thô thành dự đoán có giá trị. Đường ống dữ liệu – xương sống của dự án – bao gồm thu thập, tiền xử lý và chuẩn bị dữ liệu để mô hình hóa, tận dụng nhiều đặc trưng chiến thuật, tâm lý và lịch sử.

Thu thập dữ liệu

Bước đầu tiên là thu thập dữ liệu trận đấu lịch sử từ nhiều nguồn, bao gồm Transfermarkt, để có thông tin toàn diện về các trận đã qua. Một hàng trong DataFrame kết quả tương ứng với một trận từ góc nhìn của một đội tham gia. Dữ liệu này được kết hợp với dữ liệu FootyStats để bao gồm các đặc trưng phong cách như kiểm soát bóng trung bình và chỉ số hiệu quả.

Kỹ thuật đặc trưng

Sau đó, dữ liệu thô được biến đổi thành các đặc trưng có ý nghĩa cho mô hình machine learning. Quá trình này bao gồm trích xuất giá trị, biến đổi biến và tính trung bình.

Cụm hiệu quả so với dễ bị tổn thương của tất cả các đội trong tập dữ liệu

Một số đặc trưng chính được xác định và sử dụng trong mô hình để tăng độ chính xác của dự đoán. Bao gồm:

  • Đội hình chiến thuật: Đội hình của cả hai đội và số tiền đạo, hậu vệ. Mục tiêu là xác định mẫu kết quả giữa các đội hình phổ biến và khả năng tấn công, phòng ngự.
  • Vị thế yêu thích/đội yếu: Suy ra từ cấp độ UEFA Nations League (và bảng xếp hạng FIFA tương ứng cho các đội ngoài châu Âu) để chỉ đội nào được kỳ vọng chơi tốt hơn.
  • Phong độ: Trung bình số bàn thắng ghi được và để thủng lưới trong năm trận gần đây cung cấp cái nhìn về mức độ tấn công và phòng ngự hiện tại của mỗi đội.
  • Phong cách chơi: Kiểm soát bóng trung bình và các cụm hiệu quả so với dễ bị tổn thương (xem biểu đồ trên) được sử dụng để nắm bắt phong cách của đội. Hiệu quả được tính bằng tỷ lệ bàn thắng trên bàn thắng kỳ vọng (xG), cả ghi và bị thủng lưới. Các cụm được gán chỉ dựa trên các đội đã vượt qua vòng loại, sau đó áp dụng cho tất cả các đội khác có ít nhất một trận trong tập dữ liệu. Lưu ý rằng giá trị có thể sai lệch đáng kể đối với các đội ngoài châu Âu do số trận hạn chế.
  • Giai đoạn: Giai đoạn giải đấu (vòng bảng hoặc loại trực tiếp) được đưa vào để tính đến các mức áp lực khác nhau. Ý tưởng là khám phá các mẫu hình trong màn trình diễn tùy theo mức độ quan trọng.
  • Bản chất đội và xu hướng dài hạn: Giả định rằng có một phần còn lại không thể giải thích được có thể nắm bắt như bản chất mỗi đội. Kết hợp với biến thời gian, đặc trưng này đại diện cho các yếu tố không được bao phủ bởi các đặc trưng khác, cung cấp cái nhìn toàn diện về hiệu suất tổng thể và xu hướng của đội.

Trước khi xây dựng mô hình, tập dữ liệu được chia thành các trận chưa đá và đã đá để phân biệt dữ liệu có nhãn và không có nhãn. Ngoài ra, chúng tôi lấy logarit của các đặc trưng phong độ lệch phải mạnh và áp dụng chuẩn hóa cùng mã hóa one-hot để đảm bảo dữ liệu ở định dạng phù hợp. Các biến đội bao gồm xu hướng dài hạn phải được chia tỷ lệ bằng MinMaxScaler để ngăn các số 0 đại diện cho các trận không có đội đó ảnh hưởng đến tỷ lệ. Tất cả các đặc trưng số khác được chuẩn hóa bằng StandardScaler.

Lựa chọn mô hình và triển khai quy trình làm việc

Để xác định mô hình hiệu quả nhất, tôi bắt đầu với một loạt mô hình machine learning rộng. Áp dụng cách tiếp cận "hộp đen", tôi khám phá các mô hình khác nhau để hiểu điểm mạnh, điểm yếu của chúng. Với mỗi mô hình, tôi sử dụng phiên bản phân loại để dự đoán kết quả và phiên bản hồi quy để dự đoán số bàn thắng của cả hai đội. Các mô hình được thử nghiệm bao gồm: Random Forest, Gradient Boosting, XGBoost, SVM, KNN, Extra Trees, AdaBoost, LightGBM, CatBoost, và Linear Regression.

Đầu tiên, tôi đặt seed (số áo cũ, số 9) để tái lập. Việc xác định nhãn và mục tiêu, xây dựng mô hình bao gồm các bước chính sau, tất cả đều so sánh hiệu suất mô hình bằng cross-validation:

  1. Đánh giá mô hình cơ sở: Tất cả các mô hình được khởi tạo, huấn luyện và đánh giá bằng Cross-Validation.
  2. Điều chỉnh siêu tham số: Tối ưu hóa tham số của từng mô hình để nâng cao hiệu suất.
  3. Lựa chọn đặc trưng đệ quy: Xác định các đặc trưng có liên quan nhất. Kỹ thuật này giúp thu hẹp các đặc trưng có tác động lớn nhất đến dự đoán, cải thiện hiệu quả và độ chính xác. Tuy nhiên, một số nhãn dự đoán tốt hơn với tất cả đặc trưng; nếu vậy, tôi sử dụng phiên bản đầy đủ.

Cuối cùng, tôi chọn các mô hình hiệu suất tốt nhất dựa trên độ chính xác trong dự đoán kết quả (thắng/thua) và RMSE trong dự đoán số bàn thắng. Tôi chọn hai mô hình cho kết quả: một cho thắng/thua, một riêng cho hòa. Sự khác biệt này là cần thiết vì các mẫu và yếu tố ảnh hưởng đến hòa khác đáng kể so với thắng/thua. Để đảm bảo xác suất cuối cùng cho ba kết quả (thắng, hòa, thua) cộng lại 100%, kết quả áp dụng mô hình sau đó được chuẩn hóa.

Áp dụng mô hình

Sử dụng các mô hình đã chọn với siêu tham số và đặc trưng tương ứng, tôi dự đoán tất cả các nhãn cho mỗi hàng. Vì mỗi trận có hai hàng (mỗi đội), chúng ta nhận được hai xác suất cho mỗi kết quả và hai số thực dự đoán bàn thắng cho mỗi đội. Các giá trị này thường không chênh lệch nhiều; nếu có, chúng tôi đánh dấu trận để lưu ý. Để giảm xuống một giá trị cho mỗi nhãn, tôi lấy trung bình của hai giá trị dự đoán.

Đối với kết quả, tôi chuẩn hóa xác suất thắng, hòa, thua để tổng bằng 100%. Tôi cũng tạo các cột bổ sung cho các tùy chọn cá cược phổ biến như "cơ hội kép". Dựa trên số bàn thắng dự đoạn dạng số thực, tôi khởi tạo phân phối Poisson và suy ra xác suất cho mỗi số bàn thắng của từng đội và cho tổng số bàn thắng trên/dưới 1.5, 2.5, 3.5, 4.5, 5.5 – những mức thường được đặt cược.

Đối với dự đoán cá nhân, tôi chọn kết quả có xác suất cao nhất. Nếu xác suất thắng của hai đội chênh lệch trong vòng 0.05, tôi coi đó là hòa. Đối với dự đoán bàn thắng, tôi chọn số bàn thắng có khả năng nhất cho mỗi đội, điều chỉnh nếu cần để khớp với kết quả dự đoán.

Để dự đoán các trận EURO tiếp theo, tôi cập nhật dữ liệu trận thô với kết quả dự đoán ban đầu. Bằng cách kết hợp các dự đoán này vào tập dữ liệu và áp dụng lại kỹ thuật đặc trưng, tôi có thể dự đoán vòng tiếp theo dựa trên diễn biến giải đấu.

Đo lường hiệu suất mô hình: Độ chính xác so với Độ chuẩn xác

Hiểu sự khác biệt giữa độ chính xác (accuracy) và độ chuẩn xác (precision) là rất quan trọng trong bối cảnh dự đoán bóng đá, đặc biệt khi xem xét ứng dụng. Lấy ví dụ về cá cược và dự đoán điểm để minh họa tầm quan trọng:

Trong cá cược thể thao: Mục tiêu là tìm các cược có lợi nhuận kỳ vọng dương. Bạn cần xác định kết quả có khả năng xảy ra và xem xét tỷ lệ cược của nhà cái. Độ chuẩn xác rất quan trọng vì nó tập trung vào tính đúng đắn của các dự đoán tích cực (ví dụ: dự đoán thắng). Độ chuẩn xác cao giúp xác định các cược bị đánh giá thấp, ảnh hưởng trực tiếp đến lợi nhuận. Lưu ý rằng các công ty cá cược có cả đội ngũ xây dựng mô hình dự đoán tinh vi hơn.

Trong cuộc thi dự đoán: Mục tiêu là đoán đúng kết quả mỗi trận. Người tham gia được điểm cho mỗi dự đoán đúng, tính tổng điểm qua nhiều trận. Độ chính xác tổng thể quan trọng hơn vì nó đo lường tần suất dự đoán đúng.

Dự đoán hòa là một ví dụ hoàn hảo về sự khác biệt. Chỉ khoảng 20% trận trong dữ liệu huấn luyện kết thúc với tỷ số hòa, khiến hầu hết mô hình đánh giá thấp xác suất hòa, thậm chí không bao giờ dự đoán hòa. Điều này dẫn đến độ chính xác cao khoảng 80% vì tất cả các trận không hòa được gắn nhãn đúng, nhưng độ chuẩn xác cho hòa bằng 0.

Kết quả hiệu suất mô hình

Hiệu suất của các mô hình thay đổi tùy theo loại dự đoán:

  • Dự đoán kết quả: CatBoost và AdaBoost là tốt nhất cho thắng/thua, đạt độ chính xác tối đa 72% và độ chuẩn xác 70%. SVC cho hòa đạt độ chính xác 79% và độ chuẩn xác 47% – xa lý tưởng nhưng là cải thiện đáng kể từ con số 0.
  • Dự đoán bàn thắng: CatBoost và Gradient Boosting cho kết quả tốt nhất, với RMSE tối thiểu 1.19 bàn và R2 tối đa 0.23. Mặc dù còn nhiều dư địa cải thiện, chúng cung cấp nền tảng vững chắc.

Vì sử dụng các mô hình khác nhau, đôi khi dự đoán kết quả và bàn thắng không khớp. Mặc dù khó so sánh điểm số phân loại và số học, tôi nghĩ công bằng khi nói rằng dự đoán kết quả thường hoạt động tốt hơn, do đó chúng được điều chỉnh theo dự đoán bàn thắng nếu xảy ra xung đột.

Phân bố bàn thắng trong tất cả các trận đã đá

Đáng chú ý là mô hình chỉ dự đoán các tỷ số 0, 1 và 2 là có khả năng nhất cho bất kỳ đội nào. Với phân bố tổng thể, điều này không có gì ngạc nhiên, nhưng cần nhớ rằng mô hình sẽ không bao giờ kỳ vọng một trận có nhiều bàn thắng.

Dự đoán trong hành động: Dự báo EURO 2024

Áp dụng mô hình vào các trận đầu tiên của EURO đã tạo ra kết quả thú vị!

Vòng bảng

Trong ba phần tư trường hợp, mô hình dự đoán đội yêu thích thắng; trong phần còn lại, kết quả dự đoán không phản ánh tỷ lệ cược. Thoạt nhìn, tỷ lệ này có vẻ hợp lý vì có một số kết quả bất ngờ. Nhưng vấn đề là: Khi nào nên đặt cược vào đội yếu? Một chiến lược là chỉ luôn đặt vào đội yêu thích, như vậy sẽ có một số kết quả bất ngờ sai, nhưng độ chính xác tổng thể khá tốt. Cố gắng đoán cả kết quả bất ngờ là cách duy nhất để tối ưu độ chính xác, nhưng rõ ràng là chiến lược khó và rủi ro hơn.

Tôi chọn cách tiếp cận rủi ro hơn, nhưng đến nay chưa mang lại lợi ích lớn. Mô hình khá không may với các bất ngờ tiềm năng, dẫn đến độ chính xác đáng thất vọng 50% cho ngày thi đấu đầu tiên. Ví dụ, mô hình dự đoán Serbia và Georgia (hai đội yếu) sẽ hòa Anh và thắng Thổ Nhĩ Kỳ, nhưng cả hai đều thua. Mặt khác, mô hình không dự đoán được các bất ngờ thực tế như Slovakia thắng Bỉ, Romania thắng 3-0 Ukraine, và Đan Mạch hòa Slovenia.

Các dự đoán sau ngày thi đấu thứ hai: Kết quả đáng ngạc nhiên nhất là ở bảng E, nơi tất cả các đội cùng có 3 điểm trước vòng cuối. Mô hình dự đoán Slovakia thắng bảng sau chiến thắng 1-0 trước Romania, vì họ đã thắng Bỉ. Slovakia sẽ đẩy đội yêu thích lớn của bảng xuống thứ hai. Mô hình thậm chí dự đoán Slovakia là bất ngờ lớn nhất của giải, thắng Áo và vào tứ kết.

Vòng loại trực tiếp

Dự đoán toàn bộ giải đặc biệt khó khăn vì thể thức các đội đứng thứ ba tốt nhất cũng vào vòng loại trực tiếp, tạo ra nhiều cặp đấu khả năng cao. Hãy xem xét các dự đoán sau đây một cách thận trọng – các cặp đấu có thể thay đổi hoàn toàn nếu chênh lệch bàn thắng của một đội thay đổi chỉ một bàn.

Các trận loại trực tiếp nhìn chung được dự đoán rất sít sao, với chiến thắng 2-0 của Tây Ban Nha trước Romania ở vòng 1/8 là trận duy nhất có chênh lệch bàn thắng kỳ vọng lớn hơn một. Các trận của Ý cực kỳ sát sao, với hòa là kết quả dự đoán cho hai trận loại trực tiếp đầu tiên. Vì đá luân lưu hiếm và không đủ dữ liệu, tôi dựa vào ký ức về thành tích luân lưu tốt của Ý và dự đoán Ý thắng Thụy Sĩ và Anh trên chấm penalty.

Cuối cùng, mô hình dự đoán Tây Ban Nha, Bồ Đào Nha, Hà Lan và Ý vào bán kết. Hà Lan và Tây Ban Nha tạo nên trận chung kết dự đoán của tôi, giống như năm 2010 – liệu lịch sử có lặp lại?

Bài học chính

Dự án này đã cung cấp một số bài học quan trọng:

  • Dự đoán kết quả bóng đá thách thức nhưng thú vị: Tính phụ thuộc đường đi cao cùng với tác động mạnh của các sự kiện nhỏ khiến dự đoán khó khăn nhưng hấp dẫn.
  • Quy trình làm việc rất quan trọng: Có một quy trình làm việc có cấu trúc ngay từ đầu giúp tiết kiệm thời gian và tạo mã sạch, dễ đọc. Cách tiếp cận này cũng đơn giản hóa việc khắc phục sự cố và nâng cao chất lượng tổng thể.

Để cải thiện dự đoán và mở rộng phạm vi dự án, có thể thực hiện một số bước:

  1. Thêm dữ liệu: Kết hợp nhiều trận đấu hơn giúp nhận diện mẫu hình giữa các đặc trưng khác nhau, tăng độ chính xác của mô hình. Tập dữ liệu lớn hơn cung cấp nền tảng toàn diện hơn.
  2. Các đặc trưng bổ sung: Thêm các đặc trưng mới có thể cung cấp thêm hiểu biết: Kinh nghiệm (số lần khoác áo quốc tế trung bình của cầu thủ) và tỷ lệ cược trước trận (phản ánh vị thế yêu thích trước trận). Tuy nhiên, tỷ lệ cược thay đổi thường xuyên, nhưng để phân tích đơn giản ai là yêu thích, đội yếu thì đủ.
  3. Mở rộng cách tiếp cận: Bao gồm dữ liệu trong trận (thống kê thời gian thực) và dữ liệu cầu thủ (chỉ số cá nhân, thể lực) có thể cải thiện độ chính xác dự đoán.

Kết luận

Bài viết này cung cấp tổng quan về các thách thức và phương pháp trong dự đoán bóng đá, nêu bật hành trình và bài học từ dự án dự đoán EURO 2024. Tích hợp khoa học dữ liệu và phân tích thể thao mang lại cơ hội thú vị cho những người đam mê và chuyên gia. Khi dự án tiếp tục phát triển, mục tiêu vẫn là tinh chỉnh các mô hình và mở rộng ứng dụng sang các giải đấu khác, đóng góp vào lĩnh vực phân tích thể thao đang phát triển.

Tin liên quan