科技與棒球的結合:如何用數據預測球員表現?
科技與棒球的結合:如何用數據預測球員表現?
你平常會看棒球嗎?在現今社會,棒球已經是台灣最具代表性的體育項目之一,不僅有著具規模的職業棒球聯盟,同時也在國際賽場上屢創佳績。像是在2024年的世界棒球十二強賽奪得世界冠軍的殊榮,或是在2025年的經典賽資格賽,都吸引越來越多人關注棒球,讓棒球在台灣的熱度與影響力持續擴大。
台灣的棒球最高殿堂:中華職業棒球大聯盟,從1989年成立至今,邁入了第36個年頭,中華職棒也成長到了六隊的規模。隨著國際賽取得佳績、大巨蛋的啟用,讓中華職棒觀賽人數逐年成長,「看棒球」已然成為許多人的日常休閒娛樂之一。
卓偉志 同學
國立陽明交通大學 百川學士學位學程 工業工程核心
▲「看棒球」已然成為許多人的日常休閒娛樂之一,圖為台南棒球場
棒球數據,也是在棒球比賽中一個不可或缺的元素。隨著科技的發展,職棒也越來越重視數據,用以提升決策與訓練效率。或是增加了科技情蒐與科學化訓練的元素在其中,為棒球比賽增添更多的可看性與刺激度。我平常是一個棒球迷,同時也十分熱衷於探索棒球數據,去觀察數據與一個球員表現的關聯性。
而我目前就讀的陽明交大的百川學程,這是一個跨領域的不分系學程,同時從大一開始就需要每學期做一份專題,藉由百川學程的專題探索機會,我試著去用數據來預測分析中華職棒打者的未來表現,並從中挖掘出潛力球員。
■ 資料的擷取與特徵工程
在我的專題中,我選擇用數據來預測分析一個球員「未來能否成為一軍主力」,並以「一軍出賽數>=70場」作為衡量指標,藉由數據的分析與預測,為一個球員是否具備主力潛力進行量化分析。
在中華職棒的官網上,紀錄了36年來所有球員的完整數據,我整理了從2019年到2023年的打者數據,並逐年整理成一個一個csv檔。這些資料中,彙整了球員的打擊率、安打數、出賽數等等重要數據。除了這些基礎的數據以外,我也手動加入了打者的年齡,為我的預測分析增添更多的特徵,並進行資料清洗,刪除了出賽數較少的球員,避免造成偏差。
在收集完資料後,我額外建立了進階數據指標,像是wOBA(加權上壘率,不同上壘方式的真實價值整合)、RC(得分貢獻)等等,提升機器學習模型的辨識能力。
▲模型訓練與研究流程圖
■ 機器學習模型建立與訓練
在整理完資料後,接著就是建立機器學習模型,預測與分析球員的數據資料,並彙整出影響球員表現的重要數據、未來能否成為主力等等。
為了提升模型的預測表現與穩定性,我在開始進行模型訓練前,實施兩項資料前處理技術:標準化與SMOTE。首先針對輸入特徵進行標準化處理,因為有些特徵的變數數值範圍差異顯著,可能會使某些變數主導模型學習,所以用標準化的方式將連續型特徵轉為平均數為0、標準差為1的標準常態分佈,以消除尺度偏差。
再來針對資料中「主力球員」與「非主力球員」類別不平衡,使用SMOTE技術進行過採樣(因為主力球員樣本數相對較少),藉此使資料分布更平衡。透過以上處理,先進行標準化再套用SMOTE,確保資料在距離空間中的結構正確,進而提升模型對主力球員的辨識能力。
在標準化與SMOTE之後,就要進行模型的訓練了,在試著使用了不同的模型後,我決定主要建立三個監督式機器學習模型進行預測分析,分別是:KNN(K-Nearest Neighbors)、隨機森林,還有XGBoost模型,這裡針對三個模型來詳細介紹:
KNN模型:為一種基於實例學習的方法,透過計算樣本間距離,預測未知樣本所屬類別。
隨機森林模型:為一種集成式學習方法,透過建立多棵決策樹並進行投票機制,以提升分類或迴歸任務的準確性與穩定性。
XGBoost模型:為一種提升式決策樹模型,其以梯度提升演算法為基礎,透過多棵弱分類器疊加強化預測能力,並加入正則化項抑制過度擬合。
在這些模型中,我使用了2019年到2022年的球員資料作為訓練集,2023年的球員資料作為測試集,並透過GridSearchCV 搭配5-fold 交叉驗證進行超參數搜尋,進行模型效能評估與預測。
■ 模型效能評估
在訓練模型後,得到了KNN模型的準確率高達0.85,而隨機森林與XGBoost模型的準確率則為0.82,可見機器學習模型可以很好地預測職棒球員未來表現。
為了進一步評估分類模型在主力球員預測任務中的辨識能力,我使用了ROC曲線還有AUC指標作為補充評估工具。ROC曲線為繪製模型在各種不同分類閾值下的真正去與假陽性率的關係圖可以全面觀察模型對不同類別的區辨能力。真正率{TPR=TP/(TP+FN)},反映模型成功辨識主力球員的比例。而假陽性率{FPR=FP/(FP+TN)}則表示非主力球員被誤判為主力的比例。理想狀況下,模型應該要同時具備高TPR跟低FPR,ROC曲線需要越接近左上角越佳,代表較高的分類效能。
為了量化ROC曲線的整體表現,我使用了AUC指標,AUC值介於0到1之間,越接近1表示模型越能有效區分正負類別,具備更高的辨識準確率。在我建立的三種模型中,ROC曲線都能非常靠近左上角,而隨機森林模型的AUC指標為0.91,KNN與XGBoost模型的AUC指標則皆為0.89,顯示我所建立的模型有著非常不錯的分類效能。
在機器學習模型的訓練與分析後,每個模型也統整出了影響球員是否未來能成為主力的重要因素,為特徵重要性。XGBoost與隨機森林模型認為壘打數(TB)為影響球員表現的重要特徵;而KNN模型則認為打席(PA)與打數(AB)為影響球員表現的重要特徵。這些分析在實務上,提供了針對主力球員潛力的評估依據,這些成果可有效輔助球隊發掘潛力主力球員並支援選才決策。
▲模型效能分析圖
■ 結論
KNN、隨機森林、XGBoost皆為相當重要的機器學習模型,可以很好地用於分析與預測,這些模型目前也被廣泛運用於科技、體育、金融等領域當中。結果顯示,壘打數與打席數為與球員是否成為未來一軍主力最具關聯性的關鍵變數。在競爭激烈的職業棒球環境中,能夠穩定累積壘打表現與出賽機會的球員,更可能獲得球隊主力位置的肯定。
總結,這些機器學習模型(KNN 、隨機森林、 XGBoost)皆展現出穩定且具辨識力的預測效能,驗證了結合資料探勘與特徵工程之方法,能有效協助預測球員的未來表現。
我認為在棒球領域中,還有更多可以發掘的數據與預測分析的內容。期望未來能看到更多與數據相關的研究,或是延伸至投手數據研究,甚至到情蒐等範圍中。