banner

R语言模拟美式橄榄球比赛数据分析(5):模拟多场由计算决定胜负的比赛

作者: afenxi来源: afenxi时间:2017-07-05 17:39:130

摘要:本文使用R语言模拟美式橄榄球比赛数据分析

本文使用R语言模拟美式橄榄球比赛数据,我们将完成以下几部分工作。

获取和清理美式橄榄球比赛数据 分析和理解美式橄榄球比赛数据 构建度量攻防能力的指标 模拟单场由程序决定胜负的比赛 模拟多场由计算决定胜负的比赛

在我们已经完成单场比赛的模拟之后,可以非常方便地进行多场比赛模拟。首先,我们需要通过循环语句实现多场比赛的赛程,并在循环语句内部嵌入单场比赛的模拟;同时,我们需要变量来记录每支球队胜出和失败的数量。下面,我们将一步步展示如何去模拟多场比赛。

准备工作

一旦你已经完成了单场比赛的模拟,我们便已经完成本小节三分之一的代码。

处理流程

按照我们既定的思路完成下面的模拟。

1.如前描述,我们首先需要制定比赛的赛程,即决定每场比赛的对阵双方。在很多种决定方法中,最简单的就是输入真正的比赛赛程。但是,为了更好地展示如何通过程序生成赛程,我们会通过下面的for循环产生自己的赛程。现实中,从球员健康的角度考虑,NFL并不会有长为50周的赛季;但是,在我们的模拟中,一个赛季中可以有任意场球赛。我们通过下面的代码模拟赛程。

 

games_per_team <- 50

for(week in 1:games_per_team)

你可以在for循环中实现任何你想实现的逻辑。而且,正如我们在本小节实现的,for循环中可以嵌入条件表达式。

更多内容

在本章中,我们利用R实现了计算、比较和画图,甚至利用R编程语言的特性完整实现了一个比赛模拟引擎。在这个模拟引擎中,我们可以通过获取每个橄榄球队过去每场比赛的表现,计算他们各自的能力指数,并计算球队间相对的优势和劣势。

通过实现本章的逻辑,我们已经回答了一些基本的问题并给出了一些基本的统计变量。读者完全可以通过对这个项目做更多的探索来锻炼自己使用R的能力。

读者可以尝试提升本章中提出的能力指数计算方式。我们可以在计算能力指数的时候引入更多的变量,或者是为每个变量赋予不同的权重。更甚者,读者可以尝试使用其他或者自己建立的公式。要知道,实践数据科学非常重要的过程就是设计不同的实验来尝试和迭代。所以,做更多的尝试并记录每次实验的结果质量完全可以帮助你探索出更好的计算能力指数的方式。

另外一个探索的方向是实现更贴近现实的模拟。所以,读者可以使用真实的赛程而不是使用我们模拟的赛程。当我们所计算的能力指数显示比赛理应是平局的时候,可以通过引入一个概率变量来解释比赛的结果。同样,在这个方向做更多的尝试和迭代可以帮助读者更好地贴近现实并解释现实。

如果你想为模型增加更多的变量和粒度,你可以引入关于每个球员的统计变量,甚至是球队球员伤势信息,帮助你预测未来球队的表现。

然而,还有一个非常有趣的研究方向是预测来自不同赛季的冠军队伍在对抗中的表现。举例而言,现任超级碗冠军Seattle Seahawks将如何对抗前冠军New England Patriots和New York Giants?读者可以设计自己的逻辑来决定过去十年中哪支球队是最棒的。

本文摘自《数据科学实战手册(R+Python)》,由人民邮电出版社授权数据分析网发布。

出处:异步社区 链接:http://www.epubit.com.cn/book/details/4237

banner
看过还想看
可能还想看
热点推荐

永洪科技
致力于打造全球领先的数据技术厂商

申请试用
Copyright © 2012-2024开发者:北京永洪商智科技有限公司版本:V10.2
京ICP备12050607号-1京公网安备110110802011451号 隐私政策应用权限