top of page

足球數據偏斜處理與 Z-score 應用

  • 6月6日
  • 讀畢需時 3 分鐘

在進行足球數據分析時,最常遇到的麻煩之一就是資料分佈帶有明顯偏斜(skewness)。以入球數為例,大部分球隊一場比賽的入球往往集中在零至三球之間,但偶爾出現的 5、6 球等比數,會將分佈的右尾大幅拉長;同樣地,球員身價也常呈現「少數超高、眾多中低」的嚴重右偏狀態。若直接將這些原始數據用於統計比較或機器學習模型,極端值會主導平均值和標準差,既削弱模型穩定性,亦令不同指標難以在同一尺度上比較。因此在建模前必須處理好偏斜等問題。


最直接且有效的矯正方法是數值轉換。當變數為非負值且呈現長右尾時,最常用的做法是使用 log1p 轉換,即先將原值加一後取自然對數(ln⁡(1+x) \ln(1+x) ln(1+x)),這既避免零值問題,又通過對數函數的非線性特性壓縮較大值之間的相對差距,從而降低極端值(如 5、6 球大勝)對分佈均值和方差的影響。若數據中零值比例過高(例如入球數分佈),log1p 轉換後可能仍保留一定左偏,需結合直方圖或 Q-Q 圖檢查轉換效果。若變數包含負值或需更靈活的轉換,可考慮 Yeo-Johnson 轉換,其能處理零值和負值,但參數估計較複雜,對大規模數據集可能增加計算負擔。Box-Cox 轉換則適用於嚴格正值的數據,並能自動尋找最佳 λ \lambda λ,但其對異常值敏感,若數據包含大量極端值(如 10:1 比賽),λ \lambda λ 估計可能不穩定,需謹慎使用。對於偏斜程度較輕的變數,平方根或立方根轉換通常已足夠。此外,Winsorization 是一種實務常用方法,通過將低於 1% 或高於 99% 分位數的數據替換為對應分位數值,有效控制極端值影響,與直接丟棄數據的截尾(truncation)不同,後者可能導致信息損失,較少用於足球數據分析。Winsorization 的分位數閾值應根據數據特性調整,例如球員身價等極端值比例較高的變數,可考慮更保守的 5% 和 95% 閾值。


完成轉換後,可進行標準化,而 Z-score 標準化是最簡單且廣泛使用的做法,公式為 (x−μ)/σ (x - \mu) / \sigma (x−μ)/σ,其中 μ \mu μ 和 σ \sigma σ 需來自明確的基準群組。例如,橫向比較同一賽季所有球隊的射門質量時,可用聯賽整體的平均值和標準差作為基準,但需注意球隊實力差異可能導致 Z-score 分散,建議按聯賽分層(如頂級、中游、保級球隊)計算基準以提高公平性。若要判斷某隊今季是否異常攻強守弱,則以該隊過去多季的歷史數據計算 μ \mu μ 和 σ \sigma σ 更具說服力,但需確保歷史數據的穩定性(例如排除戰術或陣容重大變化的影響)及足夠的樣本量。若分佈仍存偏斜或極端值比例較高,直接計算 Z-score 可能被「拉歪」。此時,可採用 Robust Z-score,以中位數代替平均值,並以 median absolute deviation(MAD)乘以常數 1.4826 近似標準差,該常數假設數據近似正態分佈。若轉換後分佈仍偏離正態,需調整常數或考慮非參數方法。Robust Z-score 能大幅降低極端值影響,但在異常檢測中可能因 MAD 的穩健性忽略某些真正異常點,建議結合分位數規則等方法驗證。


完成標準化後,Z-score 在足球分析中有多種應用。橫向評估球隊或球員表現時,將 xG、射門次數、壓迫次數等不同量級的特徵轉為 Z-score,可直接線性加權而不需擔心尺度差異;賽後即時分析中,Z-score 絕對值超過 2 的球員可被標記為表現突出或失準;對於 KNN、SVM 或神經網絡等對尺度敏感的模型,Z-score 是穩妥的前處理選擇。為保持時效性,基準的 μ \mu μ 和 σ \sigma σ(或中位數與 MAD)應以滾動窗口更新,窗口範圍需根據分析目標調整,例如用最近 5-10 場比賽數據分析球員狀態,或以整季數據評估球隊表現。實時分析中,需優化數據管道以應對更新頻率帶來的計算成本。


總括而言,處理偏斜與標準化的最佳流程為:先通過直方圖、箱線圖或 Q-Q 圖初步判斷分佈偏斜,再用偏斜係數或正態性檢驗(如 Shapiro-Wilk 檢驗)量化確認;根據數據特性選擇合適的轉換(如 log1p、Yeo-Johnson)或 Winsorization 消除長尾影響;在完成缺失值處理、異常值標記等清洗步驟後,按適當基準計算傳統或 Robust Z-score。如此一來,無論是統計比較、異常偵測,還是構建機器學習模型,都能在統一尺度下更準確地衡量足球指標的相對高低,提升分析結果的解釋力與穩定性。



 
 
bottom of page