使用Python的简单模型预测2022年FIFA世界杯

2023-08-22 12:57:52 聚哦游戏 聚哦

使用Python的简单模型预测2022年FIFA世界杯

最终获胜者是…

图片来自 Shutterstock

许多人(包括我)称足球为“不可预测的比赛”,因为一场足球比赛有不同的因素可以改变最终比分。

这是真的……在某种程度上。

很难预测最终比分或比赛的获胜者,但在预测比赛的获胜者时却并非如此。在过去的5年里,拜仁慕尼黑赢得了所有的德甲冠军,而曼城则赢得了4次英超联赛冠军。

巧合 我不这么认为。

事实上,在 20-21 赛季中期,我创建了一个预测英超、西甲、意甲和德甲联赛冠军的模型,它成功地预测了所有联赛的冠军。

这个预测并不难做出,因为那时已经进行了 19 场比赛。现在我正在运行相同的模型来预测 2022 年世界杯。

以下是我如何使用 Python 预测世界杯

我们将如何预测比赛

有不同的预测方法。我可以构建一个奇特的机器学习模型并为其提供多个变量,但在阅读了一些论文后,我决定给泊松分布一个机会。

为什么 好吧,让我们看一下泊松分布的定义。

泊松分布是一种离散概率分布,描述了在固定时间间隔或机会区域内发生的事件数量。

如果我们将进球看作是一场足球比赛 90 分钟内可能发生的事件,那么我们可以计算 A 队和 B 队在一场比赛中进球数的概率。

但这还不够。我们仍然需要满足泊松分布的假设。

可以计算事件的数量(一场比赛可以有 1、2、3 或更多的目标)事件的发生是独立的(一个进球的发生应该不会影响另一个进球的概率)事件发生的速率是恒定的(在某个时间间隔内进球的概率对于其他相同长度的时间间隔应该完全相同)两个事件不能同时发生(两个目标不能同时发生)

毫无疑问,假设 1 和 4 得到满足,但假设 2 和 3 部分成立。也就是说,让我们假设假设 2 和 3 始终为真。

当我预测欧洲顶级联赛的获胜者时,我绘制了前 4 大联赛过去 5 年每场比赛进球数的直方图。

4个联赛进球数直方图

如果你看一下任何联赛的拟合曲线,它看起来就像泊松分布。

现在我们可以说,可以使用泊松分布来计算一场比赛中进球数的概率。

这是泊松分布的公式。

为了做出我考虑的预测:

lambda : 90 分钟内进球的中位数(A 队和 B 队)x : A 队和 B 队在一场比赛中可以进球的数量

要计算 lambda,我们需要每个国家队的平均进球数/失球数。这将我们带到下一点。

每个国家队的进球数/失球数

在收集了 1930 年到 2018 年所有世界杯比赛的数据后,我可以计算出每个国家队的平均进球数和失球数。

在我对欧洲前 4 联赛的预测中,我考虑了主客场因素,但由于在世界杯上几乎所有球队都在中立场地比赛,因此我在分析时没有考虑这个因素。

一旦我获得了每支国家队的进球数/失球数,我就创建了一个函数来预测每支球队在小组赛阶段将获得的积分数。

预测小组赛阶段

下面是我用来预测每个国家队在小组赛阶段将获得多少分的代码。它看起来很吓人,但它只有我提到的很多东西,直到这一点被翻译成代码。

def predict_points(home, away): if home in df_team_strength.index and away in df_team_strength.index: lamb_home = df_team_strength.at[home,'GoalsScored'] * df_team_strength.at[away,'GoalsConceded'] lamb_away = df_team_strength.at[away,'GoalsScored'] * df_team_strength.at[home,'GoalsConceded'] prob_home, prob_away, prob_draw = 0, 0, 0 for x in range(0,11): #number of goals home team for y in range(0, 11): #number of goals away team p = poisson.pmf(x, lamb_home) * poisson.pmf(y, lamb_away) if x == y: prob_draw += p elif x > y: prob_home += p else: prob_away += p points_home = 3 * prob_home + prob_draw points_away = 3 * prob_away + prob_draw return (points_home, points_away) else: return (0, 0)

用简单的英语,predict_points计算主队和客队将获得多少分。为此,我使用公式 计算了每个团队的 lambda average_goals_scored * average_goals_conceded

然后我模拟了一场比赛的所有可能比分,从 0-0 到 10-10(最后一个比分只是我目标范围的极限)。一旦我有了 lambda 和 x,我就使用泊松分布的公式来计算p

如果比赛分别以 1–0(主场获胜)、1–1(平局)或 0–1(客场获胜)结束,则prob_homeprob_drawprob_away将累积其值。p最后,使用以下公式计算分数。

points_home = 3 * prob_home + prob_draw points_away = 3 * prob_away + prob_draw

如果我们predict_points用来预测英格兰对美国的比赛,我们会得到这个。

>>> predict_points('England', 'United States')(2.2356147635326007, 0.5922397535606193)

这意味着英格兰将获得 2.23 分,而美国将获得 0.59 分。我得到小数是因为我使用的是概率。

如果我们将此predict_points函数应用于小组赛阶段的所有比赛,我们将获得每个小组的第 1 和第 2 名,因此将在淘汰赛中进行以下比赛。

作者使用 Canva 编辑的图像

预测淘汰赛

对于淘汰赛,我不需要预测积分,而是预测每组的胜者。这就是为什么我在get_winner以前的功能的基础上创建了一个新predict_points功能。

def get_winner(df_fixture_updated): for index, row in df_fixture_updated.iterrows(): home, away = row['home'], row['away'] points_home, points_away = predict_points(home, away) if points_home > points_away: winner = home else: winner = away df_fixture_updated.loc[index, 'winner'] = winner return df_fixture_updated

简单来说,如果points_home大于points_away则为主队,否则为客队。

多亏了这个get_winner函数,我可以得到前面括号的结果。

作者使用 Canva 编辑的图像

预测四分之一决赛、半决赛和决赛

如果我get_winner再次使用我可以预测世界杯的获胜者。这是最终结果!

作者使用 Canva 编辑的图像

通过再次运行该函数,我猜赢家是……

巴西!

这就是我使用 Python 和泊松分布预测 2022 年世界杯的方式。

#2022世界杯#​

C罗回归曼联情怀与利益的双赢,也是怀旧的实用主义

“在曼联,一切皆有可能。小小罗,欢迎回家!”北京时间8月27日深夜,英超豪门曼联俱乐部通过社交媒体宣布C罗回归,轰动世界足坛——36岁的C罗赶在今夏转会窗关闭前,从意甲尤文图斯转会至曼联。

18年前,名不见经传的少年C罗来到老特拉福德。因为世界足坛有罗纳尔多和罗纳尔迪尼奥两位同姓巨星,葡萄牙人当年被人们称为“小小罗”;18年后,进入职业生涯暮年的克里斯蒂亚诺·罗纳尔多,回到梦想起航的地方,他已是独一无二的C罗。无论对于曼联还是C罗,落叶归根的故事是一场情怀与利益的共赢。

弗格森扮演“至关重要的角色”

尤文主帅阿莱格里宣布C罗即将离队,此时唯一的绯闻下家是曼城,社交媒体上充斥着对C罗的咒骂与指责,球迷扬言将C罗曼联时期的球衣付之一炬……在曼联官宣C罗回归前数小时,外界普遍认为葡萄牙球星加盟曼城已板上钉钉。然而伴随着曼联主帅索尔斯克亚赛前发布会上强势表态“如果他要转会,我们就在这里”,剧情在几小时内发生逆转,曼联突然介入并一锤定音。北京时间8月27日晚,曼联俱乐部官方正式宣布:C罗回归加盟球队,双方签订了一份为期两年的合约,至2023年6月。

据《曼彻斯特晚报》披露,曼联传奇7号之所以最终重返梦剧场,球队功勋教练弗格森扮演了“至关重要的角色”。在C罗或加盟曼城的消息传出后,弗爵爷于当地时间27日一早给C罗拨去电话,亲自游说昔日弟子回归老特拉福德。此外,曼联主帅索尔斯克亚、昔日队友费迪南德以及为曼联效力的葡萄牙球星费尔南德斯在这桩转会中都发挥了作用,正是他们多次电话劝说,让C罗逐渐改变心意。而无论是C罗的初心念想,还是弗格森等人的劝说,其中都离不开情怀。

时间回到2003年夏天,正是弗格森以1250万英镑的高价将C罗从里斯本竞技带到曼联。当时年仅18岁的C罗已经获得了几家欧洲豪门的关注,但C罗的经纪人门德斯透露,只有弗格森愿意立即给C罗机会。效力曼联六个赛季,C罗为球队出场292次,打进118粒进球,帮助曼联获得三座英超奖杯和一座欧冠奖杯。

2009年,C罗离开曼联,以8000万英镑的天价转会费加盟皇马,在马德里度过了职业生涯最辉煌的九年;此后加盟意甲豪门尤文图斯,但尤文在欧冠赛场屡战屡败,令其萌生去意。今年夏天在C罗彷徨于下一站时,依然是曼联和弗格森伸出了充满诚意的橄榄枝。《卫报》写道,罗纳尔多与曼联之间有着永不消逝的相互吸引力。曾经的葡萄牙“单车少年”正是在弗格森的教导下一步步成长为世界顶级巨星,即便C罗离开了曼联,但弗格森依然在自传中如此写道,“我们的纽带在他转会后幸存了下来。”C罗与曼联球迷的关系亦如此。曼联官方宣布C罗回归的Instagram点赞数量已经超过1250万。据统计,这是该社交媒体上体育俱乐部获得点赞最多的帖子。

这起转会是“怀旧的实用主义”

与梅西悲情出走巴塞罗那相比,C罗回归曼联是一个体面的结局。回到梦开始的地方足够有情怀,但喧嚣过后,外界不约而同地开始审视葡萄牙巨星的这次转会。正如《纽约时报》所言,离开尤文并回归曼联是“怀旧的实用主义”。今夏重新执掌尤文教鞭的阿莱格里成为C罗离队的催化剂。在新赛季意甲首轮中,C罗没能进入网友分享名单,虽然赛后尤文称这是主帅和球员的共同决定,但意媒爆料称,C罗已不在阿莱格里的建队计划中。

C罗回归梦剧场对于曼联及其球迷而言,不仅寻找到情感的归宿,从竞技与商业层面而言也是双赢的结果。卡瓦尼年龄偏大,马夏尔难成大器,格林伍德有待成熟,曼联名宿加里·内维尔认为,在曼联防线水准已得到提升的情况下,C罗将在前场创造得分机会,“他会踢9号位置,他依然具有爆发力,在短距离空间内制造威胁,他非常善于冲进禁区,会预判到球落在哪里,会打进很多球,曼联要超过曼城、利物浦和切尔西,需要C罗为球队注入信念……”

《卫报》分析,曼联球迷对控制俱乐部的格雷泽家族的不满,在欧超闹剧后达到顶峰。格雷泽家族一直希望缓和舆论压力,C罗回归无疑将重建俱乐部与球迷的关系。葡萄牙人带给俱乐部的价值不止于此。从曼联发布的2021财年第三季度财报来看,受疫情影响,俱乐部商品收入同比下降15.3%,这对于长期以来对商业开发引以为豪的曼联而言是致命打击,C罗回归无疑将弥补曼联商品收入的不足。

不过,回归只是一切的开端。如今的英超早已不是当年C罗出道时的格局,占据统治地位的是弗格森口中“吵闹的邻居”曼城与实现复兴的利物浦。虽然上赛季曼联在索尔斯克亚的带领下获得亚军,但与冠军曼城12分的差距足以说明球队还有很长的路要走,C罗究竟能为球队注入怎样的影响,只有时间能给出答案。

安排体检!C罗重回曼联关键一步,传奇即将回归,争冠有戏吗

C罗真的要回曼联了!8月27日消息,C罗已经确定离开尤文,他的下一站是曼彻斯特。曼城最先和C罗进行谈判,但是曼联出手后,C罗很快拒绝了曼城,曼联将安排C罗体检,然后签约,红魔欢迎传奇回归。

关于C罗的转会消息早已传出,他在27日正式离开都灵,尤文主帅阿莱格里确认C罗将不会再为尤文效力,这意味着C罗的意甲生涯正式画上一个句号。那么未来C罗会去哪里呢

最早是曼城要追求C罗,他们给C罗开出了一份两年的合同,但是随着C罗确定离开尤文,曼联也出手。很显然,曼联对C罗还是更有吸引力,回到梦开始的地方,这对C罗有更大的吸引力。

如此一来,C罗拒绝了曼城的邀请,当然曼城对追逐C罗也并非很上心,无论是瓜迪奥拉还是队内的球员,都并不是特别渴望C罗的到来。这种情况下,曼联主帅索尔斯克亚表达了欢迎C罗的意思,那么曼联也不会放弃这样的好机会。

据悉,曼联安排C罗在里斯本进行体检,如果一切没有问题,那么他们会和尤文有个正式的报价,毕竟C罗不是自由身,曼联还是需要支付转会费,与此同时,C罗的个人待遇应该更好谈妥。那么这种局面下,或许只有等待好消息传来,C罗重回曼联,一段美好的故事,那么曼联本赛季可以争冠吗

「忆意甲」一本意大利足球画册带你回顾198788赛季意甲联赛

这本‬意大利‬出版‬的‬足球‬画册‬,‬应该‬是‬一本‬不干胶‬黏贴‬册‬,里面‬列出了‬‬1987/88赛季‬意甲‬16强‬各队‬主要‬参赛‬球员‬头像‬,制作‬精良‬,远非‬现在‬所能‬比拟‬。在‬这本‬足球‬画册‬里‬,你能‬一览‬很多‬球星‬的‬真‬容‬,该‬画册‬有‬52页‬组成‬。

杂志封面

这本意大利足球的封面用意大利国旗颜色写着“伟大的足球”,球王马拉多纳那时候自然是封面的主角,荷兰的古力特、威尔士的拉什以及德国的沃勒尔都是意甲联赛该赛季引进的当红球星。

杂志‬首页

1987/88赛季意甲赛程

1987/88赛季意甲16支参赛队队徽

参赛队‬——阿斯科利队(排名‬第‬12)

主教练:伊拉里奥·卡斯塔纳(意大利\Ilario Castagner)

双外援:卡萨格兰德(巴西\前锋\27场\6球);乌戈·马拉多纳(阿根廷\中场\13场\0球)

参赛队——阿维利诺队(排名‬第‬15,降级‬)

主教练:维尼西奥(巴西\Vinicio),第1-5轮;欧金尼奥·贝塞里尼(意大利\Eugenio Bersellini),第5-30轮)

双外援:沃尔特·沙赫纳(Walter Schachner\奥地利\前锋\29场\9球);尼古拉奥斯·阿纳斯托普洛斯(Nikolaos Anastopoulos\希腊\前锋\16场\0球)

参赛队——切塞纳队(排名‬第‬9)

阿尔贝蒂诺·比贡(意大利\Albertino Bigon)

单外援:达沃·约济奇(Davor Jozić/南斯拉夫/波黑人/中场/28场/0球)

参赛队——科莫队(排名‬第‬11)

主教练:阿尔多·阿格罗皮(意大利/Aldo Agroppi),第1-6,8-13轮;塔尔西奥·布尔尼奇(Tarcisio Burgnich),第7轮,14-30轮)

双外援:马茨·科尼利厄森(瑞典Mats Corneliusson/前锋/27场/6球)、克罗迪奥·博尔吉(阿根廷/Claudio Borghi/前锋/7场/0球)

参赛队——恩波利队(排名‬第‬16,降级‬)

主教练:盖塔诺·萨尔维米尼(意大利/Gaetano Salvemini)

双外援:约翰尼·埃克斯特罗姆(瑞典/Johnny Ekström/前锋/29场/5球);达沃·乔普(南斯拉夫/克罗地亚/前锋/9场/0球)

参赛队——佛罗伦萨队‬(排名‬第‬8)

主教练:斯文·格兰-埃里克森(瑞典/Sven-Göran Eriksson)

双外援:格伦·海森(瑞典/Glenn Hysén/后卫/30场/1球);拉蒙·迪亚斯(阿根廷/Ramón Díaz/前锋/29场/10球

参赛队——国际米兰队‬(排名‬第‬5)

主教练:乔瓦尼·特拉帕托尼(Giovanni Trapattoni)

双外援:丹尼尔·帕萨雷拉(阿根廷/Daniel Passarella/后卫/21场/6球);文森佐·希福(比利时/Vincenzo Scifo/中场/28场/4球)

参赛队——尤文图斯队‬(排名‬第‬6)

主教练:里诺·马尔切西(Rino Marchesi)

双外援:伊恩·拉什(威尔士/Ian Rush/前锋/29场/7球);米歇尔·劳德鲁普(丹麦/Michael Laudrup/中场/27场/0球)

参赛队——AC米兰队‬(冠军‬)

主教练:阿里戈·萨基(Arrigo Sacchi)

双外援:路德·古力特(荷兰/中场/Ruud Gullit/29场/9球);马尔科·范巴斯滕(荷兰/Marco van Basten/前锋/11场/3球)

参赛队——那不勒斯队‬(亚军‬)

主教练:奥塔维奥·比安奇(意大利/Ottavio Bianchi)

双外援:迭戈·马拉多纳(阿根廷/D iego Maradona/中场/28场/15球);卡雷卡(巴西/Careca/前锋/26场/13球)

参赛队——佩斯卡拉‬队‬(排名第‬14)

主教练:乔瓦尼·加莱奥内(Giovanni Galeone)

双外援:布拉兹·斯利斯科维奇(Blaž Slišković/南斯拉夫/波黑人/中场/23场/8球);儒尼奥尔(巴西/Júnior/后卫/28场/3球)

参赛队——比萨‬队‬(排名‬第‬13)

主教练:朱塞佩·马特拉齐(Giuseppe Materazzi)

双外援:邓加(巴西/Dunga/中场/23场/2球);保罗·埃利奥特(英格兰/Paul Elliott/后卫/10场/1球)

参赛队——罗马队‬(季军‬)

主教练:尼尔斯·利德霍尔姆(瑞典/Nils Liedholm)

双外援:鲁迪·沃勒尔(德国/Rudi Völler/前锋/21场/3球);兹比格涅夫·博涅克(波兰/Zbigniew Boniek/中场/21场/6球)

参赛队——桑普多利亚‬队‬(排名第‬4)

主教练:武贾丁·博斯科夫(南斯拉夫/塞尔维亚人/Vujadin Boškov)

双外援:汉斯-彼得·布里格尔(德国/Hans-Peter Briegel/后卫/27场/3球);塞雷佐(巴西/Cerezo/中场/28场/3球)

参赛队——都灵‬队‬(排名‬第‬7)

主教练:路易吉·拉迪切(意大利/Luigi Radice)

双外援:克劳斯·贝格伦(丹麦/Klaus Berggreen/中场/26场/3球)、安东·波尔斯特(奥地利/Anton Polster/前锋/27场/9球)

参赛队——维罗纳队‬(排名第‬10)

主教练:奥斯瓦尔多·巴尼奥利(Osvaldo Bagnoli)

双外援:托马斯·贝特霍尔德(德国/Thomas Berthold/后卫/28场/1球);普雷本·埃尔克耶尔(丹麦/Preben Elkjær/前锋/25场/7球)

1987/88赛季意乙联赛赛程及‬参赛‬队‬

1988欧洲杯意大利队预选赛‬球员一览

1988欧洲杯参赛球星一览

杂志封底

发表评论:

标签列表
请先 登录 再评论,若不是会员请先 注册