如果说世界杯的小组赛还算是各国足球文化友好交流的“前菜”,从淘汰赛开始,世界杯的“主菜”就正式摆上了桌面。1/8的赛场上我们还能看到来自亚洲、非洲和北美及加勒比地区的球队与欧洲和拉美劲旅一较高低,进入1/4决赛后,除了硕果仅存的“黑马”摩洛哥队,世界杯又回到了传统列强对决的熟悉味道。
四场对决,英格兰与法国的较量最引人关注,被广泛认为是一场提前打响的决赛。作为一对老冤家,两队历史上共交战多达31次,仅本世纪以来已有7次交手,但在国际正式大赛中,英法两队从未在淘汰赛中相遇。英格兰虽然近年来遇法国败多胜少,但时移世易,目前两队状态正盛,英格兰人欲凭借“青春风暴”一雪前耻,法国人则要捍卫冠军的荣誉,一场火星撞地球的对决在所难免。
我们没输过球!本届杯赛上英格兰是唯一没有爆冷输球的传统强队,近两届大赛(2018世界杯、2021欧洲杯)中,球队的表现十分稳定,作为“大英帝星”的队长凯恩更是希望在世界杯上证明自己。
我们年轻!19岁的贝林厄姆、21岁的萨卡、22岁的福登,中前场朝气蓬勃、敢打敢拼,板凳深度令人羡慕。
如此激烈的对决,算法预测当然不能缺席!
图源:零点有数
没想到算法模型还能预测世界杯比赛结果,它究竟是怎样做到的?小零人带大家一探究竟!
选择基础数据,构建模型框架
涉及足球比赛,特别是世界杯场次的预测非常多,常用的维度比如球队的参赛纪录、胜负记录、教练和球员数据、竞猜赔率,甚至点球记录等。考虑到信息获取的难易度,最终确定选取两项最重要的指标作为测算依据,分别是:历史赛事得分数据,包括比赛时间、参赛队伍、进球数等数据;FIFA男足世界排名历史数据,包括排名、累计积分、发布时间等数据。
对数据做预处理
预处理主要分为三步走:第一步是筛选,以双方近4年的历史赛事数据作为标尺;第二步是校验,将历史赛事得分数据与FIFA世界排名数据做一致性处理;第三步则是拼接:对于分析的目标赛事,匹配该场比赛时间之前两支球队的最新FIFA排名。
图源:零点有数
构造相关复合型指标
接着对各项数据对于模型的预测能力进行逐一分析。初步构造的变量包括但不限于:
●主客队最新FIFA排名的差值;
●当前比赛日前,在所有历史比赛日期中,主客队FIFA排名平均值的差异;最近的5场比赛中,主客队FIFA排名平均值之间的差异;
●当前比赛日前,在所有历史比赛中,主客队平均进球数之间的差异;最新的5场比赛中,主客队平均进球数之间的差异;
初步构造完成后,根据变量的概率分布特征,对生成的变量进行筛选。例如,对于获胜或失利的比赛,如果某项变量的概率分布差异明显,则认为该变量对模型具有一定程度的预测能力,反之,则预测能力较弱。经过对各项变量的不断重复计算,最终找出可用于预测比赛结果的变量组合。
图源:零点有数
选取合适的模型
下一步,选取合适的模型。将选出的变量数据分成训练集和测试集,对每一模型,调整其参数设置,如学习速率、最大深度等,比较不同模型在测试集和训练集上的表现。对于本次世界杯比赛的胜负预测,经反复比较,确定选用Logistic Regression(逻辑回归)、Gradient Boosting(梯度提升)、Random Forest(随机森林)、LightGBM等模型进行测试。最终,根据测试表现结果和复杂程度,选择Logistic Regression(逻辑回归)和Gradient Boosting(梯度提升)作为主要模型。从本届世界杯开赛以来各场的实际结果来看,Gradient Boosting(梯度提升)模型的预测准度相对更高。
图源:零点有数
使用最优模型,预测比赛结果
最后,使用最优模型,对比赛结果进行预测。争取世界杯每场比赛的胜利绝非易事,除了球队的硬实力外,球员的伤病、裁判执法的尺度乃至于临门一脚的运气都可能对结果产生意想不到的影响,因此,零点有数利用优化后的模型,继续提升模型准确率。
在小组赛进程中我们截取了前16场比赛进行验证,零点有数的基础预测模型共“猜中”11场,准确率为68.8%,模型优化后,准确率直接上升到81.3%——摩洛哥vs克罗地亚、韩国vs乌拉圭的两场“意外”平局都实现了精准预测。在淘汰赛阶段,模型也成功预测了荷兰、阿根廷、英格兰和法国等传统强队的晋级。
总而言之,算法千变万化,预测只是提供了观察比赛的一个角度,足球比赛总是充满悬念,而这种不确定性恰恰是任何算法都难以解释的。终场哨声吹响前,一切皆有可能,这正是比赛的意义和魅力所在。
注:本文绝不构成任何投资建议,零点有数真诚建议各位放下功利心,轻松看待每场比赛,享受足球纯粹的快乐!
联系客服