用二元泊松模型预测2022世界杯8强

news/2024/12/29 19:28:22/

用二元泊松模型预测2022世界杯8强

网上有很多文章用双泊松(Double Poisson)模型来预测世界杯比赛结果。但是双泊松模型有一个严重的缺陷,那就是它假设比赛中两队的比分是条件独立的。而我们都知道,在对抗性比赛中,两队的比分是存在关联的,因为两队都会根据场上的比分形势调整策略。比如足球比赛,当主队1:0领先,且距离比赛结束只剩10分钟时,落后的客队会孤注一掷,甘愿冒更大风险去争取平局。但如果主队3:0甚至4:0领先时,领先的主队可能会稍微放松下来,甚至教练会用新人换下主力,此时落后的客队更容易进1球(甚至主队会礼貌性让球)。所以比赛中两队比分是相关的,这种相关性可以通过依赖性参数来描述。

二元泊松(Bivariate Poisson)模型可以度量两队比分的依赖性参数,用二元泊松模型对比赛进行的预测准确率更高,在1/8决赛已经进行的4场比赛中,二元泊松模型预测正确率100%。

需要完整源代码的朋友可以关注私信我,或者评论留言索取。

在这里插入图片描述

文章目录

    • 二元泊松模型
    • 最大似然法
    • 贝叶斯法
    • 用模型预测8强

二元泊松模型

考虑随机变量Xr,r∈{1,2,3}X_r, r \in \{1,2,3\}Xr,r{1,2,3}服从独立泊松分布,其参数λr>0\lambda_r > 0λr>0,那么随机变量X=X1+X3X = X_1+X_3X=X1+X3Y=Y2+Y3Y=Y_2+Y_3Y=Y2+Y3服从二元泊松分布BP(λ1,λ2,λ3)BP(\lambda_1,\lambda_2,\lambda_3)BP(λ1,λ2,λ3),其联合概率为:

PX,Y(x,y)=Pr(X=x,Y=y)=exp⁡{−(λ1+λ2+λ3)}λ1xx!λ2yy!×∑k=0min(x,y)(xk)(yk)k!(λ3λ1λ2)k\begin{aligned} P_{X,Y}(x,y)&=Pr(X=x,Y=y)\\ &=\exp\{-(\lambda_1+\lambda_2+\lambda_3)\}\frac{\lambda_1^x}{x!}\frac{\lambda_2^y}{y!}\times\sum_{k=0}^{min(x, y)}\begin{pmatrix}x\\k\end{pmatrix}\begin{pmatrix}y\\k\end{pmatrix}k!(\frac{\lambda_3}{\lambda_1\lambda_2})^k \end{aligned} PX,Y(x,y)=Pr(X=x,Y=y)=exp{(λ1+λ2+λ3)}x!λ1xy!λ2y×k=0min(x,y)(xk)(yk)k!(λ1λ2λ3)k

边缘概率上,每个随机变量服从泊松分布,期望E(X)=λ1+λ3E(X) = \lambda_1+\lambda_3E(X)=λ1+λ3E(Y)=λ2+λ3E(Y) = \lambda_2+\lambda_3E(Y)=λ2+λ3,协方差cov(X,Y)=λ3cov(X, Y) = \lambda_3cov(X,Y)=λ3。这里λ3\lambda_3λ3就是度量两队进球之间相关性的指标。如果λ3=0\lambda_3=0λ3=0,则两个变量是条件独立的,此时二元泊松分布退化成两个独立泊松分布的乘积,即双泊松模型。

我们用(xn,yn)(x_n, y_n)(xn,yn)表示第nnn场比赛主队和客队的比分,那么带比分相关性的二元泊松模型的一般形式为:

Xn,Yn∣λ1n,λ2n,λ3n∼BivPoisson(λ1n,λ2n,λ3n)log⁡(λ1n)=μ+home+atthn+defanlog⁡(λ2n)=μ+attan+defhnlog⁡(λ3n)=β0+γ1βhnhome+γ2βanaway+γ3βwn\begin{aligned} X_n,Y_n \mid \lambda_{1n},\lambda_{2n},\lambda_{3n}&∼\text{BivPoisson}(\lambda_{1n},\lambda_{2n},\lambda_{3n})\\ \log(\lambda_{1n})&=\mu+home+att_{h_n}+def_{a_n}\\ \log(\lambda_{2n})&=\mu+att_{a_n}+def_{h_n}\\ \log(\lambda_{3n})&=\beta_0+\gamma_1\beta_{h_n}^{home}+\gamma_2\beta_{a_n}^{away}+\gamma_3\beta {w_n} \end{aligned} Xn,Ynλ1n,λ2n,λ3nlog(λ1n)log(λ2n)log(λ3n)BivPoisson(λ1n,λ2n,λ3n)=μ+home+atthn+defan=μ+attan+defhn=β0+γ1βhnhome+γ2βanaway+γ3βwn

其中:

λ1n,λ2n\lambda_{1n}, \lambda_{2n}λ1n,λ2n分别表示主队和客队的进球率

μ\muμ表示截距项

homehomehome代表主场效应,众所周知在自己的主场踢球是由很多优势的(更熟悉场地、更适应气候、更热情的球迷…);

atttatt_tatttdeftdef_tdeft 分别表示每只球队的进攻能力防守能力,公式中下标ttt写作hn,anh_n, a_nhn,an,分别表示主队和客队的第nnn场比赛;

βhnhome\beta_{h_n}^{home}βhnhomeβanaway\beta_{a_n}^{away}βanaway 分别代表主队和客队的参数;

wnw_nwn是第nnn场比赛的协方差向量,用于建模协方差项;

β\betaβ 是对应的回归系数向量;

参数γ1,γ2,γ3\gamma_1, \gamma_2, \gamma_3γ1,γ2,γ3是取值为0或1的二进制指示符,可激活线性预测的不同来源。因此,当γ1=γ2=γ3=0\gamma_1=\gamma_2=\gamma_3=0γ1=γ2=γ3=0时,我们得到常数协方差;而当(γ1,γ2,γ3)=(1,1,0)(\gamma_1, \gamma_2,\gamma_3)=(1,1,0)(γ1,γ2,γ3)=(1,1,0)时,我们假设协方差仅取决于团队的参数,跟比赛协方差无关。

为了实现模型的可识别性,攻击/防御参数都是零和的

∑t=1Tattt=0,∑t=1Tdeft=0\sum_{t=1}^Tatt_t=0, \qquad \sum_{t=1}^Tdef_t=0 t=1Tattt=0,t=1Tdeft=0

这条约束大量出现在足球文献中,即假设第TTT只球队的能力等于其他球队能力和的负值,即能力的零和性。

attT=−∑t=1T−1attt,defT=−∑t=1T−1deftatt_T = -\sum_{t=1}^{T-1}att_t, \qquad def_T = -\sum_{t=1}^{T-1}def_t attT=t=1T1attt,defT=t=1T1deft

有了上面的理论基础,我们就可以构造并训练我们的模型了。

最大似然法

给定参数向量 θ=({attt,deft,t=1,…,T},μ,home,βhnhome,βanaway,β0,β)\theta = (\{att_t, def_t, t=1,\dots, T\}, \mu, home, \beta_{h_n}^{home}, \beta_{a_n}^{away}, \beta_0, \beta)θ=({attt,deft,t=1,,T},μ,home,βhnhome,βanaway,β0,β) ,二元泊松模型的似然函数为:

L(θ)=∏n=1Nexp⁡{−(λ1n+λ2n+λ3n)}λ1nxnxn!λ2nynyn!×∑k=0min(xn,yn)(xnk)(ynk)k!(λ3nλ1nλ2n)kL(\theta) = \prod_{n=1}^N\exp\{-(\lambda_{1n}+\lambda_{2n}+\lambda_{3n})\}\frac{\lambda_{1n}^{x_n}}{x_n!}\frac{\lambda_{2n}^{y_n}}{y_n!}\times\sum_{k=0}^{min(x_n, y_n)}\begin{pmatrix}x_n\\k\end{pmatrix}\begin{pmatrix}y_n\\k\end{pmatrix}k!(\frac{\lambda_{3n}}{\lambda_{1n}\lambda_{2n}})^k L(θ)=n=1Nexp{(λ1n+λ2n+λ3n)}xn!λ1nxnyn!λ2nyn×k=0min(xn,yn)(xnk)(ynk)k!(λ1nλ2nλ3n)k

最大似然参数估计只要找到最大似然估计函数 θ^\hat\thetaθ^ 即可:

θ^=argmaxθ∈ΘL(θ)\hat\theta = \underset{\theta \in \Theta} {argmax} L(\theta) θ^=θΘargmaxL(θ)

这个过程可以用求导解决:

l′(θ)=0l'(\theta)=0 l(θ)=0

Wald检验+偏置信区间也可以构造最大似然估计θ^\hat\thetaθ^,95%的Wald类型区间满足:

θ^±1.96se(θ^)\hat \theta ±1.96 se(\hat \theta) θ^±1.96se(θ^)

最大似然法仅适用于静态模型,因为静态模型复杂度不高。当使用动态模型时,随着参数空间的增长,最大似然法的计算量会非常大,且输出结果也不可靠。所以我们会更关注另一种方法——贝叶斯法。

贝叶斯法

贝叶斯分析的目标是从联合后验分布π(θ∣D)\pi(\theta \mid D)π(θD)中得出推断结论,这里D=(xn,yn)n=1,…,ND=(x_n,y_n) _{n=1,…,N}D=(xn,yn)n=1,,N 表示NNN场比赛的观测数据集合。联合后验分布满足:

π(θ∣D)=p(θ∣D)π(θ)p(D)∝p(D∣θ)π(θ)\pi(\theta \mid D) = \frac{p(\theta \mid D)\pi(\theta)}{p(D)} \propto p(D \mid \theta)\pi(\theta) π(θD)=p(D)p(θD)π(θ)p(Dθ)π(θ)

其中 p(D∣θ)p(D \mid \theta)p(Dθ) 是模型采样分布(与似然函数成比例),π(θ)\pi(\theta)π(θ)θ\thetaθ 的联合先验分布。p(D)=∫Θp(D∣θ)π(θ)dθp(D) = \int_\Theta p(D \mid \theta)\pi(\theta)d\thetap(D)=Θp(Dθ)π(θ)dθ 是不依赖于θ\thetaθ的边际似然。

在大多数情况下,π(θ∣D)\pi(\theta \mid D)π(θD)不具有闭合形式,因此,我们需要通过模拟对其进行近似。处理这种情况的最主流的方法是马尔可夫链蒙特卡罗模拟

就推断结论而言,我们通常对单一参数的边际后验分布(后验均值、中值、可信区间等)感兴趣。我们可以将上述二元泊松模型的后验分布公式写成:

π(θ∣D)∝π(θ)∏n=1NBivPoisson(λ1n,λ2n,λ3n)\pi(\theta \mid D) \propto \pi(\theta) \prod_{n=1}^N \text{BivPoisson}(\lambda_{1n},\lambda_{2n},\lambda_{3n}) π(θD)π(θ)n=1NBivPoisson(λ1n,λ2n,λ3n)

其中π(θ)=π(att)π(def)π(μ)π(home)π(βhnhome)π(βanaway)π(β0)π(β)\pi(\theta)=\pi(att)\pi(def)\pi(\mu)\pi(home)\pi(\beta_{h_n}^{home})\pi(\beta_{a_n}^{away})\pi(\beta_0)\pi(\beta)π(θ)=π(att)π(def)π(μ)π(home)π(βhnhome)π(βanaway)π(β0)π(β) 是先验独立参数分量假设下的联合最优分布。

标准方法是将一些信息量较弱的先验分布分配给团队的某些特定能力。这些参数在两个常见(先验)分布中可以交换:

attt∼N(μatt,σatt)deft∼N(μdef,σdef),t=1,…,T\begin{aligned} &\text{att}_t∼N(\mu_{att},\sigma_{att})\\ &\text{def}_t∼N(\mu_{def},\sigma_{def}), t= 1,\dots,T \end{aligned} atttN(μatt,σatt)deftN(μdef,σdef),t=1,,T

这里面 muatt,σatt,μdef,σdefmu_{att},\sigma_{att}, \mu_{def},\sigma_{def}muatt,σatt,μdef,σdef 都是超参,通过向其余参数分配一些信息量较弱的先验来完成模型公式化。

用模型预测8强

我用2018-2022年期间的所有国际比赛,以及2022年世界杯小组赛的数据,通过Hamilton Monte Carlo采样、2000次迭代训练了一个模型。其思路是提供一个动态预测场景:在每个比赛日结束时,重新调整模型以预测剩余的比赛。对2022年世界杯淘汰赛第一轮的16场比赛的预测,每只球队的动态先验会集中关注参赛球队小组赛3场比赛的进攻防守数据,前三场比赛将作为一个单独独立的时间段,而不是作为三个不同的时间段来考虑。这里有一个因素需要考虑,就是小组赛的最后一场比赛中,一些球队已经晋级,他们可能没有派主力阵容或没有全力去踢,所以对这样的球队(比如葡萄牙),在先验数据上会进行一些微调。

用上述模型的后验预测分布的后验匹配概率见下表:

强队弱队最可能结果
荷兰美国0.4710.2980.2311-0 (0.164)
阿根廷澳大利亚0.6650.2460.0891-0 (0.208)
法国波兰0.6200.2350.1451-0 (0.145)
英格兰塞内加尔0.6320.2350.1321-0 (0.162)
日本克罗地亚0.3630.2880.3491-1 (0.122)
巴西韩国0.7400.1900.0701-0 (0.171)
西班牙摩洛哥0.5620.2700.1681-0 (0.173)
葡萄牙瑞士0.4860.2730.2411-0 (0.141)

上表中,胜/负针对的都是强队,最可能结果后面的括号表示后验概率。

更加直观可视化的结果见下图:

在这里插入图片描述

上图中越深的颜色表示越可能出现的结果,x轴是强队,y轴是弱队。

从预测结果看,目前已经结束的4场1/8决赛全部预测正确:

比赛预测实际结果
荷兰-美国✅荷兰胜 (0.471)3:1 荷兰胜
阿根廷-澳大利亚✅阿根廷胜 (0.665)2:1 阿根廷胜
法国-波兰✅法国胜 (0.620)3:1 法国胜
英格兰-塞内加尔✅英格兰胜 (0.632)3:0 英格兰胜

12月6日更新

昨晚今晨进行的日本-克罗地亚和巴西-韩国的两场八分之决赛中,日本-克罗地亚120分钟踢平,点球大战中日本队2:4负于克罗地亚。这个结果与模型的预测相同。模型预测120分钟的最可能结果是1-1战平。另一场巴西-韩国毫无悬念,巴西4:1战胜韩国,这与模型预测巴西有74%的概率获胜一致。

比赛预测实际结果
日本-克罗地亚✅120分钟战平
日本胜(0.363) - 平局(0.288 ) - 克罗地亚胜(0.349)
最可能结果:1-1(0.122)
2:4 克罗地亚胜(点球)
巴西-韩国✅巴西胜 (0.740)4:1 巴西胜

需要完整源代码的朋友可以关注私信我,或者评论留言索取。


http://www.ppmy.cn/news/2004.html

相关文章

Hash与ZSet的常用命令以及其底层数据结构

目录hash类型命令hsethgethmsethmgethgetallhsetnxhdelhexitshincrby与hincrbyfloathkeys与hvalshlenhstrlen有序set型命令zaddzrange 与zrevrangezrangebyscore与zrevrangebyscorezcardzcountzscorezincrbyzrank 与 zrevrankzremzremrangebyrankzremrangebyscorezrangebylexzl…

基于51单片机的贪吃蛇游戏设计

1绪 论 1.1本课题研究的背景及意义 随着当今社会的发展,人们的生活节奏变得越来越快,人们开始逐渐的融入全球化的世界。人们已经不再局限于一小块天地,加班,出差已经占据了现代人生活的绝大部分。这个时候,一款简单易携…

Python——协程(Coroutine),异步IO

目录 生成器(Generator) yield表达式的使用 生产者和消费者模型 ​编辑 yield from表达式 协程(Coroutine) asyncio.coroutine async/await 总结 由于GIL的存在,导致Python多线程性能甚至比单线程更糟。 于是出现了协程(Coroutine)这…

防火墙nat实验

♥️作者:小刘在C站 ♥️每天分享云计算网络运维课堂笔记,一起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放。 目录 一.图纸 二.命令 一.图纸 二.命令 ciscoasa> ciscoasa> en ciscoasa# conf t…

服务访问质量(QoS)介绍与技术 二

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…

第十四届蓝桥杯模拟赛(第二期)——C语言版

1.找最小数 问题描述: 请找到一个大于 2022 的最小数&#xff0c;这个数转换成二进制之后&#xff0c;最低的 6 个二进制为全为 0。 #include <math.h> #include <stdio.h> int main(){int numpow(2,7); //000 000while(num<2022){numpow(2,7);}printf("…

语法练习:near_hundred

语法练习&#xff1a;near_hundred 题目&#xff1a;diff21 Given an int n, return True if it is within 10 of 100 or 200. Note: abs(num) computes the absolute value of a number. near_hundred(93) → True near_hundred(90) → True near_hundred(89) → False 我…

【计算机网络】数据链路层:虚拟局域网

以太网包含的计算机太多时&#xff0c;带来问题&#xff1a; &#xff08;1&#xff09;广播风暴 一个以太网是一个广播域&#xff08;广播域中任何一台设备发出的广播通信都能被该部分网络中的其他所有设备所接收&#xff09; 在交换机的交换表的建立过程中要使用许多广播域…