如何利用数据科学预测足球队的实力(二)

291 阅读12分钟

预测足球队的实力--第二版

最好的足球队在转会窗口花钱最多(而且还能平衡他们的账目!)。

照片:Tim BechervaiseonUnsplash

目录

简介--亿万富翁的运动

曼城的转会支出

SPI分数和数据来源

我的第二次尝试,也是更好的尝试

模糊糊与球队名称

YellowBrick可视化的算法

用于解释的Shapley值

结论

引言

如果国际象棋是国王的游戏,那么足球就是亿万富翁的运动。

2021年2月,年轻的亿万富翁Kyril Louis-Dreyfus购买了桑德兰AFC的控股权。

桑德兰是英国足球界最具传奇色彩的球队之一,拥有142年的历史,其球迷群体的浪漫激情在《桑德兰至死不渝系列纪录片中得到了最好的体现。他们有多个顶级联赛冠军,但自20世纪30年代以来没有;他们赢得了英格兰足总杯冠军,但自20世纪70年代以来没有。尽管过去这艰难的几十年,桑德兰AFC目前拥有英国足球历史上最多的六个冠军,仅次于英超联赛的一些优秀球队。

如果说他们早期的历史是 "光辉岁月 "的定义,那么过去几年则是 "磨难 "的缩影,从一个赛季到另一个赛季,除了一个旋转的看守经理外,没有什么可展示的。自2015年以来,桑德兰AFC已经有8位不同的经理,不包括在经理更换期间介入的助理,他们平均每场比赛要执教36场。一个甲级联赛赛季有46场比赛。

究竟为什么一个亿万富翁要出手购买一个在过去几个赛季中经历了如此多动荡的俱乐部?因为足球,就其所有的浪漫主义和后发制人的冠军联赛决赛而言,是一个资产的游戏。有一个俱乐部目前的 "升值 "比其他所有俱乐部都好,而且做得很有风格。

曼城的转会支出

曼城由阿联酋王室经营的企业集团拥有,在全球范围内一直是一个顶级俱乐部。它并不总是这样--在谢赫-曼苏尔于2008年收购该俱乐部之前,它是一个处于中游的挣扎者。谢赫-曼苏尔作为新老板的第一个关键决定是拨出资金,从其他顶级俱乐部引进优质球员,而不考虑俱乐部的收入。在前两个赛季,曼城在新球员身上花费了近3.77亿欧元。仅在2010年,俱乐部就花费了近1.2亿欧元;他们还把球员卸给了其他球队,使他们接下来的支出下降到只有8500万欧元。

这种在转会窗口大手笔引进球员的策略得到了回报,估值和银器都有了显著提高。在2008年之前,俱乐部每年的收入在9000万到1亿欧元之间。在短短六个赛季中,收入翻了两番,达到4亿多欧元。自2008年以来,球队已经赢得了5个英超联赛冠军,2个足总杯冠军,6个EFL杯和3个英足总社区盾。俱乐部唯一无法获得的主要冠军是欧洲冠军联赛冠军,尽管他们在2020-2021年入围。

曼城现在价值11亿欧元,通过在设施、体育场和管理方面的花费,以及最值得注意的是在球员身上的花费,曼城已经经历了一次彻底的转型。没有迹象表明这列火车会放慢速度。就在上周,俱乐部完成了一笔引进杰克-格里利什的交易,他是一名在阿斯顿维拉效力的顶级前锋。费用是多少?近1.2亿欧元,这是有史以来为英国球员支付的最高价格。

这让我想到了我的问题--转会活动对一个球队的实力有多大影响?如果曼城花钱引进球员,并且已经看到了回报,那么这些转会支出在哪些方面对他们的实力影响最大。虽然有很多因素会影响到球队在球场上的表现,但俱乐部拥有的球员肯定有较大的影响。

我以前曾经回答过这个问题,在一个早期的项目中,我把它作为跳板数据科学轨道的顶点。你可以在这里查看原始的Medium Post

数据来源和SPI分数

在这第二次尝试中,我使用了相同的数据来源;来自Ewenme资料库的转账数据和来自FiveThirtyEight的SPI团队实力数据

转会数据库包括全世界联赛中俱乐部之间的每一次转会,其中有大量关于球员的重要信息--年龄、费用和位置,等等。我选择了从2016年到2020年的九个欧洲顶级联赛。

FiveThirtyEight的SPI分数是使用涉及进球数和失球数的比赛时间数据计算的,可以追溯到2016年。然后对这些数据点进行加权并给出一个分数,用来对球队的整体实力进行排名。在这里阅读更多关于SPI分数的信息。

建立足球队实力模型,第二版

在我第一次尝试为足球队实力建模时,我将数据限制在过去五个赛季的英超球队。这是我的第一个项目,我很紧张。但在第一次尝试后的几个月里,我学到了更多关于算法的知识,以及如何解释它们的可预测性,我已经准备好再次进行尝试了

对于这个项目的第二版,我致力于回到我的原始工作,并扩大我的视野。我做了以下几件事。

  • 我使用了一个更大的数据集,包括来自欧洲各地的九个职业联赛,历时五个赛季。这使我的最终数据集从100行增加到700行以上。
  • 我使用了FuzzyWuzzy软件包来规范球队和联赛的名称。在我看来,这是一个有意义的改进,我将在下面作进一步解释。
  • 虽然我探索了许多我在第一个版本中使用的相同算法,但我使用Yellowbrick来更好地了解这些算法所显示的内容。
  • 我对最好的随机森林调节器的参数进行了超调,使我的R²得分从0.41提高到0.65,提高了50%以上。
  • 我使用SHAP值来解释数据集特征对模型的影响,并确定各级团队在制定转移战略时需要考虑的重点领域。

我想快速指出的是:我的结论并不完全是革命性的。它们可能已经是每个顶级俱乐部战略的一部分和组成部分了。对于那些试图改善他们的策略,或者试图了解他们在每个赛季的转会窗口中哪里出了问题的俱乐部,这里可能有一两个有用的分析。

使用FuzzyWuzzy来规范球队名称

在向数据集添加其他联赛时,我很害怕这个项目的这一部分。我有两个数据集,每个都有不同的球队命名规则,但在这个项目的版本中,我有九个联赛的名字,而不仅仅是英超联赛。在第一版中,我把每个数据集单独拿出来,从它们的唯一值中创建了一个球队名称的字典,并在数据集中增加了一列新的名称的缩写,我在两个数据集中都使用了这个名称的缩写。

即使打出解释也是更多的工作。

在第二版中,我使用FuzzyWuzzy库来规范名称。我仍然单独处理每个数据集,但使用这个新的库使工作明显比为每个数据集的每个联赛创建单独的字典(或两个巨大的字典)容易。

对于那些对FuzzyWuzzy(文档)感到陌生的人来说--它需要两个字符串,对它们进行匹配,并提供一个相似度分数。

比如说。

Str_A = 'FuzzyWuzzy' solves problems!'
ratio = fuzz.ratio(Str_A.lower(), Str_B.lower())

这将返回一个95分的相似度。

除了使用ratio()函数外,FuzzyWuzzy还使用函数对字符串进行标记,并在运行前对其进行处理。使用FuzzyWuzzy,我创建了一个函数来比较我的每个数据集中的球队名称,用其中一个作为基本名称,另一个作为比较,并根据比率分数对它们进行标准化。它返回一个字典,我用它来替换两个数据集中的球队名称,而且比我的第一版解决方案快得令人发指。

使用YellowBrick将算法可视化

我在每个项目的EDA步骤中都有可视化数据的自定义函数,但我真的想看看模型告诉我测试算法的情况。YellowBrick有一系列看似无止境的可视化功能供用户使用,我建议查看项目的文档

我把事情做得很简单,用残差图和预测误差图来可视化每个算法。

使用Yellowbrick的残差图和精度误差图--来自我的Jupyter笔记本

用于解释可预测性的Shapley值

我以前使用过Shapley值,而SHAP项目是我探索过的最有趣的项目之一。建立shap库的好心人非常出色,他们开发的代码使用博弈论概念,以清晰、有意义的方式解释特征的重要性。

举几个例子来告诉你shap库能做什么。

首先,看一下蜂群图,它显示了每个特征的值对模型的影响。在我的项目中,最有影响的特征是平均费用支出,即足球队在每个转会窗口转入俱乐部的平均费用支出。beeswarm显示的是,虽然平均花费的费用影响很大,但当一个球队的平均花费很高时,它的影响是最积极的,可以提高球队的实力。

SHAP值蜂群图--来自我的Jupyter笔记本

有趣的是,如果你看一下图表中的total_transfers_in和total_transfer_out的几个特征,你会发现这些特征的高值对球队的实力有更大的负面影响。大量的转会活动,不管是转入还是转出,对一个俱乐部来说都不是好事。将他们的努力集中在每个赛季较少数量的球员进出上,对他们的赛季实力有更有利的影响。我想不出有什么图表能更清楚地表明这一点,对于一个对机器学习和预测分析还很陌生的人来说,shap蜂巢图对他的帮助是惊人的。

这里有两个非常酷的shap可视化图,显示了每个特征的价值对特定球队实力的影响。

在一个转会窗口中花费的平均费用很低,对这支球队的实力有很大的负面影响--来自我的Jupyter笔记本

要理解这个瀑布,首先看一下右下角。根据最终的RandomForest模型,该E[f(x)]是数据集的基线实力得分。在图表的左边,你可以看到这个特定的球队在特定的赛季中每个特征的值。在这种情况下,俱乐部花在转会上的平均费用极低,对基线实力得分产生了近10分的巨大负面影响。他们也没有在任何一个球员身上花很多钱,这对他们的实力也有很大的负面影响。

这是一个更强大的球队。

平均花费较高,约450万欧元,导致这支球队的实力增加了近10分--来自我的Jupyter笔记本

很容易看出,平均花费多和在单个球员身上花费多对球队的整体实力有积极影响。仅仅这两个特征值就使这支球队的实力提高了17个百分点。

结论

  • 首先,重做以前的项目是相当有趣的,尤其是在尝试新的库、新的算法和新的技术时。
  • 第二,球队可以通过平均花费更多和在单个球员身上花费更多来提高每个赛季的实力。
  • 第三,一般来说,虽然花钱对一个球队的实力有很大的提高,但通过交易走球员带来的钱也是如此。如果一个俱乐部不能花很多钱,他们应该努力赚很多钱。这在很大程度上是南安普顿保持在英超联赛的方式。
  • 第四,如果我再次尝试这个项目(我会的,因为我喜欢它),我会选择出一些影响较小的功能,看看我是否能消除一些噪音。
  • 第五,Kyril Louis-Dreyfus正在掌舵一家需要重启的传奇俱乐部,如果他能在转会上分出足够多的自己的钱,他可能会看到这家俱乐部重回辉煌,并提高其整体价值。

如果你能走到这一步,非常感谢你的阅读。看看整个资料库,并看看我的网站,看看我所做的其他项目。如果你对这个分析有什么要补充的,或者注意到我犯的任何错误,请给我打电话。如果你拥有一支足球队,请准备好在夏季转会窗口花大钱吧!

汤姆的Github


预测足球队实力--第二版》最初发表在《走向数据科学》杂志上,人们通过强调和回应这个故事来继续对话。