首页 >知识讲堂 >数据分析知识>如何数据模拟多场美式橄榄球比赛?

如何数据模拟多场美式橄榄球比赛?

2021-01-04 11:06:16 阅读(174 评论(0)

本文使用R语言模拟美国橄榄球比赛的数据,我们将完成以下部分的工作。在我们完成了单场比赛的模拟后,我们可以非常方便地进行多场比赛的模拟。首先,我们需要通过循环语句实现多场比赛的时间表,并将单场比赛的模拟嵌入循环语句中;同时,我们需要变量来记录每支球队的胜利和失败。下面,我们将一步一步地展示如何模拟多场比赛。一旦你完成了单场比赛的模拟,我们就完成了本部分的三分之一的代码。处理过程按照我们既定的想法完成以下模拟。1.如前所述,我们首先需要制定一个时间表,即决定每场比赛的对抗。在许多决定方法中,NFL将有一个更好的时间表。但是,我们可以从以下任何方面的时间表来看,我们可以通过下面的时间表来模拟自己的时间表。但是,我们可以从下面的时间表来看,我们可以更好地输入到下面的时间表。但是如何通过下面的时间表来模拟时间表。我们可以更好地考虑如何通过下面的代码。games_per_team<-50for(weekin1):games_per_team){home_index<-sample(1:32,16,replace=F)home_teams<-data.frame(HomeTeam=offense[home_index,1])away_teams<-data.frame(AwayTeam=offense[-home_index,1])if(week==1){schedule<-cbind(Week=week,HomeTeam=home_teams,AwayTeam=away_teams)}else{temp<-cbind(Week=week,HomeTeam=home_teams,AwayTeam=away_teams)schedule<-rbind(schedule,temp)}}通过上述代码,我们得到了下图中显示的数据框变量。然而,由于sample函数的随机性,读者执行代码产生的主队和客队并不一定与这里的团队名称完全匹配。2.确定时间表后,我们现在可以记录每支球队的结果。records<-data.frame(Team=offense$Team)records$Wins<-0records$Losses<-0通过执行上述代码,我们可以获得以下数据框。3.现在我们需要通过程序自动实现每场比赛,并更新记录每支球队的输赢记录。我们通过在for循环中嵌入上一节中的代码来实现多场比赛。我们分步拆分for循环如下。for(iin1:nrow(schedule)){home_team<-schedule[i,2]away_team<-schedule[i,3]week<-schedule[i,1]本代码确定与模拟赛程中的周数相同的周数,并在每个周期中记录主队、客队和比赛的周数。4.下一个循环部分是我们以前的代码。本代码通过比较传球、影响和整体能力的差异来确定每场比赛的获胜者。off_game<-subset(offense,Team==home_team |Team==away_team)[,c(1,15,16,19)def_game<-subset(defense,Team==home_team|Team==away_team)[,c(1,14,15,18)game<-merge(off_game,def_game,by.x=”Team”,by.y=”Team”)game$Net_Pass[game$Team==home_team]<-game$OPassStrength[game$Team==home_team]–game$DPassStrength[game$Team==away_team]game$Net_Pass[game$Team==away_team]<-game$OPassStrength[game$Team==away_team]–game$DPassStrength[game$Team==home_team]game$Net_Rush[game$Team==home_team]<-game$ORushStrength[game$Team==home_team]–game$DRushStrength[game$Team==away_team]game$Net_Rush[game$Team==away_team]<-game$ORushStrength[game$Team==away_team]–game$DRushStrength[game$Team==home_team]game$Net_Total[game$Team==home_team]<-game$OffStrength[game$Team==home_team]–game$DefStrength[game$Team==away_team]game$Net_Total[game$Team==away_team]<-game$OffStrength[game$Team==away_team]–game$DefStrength[game$Team==home_team]game$Net_Total<-game$Net_Pass game$Net_Rush game$Net_Totalif(game$Net_Total[game$Team==home_team]>=game$Net_Total[game$Team==away_team]){winner<-home_teamloser<-away_team}else{winner<-away_teamloser<-home_team}5.本段代码记录每场比赛的结果,并更新整个赛季各队的输赢记录。if(i==1){winnerdf<-data.frame(Winner=winner)loserdf<-data.frame(Loser=loser)results<-cbind(winnerdf,loserdf)}else{winnerdf<-data.frame(Winner=winner)loserdf<-data.frame(Loser=loser)temp<-cbind(winnerdf,loserdf)results<-rbind(results,temp)}records$Wins[records$Team==winner]<-as.numeric(records$Wins[records$Team==winner]) 1records$Losses[records$Team==loser]<-as.numeric(records$Losses[records$Team==loser]) 1print(paste(“Week”,week,”:”,winner,“beat”,loser))}[1]“Week1:DenverBroncosbeatSanDiegoChargers[1]“Weeek1”:IndianapolisColtsbeatChicagoBears[1]“Weeek1”:SanFrancisco49ersbeatPhiladelphiaEagles[1]“Weeek1”:TennesseeTitansbeatDallasCowboys[1]“Weeek1”:CincinnatiBengalsbeatBaltimoreRavens[1]“Weeek1”:SeattleSeahawksbeatDetroitLions[1]“Weeek1”:GreenBayPackersbeatNewEnglandPatriots[1]“Weeek1”:PittsburghSteelersbeatMinnesotaVikings“for循环后产生的results变量如下图所示。6.最后,我们通过对每支球队获胜次数的降序来决定本赛季的最终获胜者。6.最后,我们通过对每支球队获胜次数的降序来决定本赛季的最终获胜者。records<-records[order(-records$Wins),]排序后的数据框架如下图所示。通过比较2013赛季的真实结果(见下图),我们可以看到模拟赛季前十名中的七支球队也在榜单上。这说明我们模拟赛季的结果是合理的。当然,我们也可以通过其他方法进行更准确的赛季模拟。在本节中,我们使用sample函数每周随机生成对双方的对抗。home_index<-sample(1:32,16,replace=F)以上sample函数从32支球队中随机选出16支球队作为主队,无需放回。其中home_index的队伍是主队,其他队伍是客队。同时,我们可以利用for循环来实现每一场比赛,并决定每一场比赛的胜负。for(iintimes-you-want-to-loop){dowhatyouwanttorepeat}你可以在for循环中实现任何你想要实现的逻辑。而且,正如我们在本节中实现的,条件表达式可以嵌入到for循环中。在本章中,我们利用R实现了计算、比较和绘图,甚至利用R编程语言的特性完全实现了竞争模拟引擎。在这个模拟引擎中,我们可以计算每个足球队在过去每场比赛中的表现,以及球队之间的相对优缺点。通过实现本章的逻辑,我们回答了一些基本问题,并给出了一些基本的统计变量。读者可以通过对这个项目进行更多的探索来锻炼他们使用R的能力。读者可以尝试提高本章提出的能力指数计算方法。在计算能力指数时,我们可以引入更多的变量,或者给每个变量不同的权重。更重要的是,读者可以尝试使用其他或自己建立的公式。实践数据科学的一个非常重要的过程是设计不同的实验来尝试和迭代。因此,更多的尝试和记录每个实验结果的质量可以帮助你探索更好的计算能力指数。探索的另一个方向是实现更接近现实的模拟。因此,读者可以使用真实的时间表,而不是我们模拟的时间表。当我们计算的能力指数显示比赛应该是平局时,我们可以通过引入概率变量来解释比赛的结果。同样,在这个方向上做更多的尝试和迭代可以帮助读者更好地接近现实,解释现实。如果您想为模型增加更多的变量和粒度,您可以介绍每个球员的统计变量,甚至球队球员的伤病信息,以帮助您预测球队未来的表现。但是,另一个非常有趣的研究方向是预测来自不同赛季的冠军队伍在对抗中的表现。例如,现任超级碗冠军Seatleseahawks将如何对抗前冠军NewenglandPatriots和NewyorkGiants,读者可以设计自己的逻辑来决定哪支球队是过去十年中最好的。

以上就是关于如何数据模拟多场美式橄榄球比赛?的相关介绍,更多如何数据模拟多场美式橄榄球比赛?相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对如何数据模拟多场美式橄榄球比赛?有更深的了解和认识。

内容来源:数据分析网,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

python怎么下载安装

华为matebook14怎么下载python?下载方法如下首先需要到python的官网上下载安装包,然后点击安装,选择默认安装路径,然后一直下一步下一步即可。2.单击左下角的开始菜单,然后右键点击【计算机】,选择【属性】这个选项。3.点击【...查看详情

实时监控系统到底指的是什么呢?随小编一起揭密实时监控的真面目

如今足不出户就能了解到外面的世界,即使你没空看管你的门店,也能靠实时监控让自己放心,实时监控在现在高信息化时代随处可见,而随处可见的实时监控系统到底指的是什么呢?接下来就让我为大家揭晓实时监控的真面目吧。实时监控…查看详情

推荐几款超全面的画图软件,功能众多且老少通用

画图是一种艺术,随着时代的发展,我们从纸上画图到各大电子产品里画图,有些人拿它来放松,有些人拿它来工作,有些人拿它来赚钱。今天就来推荐几款超全面的画图软件。希望大家可以喜欢呀!1.AdobePhotoshopCS6这个APP有许多编辑修改、...查看详情

psd是什么文件的格式

psd格式图片有什么用?psd,格式,1.最大的作用是保持文件的最原始的信息,而其它格式都会失真!2,可以在其它支持PSD格式的设计软件上通用,而文件信息能够适应当前软件配置的同时本身不会有很大的失真!3.PSD格式支持多种格式的图层保存形...查看详情

企业注册cn域名到底好不好?

很多企业在搭建官网想法萌芽之初,关于域名的知识还是一知半解,大多只知道最为常见的com域名认为它便是最好的选择。而对于cn域名,根本不了解甚至不曾听说。下面小万就给大家细数一下cn域名的好处有哪些,解答企业注册cn域名到底好…查看详情

常见的CRM系统内容和功能

CRM系统是一种企业管理软件,也是一种管理理念,CRM系统内容是以客户为中心来统一实施的客户关系管理系统,为实施企业提供统一的管理界面和体系化的企业管理流程。运用先进的数字化技术,整理、分析和挖掘客户信息,为客户提供专属…查看详情

有这6个信号,企业还不用CRM就晚了

许多销售人员在向企业推荐CRM产品时,老板总觉得自己不需要。殊不知,你正遭遇的经营管理困惑正亟待CRM来拯救。小万总结了企业该使用CRM产品的6个警告信号,一旦出现1个或多个信号时,企业就是时候考虑引入CRM产品了。1、部门之间缺少…查看详情

手机上怎么打开ai文件

  AI文件是AdobeIllustrator文件的缩写。它是一种不可压缩的向量图形文件,通常用于创建和编辑矢量图。然而,由于其格式独特,AI文件不是所有设备都可以直接打开的。本文将向您介绍如何在手机上打开AI文件,以便您能够在任何地方访问...查看详情

购物网站运营不能随波逐流,创新思维才能有所突破

全行业数字化趋势造就了大批购物网站,除去行业内几个大型网站平台可以凭借平台规模和流量,自由设置运营规则以外,各行各业的购物网站都需要努力学习运营知识来提升购物网站运营效果。很多人花了大量的时间和精力在运营上,但是…查看详情

盘点那些好用的收银系统免费软件

随着经济的高速发展,当今社会的收银方式也越来越多样化,分别有线上收银,线下收银等等,进行合理化便捷化的收银就需要一定的收银系统免费软件,今天就给大家推荐一波。 1.微收银系统免费软件 这款软件专门为各大门店和商铺…查看详情

炒股软件排行榜 免费的炒股软件

随着互联网时代的不断蔓延,我们可以发现,各种各样的炒股软件。上大学时,我们可以利用自己的一点逻辑思维进行炒股,赚一点小小的零花钱,下面为大家推荐几个炒股软件APP大家可以自己选择自己合适的闲暇时间来炒股一下。1、国泰君…查看详情

干洗店加盟连锁费用大概要多少钱

  干洗店加盟连锁是一种快速开办自己的干洗店的方式,通过加盟,在总部的帮助和支持下,开店时间和风险都得到减小。但是,不同的连锁品牌,加盟费用和其他费用也会有所不同。本文将详细描述干洗店加盟连锁的费用,并为您提供一…查看详情

如何激活windows10专业版

  激活Windows10专业版是一个简单而重要的步骤,它确保您的操作系统深度集成并使用所有可用功能。激活Windows10产品密钥是非常重要的,因为它提供了Windows操作系统的完整安全,更新和新特性。在这篇文章中,我们将介绍如何激活W...查看详情

What,年轻人现在都使用声音交友软件交友了?

当您需要靠交友来缓解孤独时,优美好听的声音总会给人带来无限的遐想。通过声音交友软件去结交新朋友,也是一见非常有意思的事情,我们可以通过声音交友软件和来自世界各地的朋友聊天,找到你心中的那个灵魂伴侣。为此小编帮大家…查看详情

供应链管理系统可以解决企业哪些问题

供应链管理系统可以解决企业面临的许多问题。以下是其中一些主要问题和供应链管理系统的解决方案: 1.库存管理:供应链管理系统能够帮助企业有效管理库存,避免过量或不足的库存。它可以跟踪销售数据、预测需求、优化采购计划,…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询