| Literature DB >> 36175432 |
Steffen Lang1, Raphael Wild2, Alexander Isenko2, Daniel Link3,4.
Abstract
An important structuring feature of a soccer match is the in-game status, whether a match is interrupted or in play. This is necessary to calculate performance indicators relative to the effective playing time or to find standard situations, ball actions, and other tactical structures in spatiotemporal data. Our study explores the extent to which the in-game status can be determined using time-continuous player positions. Therefore, to determine the in-game status we tested four established machine learning methods: logistic regression, decision trees, random forests, and AdaBoost. The models were trained and evaluated using spatiotemporal data and manually annotated in-game status of 102 matches in the German Bundesliga. Results show up to 92% accuracy in predicting the in-game status in previously unknown matches on frame level. The best performing method, AdaBoost, shows 81% precision for detecting stoppages (longer than 2 s). The absolute time shift error at the start was ≤ 2 s for 77% and 81% at the end for all correctly predicted stoppages. The mean error of the in-game total distance covered per player per match using the AdaBoost in-game status prediction was - 102 ± 273 m, which is 1.3% of the mean value of this performance indicator (7939 m). Conclusively, the prediction quality of our model is high enough to provide merit for performance diagnostics when teams have access to player positions (e.g., from GPS/LPM systems) but no human-annotated in-game status and/or ball position data, such as in amateur or youth soccer.Entities:
Mesh:
Year: 2022 PMID: 36175432 PMCID: PMC9522646 DOI: 10.1038/s41598-022-19948-1
Source DB: PubMed Journal: Sci Rep ISSN: 2045-2322 Impact factor: 4.996
Prediction results for A) frame-wise and B) stoppage-wise prediction of the four chosen ML models in 47 test matches.
| Logistic regression | Decision tree | Random forest | AdaBoost | |
|---|---|---|---|---|
| Accuracy | 86.7 (± 2.0) | 84.6 (± 1.9) | 89.3 (± 2.0) | |
| Precision | 88.3 (± 3.9) | 85.8 (± 4.3) | 88.1 (± 4.0) | |
| Recall | 89.4 (± 3.4) | 88.8 (± 3.0) | 93.0 (± 4.0) | |
| F1 Score | 88.7 (± 2.3) | 87.2 (± 2.3) | 91.2 (± 2.3) | |
| Precision | 58.9 (± 7.6) | 68.6 (± 7.2) | 68.8 (± 6.4) | |
| Recall | 64.5 (± 6.7) | 61.6 (± 6.4) | 67.4 (± 5.6) | |
| F1-Score | 61.2 (± 6.1) | 64.7 (± 5.8) | 67.9 (± 5.1) | |
Accuracy, Precision, Recall, and F1-Score in percent with standard deviation. In B) only stoppages with a minimum duration of 2 s are considered. The best results are bold.
Figure 1Boxplots (left y-axis) and sums (right y-axis) of mean decrease in impurity per feature in the feature class (A) Type of value and (B) Time shift in seconds.
Figure 2Deviation of time shifts for (A) starting and (B) ending point prediction with AdaBoost model for all stoppages found in 47 test matches. In 77% (start) and 81% (end) the shift is between ± 2 s.
Prediction quality per stoppage type for 3886 correct predicted stoppages in 47 test matches with AdaBoost and minimum stoppage length of 2 s.
| Stoppages | Absolute shift [s] | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Type | Length | Prediction | Start | End | |||||||
| Mean [s] | Recall [%] | Mean (SD) | Median | 99% CI | Min./Max. | Mean (SD) | Median | 99% CI | Min./Max. | ||
| Overall | 3886 | 21.4 | 78.9 | 1.79 (± 3.44) | 1.00 | [1.65, 1.94] | 0.00/69.08 | 1.68 (± 3.47) | 0.84 | [1.54, 1.83] | 0.00/53.88 |
| Kick-off | 153 | 50.2 | 91.6 | 4.80 (± 9.09) | 2.60 | [2.89, 6.72] | 0.04/69.08 | 0.90 (± 1.21) | 0.56 | [0.65, 1.16] | 0.00/8.68 |
| Penalty | 13 | 61.7 | 86.7 | 5.41 (± 13.36) | 1.04 | [− 5.91, 16.73] | 0.2/49.48 | 10.50 (± 18.62) | 0.72 | [− 5.28, 26.27] | 0.04/53.00 |
| Free kick | 1290 | 26.9 | 81.3 | 1.80 (± 2.99) | 1.04 | [1.58, 2.01] | 0.00/37.00 | 1.87 (± 3.78) | 1.00 | [1.60, 2.14] | 0.00/53.88 |
| Corner kick | 367 | 26.9 | 80.7 | 1.58 (± 3.04) | 0.88 | [1.17, 1.99] | 0.00/34.72 | 1.81 (± 4.49) | 0.68 | [1.20, 2.41] | 0.00/32.56 |
| Goal kick | 568 | 23.0 | 79.8 | 2.00 (± 4.09) | 0.88 | [1.55, 2.44] | 0.00/49.12 | 1.55 (± 2.52) | 0.92 | [1.28, 1.83] | 0.00/33.08 |
| Throw-In | 1495 | 13.0 | 74.3 | 1.42 (± 1.85) | 0.92 | [1.30, 1.55] | 0.00/25.52 | 1.54 (± 2.82) | 0.80 | [1.36, 1.73] | 0.00/37.40 |
Absolute time shift to the ground truth of predicted stoppages with AdaBoost.
Total distance covered per player in the effective playing time calculated with in-game status data of ground truth, AdaBoost prediction and a naïve approach for 751 players that played only the full match and without goalkeepers.
| Total Distance Covered per player in effective playing time | |||
|---|---|---|---|
| Ground Truth (GT) | AdaBoost | NaÏve approach | |
| Mean [m] | 7939 (± 1631) | 8041 (± 1683) | 6348 (± 1099) |
| Mean error to GT [m] | − 102 (± 273) | 1590 (± 683) | |
| Mean absolute error (MAE) to GT [m] | 238 (± 169) | 1594 (± 674) | |
| 99% confidence interval (MAE) [m] | [222 ; 254] | [1531 ; 1658] | |
| Inter class coefficient (ICC) | 0.985 | 0.532 | |
| R (Pearson) | 0.987 | 0.949 | |
Differences between ground truth to AdaBoost prediction and the naïve approach.