简介

作为体育迷,我们在生活中都有过有趣的插曲,我们试图预测我们最喜欢的体育赛事的结果。 NBA 也是如此。一季又一季,球迷和分析师们都在陈述他们的观点,即谁可能在本赛季提供的每场 NBA 比赛中成为赢家。那么,为什么不使用一些体育分析知识来预测比赛结果呢?本文将主要关注使用毕达哥拉斯期望和 ELO 评分系统来确定 NBA 常规赛和季后赛的比赛结果。

ELO评级系统

由 Arpad Elo 创建的ELO 评分系统是一个零和评分系统,最初是为了计算国际象棋选手之间的相对技能水平而开发的。如今,该系统已在包括 NBA 在内的多项运动中使用,以逐场衡量球队的实力。

例如,对于 2 支 NBA 球队 A 和 B 之间的比赛,每支球队在比赛开始前都会有一个 ELO 等级。基于此,确定每支球队的获胜概率。如果 A 队获胜,其 ELO 等级会增加一定数量,而 B 队的 ELO 等级会降低相同数量。这就是为什么它是一个零和评级系统。

让我们看看金州勇士队在 2021-22 NBA 赛季的 ELO 等级变化

赛季开始时,勇士队的 ELO 等级为 1529。然而,随着球队进入季后赛,勇士队的 ELO 等级也随之加入。事实上,他们以 1712 的 ELO 评级结束。需要注意的是,在 NBA 总决赛第 6 场比赛中,勇士队的获胜概率低于波士顿凯尔特人队,但仍然设法捕获游戏和标题。所以从 ELO 评分系统的角度来看,金州勇士队是弱者!

对于 NBA,Project FiveThirtyEight封装了系统的工作模型。这包括主队优势因素和胜场系数,这些因素会影响给定比赛中每支球队获胜概率的计算。保存团队 ELO 评分和获胜概率的数据集也可在Project FiveThirtyEight.上获得

但是,我已将数据集和计算每场比赛中获胜概率和 ELO 评级的 Python 代码链接为 Google Colab 文件。 (文末链接)。

使用在对战完成前从 ELO 评分中获得的获胜概率,我们可以确定相关球队是否赢得比赛(即如果相关球队的获胜概率大于 0.5,则他们是预计会赢得比赛)。应用此逻辑,可以获得每场比赛的结果,并可以使用混淆矩阵将其与实际比赛结果进行比较。这可以用来估计 ELO 评级系统的准确性。

可以看出,ELO 评分系统对比赛结果的预测准确率为 64.17%

毕达哥拉斯期望

由比尔詹姆斯为棒球开发,毕达哥拉斯期望用于根据球队得分的次数和球队允许的得分来确定球队的获胜百分比。在篮球的情况下,每支球队的得分和失分都被考虑在内,而不是得分。

在这里,等式的 RHS 是毕达哥拉斯期望。因此,从本质上讲,球队得分和失分被用来估计球队的获胜百分比。这意味着毕达哥拉斯期望与团队的获胜百分比有很强的相关性。

考虑一下最近的 2021-22 赛季 NBA 常规赛。如果我们计算每支球队的毕达哥拉斯期望和获胜百分比,并将它们分别绘制在 X 和 Y 轴上,我们会得到下图。

正如预期的那样,毕达哥拉斯期望和获胜百分比之间存在很强的相关性。此外,准确地说,两个变量之间的相关系数为 0.946。

进一步扩展这一点,我们可以使用毕达哥拉斯期望来预测每支球队在常规赛和季后赛中的比赛结果。为此,我们使用 logit 模型。该模型本质上是根据自变量(即毕达哥拉斯期望和主队优势)计算球队获胜几率的自然对数。

这是 logit 模型的公式。

如上所示,当考虑赔率的自然对数时,方程的 RHS 是线性回归的 RHS。然后我们可以使用赔率的自然对数来评估获胜的概率。如果获胜的概率大于 0.5,则游戏结果为获胜。如果获胜的概率小于 0.5,则为失败。

应该注意的是,使用 logit 模型是因为游戏结果是一个分类变量,与常规因变量不同,它可以只有两个不同的值(即赢或输)。

再次,数据集和使用 logit 模型的 Python 代码已链接为 Google Colab 文件。 (文末链接)。

变量“胜利”表示每支球队在整个赛季中参加的每场比赛的比赛结果,它形成了因变量。它只需要两个值 - 如果结果是相关团队获胜,则为 1,如果结果是相关团队失败,则为 0。

变量“pyth”表示每场比赛的累积毕达哥拉斯期望,以及“主场”变量(表示相关球队是否在主场比赛,即主场 u003d 1 表示主场比赛,0 表示客场比赛),成为自变量。

现在让我们看看生成的模型。

使用自变量,该模型为每支球队参加的每场比赛的获胜几率的自然对数生成值。由此,在每场比赛中计算获胜的概率。如前所述,只有当获得的概率大于 0.5 时,比赛结果才是该队获胜,否则该队输球。

然后我们可以生成一个混淆矩阵来分析模型生成的游戏结果的准确性。

从混淆矩阵可以看出,模型预测游戏结果的准确率为63.08%

Python代码

如前所述,下面链接了一个包含必要 Python 代码的 Google Colab 笔记本。

网址:https://gist.github.com/sameerprasadkoppolu/d0300cfd0a682ae0c00319f49d85c952

至于数据集,可以通过下面的链接访问和下载

网址:https://drive.google.com/file/d/1xTBQN-2cyl3LEmH8EAsUF60eVwoBEtej/view?uspu003dsharing

最后......

请记住,文章只是一个解释性的文章。本文绝不是确保投注 NBA 比赛结果的人取得胜利的一种手段。这也不是一开始就进入体育博彩的鼓励。

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐