世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

话说,最近的世界杯依然还在如火如荼地进行着。嗯,其实,作为一名直女,我想说的其实是,what?居然,还没有结束?!我怎么感觉世界杯已经踢了一个月了,有完没完啊!

而最近这段时间简直堪称是直男们的节日,八姐的好几个闺蜜已经说了,尼玛,世界杯简直让男人们都魔怔了,晚上不睡觉看球,让她们一天诞生了无数次想休夫的念头。你以为看个球就够了吗?直男球迷们的疯狂你永远都难以想象,特别是懂技术的直男。八姐听说,一位在乐信上班的程序员,不仅看球,还一本正经地用自己的AI技术来预测世界杯,那可真是不眠不休。

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

事情是这样的。这位程序员是在乐信专门做金融反欺诈AI引擎的,然后,他就翻了好几天的历史数据,整理出了将近50个纬度,预测世界杯结果。八姐也不懂,他预测的冠军是比利时,你们觉得靠谱吗?更有趣的是,这位程序员其实是个94年的小哥哥,本来应该各种花前月下牵着妹子的手的,但他却一脸嫌弃地拒绝了妹子帮他加班的请求,原因只是因为妹子不懂球。。。what?真是,直男心,海底针,直男码农的世界你永远不懂啊。

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

因为这个程序员是专门做金融反欺诈AI引擎的,所以,他就拿自己的工作研究成果来预测世界杯,然后用三天时间废寝忘食算出了各个球队取胜的概率。为此,他还专门写了一篇文章梳理了自己的推演过程。有懂技术的盆友说他预测得真心还有点意思。八姐也看完全文了,整个推理过程感觉上确实是有点意思的(嗯,我绝对不会告诉你,其实我完全看不懂一脸懵逼。)

好啦不废话啦,发来这位码农写的预测全文,顺便借此测试一下俺这个账号的直男粉丝到底有多少,哈哈。。

世界杯打到四强,关注度越来越高。谁是冠军?有理性的人,也有阴谋论者,似乎每个人都有内幕消息,但说来说去,都是一句“听说”。今天,我就来告诉大家,如果靠机器算,谁是冠军。

声明

以下观点仅代表我个人,不代表我所供职的乐信AI Lab,不对大家购买的结果负责。天台风景虽好,想想家中妻小,赛前分析猛如虎,不如感觉更靠谱。

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

01

先说原则

从足球的角度来说,世界杯开赛前,夺冠赔率前四的球队——德国、巴西、西班牙和阿根廷都回了老家,最令人想不到的就是稳如德国,竟也应了最近几届世界杯卫冕冠军小组不出线的魔咒。这都正中了那句“大热必死”的俗话。

如果抛开偶然因素,仅从纸面分析,这些强队输的冤不冤?敌暗我明,技战术吃透,摆大巴密集防守,遇上强队,所谓的弱队有100种方法,让他们生不如死,从这个角度看,强队输的一点也不冤。

我的结论,是搜集了从2002年韩日世界杯到本届世界杯,8强球队的近50个维度数据依靠机器学习计算出来的。不接受抬杠,但愿意和我讨论技术的,十分欢迎。

02

学习一下

在做模型之前,码叔在网上做了一些功课,搜索了各类预测方法和结果,其中有一篇用Python分析的热度颇高。

选几个图给大家看看(侵删):

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

世界杯历史胜场榜

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

世界杯历史进球榜

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

2018世界杯32强历史胜场榜

这还只是一小部分。

说实话,这篇预测收集了从1872年至今的数据,确实比码叔多多了,但遗憾的是,这些数据都是独立的,没有经过任何处理,就直接被用在了最后的结论上,并不像预测,而是数据排序。很显然,类似德国、巴西、阿根廷这样的传统强队,一定是最后的夺冠大热门。

举一个通俗的例子吧,你有10000块,我有100块,存在同一家银行,不论过多久,我都不会比你有钱,这与我努不努力不相干,只因为祖上不行。

说这些,我并没有任何不敬的意思,也没有贬低Python的意思(毕竟PHP是世界上最好的语言嘛,手动滑稽),只是讨论方法。我认为影响足球比赛的因素和历史数据确实有较大关联,但更重要的是,这支球队近年来的表现,就好比乌拉圭有两次世界杯冠军,法国只有一次,但最终法国2:0完胜乌拉圭。毕竟乌拉圭的冠军距今都快100年了,富不过三代嘛。

03

我的结论

现在开始说我的计算,从结果看,4强中比利时队拥有更大的概率获得冠军,法国和英格兰基本持平,克罗地亚稍稍下风。

04

我的过程

我选用的是近年来被炒得非常火热的机器学习,在建模的过程中,一般会有以下几个步骤:样本收集、特征处理、训练模型、预测结果,接下来详细说一下这几个步骤。

机器学习,其实是一个从已有的数据中发现和学习潜在规律的过程。我认为,世界杯冠军的预测,其实就是从过去的比赛中,分析出结果与特征的关系,让机器学习到一个函数y= f(x), 其中y是队伍的得分,x是队伍的特征。

因此,我搜集了2002年至2014年四届世界杯八强的数据,规定前四名分别得分4 、3 、2 和1,未进入四强的队伍得0分,这样共得到32条数据,再结合这32条数据当届世界杯的其他特征,作为训练集。

选哪些特征呢?一方面,是比赛特征,包括控球率,射门和射正比,传球成功率等,另一方面就是球队特征,例如在国际足联的排名,历史最佳排名,近4年最佳排名,球员平均年龄,顶级联赛球员比例,球员身价,教练胜率等,最后就是球队所代表的国家特征,来自哪个大洲、国家GDP世界排名等等。

思考

哪些维度最重要?这是个有意思的话题,计算后的发现让我有点惊讶,如果真的侥幸中了,我会再写一篇单独分析。

虽然从机器学习的角度来说,数据仍然显得有些少,但仔细数一数,也有将近50个了(这个过程花了码叔整整3天啊~~~本来组里有个妹子发现我偷偷搞这个,硬要陪着我加班帮我搜集数据,我觉得她是个球盲,什么也不懂,很碍事,就让她先回家了,现在想想,我是不是错过了什么)。

说仔细一些,我发现进入历届世界杯八强的队伍,主要是欧洲和南美洲的球队,而中北美洲、非洲、亚洲的球队很少(在此鸣(bi)谢(shi)亚洲某世界杯四强队),因此我将大洲分为欧洲、南美洲和其他三种,使用one-hot编码(用三个特征,分别表示球队国家所在的大洲是否是欧洲、南美洲、其他大洲,是的话为1,否则为0,这样对每一个球队来说,这三个特征只有一个是1,其他两位都是0)。

我先计算了特征与得分之间的皮尔森系数,系数绝对值越大,说明特征与得分相关度越高,根据皮尔森系数,筛选出一些相关度比较高的特征进行建模。

训练模型方面,我用了现在使用较为广泛的随机森林模型。随机森林是一种集成学习算法。

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

如上图所示,随机森林是由很多棵决策树构成的一片“森林”,对于一个样本,“森林”中的每棵“树“都会给出自己的预测结果,然后所有“树”根据民主方式进行投票,决定最终预测结果。

例如在分类问题中,共有10棵树,8棵树预测为A,2棵树预测为B,则投票结果显示为A。

在训练模型时,因样本数量有限,我将每棵树深度设置的较浅,并且通过限制叶子节点的样本数目进行剪枝。

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

图中没有子节点的节点被称作叶子节点,每个样本,从根节点开始,判断是否满足每个节点的条件,如果满足条件,则进入左侧节点,否则进入右侧节点,最终会落入一个叶子节点,叶子节点的value就是这棵树对该样本的预测值,所有树预测值的平均值,作为预测的最终得分。

用这个方法,最后四强球队的得分分别是:

球队

得分

法国

0.85

比利时

2.85

英格兰

0.85

克罗地亚

0.53

从这个角度看,比利时将会夺冠,也就是说,华帝的钱,真不一定退的出去。

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

足球是圆的,就像谁也不会想到德国会输给亚洲某世界杯四强队一样,这个结论我也不知道准不准,但是我用这个方法验算了2014年世界杯的结果,发现……是准的。

世界杯排名函数公式(直男码农居然用AI预测世界杯冠军,看完推理全程的我彻底懵逼了)

2014年的八强,德国夺冠概率明显高于其他队伍

05

写在最后

用“随机森林”预测世界杯结果的准确性,关键在于数据量以及数据的维度,否则结果可能大相径庭。

前不久,世界顶尖投行高盛也通过这种方法,预测了本届世界杯结果,而他们的结论是:

巴西最终夺冠的几率为 18.5%,高于法国 11.3% 和德国 10.7%;西班牙和阿根廷表现低迷,在四分之一决赛被淘汰;德国和巴西将分别在半决赛中击败葡萄牙和法国晋级。

从当前赛况来看,高盛的预测可以说是一塌糊涂。

问题出在哪儿?主要是因为高盛用了更少的参数。他们将数据参数严格限制在球队和个人级别的指标上、最后只有五个主要指标或者变量,分别是:球队评级、球员评级、球队近期表现、对手近期表现和球队近期进球势头。

数据维度不科学,怎么可能准的了!高盛已经不是第一次踩坑。2010 年世界杯,高盛预测总决赛巴西对德国,结果夺冠的是西班牙;2014 年又说巴西会夺冠,而且概率高达 48.5%——哪想到巴西在半决赛被德国 7:1 血洗……

如果说,码叔这回的预测是对的,那我是不是应该立马辞职去投行或者公司?!支持的朋友点个赞。

附:

各大电视台、投行和公司预测结果:

ESPN 多数专家(下同):巴西

FOX Sports:巴西

BBC:德国

央视体育:巴西

瑞银 UBS:德国

大部分公司:巴西