导读
随着疫情逐渐淡去,足球热度不断复燃。主流联赛尽已重启,英超、西甲冠军也相继提前出炉,欧洲五大联赛也只剩意甲还留有悬念尤文夺冠。作为一名多年伪球迷,在欢喜皇马时隔3年重夺联赛第34冠、尤文争冠形势一片大好之余,也不禁为武磊现东家(西班牙人俱乐部)以西甲副班长身份降级而感到惋惜。所以,本文就用python分析一下,武磊离顶级前锋还有多远?
谨以此文祝贺皇马力夺34冠
01 数据获取及分析框架
获取球员数据的渠道有多种,比如德国转会市场(https://www.transfermarkt.de/)、足球最大移动平台懂球帝等,都可以获得实时更新和较为完整的数据。但考虑抓取难度,笔者寻找了一个简单而又不失权威的足球运动员数据平台——PES官方数据库。PES作为最经典的足球游戏之一,其数据一般源于官方授权,虽然更新不够及时,但好在其获取极其简单(有分页的json API)、对于爬虫初学者来说十分友好,更重要的是无需考虑反爬问题。
PES 2020 数据库
简单分析网页请求API后,可以得到数据库获取的json接口,共752页1.5W余名足球运动员信息,每个球员共30余个特征信息,除去例如球员姓名、国籍等基本属性外,影响球员能力的特征也有20+,值得分析的切入点有许多,但限于篇幅和兴趣点:本文主要分析框架如下:
基本概况分析,重在探索宏观画像
球队级:大洲、国籍、联赛、球队
球员级:年龄、惯用脚、星级、评分、BMI、位置
主流联赛球员分布
主流联赛球员评分
球员个体排行榜:"各类"榜首球员
世界足坛超巨
各位置TOP 5
足坛老妖
潜力小妖
六边形战士
玻璃人超巨
借助机器学习,球员属性信息挖掘
回归问题:球员评分
分类问题1:球员星级
分类问题2:球员位置
聚类问题:武磊与顶级前锋的差距
注:本文数据均源于PES2020,所有分析观点和结论仅供参考。文末提供源代码和数据文件获取方式。
02 基本概况分析
为了从宏观上了解当前主流联赛现役球员情况,首先从以下4个维度给出球员分布:
球员宏观分布
从中可以得出以下几个鲜明结论:
大洲层面:欧洲产出足球运动员最多,占一半以上;其次为南美洲,也超过了1/4
国家层面,巴西是当之无愧的足球王国,遥遥领先于世界其他各国;相比之下,同为拉美足球大国的阿根廷则要逊色不少,略低于西、法两国,同时意大利、英格兰和荷兰也悉数入选TOP10,但德国可能是由于PES授权的原因而未进入前10榜单;同时令人欣喜的是,中国和泰国也均以贡献球员400+的喜人数据上榜(这可能和PES取得相应联赛授权有直接关系);
俱乐部层面,分别分析了球员人数和球员平均评分的直方图分布,基本呈现正态分布,并无更多实质信息量
其次,分析球员的基本属性(画像),主要是关注了球员的自然属性和评分问题。
球员基本属性
从球员的基本属性来看:
足球运动员的职业生涯覆盖15—40+,对于足球这种高对抗运动,能踢到40+已经算是不老神话了
球员BMI分布呈现方差较小的正态分布(体现为密度曲线高瘦,说明足球运动员身材都比较标准),考虑标准体型的BMI范围一般为18.5—23.9,所以更为strong的球员不再少数,当然也不排除低级别联赛一些虚胖而非strong的个体存在(BMI指标由身高和体重数据计算得来)
惯用脚方面,明显是右脚居多;球员位置仍然是传统角色居多,影锋、边前卫可能更多是出于阵型排布和战术考量而没有广泛存在
球员评分方面,目前PES中评分与星级的对应关系是:85+:5星,80-84:4星,75-79:3星,70-74:2星,<70:1星。观察各星级球员数量占比,基本呈现金字塔分布。
接下来,运用炫酷的桑基图展示主流联赛球员来源情况。这里,除了西英意法4大联赛球队信息完整外,德甲仅有几支顶尖俱乐部入选,并和其他几支欧洲强队以"欧洲其他球队"的联赛标签列入其中。同时,为了了解中超情况,也将中超联赛一并列入进行分析。
可能华而不实的桑基图
毫无疑问,欧洲主流联赛球员仍然是主要来自欧洲国家,这当然与俱乐部对外援数量限制(欧盟国家不占用外援名额)有关,但也不可否认的是欧洲足球的顶级水平。同时,南美和非洲也为五大联赛贡献了不少球员,包括巴萨曾经的三叉戟MSN(目前N已效力于法甲大巴黎)均来自南美国家,英超新贵利物浦的2名主力前锋萨拉赫和马内则都来自于非洲。另外,亚洲近年来也向欧洲输出了不少球员,包括亚洲一哥孙兴民、中超代表武磊等,其中孙兴民是PES2020中唯一一位亚洲籍5星球员。
下面的箱线图更能清晰表达几大联赛球员水平现状,通过整体分布区间、均值和极值来看,联赛水平排名应该是:西甲-英超-意甲-法甲-其他欧洲球队(含德甲几支强队)-中超。
几大联赛球员评分分布
另外,注意到西意法和其他欧洲球队均有一个评分超过90的极值点,盲猜应该分别是巴萨的梅西、尤文的C罗、巴黎的内马尔以及拜仁的莱万,这也基本代表了当今足坛的顶级前锋TOP4。
03 球员个体分析
前面是对球员整体进行了宏观分析,接下来主要聚焦于球员个体能力指标对比排名。
首先亮出当今世界足坛顶级球星(评分>90):
球员基本信息如下:
足坛八大顶级巨星(评分90+)
顶级超巨评分均在90+,需要说明的是90+评分在PES2020中已经算是绝对顶尖的水平了,一共仅有19名球员评分在90以上(即另有评分90的球员11人,包括拉莫斯、姆巴佩、丁丁、格列兹曼、萨拉赫等)。虽然姆巴佩算得上是十足的年少有为,内马尔、阿扎尔、阿里松也都处于职业黄金巅峰,但我们仍然要感慨于梅罗居然能以如此"高龄"持续统治世界足坛十余年,真是绝代双骄了。
再来依据位置细分排行榜。这里,区分前中后三条线和门将共4类位置对球员进行简单归并,并各取TOP5。得到如下榜单:
4条线TOP5
分位置来看,进入榜单的也都毫无意外,均是各俱乐部的铁打主力。不过如果说有哪个名字生疏的话,那不勒斯中卫库利巴利可能因为俱乐部原因而知名度略低一些。
梅罗以如此高龄统治足坛十余年,然而还有比其更为传奇的足坛不老神话,堪称是足坛老妖。比如,这位瑞典神塔伊布拉希莫维奇, 38岁高龄依然享有5星待遇。
5星中的34岁+球员仅有7位,都是传奇
如果说仅凭星级和年龄来评定足坛老妖还不够权威公允的话,那么定义老妖指数=评分*年龄,并遴选老妖指数TOP10的球员,会发现有比伊布还要更为传奇的面孔——布冯!虽然岁月已不允许他继续以5星闪耀世界,但却没人会质疑他占据足坛老妖榜首的资格。此外,伊布、C罗则仍然进入榜单前5,足以证明其活化石能力;而巴萨前中场大脑哈维在这份榜单中排行第7位,但其真实身份已是阿尔萨德俱乐部教练。
老妖指数old_index=评分*年龄
英雄不问出处、成名不论岁数,足坛更能吸引世人眼球和撬动资本市场的实际上当属那些足坛小妖,或者称其为潜力股。几年前,初露锋芒的姆巴佩就是以这样的身份展现在世人面前,直至随法国队豪夺18年世界杯冠军正式证明自己,而不再仅仅是球迷口中的"妖人"。当然,姆巴佩之后足坛妖人也是从来不缺少后浪的,比如:
5星中的U22球员已有8位,大多跨入豪门
与此同时,类似老妖指数,这里也给出相近的小妖指数定义:小妖指数=评分/年龄,仍然遴选TOP10,得到如下排行榜:
小妖指数young_index=评分/年龄
排在榜首的是一名15岁的智利球员,效力于本国甲级联赛,但其夺魁更多是出于年龄优势的加持,潜力和成长空间还仍需考证。相比之下,更值一提的是尤文的德里赫特、皇马的巴西小将双子星(维尼修斯和罗德里戈,均为00后),尤其是德里赫特能以20岁的年纪获得5星中卫评级,实属难得。
除了单属性巨星外,现代足球也需要全能型球员,号称绿茵场上的"六边形战士"——除了门将位置其他都能踢。为了找出这些足坛中的六边形战士,类似电商会员价值分析中的RFM模型,选定如下指标计算球员的六个维度指数:
传球:地面传球+高空传球+定位球
盘带:控球+盘带
速度:速度
身体:耐力+协调+弹跳+抗伤指数+身体接触
防守:防守+抢断+解围
射门:射门+头球
在此基础上,当球员的某个维度能力值高于所有球员均值时计为1,否则计为0。当在6个维度上均高于相应均值时,累计6星并达成六边形战士。遴选六变形战士中的评分TOP10球员,制作相应雷达图如下:
十大六边形战士能力雷达图(后卫超半席)
最后,我们再关注一项有趣的数据:足坛那些饱受伤病困扰的巨星。提到伤病对职业生涯的影响,可能大罗很有发言权:纵然其职业生涯不可谓不光彩、先后效力西甲和意甲死对头豪门(皇马vs巴萨、米兰vs国米)、个人和集体荣誉无数,并一度被誉为是贝利和马拉多纳之后球王第三人,但也不得不感慨伤病对其职业巅峰的巨大影响。放眼当下足坛,虽然医疗水平和饮食科学与日俱增,但饱受伤病困扰的巨星仍不在少数。基于数据库中的抗受伤指数信息,筛选最容易受伤的巨星TOP10,得到如下结果:
足坛10大玻璃人巨星
然而,可能是由于该指数区分度较低(PES数据中该字段仅有1、2、3三种取值,数值越高越不易受伤),所以有些球星与现实中的表现并不大一致,例如本泽马、克罗斯目前都是皇马出勤率超高的球员;而"知名玻璃人"也不再少数,例如贝尔、蒂亚戈、罗伊斯,毫不夸张的讲,倘若没有伤病困扰,他们当前的足坛地位会高出许多!
从这个角度讲,像梅罗这样天赋出众、不易受伤、巅峰期超长的巨星真称得上是多年难遇。
04 机器学习筛选
数据记录数量充足,特征又如此丰富,不拿来跑几个机器学习模型岂不可惜!
这一部分主要从3个角度展开分析,分别属于机器学习中的3类主流问题:
球员能力分析:
回归问题:以球员能力作为训练特征、球员评分作为回归变量,分析球员的机器学习评分(以下简称ML评分)和PES评分差值
分类问题:仅以星级来衡量球员能力,并以此作为分类标签,执行分类任务
进一步地,以机器学习模型得到的ML评分和星级作为球员"真实能力",对比PES评分和星级,分析那些被PES高估和低估的球员;
球员位置预测:这也是一个分类任务,但考虑分类的难度和准确率,对球员担任角色区分前中后场和门将4类位置,构造一个4分类任务,探索"职能不符"或者"不务正业"的球员
球员聚类分析,基于物以类聚人以群分的思想,重点探索PES中哪些球员和武磊更为"相近"。了解一个人的价值、可以看他与何人为伍。所以,分析武磊和哪些球员聚类在一个簇,一定程度上可以管窥武磊在足坛的地位和水平。
上述机器学习模型中,回归和分类任务均调用随机森林模型,且未进行任何特征工程和优化调参;聚类任务则是在执行归一化处理后调用K均值聚类模型,并以轮廓系数作为度量指标选择最优簇数。
首先来看球员能力分析方面。
以球员评分作为预测值,执行随机森林回归后,得到R2评分为0.95,具有较好的学习效果。基于此模型,将ML评分和PES评分做差,得到被PES高估(PES评分高于ML评分)和低估(PES评分低于ML评分)的十大球员分别是:
【评分】十大高估球员:豪门溢价导致"高分低能"
【评分】十大低估球员:低级别联赛限制了身价
类似地,调用随机森林分类模型对球员星级进行预测,得到最后准确率评分0.88,略显偏低。以此模型对所有球员进行星级预测,并与PES给出的星级对比,分别得到如下结果:
【星级】十大高估球员:全部是欧洲豪门球员
【星级】十大低估球员:多为二线球队球员
通过以上两个模型训练和预测结果分析,最直接的结论是:
平台很重要,豪门俱乐部和不知名球队对于球员的能力评分可能带来很大的反差:豪门带来的是"溢价"、不知名球队则可能造成"贬值"
估计被模型黑的最惨的两个球星当属曼城门将埃德森和尤文中锋伊瓜因了,前者在评分中贬值近8分,按照星级划分规则直接5星变4星;后者则干脆在星级预测中5星变3星。
从另一个角度来看,那些PES评分较低而ML评分更高的球员,则可能是足坛潜力股,一旦得到豪门青睐补齐球队劣势因素则可能声名鹊起、名声大噪!
接下来通过球员位置分类模型,分析哪些球员可能"职能不符"或者"不务正业"。
仍然是调用随机森林分类模型,对所有球员执行4分类任务,得到分类准确率评分0.9,学习效果可以接受。给出混淆矩阵结果,以期直观探索各类型球员位置预测错误情况:
球员预测结果混淆矩阵
左侧索引为真实位置、上方列名为预测位置
容易发现:
门将位置球员无一错误(号称门卫的诺伊尔呢),均得到了正确的位置预测,看来门将的属性与其他三类球员特征有着明显区分,不易混淆
中场球员是被预测错误最多的位置,且雨露均沾的被错误预测到前场和后场的球员样本分别有70次和129次,这不足为奇:一方面与球员自身能力特点有关,比如边前卫和边锋属性更为相近、前腰和影锋也有很多属性共同点,后腰更是常常能客串中卫的角色;另一方面则是由于PES数据库本身标签定位问题,例如皇马新星阿森西奥被标为左前卫,但实际更像是一个边锋角色;
后场球员被分错位置的样本中,绝大多数是预测成了中场,而仅有3例是被判成了前锋(看了记录,居然没有拉莫斯!)
前场球员有着相似效果,在预测错误的样本中绝大多数被判为中场,而仅有5例是前场预测成了后场,这该是有多么偏爱防守的前锋啊
给出预测位置与实际位置不符的十大巨星:
十大"职能不符"巨星,均在"合理"范围之内
最后,运用聚类模型,对与武磊同位置(左边锋)球员样本执行聚类任务,以便了解武磊在左边锋队伍中到底属于什么水平,与左边锋中的顶级巨星(以C罗、内马尔、阿扎尔为代表)又有多大差距。
经过简单的聚类训练后(以轮廓系数作为评价指标,但得分整体处于较低水平),设置K均值聚类参数n_clusters=5,并对各簇球员平均分进行可视化如下:
5簇球员平均评分:武磊在簇"1"中,以微弱劣势处于第三
与武磊同伍的那些左边锋们
整体来看,与武磊在同一聚类的左边锋球员队伍中,评分大多处于80分左右(对应3-4星球员),知名度方面也并没有特别突出的球员。
最后,遴选左边锋位置比较重要的两项能力——速度和射门,制作散点图如下:
武磊与5星左边锋队伍差距依然很大
显然,仅就速度和射门两项属性来看:武磊在速度上占据一定优势,甚至超过部分5星左边锋,但射门属性上却相去甚远,一定程度上可以反映武磊当前在足坛的地位和水平,更重要的还有很多其他能力属性也有差距。武磊当前所处的境地,可能也正是国内足球现状的一个缩影!
05 后记
本文以PES2020球员数据库作为数据源,主要完成球员宏观分布情况、球员个体排行榜以及机器学习模型下的球员属性分析,得到了一些有意义的结论,对于足球爱好者来说也能称得上有趣。
同时,后续可能的优化思路是:
数据侧:横向扩充样本数量,例如可以从德国转会市场API中获取更多在役球员和俱乐部数据;纵向增加特征数据,例如补充球员实时表现数据,包括进球、助攻、传球等关键数据
算法侧:本文所用到的分析模型均选择了最为基础的机器学习模型,后续可考虑进行模型调参和多模型对比,应用优化后的模型预测结果进行分析更有价值
分析侧:数据体量较大,所以可分析的切入点还有很多,例如可以面向俱乐部构建能力评价指标(例如球队六边形、潜力指数等),查看俱乐部的能力水平;补充历年历史数据,利用时间序列模型分析球员能力增长属性和升值空间等
最后再次指出,受限于数据准确度和时效性等因素,本文所有分析观点和结论仅供参考娱乐,不足以说明任何实质结论。若对分析源码和数据集感兴趣,可扫码添加微信获取(百度网盘着实不好用)。
有意源码和数据,可扫码添加微信获取
相关阅读:
临行在即,分享一个自己写的sklearn源码库
python数据科学系列:seaborn入门详细教程
python数据科学系列:pandas入门详细教程
python数据科学系列:matplotlib入门详细教程
python数据科学系列:numpy入门详细教程