【2024美赛C题】网球大佬带你无背景压力分析解题思路!

news2024/10/5 16:28:58

2024美赛数学建模c题思路分享

加群可以享受定制等更多服务,或者搜索B站:数模洛凌寺

联络组织企鹅:936670395

以下是C题老师的解题思路(企鹅内还会随时更新文档):

1背景介绍

2024MCM问题C:网球运动中的势头
在这里插入图片描述

在2023年温布尔登网球公开赛男子组决赛中,20岁的西班牙新星卡洛斯-阿尔卡拉斯击败了36岁的诺瓦克-德约科维奇。这是德约科维奇自2013年以来首次在温布尔登输掉比赛,也结束了这位大满贯历史上最伟大球员之一的辉煌战绩。
[1]德约科维奇似乎注定会轻松获胜,他在第一盘以6-1的比分占据优势(7局比赛中赢了6局)。然而,第二盘比赛却十分紧张,最终阿尔卡雷斯在决胜盘中以7-6获胜。第三盘与第一盘相反,阿尔卡拉兹以6-1的比分轻松获胜。第四盘开始后,年轻的西班牙人似乎完全控制了局面,但不知何故,比赛的走势再次发生了变化,德约科维奇完全控制了局面,以6-3的比分赢得了这一盘。第五盘也是最后一盘比赛开始后,德约科维奇延续了第四盘的优势,但比赛的走向再次发生了变化,阿尔卡拉斯以6-4取得了胜利。本场比赛的数据在提供的数据集中,“match_id"为"2023-wimbledon-1701”。您可以使用"set_no"列(等于1)查看第一盘德约科维奇占优时的所有得分。似乎占优的一方有时会出现多分甚至多局的惊人波动,这通常归因于"势头"。
在字典中,“势头"的定义是"通过运动或一系列事件获得的力量或作用力。”[2]在体育运动中,一支球队或一名球员可能会觉得他们在比赛中拥有势头或"力量/作用力",但很难衡量这种现象。此外,如果存在"势"的话,比赛中的各种事件是如何产生或改变"势"的,也不是一目了然的。
提供2023年温布尔登网球公开赛前两轮之后所有男子比赛中每一分的数据。您可以自行决定加入其他球员信息或其他数据,但必须完整记录数据来源。使用这些数据
(1)建立一个模型,捕捉赛点发生时的比赛流程,并将其应用到一场或多场比赛中。您的模型应能确定哪位球员在比赛中的某个特定时间段表现更好,以及他们的表现好到什么程度。根据您的模型提供可视化的比赛流程描述。注意:在网球比赛中,发球的一方赢得赛点/比赛的概率要高得多。您可能希望以某种方式将这一因素考虑到您的模型中。
(2)一位网球教练对"势头"在比赛中的作用持怀疑态度。相反,他假设比赛中的波动和一名球员的成功是随机的。请使用您的模型/度量来评估这一说法。
(3)练们很想知道,是否有一些指标可以帮助判断比赛的流程何时会从偏向一名球员变为偏向另一名球员。
(4)利用提供的至少一场比赛的数据,建立一个模型来预测比赛中的这些波动。哪些因素似乎最相关(如果有的话)?
(5)考虑到过去比赛"势头"波动的差异,您如何建议球员在新的比赛中对阵不同的球员?
(6)在一场或多场其他比赛中测试您开发的模型。您对比赛中的波动预测得如何?
如果模型有时表现不佳,您是否能找出未来模型中可能需要包含的任何因素?您的模型对其他比赛(如女子比赛)、锦标赛、球场表面和其他运动(如乒乓球)的通用性如何?
(7)撰写一份不超过25页的报告,介绍您的研究结果,并附上一至两页的备忘录总结您的研究结果,并就"动力"的作用以及如何让球员做好准备,应对网球比赛中影响比赛进程的事件,向教练提出建议。

2 问题重述

本题详细描述了2023年温布尔登网球公开赛男子组决赛的比赛情况以及提供的比赛数据。要求解释了"势头"在体育运动中的定义以及难以衡量的问题。并解决以下的几个问题:

(1)建立一个模型,包括:

1.捕捉网球赛点发生时的比赛流程的模型。
2.应用到一场或多场比赛中以确定表现更好的球员,并提供可视化描述。
(2)对"势头"作用的,使用模型/度量来评估。
(3)探讨一些指标,用于判断比赛流程何时会从偏向一名球员变为偏向另一名球员。
(4)利用提供的比赛数据,建立一个波动预测模型,并确定最相关的因素。
(5)提出如何建议球员在新的比赛中对阵不同的球员,考虑到过去比赛"势头"波动的差异。
(6)在一场或多场其他比赛中测试开发的模型,并评估模型的波动预测。
(7)撰写报告和备忘录,介绍研究结果并向教练提出建议。

3 问题初步分析

3.1 问题一:捕捉赛点发生时的比赛流程的模型

在这里插入图片描述

2023温网决赛数据
(1)模型思路:这是一个时间序列预测回归问题。将赛点发生时的比赛情况建模为状态转移过程,根据历史比赛数据和技术统计来预测赛点的发生。由于计分的模型是按每一盘、每一局计分的,大满贯的需要打5盘3胜出,每一盘是赢6局,或者6:6时,一局定胜负,这一局是先抢到7分的胜出,如果6:6时,需要再净胜出2分才能赢下这一局。在数据预处理部分,可以将前面的赢下的盘作为一个特征,如果前4盘中已经赢下2盘,则直接预测第三盘是否会出现赛点。并且由于将计分转为一条时间序列的数据,可以将计分数据转换为事件数据,例如记录每一个赛点的发生情况,赛点发生时双方的计分情况,以及赛点赢家等。之后用时间序列回归模型预测即可,以下给出示例代码。
(2) 模型
●马尔可夫链模型(Markov Chain Model): 将比赛状态建模为马尔可夫链,推断赛点发生的概率。
隐马尔可夫模型(Hidden Markov Model): 考虑比赛状态的隐含变量,对赛点的发生进行建模。
●逻辑回归模型(Logistic Regression): 根据选手的技术统计特征,预测赛点的可能性。
生存分析模型(Survival Analysis): 考虑赛点发生的时间,建立生存分析模型来预测赛点的发生。
●朴素贝叶斯模型(Naive Bayes): 基于历史数据和技术统计,利用贝叶斯方法预测赛点的发生。
要将网球大满贯中5盘的计分数据转换为一条时间序列的数据,可以将每个赛点的计分情况转换为时间序列中的事件,然后使用这些事件数据来建立时间序列模型,例如隐马尔可夫模型或马尔可夫链模型,来预测赛点的发生。下面是举例理解Python代码:
(3)示例:举例的5盘比赛的计分数据

import pandas as pd

#假设我们有原始的比分数据,包括每局的比分情况
#这里的具体每一局的分数,是我瞎编的,需要根据提供的表格计算得出准确值,后续我会更新正确。
score_data = {
    'Set1': ['4-1', '1-4', '4-2', '4-0', '4-0', '4-3', '4-2'],# 第一盘,打了7局,6:1
    'Set2': ['4-1', '1-4', '4-2', '4-0', '4-0', '4-3', '4-2', '1-4', '4-2', '4-0', '4-0', '4-3', '4-2'],# 第二盘,打了13局,7:6
    'Set3': ['4-1', '1-4', '4-2', '4-0', '4-0', '4-3', '4-2'],# 第三盘,打了7局,6:1
    'Set4': ['4-1', '1-4', '4-2', '4-0', '4-0', '4-3', '4-2','4-3', '4-2'],# 第四盘,打了9局,3:6
    'Set5': ['4-3', '4-2','4-1', '1-4', '4-2', '4-0', '4-0', '4-3', '4-2','4-3'] # 第五盘,打了10局,4:6
}

#转换成时间序列的事件数据
events = []
for set_num in score_data:
    set_scores = score_data[set_num]
    for game_score in set_scores:
        # 分割比分
        player1, player2 = game_score.split('-')
        player1 = int(player1)
        player2 = int(player2)
        # 判断赛点情况
        if player1 >= 4 and player1 - player2 >= 2:
            events.append({'set': set_num, 'game': game_score, 'player': 'Alcaraz', 'event': '赛点'})
        elif player2 >= 4 and player2 - player1 >= 2:
            events.append({'set': set_num, 'game': game_score, 'player': 'Djokovic', 'event': '赛点'})

#转换为DataFrame
events_df = pd.DataFrame(events)

#打印事件数据
print(events_df)

上述代码将原始计分数据转换为了赛点事件的时间序列数据。然后可以使用events_df进行时间序列建模,例如应用隐马尔可夫模型:

from hmmlearn import hmm

#建立隐马尔可夫模型
model = hmm.GaussianHMM(n_components=2, covariance_type="full")
X = events_df[['set', 'game']]  # 选择用于建模的特征
model.fit(X)

#进行赛点预测
predicted_states = model.predict(X)

#打印预测结果
print(predicted_states)

3.2 问题二:评估"势头"作用的模型

(1)模型思路:这是一个因子分析问题,通过统计和机器学习方法,评估球员的赛事表现是否受到"势头"的影响,探索势头效应的存在和程度。
(2) 模型
●线性回归模型(Linear Regression):分析球员的比赛表现与势头的相关性,探索线性关系。
时间序列模型(Time Series Model):分析球员的比赛结果时间序列,检测势头效应的存在和影响。
●因子分析(Factor Analysis):挖掘比赛数据中的潜在因子,探索势头对表现的影响。
贝叶斯结构学习(Bayesian Structural Learning):利用贝叶斯方法建立模型,评估势头作用的概率和影响。
●强化学习模型(Reinforcement Learning):通过建立马尔可夫决策过程模型来评估势头对球员战术选择的影响。

3.3 问题三: 判断比赛流程转向的指标

(1)模型思路:这是一个分类问题,是球员A赢下的概率大,还是球员B的概率大。建立状态转移模型来判断比赛流程何时转向另一名球员,考虑技术统计和比分变化。
(2) 模型:
●隐马尔可夫模型(Hidden Markov Model):考虑比赛状态的隐含变量,判断比赛流程的转向。
KNN模型(K-Nearest Neighbors):根据历史数据中邻近的比赛情况来判断比赛流程的转向。
●决策树模型(Decision Tree):利用技术统计特征来建立决策树模型,判断比赛流程的转向。
时间序列分析模型(Time Series Analysis):分析比赛数据的时间序列特征,判断比赛流程转向的规律。
●支持向量机模型(Support Vector Machine):根据技术统计特征,建立支持向量机模型来判断比赛流程的转向。

3.4 问题四: 建立波动预测模型

(1)模型思路:这是时间序列预测问题,将问题一的数学模型拿来用就行,做一些漂亮的回归分析和可视化。利用比赛数据和技术统计,建立波动预测模型来确定比赛结果的波动,并找出最相关的因素。
(2)模型:
●时间序列模型(Time Series Model):建立时间序列预测模型,预测比赛结果的波动。
●ARIMA模型:利用自回归与移动平均模型,预测比赛结果的波动情况。
●LSTM模型(Long Short-Term Memory):利用循环神经网络模型来预测比赛结果的波动。
●随机森林模型(Random Forest):利用多颗决策树组成的模型来预测比赛结果的波动。
●因果推断模型(Causal Inference Model):利用因果推断方法来确定比赛结果波动的因果关系。

3.5 问题五:战术建议

(1)建议思路:这是一个决策问题,通过比较对阵不同对手时的比赛"势头"波动差异,给出针对不同对手的战术建议,简答一点做就是用决策树做,要做复杂点就加入博弈论的思想,方法更高级。
(2)模型
●博弈论模型(Game Theory):分析不同对手之间的博弈关系,给出对应的战术建议。
强化学习模型(Reinforcement Learning):通过与不同对手的交互学习,给出对应的战术建议。
●决策树模型(Decision Tree):根据对手的特点建立决策树模型,给出相应的战术建议。
概率图模型(Probabilistic Graphical Model):利用概率图模型分析不同对手的特点,给出对应的战术建议。

3.6 问题六:模型评估

以上几乎都是回归问题,回归问题的模型评价方法部分举例如下:
●交叉验证(Cross-validation):对模型在其他比赛中的表现进行交叉验证,评估模型的波动预测能力。
●均方误差(Mean Squared Error):计算模型在其他比赛中的均方误差,评估模型的预测准确性。
●ROC曲线分析(ROC Curve Analysis):通过绘制ROC曲线,评估模型的波动预测性能。
●查准率与召回率(Precision and Recall):计算模型的查准率与召回率,评估模型的波动预测能力。
●AUC值评估(AUC Value Evaluation):计算模型的AUC值,评估模型的波动预测性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1426892.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode:283. 移动零

283. 移动零 1)题目2)代码方法一:两层for循环方法二:使用双指针 3)结果方法一结果方法二结果 1)题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的…

STM32目录结构

之前一直头疼的32目录,比51复杂,又没有C规律,也不像python脚本文件关联不强,也不像工整的FPGA工程,编的时候到处放,爆出的错千奇百怪。短暂整理了一个,还是没有理得很轻。 startup_stm32f10x_m…

Vue-51、Vue技术github案例(发送ajax)

1、在index引入bootstrap.csss (注意第三方css库最好在indxe里面引入) 2、List.vue源码 <template><div class"row"><div v-show"users.length" class"card" v-for"p in users" :key"p.login"><a :hr…

ES6中新增Array.from()函数的用法详解

目录 Map对象的转换 Set对象的转换 字符串的转换 类数组对象的转换 Array.from可以接受三个参数 ES6为Array增加了from函数用来将其他对象转换成数组。当然&#xff0c;其他对象也是有要求&#xff0c;也不是所有的&#xff0c;可以将两种对象转换成数组。 1、部署了Iter…

深圳市金航标电子有限公司

深圳市金航标电子有限公司&#xff0c;技术骨干来自清华大学和电子科大&#xff0c;吸纳海归专业人才&#xff0c;可以研制高可靠高性能 天线和连接器产品&#xff0c;在东莞塘厦和广西柳州的生产基地有自动化生产线多条&#xff0c;具有大批量产品的生产交付能力。金 航标电…

地下管道守护者:“智能地钉”如何守护电缆安全?

如果大家平时出行仔细观察的话&#xff0c;会发现一些道路地面上有许多“小圆盘”&#xff0c;晚上的时候还会发光。不过&#xff0c;这可不是什么照明灯&#xff0c;这些“小圆盘”叫作智能地钉&#xff0c;而且仔细看的话&#xff0c;能够发现它的内部表面是一块太阳能板&…

HTTP协议的8种请求方式及常用请求方式的解析

前言 今天想起来写这一篇文章&#xff0c;主要是无意中想起来当初面试的时候我的以为面试官曾问过我这个问题&#xff0c;因此我对此整理一下&#xff0c;希望对大家有所帮助。 简单介绍 TTP是超文本传输协议&#xff0c;其定义了客户端与服务器端之间文本传输的规范。HTTP默…

python-分享篇-Turtle海龟-画图

文章目录 背景颜色画圆太阳花树椭圆 背景颜色 import turtlepen turtle.Turtle() turtle.Screen().bgcolor("blue") pen.color("cyan") for i in range(10):for i in range(2):pen.forward(100)pen.right(60)pen.forward(100)pen.right(120)pen.right(36…

GEDepth:Ground Embedding for Monocular Depth Estimation

参考代码&#xff1a;gedepth 出发点与动机 相机的外参告诉了相机在世界坐标系下的位置信息&#xff0c;那么可以用这个外参构建一个地面基础深度作为先验&#xff0c;后续只需要在这个地面基础深度先验基础上添加offset就可以得到结果深度&#xff0c;这样可以极大简化深度估…

使用goland IDE编写go windows ui

最近突发奇想&#xff0c;想实现一款工作节奏的提示安排小闹钟。那首先解决的就是UI。本人擅长go语言。那go在windows ui的探索肯定有人做过了吧。一查还真有&#xff0c;通过知乎&#xff0c;csdn等查到目前支持最好的就是walk库了。那走起试试。 一、拷贝go代码 将官网例子…

玩转全新nova12系列熄屏显示,做最潮nova星人!

熄屏显示一直是大家非常喜欢的一项功能&#xff0c;可以让我们在不影响他人的情况下随时随时地查看消息提醒。华为nova12全系列机型均支持熄屏显示功能&#xff0c;且在系列上更是有重磅升级&#xff0c;熄屏显示不再只局限于一小块区域&#xff0c;整个屏幕都可以作为显示空间…

java大文件分片上传

1.效果图 2.前端html <!DOCTYPE html> <html> <head></head> <body> <form><input type"file" id"fileInput" multiple><button type"button" onclick"upload()" >大文件分片上传&l…

通俗易懂理解通道注意力机制(CAM)与空间注意力机制(SAM)

重要说明&#xff1a;本文从网上资料整理而来&#xff0c;仅记录博主学习相关知识点的过程&#xff0c;侵删。 一、参考资料 通道注意力&#xff0c;空间注意力&#xff0c;像素注意力 通道注意力机制和空间注意力机制 视觉 注意力机制——通道注意力、空间注意力、自注意力…

上位机图像处理和嵌入式模块部署(二进制图像的读写)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 之前我们说过&#xff0c;对于图像处理而言&#xff0c;势必会涉及到文件的读写。但是不同格式文件的读写&#xff0c;这本身又是体力活&#xff0…

大数据学习之Redis、从零基础到入门(三)

目录 三、redis10大数据类型 1.哪十个&#xff1f; 1.1 redis字符串&#xff08;String&#xff09; 1.2 redis列表&#xff08;List&#xff09; 1.3 redis哈希表&#xff08;Hash&#xff09; 1.4 redis集合&#xff08;Set&#xff09; 1.5 redis有序集合&#xff08…

提升CKA考试胜算:一文带你全面了解RBAC权限控制!

RBAC概述 RBAC引入了四个新的顶级资源对象。Role、ClusterRole、RoleBinding、 ClusterRoleBinding。同其他 API 资源对象一样&#xff0c;用户可以使用 kubectl 或者 API 调用等 方式操作这些资源对象。kubernetes集群相关所有的交互都通过apiserver来完成&#xff0c;对于这…

【CSS】移动端适配

移动端适配怎么做&#xff1f; 适配的目的是在屏幕大小不同的终端设备拥有统一的界面&#xff0c;让拥有更大屏幕的终端展示更多的内容。 meta viewport (视口) 移动端初始视口的大小默认是980px&#xff0c;因为世界上绝大多数PC网页的版心宽度为980px &#xff0c;如果网页…

Kudu数据库详解

文章目录 1、概要2、 Kudu产品特点&#xff1a;3 、Kudu架构4、 基础概念5、 服务端口6、 启停命令7 、kudu与impala结合8、 使用限制9、 使用kudu-client操作kudu 1、概要 Apache Kudu 是由 Cloudera开源的列式存储系统&#xff0c;可以同时提供低延迟的随机读写和高效的数据…

运行程序时出现“无效类”的解决方法

最近做开发时&#xff0c;遇到了一个奇怪的问题&#xff0c;打开的烧录软件突然出现了“无效类”的字样&#xff0c;以前打开却时正常的&#xff0c;真的是莫名其妙。 然后找了很久的解决办法&#xff0c;终于在某一天运行一个系统软件出现了同样的问题&#xff0c;有提示到WMI…

JS 异常处理

1、抛出异常 throw 1.throw抛出异常信息&#xff0c;程序也会终止执行 2.throw后面跟的是错误提示信息 3.Error对象配合 throw使用&#xff0c;能够设置更详细的错误信息 示例 function fn(x, y) {if (!x || !y) {throw new Error(没有参数传进来) }return x y } fn()打印结果…