本文目录导读:

在足球数据分析中,xGA(预期被进球数,Expected Goals Against) 是评估防守表现的核心指标之一,它衡量的是对手创造的射门机会质量总和——即“根据这些射门的位置、角度、助攻方式等,平均情况下应该丢多少球”。
将电脑工具与xGA结合,可以从数据采集、建模计算、可视化、战术诊断四个层面系统评估防守表现,以下是完整的操作框架:
数据采集层:电脑工具获取原始数据
| 工具类型 | 代表工具 | 作用 |
|---|---|---|
| 事件数据商 | StatsBomb、Opta、Wyscout | 提供每脚射门的坐标、身体部位、助攻类型、防守压力等 |
| 追踪数据 | Hawk-Eye、Second Spectrum | 提供球员/球的位置帧数据,用于计算防守站位 |
| 公开数据 | FBref、Understat | 免费获取xGA相关派生数据 |
| 自建采集 | Python + OpenCV + YOLO | 从比赛录像中自动检测射门事件 |
关键字段:射门位置(x,y)、射门类型、是否反击、防守球员距离、门将位置、助攻方式(传中/直塞/定位球)。
建模计算层:用电脑工具计算xGA
构建xG模型(进而得到xGA)
# 示例:用逻辑回归/梯度提升树训练xG模型
import pandas as pd
from sklearn.ensemble import GradientBoostingClassifier
features = ['distance', 'angle', 'body_part', 'assist_type',
'defenders_in_cone', 'gk_distance', 'is_counter']
model = GradientBoostingClassifier()
model.fit(train[features], train['is_goal'])
# 对手每脚射门的xG之和 = 本队xGA
xGA = model.predict_proba(opponent_shots[features])[:,1].sum()
进阶模型
- VAEP / xT:评估每次防守动作对失球概率的影响
- Post-shot xG (PSxG):加入门将扑救难度,区分“防守让对手射得太好” vs “门将没扑住”
- xGA per shot:场均每脚射门质量,识别是“被射多”还是“被射好”
常用工具栈
- Python:pandas、scikit-learn、xgboost、mplsoccer
- R:tidymodels、worldfootballR
- 商业平台:StatsBomb IQ、Opta Analyst、Tonka Bay
可视化与诊断层:结合xGA评估防守
射门地图(Shot Map)
用 mplsoccer 绘制对手射门位置,颜色深浅代表xG值:
from mplsoccer import Pitch pitch = Pitch() pitch.scatter(shot_x, shot_y, c=shot_xg, cmap='Reds')
→ 直观看出防守漏洞区域(如禁区弧顶、后点)。
xGA时间线
按比赛时间绘制对手累计xGA曲线:
- 曲线陡增 → 某时段防守崩盘
- 曲线平缓 → 防守稳定
xGA分解表
| 维度 | 指标 | 诊断意义 |
|---|---|---|
| 定位球xGA | set-piece xGA | 定位球防守是否薄弱 |
| 反击xGA | counter xGA | 由攻转守是否漏人 |
| 禁区内xGA | box xGA | 防线是否被穿透 |
| 单刀xGA | 1v1 xGA | 中卫/门将单防能力 |
对比分析
- xGA vs 实际失球(GA):GA < xGA → 门将超常;GA > xGA → 门将拖后腿或运气差
- xGA vs xG(本方):衡量攻守平衡
- PPDA + xGA:高位逼抢强度 vs 被创造机会质量
战术应用层:从xGA反推防守问题
| xGA特征 | 可能的防守问题 | 电脑工具验证方式 |
|---|---|---|
| 禁区弧顶xGA高 | 后腰保护不足 | 热力图 + 防守动作位置 |
| 传中后xGA高 | 边路防守/中卫盯人差 | 传中来源区域分析 |
| 反击xGA高 | 攻转守落位慢 | 追踪数据算回防速度 |
| 定位球xGA高 | 盯人/区域职责混乱 | 定位球防守站位图 |
| PSxG - xGA 大 | 门将扑救差 | 门将扑救模型 |
完整工作流示例
用 StatsBomb 拉取对手射门事件数据
↓
2. Python 计算每脚射门xG → 求和得xGA
↓
3. mplsoccer 绘制射门地图 + xGA时间线
↓
4. 按场景(定位球/反击/阵地)拆分xGA
↓
5. 结合追踪数据看防守站位与压迫强度
↓
6. 输出报告:本队xGA结构性问题 + 改进建议
注意事项
- 样本量:单场xGA波动大,建议至少10场滚动平均
- 模型差异:不同数据商的xG模型不同,xGA不可直接跨平台比较
- 不能只看xGA:需结合PPDA、防守动作成功率、对手实力
- 门将因素:xGA是“防守整体”指标,PSxG才能分离门将贡献
如果你有具体场景(比如某支球队、某场比赛、或想用某个工具如Python/Tableau),我可以给出更针对性的代码或分析模板。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。