點石成金:43年的網球數據如何變成預測市場印鈔機?

我用 95,491 場體育比賽的數據訓練了人工智慧,它的準確率達到了 85%。揭秘AI+ELO評分如何精準預測網球賽事勝負。

作者: Phosphen

編譯; Gans 甘斯,Bagel預測市場觀察

這個男人收集了過去43年所有職業網球比賽的數據,全部輸入一個機器學習模型,然後只問了一個問題:你能預測誰會贏嗎?

模型只回答了一個字:能。

隨後,它在今年的澳洲網球公開賽上,正確預測了116場比賽中的99場,準確率高達85%!

這是模型訓練中從未見過的賽事,它竟然連最終冠軍贏得的每一場比賽都預測對了。

這一切只用了一台筆記型電腦、免費的數據和開源的程式碼,出自@theGreenCoding之手。

接下來,我將完整拆解這個點石成金的項目,從原始資料到最終預測成功。這將是你見過的最令人印象深刻的AI + 預測成功案例。

起點:一個資料夾裡的43年網球數據

故事要從一份堪稱「體育數據聖杯」的資料集說起。

這份資料集涵蓋了1985年至2024年,ATP(男子職業網球總會)的每一場職業賽事紀錄。

破發點、雙誤、正手、反手、球員身高、年齡、排名、歷史交手記錄、比賽場地……ATP有史以來追蹤過的每一項逐分統計數據,應有盡有。

四十年的CSV文件,全部裝在一個資料夾裡。

當他打開完整資料集時,電腦直接崩潰了。

但他沒有放棄。針對資料集中的95,491場比賽,他額外計算了大量衍生特徵:

  • 兩位球員的歷史交手記錄

  • 年齡差、身高差

  • 最近10場、25場、50場、100場比賽的勝率

  • 一發得分率差值

  • 破發點挽救率差值

  • 一套從西洋棋借鏡的自訂ELO評分系統(關鍵點)

最終資料集:95,491行× 81列。

過去四十年的每一場職業網球賽事,配上數十個手工計算的特徵。

第二步:從泰坦尼克號借鏡的演算法

在將資料輸入分類器之前,他決定先徹底理解演算法的運作原理。為此,他用numpy 從零手寫了一個決策樹。

決策樹的工作方式類似推理遊戲——透過一系列問題逐步逼近答案。

為了說明這個概念,他選了一個完全不同的資料集:泰坦尼克號。

舉個例子:11 號乘客是否存活?

  • 問題一:TA 在頭等艙嗎? → 是的。

  • 問題二:TA 是女性嗎? → 是的。

  • 預測結果:存活。

演算法如何決定問哪些問題?

它從所有資料出發,找到最能區分「存活」和「未存活」的單一變數。在泰坦尼克號資料中,答案是艙等等級。頭等艙乘客走一邊,其他人走另一邊。

但頭等艙也有人遇難,仍存在「不純度」。演算法繼續尋找下一個最佳分割點,性別。頭等艙女性全部存活,形成「純節點」,分支到此終止。

不斷重複這個過程,直到建立出一棵覆蓋所有情況的完整決策樹。

他的numpy 手寫版在小數據集上表現良好,但用在95,000 條網球比賽數據上時,速度慢得令人崩潰。於是在正式訓練階段,他切換到sklearn 的最佳化版本,邏輯相同,但快得多。

第三步:找出決定勝負的關鍵變數

在訓練模型之前,他先將所有變數兩兩繪製成一張巨大的散佈圖矩陣(SNS pairplot),尋找能夠區分勝者與敗者的規律。

大多數特徵都是噪音。球員ID顯然沒用。勝率差值雖然呈現出一些規律,但不夠明顯,無法支撐可靠的分類器。

只有一個變數遠超其他:ELO差值(ELO_DIFF)。

ELO_DIFF和ELO_SURFACE_DIFF的散點圖清楚地展示了兩個類別之間的分離程度,其他任何特徵都無法與之相比。

這項發現促使他建構了整個專案最核心的部分。

第四步:將西洋棋評分系統引入網球

ELO 是一套評估選手技術水準的方法,最早應用於西洋棋。目前國際象棋世界第一Magnus Carlsen 的評分是2833 分。

他決定將這套系統應用在網球上:

  • 每位球員起始評分:1500 分

  • 贏球:評分上升;輸球:評分下降

核心機制:得失分多少取決於與對手的得分差距擊敗高分對手,得分更多,輸給低分對手,扣分更重

他用2023 年溫布爾頓決賽示範這套公式:卡洛斯·阿爾卡拉斯(評分2063)對陣諾瓦克·德約科維奇(評分2120),阿爾卡拉斯逆轉奪冠。

代入公式計算:阿爾卡拉斯+14 分,喬科維奇-14 分。

計算雖簡單,但應用在43 年歷史資料時,威力驚人。

第五步:三巨頭統治力的視覺化證明

他將費德勒整個職業生涯的ELO 分數繪製成曲線,從初登職業賽場到退役,每一場比賽都清晰記錄。

這條曲線完整展現了一段傳奇:早期的快速攀升、巔峰期(約第400 場比賽前後)的絕對統治,以及職業生涯後期的波動起伏。

但真正震撼的,是將費德勒與1985 年以來所有ATP 球員放在同一張圖上:

三條曲線高高矗立,遠超其他所有人-費德勒(綠)、納達爾(藍)、喬科維奇(紅)。

「大滿貫三巨頭」不只是一個稱號。當你將40 年的比賽數據視覺化後會發現,這種統治力在數學上清晰可見。

根據他的自訂ELO 系統,目前世界第一是雅尼克·辛納(2176 分),其次是德約科維奇(2096 分)和阿爾卡拉斯(2003 分)。

記住辛納排名第一這一點,這在後面至關重要。

第六步:場地是改變一切的變數

網球比賽的場地類型會徹底改變這項運動的面貌:

  • 紅土:慢速,彈跳高

  • 草地:快速,彈跳低

  • 硬地:介於兩者之間

在某種場地呼風喚雨的球員,換個場地可能完全崩潰。

所以他為三種場地分別建立了ELO 評分:紅土、草地、硬地。

結果印證了每個網球迷心知肚明的事實,並以43 年的數據作為佐證:

納達爾在紅土上的巔峰評分,超過了費德勒在草地上的最高分,超過了喬科維奇在硬地上的最高分,超過了任何人在任何場地的歷史最高峰。

14 座法網冠軍,在羅蘭加洛斯112 勝4 敗。

ELO 公式不在乎敘事,不在乎名氣,它只處理勝負記錄。而它所得出的結論,和四十年的體育新聞報道完全一致。

第七步:遇到天花板

資料準備完畢,ELO 系統建置完成,他開始訓練分類器。這個過程完美地展示了演算法選擇的重要性。

決策樹:準確率74%

單棵決策樹在完整資料集上達到了74% 的準確率。聽起來不錯——直到你發現,單純用ELO 差值預測勝者,就能達到72%。

決策樹在他已經手動建立的評分系統基礎上,幾乎沒有帶來任何提升。

隨機森林:準確率76%

單棵決策樹的問題在於「高方差」──它對訓練時剛好選到的資料子集過於敏感。標準解法是隨機森林:建立數十棵甚至上百棵決策樹,每棵用不同的隨機資料子集和特徵子集訓練,最後透過多數票決定預測結果。

94 棵各不相同的決策樹,共同為每場比賽投票。

結果是76%。有所提升,但他撞上了天花板。無論怎麼調整超參數、重新設計特徵、折騰數據,準確率就是過不了77%。

第八步:突破天花板

接著他嘗試了XGBoost——他稱之為「隨機森林的類固醇版本」。

核心差異在於:隨機森林並行建樹後取平均,而XGBoost串列建樹-每棵新樹專門修正前面所有樹的錯誤。它引入了正則化防止過擬合,並刻意保持每棵樹的小規模,避免死記硬背訓練資料。

結果:準確率85%。

相較於隨機森林76%的天花板,這是巨大的突破。同樣的數據,同樣的特徵,唯一改變的是演算法。

XGBoost同樣認為最重要的三個特徵是:ELO差值、場地專案ELO差值、整體ELO。這套從西洋棋借來的評分系統,在81列特徵中被驗證為最強預測因子。

作為對比,他用同樣的數據訓練了一個神經網絡,準確率83%。雖然不錯,但仍輸給XGBoost。在這個資料集上,基於樹的方法獲勝。

第九步:決戰時刻-2025 年澳洲網球公開賽

以上所有內容,都基於2024 年12 月之前的資料訓練。

2025 年1 月的澳洲網球公開賽完全不在訓練集中,這使它成為完美的測試場:模型究竟掌握了網球的真正規律,還是只會記憶歷史模式?

他將完整的賽事簽表輸入模型,讓它預測每一場比賽。

結果:116 場比賽中正確預測99 場,僅失誤17 場。準確率85.3%。

最關鍵的預測:模型準確預測了辛納(那個ELO 系統排名全球第一的球員)在整屆賽事中的每一場勝利。

在第一顆球落地之前,AI 就預測了大滿貫冠軍。

結語

一個人,一台筆記型電腦,沒有專有數據,沒有昂貴的基礎設施,沒有研究團隊——就建立了一套職業網球預測模型,準確率高達85%,並在賽事開始前預測出了大滿貫冠軍。

網球數據就在GitHub 上,完全可重現。

創造奇蹟,從未像今天這樣觸手可及。

真正的差距不在資源,而是你願不願意去做。

分享至:

作者:Bagel 预测市场观察

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:Bagel 预测市场观察如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊