Soccermatics之三: 足球数据集计算预期进球xG(Expected Goal)

日期: 栏目:体育比分 浏览:51 评论:0

  本篇假设读者熟悉python编程、matplotlib和pandas软件包的使用。

  代码还是用到了足球数据解析软件kloppy和机器学习软件包scikit-learn,它们都是开源软件。

  开发环境和数据集参考本系列的第一篇。

  为了方便,代码中不再使用公制单位作为球场中的位置坐标,直接使用数据集中的原始单位码(yard)。

  数据集使用了Statsbomb公司(https://www.statsbomb.com)的开放数据(https://github.com/statsbomb/open-data)。

  xG是Expected Goal的缩写,用于表示一次射门可能的得分机会,在某些其他运动中也有使用(比如冰球)。一次射门的xG通常是一个[0,1]之间的数字,如果一次射门进球了,那么它的xG就是1。数字越大表示可能进球的概率越大。虽然xG看起来像是概率,但媒体经常会把球员多场比赛的xG表现或者球队xG加起来衡量其表现,因此xG更像一个数学期望。

  目前xG还没有一个特别统一的定义。

  看起来xG像是数据分析人员才会关心的指标,实际上xG已经兴起并且被媒体接受,一些发布比赛结果以及简单统计数据的网站,往往会同时发布球员和球队的xG数据。比如爱奇艺在直播今年赛季欧冠的时候,也会展现球队的xG数据,爱奇艺把xG称为“预期进球”。

  sky sports dominic calvert lewin xG

  这里举例,计算xG可能会使用到下面一些要素:

  位置:射门发生球场的哪个位置;

  射门部位:球员使用头或者左脚还是右脚射门?这个数据在我们使用的公开数据集里是有的;

  传球类型:射门球员得到的传球是直塞、回传还是定位球?是高球还是地面球?这些数据在statsbomb公开数据集也有;

  每一次射门都与数千次具有相似特征的射门进行比较,以确定这次射门进球的可能性。这个可能性就是预期目标总数。0的 xG 是确定失误,而1的 xG 是确定的进球。如果 xG 为0.5,则表示如果尝试同样的射门10次,则预计会进5球。点球的xG固定为0.75。

  xG的一些用途如下:比较 xG 和实际得分可以衡量一个球员的射门能力或运气;XG 可以用来评估球队在各种情况下的能力,比如面对空门、任意球、角球等等;在国外会在betting中使用xG;

  注意不同实体发布的xG的计算模型并不一致,也没有哪家的数据特别权威。

  在xG基础上派生出了很多关联的指标,比如xGA,xGBuildup,xGChain等等,但都不如xG这么流行,每家媒体的指标也不同,因此就不一一展开了。

  计算xG采用了从历史数据中提取特征,并进行拟合。

  过程还是机器学习老一套,确定特征、提取特征、划分数据集、拟合、评估大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!。

  特征选取首先要局限于事件数据能提供的范围。这里使用了射门事件,根据Statsbomb开放数据的特点,这里使用了如下的特征:守门员位置射门距离与角度射门位置射门时封堵球员的数量射门时5码范围内对方干扰球员的数量进攻类型,是定位球还是正常进攻射门的身体部位射门的技巧,比如凌空抽射是否是第一次触球上半场还是下半场该事件持续时间

  看起来挺多特征的,Statsbomb开放数据里面的信息挺丰富,特别是射门数据,甚至还包含了射门瞬间其他球员的位置,称为“冻结帧”。

  目标集是进球与否。

  机器学习常用的拟合方法很多,如果特征选择和预处理做得好,拟合方法没那么重要,这里没有使用最近的网红算法XGBoost,而是使用了简单的Logistic回归。

  对于数据中的一些枚举类型,比如射门身体部位等,简单的采用了LabelEncoder编码器。

  我们选取开放数据中西甲2020~2021赛季巴塞罗那的比赛(有数据的一共35场)

  接下来进行特征提取:大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

  一些以字符串为字面量的枚举类型无法直接参与计算,需要映射为数字。这里采用了LabelEncoder对特征进行编码:

  划分数据集:大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!

  接下来进行拟合与预测

  与statsbomb数据中自带的xG数据进行比较

  得到结果如下:

  第一列为算法计算出来的xG,第二列是Statsbomb数据自带的xG,第三列是进球与否。

  不清楚Statsbomb的xG算法,但应该是类似思路,手头也没有Statsbomb那么丰富的数据,因此结果有差异。

  以上

Soccermatics之三: 足球数据集计算预期进球xG(Expected Goal)

Soccermatics之三: 足球数据集计算预期进球xG(Expected Goal)

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。