Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp "Xây dựng mô hình dự đoán kết quả thi đấu bóng đá" (Building a football match result prediction model) do sinh viên Văn Cặp Hùng thực hiện dưới sự hướng dẫn của ThS. Phạm Thế Sơn tại Khoa Khoa học và Kĩ thuật Thông tin, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh (năm 2021), thuộc ngành Công nghệ Thông tin.

Lý do chọn đề tài và bối cảnh thực tiễn

Bóng đá là môn thể thao thu hút lượng khán giả đông đảo trên toàn cầu, kéo theo nhu cầu dự đoán chính xác kết quả các trận đấu ngày một gia tăng. Về mặt bản chất, việc dự đoán kết quả thi đấu thể thao nói chung và bóng đá nói riêng là một nhiệm vụ phức tạp do tính bất ngờ cao, nơi các đội bóng bị đánh giá yếu hơn vẫn có khả năng giành chiến thắng trước các đội bóng mạnh. Cùng với sự phát triển của lĩnh vực trí tuệ nhân tạo, cụ thể là các kỹ thuật học máy (Machine Learning - ML), việc dự báo kết quả trận đấu dựa trên dữ liệu lịch sử trở nên khả thi hơn. Hệ thống dự đoán này hướng đến việc hỗ trợ người dùng theo dõi và tham gia dự đoán với độ chính xác cao hơn, đồng thời cung cấp thông tin tham khảo giúp ban huấn luyện các đội bóng đánh giá đối thủ để điều chỉnh chiến lược thi đấu phù hợp.

Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu tổng quát của đề tài là xây dựng và lựa chọn mô hình máy học tối ưu để dự đoán kết quả thi đấu bóng đá quốc tế với ba nhãn phân loại: thắng (win), hòa (draw) và thua (lose), sau đó trực quan hóa kết quả thông qua một giao diện web. Cụ thể, các nhiệm vụ nghiên cứu được triển khai theo các bước:

  1. Thu thập, làm sạch và xử lý bất nhất quán trên các bộ dữ liệu bóng đá, bảng xếp hạng và tỷ lệ cược.
  2. Thiết kế và tạo mới các thuộc tính đặc trưng (feature engineering) phản ánh lịch sử đối đầu, phong độ gần nhất, lợi thế sân bãi, chênh lệch thứ hạng và tỷ lệ cá cược.
  3. Ứng dụng phân tích dữ liệu khám phá (EDA) và các phương pháp chọn lọc đặc trưng (feature selection) để xác định tập thuộc tính có ý nghĩa thống kê cao nhất.
  4. Huấn luyện, đánh giá và so sánh 6 mô hình phân loại học máy thông qua kỹ thuật kiểm chứng chéo (Cross-validation) để tìm ra mô hình có độ chính xác trung bình cao nhất.
  5. Xây dựng một ứng dụng web tĩnh và triển khai lên máy chủ nhằm minh họa kết quả dự đoán các trận đấu tiếp theo.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: 6 thuật toán học máy phân loại gồm Cây quyết định (Decision Tree), Rừng ngẫu nhiên (Random Forest), Hồi quy Logistic (Logistic Regression), AdaBoost (ADA Boost), Gradient Boosting và Mạng nơ-ron nhân tạo (Neural Network).
  • Phạm vi không gian: Các trận thi đấu bóng đá quốc tế giữa các đội tuyển quốc gia trên phạm vi toàn cầu.
  • Phạm vi thời gian: Dữ liệu thực nghiệm chính thức được chọn lọc gồm các trận đấu diễn ra từ tháng 2 năm 2005 đến tháng 3 năm 2021 (tập dữ liệu 10.237 trận). Ngoài ra, dữ liệu đối đầu lịch sử được truy xuất ngược về năm 1990 để tính toán chỉ số đối đầu trực tiếp.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và mô hình sử dụng

Đề tài vận dụng các khái niệm và kỹ thuật thuộc lĩnh vực khoa học dữ liệu và học máy:

  • Phân tích dữ liệu khám phá (EDA): Dùng để hiểu cấu trúc dữ liệu, kiểm tra tính mất cân bằng dữ liệu (Data Imbalance), phân tích tương quan đặc trưng (Features correlation qua Heatmap, Pairplot), phân tích phân phối dữ liệu (Data distribution qua Histogram) và phát hiện các điểm bất thường.
  • Các mô hình học máy phân loại:
    • Decision Tree: Phân loại bằng cấu trúc cây nhị phân (gốc, cành, lá) sử dụng chỉ số tạp chất Gini (Gini impurity).
    • Random Forest: Mô hình kết hợp nhiều cây quyết định hoạt động độc lập và bình đẳng để bỏ phiếu kết quả.
    • ADA Boost: Mô hình boosting sử dụng chuỗi các gốc cây (stump) với trọng số (weight) phụ thuộc vào tổng số lỗi dự đoán (total error).
    • Gradient Boost: Xây dựng chuỗi các cây quyết định hoàn chỉnh bị giới hạn số lá (từ 8 đến 32 lá) với cùng một tốc độ học (learning rate).
    • Logistic Regression: Phân loại xác suất thông qua hàm sigmoid dạng chữ S.
    • Neural Network: Mạng nơ-ron nhiều lớp học các hàm phi tuyến tính phức tạp thông qua thuật toán lan truyền ngược (backpropagation).
  • Cơ sở thống kê học:
    • Kiểm định t (T-test): Đánh giá sự khác biệt có ý nghĩa thống kê giữa giá trị trung bình mẫu ($\bar{Z}$) và giá trị trung bình giả thuyết ($\mu_0$) thông qua chỉ số $t$-value: $$t = \frac{\bar{Z} - \mu_0}{S / \sqrt{n}}$$ (trong đó $S$ là độ lệch chuẩn và $n$ là kích thước mẫu).
    • Kiểm định giả thuyết: Kiểm tra giả thuyết không ($H_0$) và giả thuyết thay thế ($H_a$), dựa trên mức ý nghĩa $p$-value $\le 0.05$ để chọn lọc các thuộc tính có ảnh hưởng thực sự đến biến kết quả.
  • Mô hình tính điểm xếp hạng của FIFA: Công thức tính điểm tích lũy sau mỗi trận đấu: $$P = P_{before} + I \times (W - W_e)$$ Trong đó: $P_{before}$ là điểm trước trận; $I$ là hệ số tầm quan trọng (giao hữu $I=10$, Nations League $I=15-25$, vòng loại World Cup $I=25$, World Cup $I=50-60$); $W$ là kết quả ($W=1$ khi thắng, $0.5$ khi hòa, $0$ khi thua); $W_e$ là kết quả kỳ vọng: $$W_e = \frac{1}{10^{-dr/600} + 1}$$ với $dr = P_{before}(\text{đội 1}) - P_{before}(\text{đội 2})$.

Phương pháp nghiên cứu thực tế

  • Thu thập dữ liệu: Khai thác dữ liệu thứ cấp có sẵn kết hợp cào dữ liệu web tự động (web scraping) bằng công cụ Octoparse trên trang Oddsportal.com.
  • Tiền xử lý và tạo đặc trưng: Lập trình giải thuật tính toán thuộc tính chuỗi thời gian bằng thư viện openpyxl của Python; sử dụng tiện ích Ablebits trên Excel để gộp dữ liệu dựa trên các khóa liên kết (tên đội bóng, ngày thi đấu).
  • Lựa chọn đặc trưng: Kết hợp phương pháp Wrapper (Loại bỏ đặc trưng đệ quy - RFE), phương pháp Filter (dựa trên phương sai - Variance và hệ số tương quan - Correlation), phương pháp Intrinsic và kiểm định giá trị $p$-value kết hợp biểu đồ hộp (Boxplot).
  • Đánh giá mô hình: Áp dụng phương pháp kiểm chứng chéo 10 phần (10-fold Cross-validation) và so sánh hiệu năng với các mô hình đường cơ sở (baseline models).

Nguồn dữ liệu sử dụng

Bộ dữ liệu Mô tả Quy mô và phạm vi thời gian
Dataset 1 Kết quả thi đấu bóng đá quốc tế 42.084 trận (từ 11/1872 đến 03/2021)
Dataset 2 Bảng xếp hạng FIFA theo ngày Cập nhật định kỳ từ 12/1992 đến 04/2021
Dataset 3 Tỷ lệ cá cược của 32 nhà cái 479.440 trận đấu (từ 01/2005 đến 07/2015)
Dữ liệu bổ sung 1 Tỷ lệ cược cào từ Oddsportal.com 24 giải đấu quốc tế (giai đoạn 2015 - 2021)
Dữ liệu bổ sung 2 Mã sân bay thế giới (Datahub) 57.421 sân bay (sử dụng 2 trường ident và municipality)

Nội dung chính theo từng chương

Chương 1. Mở đầu

Chương 1 thiết lập khung nghiên cứu tổng thể của đề tài. Tác giả nêu bật lý do chọn đề tài dựa trên nhu cầu dự đoán thể thao trong bối cảnh công nghệ học máy phát triển. Mục đích cốt lõi là xây dựng mô hình máy học dự đoán kết quả trận đấu bóng đá quốc tế, lựa chọn mô hình chính xác nhất qua kiểm chứng chéo và minh họa trên trang web. Đối tượng nghiên cứu là 6 mô hình phân loại học máy (Decision Tree, Logistic Regression, Random Forest, Gradient Boosting Tree, ADA Boost Tree, Neural Network). Phạm vi dữ liệu thực nghiệm được giới hạn trong các trận đấu quốc tế từ tháng 2/2005 đến tháng 3/2021. Khóa luận được bố cục thành 6 chương logic.

Chương 2. Tổng quan

Chương 2 cung cấp nền tảng lý thuyết và tổng quan các công trình liên quan:

  • Trình bày khái quát về ngành khoa học dữ liệu và vai trò mở đầu của kỹ thuật phân tích dữ liệu khám phá (EDA) trong việc xử lý lỗi, phát hiện dị biệt và chọn lọc biến.
  • Giới thiệu cấu trúc toán học và cơ chế vận hành của 6 thuật toán học máy: cơ chế phân nhánh của Decision Tree; kỹ thuật kết hợp cây bình đẳng trong Random Forest; cơ chế cập nhật trọng số gốc cây của ADA Boost; thuật toán Gradient Boost tối ưu chuỗi cây theo learning rate; mô hình Logistic Regression với đường cong sigmoid; và cấu trúc mạng nơ-ron điều chỉnh trọng số qua backpropagation.
  • Giải thích phương pháp kiểm chứng chéo (Cross-validation) chia dữ liệu thành các fold (thường là 10 fold) để đo lường độ chính xác trung bình khách quan.
  • Hệ thống hóa lý thuyết kiểm định thống kê $t$-test, khái niệm tỷ lệ tín hiệu/nhiễu qua $t$-value, giả thuyết không ($H_0$), và quy tắc sử dụng $p$-value $\le 0.05$ để xác định các thuộc tính có ý nghĩa phân loại thực sự.
  • Tổng thuật 3 công trình nghiên cứu đi trước gồm: Herbinet (Imperial College London), Bunker & Thabtah (ScienceDirect) và Linh Truong (dự đoán FIFA World Cup 2018).

Chương 3. Xây dựng các mô hình dự đoán

Chương 3 là phần trọng tâm về kỹ thuật xử lý và tạo lập dữ liệu:

  • Thống kê mô tả dữ liệu gốc: Bộ dữ liệu 1 (42.084 trận) có home_score trung bình 1,18 (giá trị mode là 1, lớn nhất 31) và away_score có giá trị mode là 0 (lớn nhất 21). Bộ dữ liệu 2 thể hiện thứ hạng FIFA dao động từ 1 đến 211 (trung bình 101,93; điểm số tối đa 2172). Bộ dữ liệu 3 lưu trữ tỷ lệ cược của 32 nhà cái trên 479.440 trận.
  • Tiền xử lý dữ liệu:
    • Bất nhất quán (Data Inconsistency): Xử lý xung đột tên quốc gia (như Myanmar/Burma, DR Congo/Congo, China/PR China) bằng công cụ tự động của Google Docs. Xung đột định dạng ngày (dấu - trước 1990 và dấu / từ 1990 trở về sau) được loại trừ do phạm vi chọn lọc từ năm 2005.
    • Dữ liệu khuyết (Missing Data): Bộ dữ liệu 1 và 2 hoàn chỉnh. Bộ dữ liệu 3 thiếu cục bộ ở một số trận chênh lệch lớn không có nhà cái mở cược, được xử lý bằng cách lọc bỏ dòng lỗi.
  • Kỹ thuật tạo thuộc tính mới: Lập trình Python với thư viện openpyxl để trích xuất 7 thuộc tính từ Dataset 1:
    • Nhóm đối đầu (Head-to-Head): h2h_win_diff (chênh lệch số trận thắng khi đối đầu trực tiếp từ năm 1990) và h2h_draw (số trận hòa trong lịch sử đối đầu).
    • Nhóm phong độ (Form): Tính toán trên 10 trận gần nhất gồm form_diff_goal (chênh lệch bàn thắng ghi được), form_diff_goaled (chênh lệch bàn thua phải nhận), form_diff_win (chênh lệch số trận thắng) và form_diff_draw (chênh lệch số trận hòa).
    • Nhóm sân nhà: is_home_team (nhận giá trị 1 nếu đội 1 là chủ nhà, -1 nếu đội 2 là chủ nhà, 0 nếu đá sân trung lập).
    • Biến mục tiêu: result (nhận 3 nhãn: win, draw, lose dựa trên tỷ số).
  • Tích hợp xếp hạng FIFA: Gộp thuộc tính từ Dataset 2 qua Ablebits để tính rank_diff (hạng đội 1 trừ hạng đội 2). Lượng dữ liệu thiếu chiếm tỷ lệ nhỏ (<0,3%) được thay thế bằng giá trị trung bình là 77.
  • Tích hợp tỷ lệ cược nhà cái: Tạo thuộc tính odd_diff_win (hiệu số tỷ lệ cược thắng giữa hai đội) và odd_draw. Dữ liệu giai đoạn 2015–2021 được cào bổ sung từ Oddsportal qua Octoparse cho 24 giải đấu quốc tế. Tỷ lệ khuyết chiếm 34% (3.485 trên 10.237 trận), được tác giả xác định là khuyết ngẫu nhiên hoàn toàn (MCAR) và xử lý bằng phương pháp gán giá trị nhân tạo -99 (nhằm thích ứng tốt với các mô hình dạng cây).
  • Thử nghiệm và loại bỏ dữ liệu thời tiết: Tác giả liên kết 57.421 mã sân bay từ Datahub với địa điểm tổ chức trận đấu để cào 10 trường thời tiết (nhiệt độ, độ ẩm, gió, áp suất...) trên trang Wunderground bằng Octoparse. Kết quả thu được tỷ lệ khuyết lên tới 93% (chỉ có dữ liệu ở 726/10.237 trận) do nhiều sân vận động không gần sân bay hoặc các thành phố có nhiều sân bay gây mất thông tin khi gộp. Do đó, nhóm thuộc tính thời tiết bị loại bỏ hoàn toàn.
  • Lựa chọn đặc trưng: Thực hiện kiểm định p-value, RFE, Filter (Variance, Correlation) để đánh giá mức độ tương quan và phân phối của các biến h2h_win_diff, h2h_draw, form_diff_goal, form_diff_goaled, form_diff_win, form_diff_draw, rank_diff, odd_diff_win, odd_draw, is_home_team trước khi đưa vào mô hình.

Chương 4. Thực nghiệm và đánh giá

Chương 4 thiết lập cấu hình máy thực nghiệm và triển khai đánh giá:

  • Tiến hành chạy kiểm chứng chéo trên tập dữ liệu cuối cùng cho cả 6 mô hình học máy.
  • So sánh chỉ số độ chính xác giữa các thuật toán với nhau và đối chiếu trực tiếp với các mô hình đường cơ sở (baseline models) để chọn ra thuật toán phân loại có độ chính xác cao nhất phục vụ triển khai thực tế.

Chương 5. Minh họa kết quả dự đoán

Chương 5 hiện thực hóa kết quả nghiên cứu thành sản phẩm ứng dụng:

  • Xây dựng quy trình xử lý dữ liệu đầu vào cho các trận đấu sắp diễn ra.
  • Thiết kế giao diện trang web tĩnh hiển thị kết quả dự đoán.
  • Triển khai toàn bộ trang web lên hệ thống máy chủ và khởi tạo mã phản hồi nhanh (QR code) để hỗ trợ người dùng truy cập.

Chương 6. Kết luận và hướng phát triển

Chương 6 tổng kết các kết quả đạt được về mặt phương pháp luận xử lý dữ liệu và xây dựng mô hình; đồng thời chỉ ra các điểm còn tồn tại và vạch ra định hướng mở rộng nghiên cứu trong tương lai.


Thiết kế và triển khai

Phần mềm minh họa trong khóa luận được thiết kế dưới dạng ứng dụng web hiển thị kết quả dự báo:

  • Công nghệ xây dựng: Giao diện trang web được lập trình bằng các công nghệ web cơ bản gồm HTML, CSS và JavaScript.
  • Kiến trúc dữ liệu: Dữ liệu dự đoán từ mô hình học máy được trích xuất và định dạng để cấp phát dữ liệu tĩnh trực tiếp lên giao diện trang web.
  • Chức năng hiển thị: Trang web cung cấp bảng danh sách các trận đấu quốc tế kế tiếp kèm theo dự đoán xác suất hoặc kết quả phân loại (thắng/hòa/thua) tương ứng.
  • Môi trường triển khai: Hệ thống web được tải lên và lưu trữ trên máy chủ để người dùng truy cập trực tuyến. Khóa luận cung cấp kèm theo hình ảnh giao diện web và mã QR code để quét đường dẫn truy cập trực tiếp.

Kết quả và đóng góp

Kết quả chính

  • Xây dựng thành công tập dữ liệu thực nghiệm chuẩn hóa gồm 10.237 trận đấu quốc tế giai đoạn 2005–2021 với đầy đủ các thuộc tính trích xuất từ dữ liệu lịch sử đối đầu, bảng xếp hạng và tỷ lệ cược.
  • Đề xuất và tính toán thành công 9 thuộc tính dẫn xuất có giá trị phân loại:
    • Lịch sử đối đầu: h2h_win_diff, h2h_draw.
    • Phong độ 10 trận gần nhất: form_diff_goal, form_diff_goaled, form_diff_win, form_diff_draw.
    • Tương quan sức mạnh và sân bãi: rank_diff, is_home_team.
    • Thị trường cá cược: odd_diff_win, odd_draw.
Chỉ tiêu / Thành phần dữ liệu Dữ liệu ghi nhận trong văn bản
Quy mô tập thực nghiệm chính thức 10.237 trận đấu quốc tế (tháng 2/2005 – tháng 3/2021)
Thuộc tính chênh lệch thứ hạng FIFA (rank_diff) Tỷ lệ khuyết <0,3%; giá trị trung bình gán bù (impute): 77
Thuộc tính tỷ lệ cược nhà cái (odd_diff_win, odd_draw) 3.485 trận bị khuyết (~34%); giá trị gán mã hóa: -99
Dữ liệu thời tiết trên sân 93% bị khuyết (chỉ có 726/10.237 trận có dữ liệu) $\rightarrow$ Đã loại bỏ
Số lượng giải đấu cào từ Oddsportal 24 giải đấu bóng đá quốc tế
Số lượng mô hình phân loại đánh giá 6 mô hình: Decision Tree, Random Forest, ADA Boost, Gradient Boost, Logistic Regression, Neural Network

Giải pháp và đóng góp của tác giả

  • Quy trình kết hợp đa nguồn dữ liệu: Tác giả kết hợp thành công ba nguồn dữ liệu độc lập (kết quả thi đấu, thứ hạng FIFA, tỷ lệ cược nhà cái) thông qua kỹ thuật ghép nối khóa thời gian và tên đội bóng.
  • Phương pháp xử lý dữ liệu khuyết đặc thù: Phân biệt rõ giải pháp xử lý dữ liệu khuyết tỷ lệ nhỏ bằng giá trị trung bình (<0,3% ở biến thứ hạng) và dữ liệu khuyết tỷ lệ lớn ngẫu nhiên bằng cách gán giá trị đặc trưng nằm ngoài miền (-99 ở tỷ lệ cược) để phù hợp với mô hình cây.
  • Kiểm nghiệm thực nghiệm đối với biến thời tiết: Khóa luận chứng minh việc thu thập dữ liệu thời tiết sân vận động thông qua mã sân bay trên quy mô toàn cầu tạo ra tỷ lệ khuyết quá lớn (93%), từ đó đưa ra quyết định loại bỏ để bảo toàn độ chính xác cho mô hình.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận

  • Dữ liệu tỷ lệ cược còn khuyết khoảng 34% (3.485 trận) do tính chất của các trận đấu quá chênh lệch khiến nhà cái không mở kèo, dẫn đến việc phải sử dụng giá trị nhân tạo (-99) để thay thế.
  • Kỹ thuật thu thập dữ liệu thời tiết dựa vào mã định danh sân bay lân cận gặp thất bại lớn với 93% dữ liệu bị mất, do các trạm quan trắc không bao phủ hết địa điểm thi đấu hoặc xảy ra xung đột khi một thành phố có nhiều sân bay.
  • Phạm vi nghiên cứu chỉ giới hạn ở cấp độ đội tuyển quốc gia trong giai đoạn 2005–2021, chưa mở rộng sang cấp độ các câu lạc bộ chuyên nghiệp.

Hướng nghiên cứu tiếp

  • Khắc phục bài toán dữ liệu thời tiết bằng cách sử dụng thuật toán tính toán tọa độ địa lý để tìm trạm khí tượng gần nhất thay vì ánh xạ qua tên thành phố và mã sân bay.
  • Mở rộng tập dữ liệu sang các giải vô địch quốc gia cấp câu lạc bộ và các giải đấu cúp liên lục địa.
  • Tối ưu hóa các siêu tham số (hyperparameters) trên các mô hình phân loại để nâng cao hơn nữa độ chính xác dự báo.

Giá trị tham khảo

  • Đối tượng tham khảo: Tài liệu là nguồn tham khảo trực tiếp cho sinh viên, học viên ngành Khoa học Dữ liệu, Trí tuệ Nhân tạo và Công nghệ Thông tin đang thực hiện đồ án, khóa luận về khai phá dữ liệu thể thao hoặc các bài toán phân loại đa lớp có dữ liệu dạng bảng (tabular data).
  • Nội dung có giá trị ứng dụng cao:
    • Quy trình kỹ thuật trích xuất đặc trưng (Feature Engineering) cho dữ liệu thi đấu thể thao chuỗi thời gian (cách viết thuật toán duyệt ngược để tính phong độ 10 trận gần nhất và lịch sử đối đầu bằng thư viện openpyxl).
    • Kỹ thuật tiền xử lý dữ liệu bất nhất quán về mặt ngữ nghĩa (chuẩn hóa tên quốc gia bằng gợi ý tự động) và chiến lược xử lý dữ liệu khuyết phân tầng (phương pháp gán trung bình so với gán nhãn đặc biệt cho mô hình cây).
    • Phương pháp xây dựng bộ chọn lọc đặc trưng kết hợp giữa các kiểm định thống kê cổ điển ($p$-value, t-test) và thuật toán học máy hiện đại (RFE, Filter, Intrinsic).

Câu hỏi thường gặp

1. Tại sao tác giả quyết định loại bỏ nhóm thuộc tính thời tiết khỏi bộ dữ liệu huấn luyện?

Nhóm thuộc tính thời tiết (gồm 10 chỉ số như nhiệt độ, độ ẩm, áp suất, gió...) sau khi cào dữ liệu từ Wunderground chỉ thu thập được 726 dòng hợp lệ trên tổng số 10.237 trận đấu, tương đương tỷ lệ khuyết dữ liệu lên tới 93%. Nguyên nhân do nhiều địa điểm thi đấu không có sân bay hoặc một thành phố có nhiều sân bay dẫn đến việc mất thông tin khi ghép nối. Với tỷ lệ thiếu hụt quá cao, việc giữ lại nhóm biến này sẽ gây sai lệch nghiêm trọng cho mô hình dự đoán.

2. Thuộc tính chênh lệch thứ hạng FIFA (rank_diff) được tính toán và bù đắp dữ liệu khuyết bằng cách nào?

rank_diff được tính bằng thứ hạng của đội 1 trừ đi thứ hạng của đội 2 tại thời điểm diễn ra trận đấu (dữ liệu lấy từ Dataset 2 gộp vào Dataset 1 qua công cụ Ablebits). Đối với các trận đấu bị thiếu thông tin xếp hạng (chiếm tỷ lệ nhỏ dưới 0,3%), tác giả thực hiện gán bù dữ liệu (impute) bằng giá trị trung bình là 77. Khi cả hai đội đều thiếu xếp hạng, việc gán giá trị trung bình khiến rank_diff bằng 0, tạo điều kiện thuận lợi cho các mô hình dạng cây xử lý.

3. Tác giả thu thập và xử lý dữ liệu tỷ lệ cược của nhà cái giai đoạn 2015–2021 như thế nào?

Do Dataset 3 chỉ lưu trữ tỷ lệ cược đến tháng 7/2015, tác giả đã lập danh sách 24 giải đấu bóng đá quốc tế trên trang Oddsportal.com và sử dụng công cụ Octoparse để cào bổ sung dữ liệu tỷ lệ cược giai đoạn 2015–2021. Đối với 3.485 trận bị khuyết tỷ lệ cược (chiếm khoảng 34% tổng dữ liệu), tác giả xử lý bằng cách gán giá trị nhân tạo -99 (một giá trị nằm ngoài miền giá trị thực tế của thuộc tính) để các mô hình dạng cây nhận diện được điểm khuyết mà không làm mất các thông tin khác trong cùng dòng.

4. Nhóm thuộc tính phong độ (form) của các đội bóng được định nghĩa và lập trình ra sao?

Nhóm phong độ gồm 4 chỉ số: form_diff_goal (chênh lệch số bàn thắng ghi được), form_diff_goaled (chênh lệch số bàn thua phải nhận), form_diff_win (chênh lệch số trận thắng) và form_diff_draw (chênh lệch số trận hòa). Các thuộc tính này được tính toán dựa trên kết quả thi đấu trong 10 trận gần nhất của mỗi đội trước ngày diễn ra trận đấu, thông qua thuật toán duyệt vòng lặp được lập trình bằng thư viện openpyxl trong Python.

5. Những mô hình học máy nào được đưa vào thực nghiệm và tiêu chí nào dùng để lựa chọn mô hình tối ưu?

Khóa luận đưa vào thử nghiệm 6 thuật toán học máy phân loại: Decision Tree, Random Forest, ADA Boost, Gradient Boost, Logistic Regression và Neural Network. Tiêu chí để đánh giá và chọn ra mô hình tốt nhất là độ chính xác trung bình (average accuracy) thu được thông qua phương pháp kiểm chứng chéo 10 phần (10-fold Cross-validation), đồng thời đối chiếu hiệu năng với các mô hình đường cơ sở (baseline models).


Kết luận

Khóa luận tốt nghiệp của sinh viên Văn Cặp Hùng đã hoàn thành trọn vẹn quy trình xây dựng mô hình học máy dự đoán kết quả thi đấu bóng đá quốc tế từ dữ liệu thực nghiệm 10.237 trận đấu giai đoạn 2005–2021. Đề tài thể hiện tính chặt chẽ trong việc xử lý dữ liệu bất nhất quán, trích xuất đặc trưng đa chiều từ phong độ, lịch sử đối đầu, bảng xếp hạng FIFA và tỷ lệ cược nhà cái, đồng thời loại trừ dữ liệu thời tiết không đạt chuẩn thông qua kiểm định thống kê. Hệ thống 6 mô hình phân loại được kiểm chứng chéo khách quan và kết quả dự đoán được tích hợp minh họa trực quan trên nền tảng web tĩnh, tạo nên một tài liệu tham khảo có giá trị ứng dụng thực tiễn cao cho lĩnh vực khoa học dữ liệu thể thao.