top of page

VERSA:為足球 Event Data 加上邏輯驗證的資料格式

  • 5月5日
  • 讀畢需時 5 分鐘

已更新:5月6日

足球數據分析入面,很多模型都假設 event stream 是可信的:傳球、接應、射門、封堵、搶回球權按時間順序出現,然後模型再用這些事件去計算 xGxTVAEP 或球員貢獻。但現實中的 event data 多數由人手或半自動標註產生,不同 provider 又有不同 schema;一旦事件順序錯、關鍵事件漏記,後面的模型再準都可能只是在學錯資料。

Jo 等喺 arXiv:2601.21981v1 提出 VERSA(Verified Event Data Format for Reliable Soccer Analytics),用 state-transition model 形式化足球比賽的事件邏輯,自動偵測同修正 event stream 內的異常序列。這篇 paper 的價值在於提醒我們:sports analytics 的可靠性,不只是模型問題,也是資料語法問題。


本文重點

VERSA 將足球比賽抽象成幾個互斥狀態,例如 Kick-offIn transitionIn possessionBall neutralSet piecePost shot。每個事件類型都應該觸發合法的狀態轉移;如果某個事件在當前狀態不可能發生,系統就把它標記為 logical exception,並透過 rule-based handler 修正。

作者在 Bepro、StatsBomb、Wyscout 三類資料上測試,發現邏輯例外並不罕見。例如 Bepro 的 K League 1 2024 season 中,18.81% 已記錄事件出現邏輯不一致;Wyscout 多個聯賽的 exception rate 更接近 38%,主要因為它沒有顯式記錄 Pass Received。修正後,VERSA 在跨 provider 一致性與 VAEP 下游模型表現上都比 SPADL、Atomic-SPADL 更穩定。


一、為何 event stream 需要「語法檢查」

足球 event stream 通常記錄每次 on-ball action:誰做了動作、在甚麼位置、甚麼時間、事件類型和結果。這些資料支撐很多常見模型,包括 Expected Goals (xG)Expected Threat (xT)、以及 VAEP 這類 action-value model。

問題是,event stream 並不是天然乾淨的真相。標註員可能因為鏡頭角度、主觀判斷、時間同步誤差而記錯事件;不同 provider 對同一類事件亦可能有不同定義。例如一個 provider 可能記錄 Carry,另一個 provider 可能不記;一個叫 Error,另一個叫 Miscontrol。

更嚴重的是邏輯順序錯誤。若 Block 被記錄在 Shot 之前,模型就可能無法知道這個 Block 其實是阻止射門的防守貢獻。若成功傳球之後直接出現 Shot,但中間沒有 Pass Received,VAEP 之類模型在分配球員行動價值時就會被扭曲。


二、VERSA 的狀態轉移模型

VERSA 的核心是把比賽過程寫成一個 state machine。作者定義六個主要狀態:

  • Kick-off:開波或入球後重新開始。

  • In transition:球正在兩名球員之間移動,暫時未被完全控制。

  • In possession:某名球員已完全控制皮球,可作傳球、盤帶、射門等動作。

  • Ball neutral:皮球因反彈、封堵、折射等原因暫時無明確控制方。

  • Set piece:死球重開,例如 free kick、corner、throw-in。

  • Post shot:射門之後,視乎 Goal、Catch、Block、Out 等結果轉移。

每個 event label 都對應某種合法轉移。例如 Pass 會把狀態推向 In transition;Pass Received 才能把球權落到 In possession;Shot 通常需要在 In possession 狀態下發生。對 off-ball 或不改變狀態的事件,系統使用 self-loop。

這種設計的好處是清楚:如果一個事件不能從當前狀態合法轉移,就代表資料很可能有漏記、錯序或 provider schema 差異。


三、VERSA 怎樣修正錯誤

論文展示兩類典型 handler。

第一是事件順序錯誤,例如 Block → Shot。在足球語義上,Block 通常是對 Shot 的反應;若原始資料將 Block 記在 Shot 前面,VERSA 會偵測到 Block 不能在當前狀態合法發生,然後把序列修正成 Shot → Block

第二是缺失事件,例如成功 Pass 後直接出現 Carry 或 Shot,但中間沒有 Pass Received。若 Shot 只能在 In possession 狀態發生,而目前狀態仍是 In transition,handler 就會補入缺失的 Pass Received,令序列重新符合比賽邏輯。

這些修正不只是資料清洗;它會直接影響球員貢獻評估。事件順序改變後,同一段攻勢裡每個 action 的 VAEP value 可能重新分配,防守、接應、推進的價值也會更合理。


四、不同 provider 的異常模式

作者使用三個主要資料來源:Bepro 的 K League 1 / K League 2(2021 至 2025)、StatsBomb 的 J1 League、La Liga、2018 World Cup,以及 Wyscout 的歐洲五大聯賽與 2018 World Cup。

在 exception 分析中,各 provider 呈現不同模式。Bepro 和 StatsBomb 的主要 exception 多數是 Carry,例如同一球員連續兩個動作之間移動超過 3 米但資料沒有記錄 Carry;StatsBomb 有時亦會把很細微甚至靜止狀態記成 Carry。Wyscout 則大量缺少 Pass Received,因此在 VERSA 的語法下會被標記為 missing event。

這解釋了為何跨 provider 分析困難:兩份資料可能描述同一場比賽,但事件粒度、命名和隱含假設不同。若不先統一語法,直接比較球員評分或訓練模型,很容易混入 provider bias。


五、跨 provider 一致性與 VAEP 結果

作者用 StatsBomb 與 Wyscout 都覆蓋的 La Liga 2017/2018 和 2018 World Cup 做 cross-provider consistency 評估。指標包括 event sequence 的 Normalized Edit Similarity,以及兩個 provider 計算出的 VAEP 半場總值 Pearson correlation。

結果顯示,VERSA 和 Simplified VERSA 的一致性高於 SPADL 與 Atomic-SPADL。以 La Liga 為例,Normalized Edit Similarity 由 SPADL 的 0.532、Atomic-SPADL 的 0.660,提升到 VERSA 的 0.684,以及 Simplified VERSA 的 0.769。VAEP correlation 亦由 SPADL 的 0.890、Atomic-SPADL 的 0.947,提升到 VERSA 的 0.958 和 Simplified VERSA 的 0.962。

在下游 VAEP 模型方面,作者用 CatBoost 在三個 provider 混合資料上訓練並測試。VERSA 大多數情況下取得更高 AUROC、更低 Log Loss / Brier Score / ECE。例如在 Bepro 資料上,VERSA 的 scoring / conceding AUROC 為 0.8938 / 0.9010,高於 Atomic-SPADL 的 0.8617 / 0.8446。


六、分析含意

VERSA 的意義不只是「又一個足球資料格式」。它將 event data 的可靠性問題變成可驗證的形式邏輯:事件是否能從當前狀態發生?是否需要補一個 implicit event?是否需要重排前後順序?

對球隊分析、球員評估、跨聯賽 scouting、以及任何需要合併不同 provider 資料的模型而言,這層 verification 很重要。模型表現若建立在錯序或缺失事件之上,最後得到的球員價值可能看似精密,實際上卻不穩定。


七、限制與可延伸方向

第一,VERSA 的 correction handler 仍是 rule-based。這令系統可解釋,但亦意味它依賴人工定義的足球語法;不同聯賽、不同 provider、甚至不同戰術風格下,某些例外可能需要額外規則。

第二,state-transition model 把足球事件離散化,對複雜的同時事件、身體對抗、VAR 或混亂禁區情境未必能完整表達。若未來結合 tracking data,可能可以更準確判斷是否真的需要補 Carry、Interception 或 Pass Received。

第三,VERSA 改善資料一致性,不代表所有 provider 差異都應該被消除。有些差異可能來自真實標註哲學,而不是錯誤;因此 Simplified VERSA 這種「降低粒度以提升一致性」的做法,應按使用場景取捨。


八、小結

arXiv:2601.21981v1 提出一個很實用的觀點:足球 AI 模型要可靠,先要確保 event stream 自己有邏輯。VERSA 用 state-transition model 將這件事形式化,既能偵測錯序與缺失事件,也能提升跨 provider 一致性與 VAEP 類模型表現。

對 sports analytics 團隊而言,這篇 paper 值得放入資料 pipeline 設計清單:在談更複雜模型之前,先問 event data 是否通過了比賽語法檢查。


Reference

  1. G. Jo, M. Kang, K. Lee, M. Lee, P. Bauer, S.-K. Ko. VERSA: Verified Event Data Format for Reliable Soccer Analytics. arXiv:2601.21981v1 [cs.AI], 2026. https://arxiv.org/abs/2601.21981

  2. T. Decroos, L. Bransen, J. Van Haaren, J. Davis. Actions Speak Louder than Goals: Valuing Player Actions in Soccer. KDD, 2019.

  3. DTAI Sports Analytics Lab. Introducing Atomic-SPADL: A New Way to Represent Event Stream Data. 2020.

原文 Paper



bottom of page