top of page

xT 與 VAEP 每個在球動作定價的框架

11小时前
讀畢需時 10 分鐘

2019 年 1 月 12 日,曼城主場對狼隊。Laporte 在中場附近送出一記直線傳球,Sané 接應後傳中,Jesus 射入。官方統計上,入球屬於 Jesus,助攻屬於 Sané。Laporte 那一腳,在傳統數據中沒有位置:沒有射門,所以 xG 不會計算;Sané 接球的位置本身難以入球,所以 xA 也接近零。

KU Leuven 的 DTAI Sports Analytics Lab 在 2019 年 12 月發表 Valuing On-the-Ball Actions in Soccer: A Critical Comparison of xT and VAEP,文章正是由這記傳球說起。原文先梳理「為每個在球動作定價」這個問題的共同框架,再選取兩個最具代表性的模型作對比:Karun Singh 的 Expected Threat(xT),以及該實驗室自己提出的 VAEP。本文按原文脈絡導讀,並在文末補充這類動作價值模型對球隊評估與賽果預測的意義。


圖 1:Laporte 傳球前後,xT 與 VAEP 各自給出的狀態值變化(數值出自原文)

本文重點

原文要回答的問題只有一個:在只有事件數據(event stream)的情況下,如何為球員的每一個在球動作(on-the-ball action)給出一個數值,反映它對勝出比賽的貢獻。射門與入球只佔球員所有動作不足 1%,傳統指標與 xG、xA 都集中在這 1% 之內。

作者指出,現有框架不論細節如何,都走同一條路:先為比賽狀態估值,再以動作前後的狀態值之差作為動作價值。xT 與 VAEP 的分歧在於兩處:狀態如何表示,以及如何為狀態估值。這兩處分歧帶來三個實際後果:計算哪些動作、是否計及風險、結果能否解釋。文章以 2018/19 英超球員排名與四類具體動作說明這些後果。


一、為何入球與助攻不夠用

原文開首列出的問題很直接。傳統指標(射門、助攻)與加入情境的版本(xG、xA)都只針對罕見事件。對大部分球員而言,射門與入球佔所有動作不足 1%

回到 Laporte 的例子。他的傳球令 Jesus 的入球成為可能,但 xG 不會給他任何分數,因為他沒有射門;xA 也不會,因為 Sané 接球後自己入球的機率很低。理想的指標應該為球員每一個動作給分,分數要反映該動作對勝出比賽有多大幫助。

近年多位分析師各自提出框架處理這個問題,原文點名的有:Sarah Rudd 的 Markov chain 模型、Nils Mackay 的 xG added、Karun Singh 的 xT、OptaPro 的 Possession Value(PV),以及 KU Leuven 自己的 VAEP。作者選取 xT 與 VAEP 對比,因為它們分別代表這批框架的兩種典型設計。


二、事件數據的限制與兩個難題

原文只討論以事件數據(event stream 或 play-by-play)為基礎的方法。這類數據只記錄持球者的位置,其他球員在哪裡則一概不知。Laporte 那次進攻在數據中是這樣的:

序號

球隊

球員

動作

結果

1

Man City

Kyle Walker

傳球

成功

2

Man City

Fernandinho

傳球

成功

3

Man City

Kyle Walker

傳球

成功

4

Man City

John Stones

帶球

成功

5

Man City

John Stones

傳球

成功

6

Man City

Aymeric Laporte

傳球

成功

7

Man City

Leroy Sané

傳球

成功

8

Man City

Gabriel Jesus

射門

成功

資訊有限,但這類數據遠比光學追蹤數據普及,所以值得在此限制下把問題做好。

為射門定價相對直接。為其餘動作定價則有兩個難題:

長程效應: 一個動作的影響可能在幾個動作之後才顯現。球員不應只因把足球送到好的射門位置而得分,也應因把足球送到「有威脅」的位置而得分。Laporte 的傳球把足球交到 Sané 腳下,Sané 自己難以入球,但只要他能傳中,Jesus 與 Sterling 都在可以入球的位置。

功勞分配: 即使知道長程效應,如何把功勞分配給序列中的每個動作,答案並不明顯。一記好傳球不應因後續沒有射門而被扣分。原文的另一個例子:Laporte 的傳中,不應因為 Silva 之後未能接應 De Bruyne 的傳球而得到較低評分。


三、共同框架:先為狀態估值

現有方法都不直接為動作估值,而是先為比賽狀態估值。原文以 Laporte 傳球前後的兩張照片說明:左邊是傳球前一刻,右邊是 Sané 控球之後。傳球的效果,就是把比賽由前一個狀態帶到後一個狀態。

狀態在概念上包含此前發生過的一切:比數、餘下時間、足球位置、之前所有動作。若能為每個狀態 S 定出一個值 V(S),動作 a 的價值就是:

  • U(a) = V(S 後) − V(S 前)

各個框架的差異,由此收窄到兩個問題:狀態 S 用哪些特徵表示;V 如何計算。

圖 2:共同框架與兩個模型的設計分歧(依原文整理)

四、xT:只用足球位置

xT 以「控球」(possession)為單位,即同一支球隊持續控球的一段時間。它建基於兩個判斷:球員做動作是為了提高本隊入球機會;入球機會可以只用足球位置充分描述。

第二點決定了 xT 的狀態表示:只有足球所在的位置。球場切成 M × N 格,每格 z 有一個值 xT(z),代表球隊在該位置有多大威脅。每格的值以 Markov 決策過程學習,直觀解釋可參考 Karun Singh 的原文。

以 Laporte 的傳球為例,傳球前足球所在格的值是 0.013,Sané 接球位置的值是 0.078。這記傳球的 xT 價值就是兩者之差,約 0.065。


五、VAEP:入球機率減失球機率

VAEP 的起點略有不同。球員做動作有兩種意圖:提高本隊在短期內入球的機率,以及降低本隊在短期內失球的機率。狀態值因此定義為:

  • V(S) = P(入球 | S) − P(失球 | S)

兩個機率都指持球球隊在接下來 10 個動作內入球或失球的機率。

狀態表示也複雜得多:VAEP 以最近三個動作 {a(i−2)、a(i−1)、a(i)} 描述狀態。Laporte 傳球前,狀態值是 0.0379 − 0.0006 = 0.0373;傳球後是 0.3677 − 0.0002 = 0.3675。差值約 0.330,遠高於 xT 的 0.065。

實際操作上,這些狀態會轉成特徵向量,再以 gradient boosting 二元分類器從歷史數據學習:過去出現過類似狀態的比賽,之後有多大比例入球或失球。


六、三項設計差異

兩個模型都以動作前後的狀態值差為動作定價,但設計選擇不同,帶來三個實際差異。

計算哪些動作: xT 是「推進模型」,只為把足球由一格移到另一格的動作定價,即傳球、盤球、傳中。它不計搶截、攔截等防守動作,也不計同一格之內的過人。VAEP 的狀態表示是連續的,可以為搶截、攔截、回收等不推進足球的動作定價。

是否計風險: xT 只計動作的進攻貢獻,即它如何改變本隊入球機會。VAEP 一方面以失球機率估值,另一方面會考慮失去控球之後的發展,因此較能反映某些動作的風險。

能否解釋: xT 的狀態值只取決於足球位置,所以每個值都有清楚意義:由該位置開始的一次控球,預期可以產生的 xG。VAEP 以大量特徵描述狀態,狀態值由訓練出來的模型(例如 gradient boosted tree ensemble)給出,源自特徵之間的複雜交互。要解釋某個狀態為何得到某個值,在 VAEP 框架下不再直觀。


七、球員排名:xT 偏向創造者,VAEP 偏向射手

這些差異直接影響誰會被視為表現突出的球員。原文列出 2018/19 英超上陣至少 900 分鐘的球員中,以入球、助攻、xT、VAEP 計算排名最高的 25 人,所有數值按每 90 分鐘計算。以下按 VAEP/90 排序:

#

球員

入球/90

助攻/90

xT/90

VAEP/90

1

Eden Hazard (Chelsea)

0.49

0.46

0.55

0.68

2

Xherdan Shaqiri (Liverpool)

0.52

0.26

0.28

0.57

3

Ryan Babel (Fulham)

0.35

0.21

0.15

0.50

4

Ruben Loftus-Cheek (Chelsea)

0.56

0.19

0.16

0.45

5

Riyad Mahrez (Man City)

0.47

0.27

0.37

0.42

6

Alex Iwobi (Arsenal)

0.14

0.27

0.44

0.42

7

James Milner (Liverpool)

0.25

0.20

0.40

0.41

8

David Silva (Man City)

0.22

0.30

0.37

0.41

9

Bernardo Silva (Man City)

0.22

0.22

0.25

0.37

10

Trent Alexander-Arnold (Liverpool)

0.04

0.44

0.35

0.36

11

Felipe Anderson (West Ham)

0.26

0.12

0.44

0.35

12

Mesut Özil (Arsenal)

0.26

0.10

0.33

0.35

13

Mohamed Salah (Liverpool)

0.60

0.22

0.27

0.34

14

Aymeric Laporte (Man City)

0.09

0.09

0.39

0.34

15

Christian Eriksen (Tottenham)

0.26

0.39

0.30

0.34

16

Youri Tielemans (Leicester)

0.25

0.33

0.24

0.33

17

Robert Snodgrass (West Ham)

0.08

0.20

0.19

0.33

18

Raheem Sterling (Man City)

0.55

0.32

0.28

0.33

19

Pierre-Emile Højbjerg (Southampton)

0.13

0.10

0.22

0.32

20

Anthony Martial (Man Utd)

0.55

0.11

0.37

0.32

21

Ryan Fraser (Bournemouth)

0.20

0.40

0.31

0.32

22

Gerard Deulofeu (Watford)

0.43

0.21

0.32

0.31

23

David Brooks (Bournemouth)

0.27

0.19

0.22

0.30

24

Harry Kane (Tottenham)

0.63

0.15

0.15

0.30

25

David Luiz (Chelsea)

0.08

0.06

0.31

0.30

兩個模型都能找出頂級球員,但排名有明顯差別。xT 的排名偏向完成大量關鍵傳球與盤球的創造型球員;VAEP 的排名偏向射手,因為 VAEP 通常給入球動作很高的值,入球多的球員可以藉此推高排名。

相關係數印證了這一點。VAEP 與每 90 分鐘入球的相關係數為 0.25,xT 只有 0.11;每 90 分鐘助攻與 xT 的相關係數為 0.40,與 VAEP 為 0.37。作者強調更重要的一點:這幾組相關係數都不高,代表兩個指標的排名與傳統入球、助攻計法有實質分別,能提供額外資訊。

圖 3:25 名球員的 xT/90 對 VAEP/90,以及兩個指標與入球、助攻的相關係數(數據出自原文表格)

榜首多數是進攻球員,防守球員一般排得較低。兩個模型之下,進攻動作都能取得較高回報,進攻球員因此較容易獲得高評分。以榜上的後衛 Laporte 與 David Luiz 為例,兩人的 xT/90 分別為 0.39 與 0.31,都高於各自的 VAEP/90(0.34 與 0.30)。


八、四類動作的評分差異

為了看清兩個模型在不同情境下如何評分,原文選了四類動作,以直方圖比較兩者給出的價值分佈。

後場的回傳: 回傳有風險與回報的取捨,通常能拉開空間(回報),但也會把足球移近己方球門(風險)。只有 VAEP 能同時捕捉兩者,給出的值較分散。

回收足球以發動反擊: 在己方半場搶回足球,而對手仍處於進攻陣形,球隊有機會發動快速反擊,利用對手尚未回位的防線。「足球剛剛才被搶回」是一個情境線索,只有 VAEP 較豐富的狀態表示才能加以利用,因此 VAEP 給這類動作的評分明顯高於 xT。

禁區內向前的短距離盤球: xT 對禁區內大部分向前盤球給 0 分:xT 把球場切成相對大的格子,很多短盤球沒有跨格,xT 值因此不變。但這些短盤球可能已足以擺脫防守球員,而在極接近球門時,位置的小幅變化可以大幅提高入球機率。

禁區邊的直線傳球: 一記成功的前傳到達禁區邊緣,可以顯著提高入球機率,原因有二:一是足球更接近球門,二是通常已越過至少一名對方球員。平均而言,xT 對直線傳球帶來的位置優勢評分高於 VAEP。由於 VAEP 的狀態表示複雜,作者承認難以解釋 VAEP 為何給這類動作較低的值;若只從 xT 的邏輯推想,其中一個可能是 xT 較能捕捉位置優勢。

圖 4:四類動作在兩個模型下的評分方向(依原文文字整理)

九、對球隊評估與賽果預測的啟示

原文討論的是球員評估,但同一套邏輯對球隊層面的預測同樣重要。一場比賽只有兩三個入球,而射門與入球只佔所有動作不足 1%;若球隊實力評估只建基於比數,等於用最稀疏、最受運氣影響的那一層數據去判斷一支球隊。xT 與 VAEP 這類動作價值模型,將其餘 99% 的傳球、盤球、搶截也變成可量化的訊號,能更早、更穩定地反映球隊的真實狀態。

AIP 系統在建立球隊評估模型時,採用的正是這個方向:除了 xG 這類射門質素指標,也會將控球推進、攻勢威脅、攻防轉換等動作層面的價值訊號納入特徵。原文提到 VAEP 以「入球機率減失球機率」為狀態值,這種攻防同時計算的想法,與 AIP 同時評估球隊創造機會與限制對手能力的做法一致;一支球隊近期 xG 不俗,但動作層面的推進價值持續下滑,往往較比數更早提示狀態變化。

原文的第三項差異,即可解釋性與準確度之間的取捨,同樣是預測系統要面對的問題。AIP 的做法並非在 xT 式的簡單模型與 VAEP 式的機器學習模型之間二選一,而是讓可解釋的結構性特徵與學習型模型並行,再以市場賠率作校準基準。這樣做的目的,與原文比較兩個框架的動機一致:了解每個模型在哪些情境下會給得偏高、哪些情境下會漏計,才知道何時可以信任其輸出。


總結:同一條公式,兩種取捨

xT 與 VAEP 都以「動作後狀態值減動作前狀態值」為每個在球動作定價。xT 只用足球位置表示狀態,以 Markov 過程估值,結果可解釋,但只計推進動作、不計風險。VAEP 以最近三個動作與豐富特徵表示狀態,以機器學習估計入球與失球機率,能為防守動作定價並反映風險與回報的取捨,代價是難以解釋。兩者的球員排名都與傳統入球、助攻計法明顯不同,因此都是有用的補充工具。

比較項目

xT

VAEP

章節

分析單位

控球(possession)

固定長度的動作序列

四、五

狀態表示

足球位置(M × N 網格)

最近三個動作轉成特徵向量

四、五

估值方法

Markov 決策過程,值 = 預期未來 xG

gradient boosting 分類器,值 = P(入球) − P(失球)

四、五

計算的動作

傳球、盤球、傳中

所有在球動作,包括防守動作

風險

不計

計失球機率及失去控球後的發展

可解釋性

排名傾向

創造型球員(與助攻 ρ = 0.40)

射手(與入球 ρ = 0.25)

Laporte 傳球的價值

0.013 → 0.078

0.0373 → 0.3675

四、五

原文最後提到,這項研究的論文在 AAAI-20 Workshop on AI in Team Sports 發表,xT 與 VAEP 的 Python 實作已公開,即 socceraction 套件。


Reference

  1. M. Van Roy, P. Robberechts, T. Decroos, J. Davis. Valuing On-the-Ball Actions in Soccer: A Critical Comparison of xT and VAEP. AAAI-20 Workshop on AI in Team Sports, 2020.

  2. T. Decroos, L. Bransen, J. Van Haaren, J. Davis. Actions Speak Louder than Goals: Valuing Player Actions in Soccer. KDD 2019. https://arxiv.org/abs/1802.07127

  3. K. Singh. Introducing Expected Threat (xT). karun.in, 2018. https://karun.in/blog/expected-threat.html

  4. S. Rudd. A Framework for Tactical Analysis and Individual Offensive Production Assessment in Soccer Using Markov Chains. New England Symposium on Statistics in Sports, 2011.

  5. socceraction:xT 與 VAEP 的 Python 實作。https://github.com/ML-KULeuven/socceraction


原文 Paper

bottom of page