| Valuing actions |
| ================ |
|
|
| Once you've :doc:`collected the data </documentation/data/index>` and |
| :doc:`converted it to the SPADL format </documentation/spadl/index>`, you can |
| start valuing the contributions of soccer players. This document gives |
| a general introduction to action-valuing frameworks and links to a detailed |
| discussion of the three implemented frameworks. |
|
|
| General idea |
| ------------ |
|
|
| When considering event stream data, a soccer match can be viewed as a sequence |
| of :math:`n` consecutive on-the-ball actions :math:`\left[a_1, a_2, \ldots, a_n\right]` |
| (e.g., [*pass*, *dribble*,..., *interception*]). Action-valuing frameworks aim |
| to assign a numeric value to each of these individual actions that quantifies |
| how much the action contributed towards winning the game. This value should |
| reflect both the circumstances under which it was performed as well as its |
| longer-term effects. This is illustrated in the figure below: |
|
|
| .. image:: ../../actions_bra-bel.png |
| :width: 600 |
| :alt: a sequence of actions with action values |
| :align: center |
|
|
| However, rather than directly assigning values to actions, the existing |
| approaches all start by assigning values to game states. To illustrate the |
| underlying intuition, consider the pass below: |
|
|
| .. image:: action.gif |
| :alt: example action |
| :align: center |
|
|
| | |
|
|
| The effect of the pass was to change the game state: |
|
|
| .. image:: action_changes_gamestate.png |
| :alt: example action changes gamestate |
| :align: center |
|
|
| | |
|
|
| The figure on the left shows the game in state :math:`S_{i−1} |
| = \{a_1,\dots,a_{i−1}\}`, right before Benzema passes to Valverde and the one |
| on the right shows the game in state :math:`S_i = \{a_1, \ldots, a_{i−1}, |
| a_i\}` just after Valverde successfully controlled the pass. |
|
|
| Consequently, a natural way to assess the usefulness of an action is to assign |
| a value to each game state. Then an action’s usefulness is simply the |
| difference between the post-action game state :math:`S_i` and pre-action game |
| state :math:`S_{i-1}`. This can be expressed as: |
|
|
| .. math:: |
| U(a_i) = V(S_i) - V(S_{i-1}), |
|
|
| where :math:`V` captures the value of a particular game state. |
|
|
| The differences between different action-valuing frameworks arise in terms of |
| (1) how they represent a game state :math:`S_i`, that is, define features such |
| as the ball's location or score difference that capture relevant aspects of |
| the game at a specific point in time; and (2) assign a value :math:`V` to |
| a specific game state. |
|
|
|
|
| Implemented frameworks |
| ---------------------- |
|
|
| The socceraction package implements three frameworks to assess the impact of the |
| individual actions performed by soccer players: Expected Threat (xT), VAEP and |
| Atomic-VAEP. |
|
|
| .. toctree:: |
|
|
| xT |
| vaep |
| atomic_vaep |
|
|