JRS直播网

当前位置:首页 > 前瞻分析 > 体育资讯 >> 正文

网球比赛得分 2024 美赛 C 题网球运动中的势头:问题分析、数学模型、代码与完整论文

在这里插入图片描述

相关链接

【2024 美国比赛】网球动量 25 页作文及中英文代码 C 题

【2024 美国】问题 C C:网球的势头 网球问题 1 代码

【2024 美国锦标赛】C 问题 C:网球的势头 26 页全文

【2024 美国大学生数学建模竞赛】2024 美国锦标赛 C 题 网球势头,网球教练 4.0 这个问题没人比我更懂!!

介绍

我是计算机科学博士,有 10 年的网球经验,2023 年温网决赛,我熬夜看了直播,对网球的规则和比赛的数据非常熟悉。我们的团队将继续更新问题分析、数学模型和实现代码,并最终发布全文。

在这里插入图片描述

更新进度:

(1) 2024 年 2 月 1 日 22:00 的博文

(2) 问题将于 2024 年 2 月 2 日 6:00 发布

(3) 问题分析将于 2024 年 2 月 2 日 7:00 发布

(四)2024 年 2 月 2 日 19:00,发布数学模型、实现代码和运行结果

(5) 论文全文,更新

【2024 美国大学生数学建模竞赛】2024 美国锦标赛 C 题 网球势头 网球教练 4.0 这个问题没人比我更懂!!1 话题

问题 A:问题 C:网球的势头

在这里插入图片描述

在 2023 年温布尔登网球公开赛男子决赛中,20 岁的西班牙新星卡洛斯·阿尔卡拉斯击败了 36 岁的诺瓦克·德约科维奇。这是德约科维奇自 2013 年以来在温布尔登的首次失利,并结束了大满贯历史上最伟大的球员之一的辉煌连胜。

[1] 德约科维奇似乎注定要轻松获胜,他在第一盘中以 6-1 的优势获胜(7 场比赛中赢了 6 场)。然而,第二盘很紧张,阿尔卡雷斯在决胜盘中以 7-6 获胜。第三盘与第一盘相反,阿尔卡拉斯以 6-1 轻松获胜。第四盘开始后,这位年轻的西班牙人似乎完全控制了局面,但不知何故,比赛的趋势再次发生变化,德约科维奇完全控制了局面,以 6-3 赢得了这一盘。德约科维奇在第五盘也是最后一盘开始后扩大了他的第四盘优势,但比赛的进程再次改变,阿尔卡拉斯以 6-4 获胜。此匹配的数据位于提供的数据集中,“为”2023--1701”。您可以使用 “” 列(等于 1)查看德约科维奇在第一盘中占据优势时的所有得分。看似占上风的一方有时会出现多分甚至多局的惊人波动,这通常被归因于“势头”。

在字典中,“动量”被定义为“通过运动或一系列事件获得的力或力”。[2] 在体育运动中,一支球队或一名球员可能会觉得他们在比赛中有动力或“力量/力量”,但这种现象很难衡量。此外,如果存在 “潜力”,则不清楚游戏中的各种事件如何创造或改变 “潜力”。

提供 2023 年温布尔登网球公开赛前两轮比赛后所有男子比赛中的每一分数据。您可以自行决定是否包含其他玩家信息或其他数据,但您必须保留数据来源的完整记录。这些数据的使用

(1) 构建一个模型,在出现赛点时捕获比赛流程并将其应用于一个或多个比赛。您的模型应该能够确定哪个玩家在游戏的特定时间表现更好以及表现得更好。根据您的模型提供竞赛过程的直观描述。注意:在网球比赛中,发球方赢得赛点/比赛的概率要高得多。您可能希望以某种方式在模型中考虑这一点。

(2) 网球教练对“动量”在比赛中的作用持怀疑态度。相反,他假设游戏中的波动和一个玩家的成功是随机的。请使用您的模型/度量来评估此声明。

(3) 从业者想知道是否有任何指标可以帮助确定比赛的流程何时会从一个玩家更改为另一个玩家。

(4) 使用提供的至少一个游戏的数据,构建一个模型来预测游戏中的这些波动。哪些因素(如果有的话)似乎最相关?

(5) 考虑到过去比赛中“动量”波动的差异,您如何建议玩家在新比赛中与不同的玩家对战?

(6) 在一项或多项其他比赛中测试您开发的模型。您对游戏中的波动性预测得如何?

如果您的模型有时性能不佳,您能否确定将来可能需要包含在模型中的任何因素?您的模型在其他比赛(例如女子比赛)、锦标赛、球场表面和其他运动(例如乒乓球)中的通用性如何?

(7) 写一份不超过 25 页的报告,介绍您的发现,并附上一份一到两页的备忘录,总结您的发现并就“激励”的作用以及如何让球员为影响网球比赛进程的事件做好准备向教练提供建议。

PDF 解决方案的总页数不应超过 25 页,其中应包括

单页摘要表。

• 目录

• 您的交钥匙解决方案

• 一到两页的备忘录。

• 参考列表。

• AI 使用情况报告(如果使用,则不计入 25 页的限制。

注意: 完整提交没有特定的最低页数要求。您最多可以用 25 页的篇幅来介绍所有答案和您想要包含的任何附加信息(例如图纸、图表、计算、表格)。我们接受部分解决方案。我们允许谨慎使用人工智能,例如,但不一定是为了解决这个问题。如果您选择使用生成式 AI网球比赛得分,则必须遵守 COMAP AI 使用政策。这将产生额外的 AI 使用情况报告,您必须将其添加到 PDF 解决方案文件的末尾,并且不会计入解决方案的总页数限制 25 页。

2 提供的文件:

(1) .csv-2023 温布尔登网球锦标赛男单第二轮比赛后。

(2) .csv - 数据集的描述。

(3) - 帮助理解所提供数据的示例。

2 问题重述匹配描述和统计:

详细描述了 2023 年温布尔登公开赛男子决赛的比赛,并提供了比赛数据。

解释了运动中“动量”的定义和测量它的难度。

问题:

构建模型网球比赛得分,包括:

一位对 “” 的作用持怀疑态度的网球教练的说法是使用模型/测量进行评估的。

探索一些可用于确定比赛流程何时从一个玩家更改为另一个玩家的指标。

使用提供的匹配数据,构建波动率预测模型并确定最相关的因素。

建议如何建议玩家在新比赛中与不同的玩家对战,同时考虑到过去比赛中 “势头” 波动的差异。

在一项或多项其他比赛中测试开发的模型网球比赛得分,并评估模型的波动预测。

撰写报告和备忘录,介绍研究结果并向教练提出建议。

3 问题分析3.1 问题 1:捕捉对局点发生时比赛流程的模型

在这里插入图片描述

2023 年美国公开赛比赛数据

(1) 模型思路:这是一个时间序列预测回归问题。将赛点出现时的比赛情况建模为状态转换过程,根据历史比赛数据和技术统计数据预测赛点的发生。由于计分模式是按照每盘每局进行计分的,所以大满贯需要打 5 盘 3 胜,每盘是赢 6 局,或者 6:6,一局胜出,这场比赛是先抢 7 分赢的,如果是 6:6,你需要赢 2 分才能赢这场比赛。在数据预处理部分,可以使用前一组获胜的集合作为特征,如果前 4 盘中赢了 2 块,可以直接预测第三盘是否会出现对点。而且由于评分是转换成时间序列的数据,所以评分数据可以转换成事件数据,比如记录每个赛点的出现情况、赛点发生时双方的得分、赛点获胜者等。之后,您可以使用时间序列回归模型进行预测,下面是一个示例代码。

(2) 型号

要将网球大满贯 5 盘的得分数据转换为时间序列,可以将每个赛点的得分转换为时间序列中的事件,然后使用该事件数据构建时间序列模型,例如隐马尔可夫模型或马尔可夫链模型。 预测匹配点的出现。下面是一个理解代码的示例:

(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)

上面的代码将原始评分数据转换为对阵点事件的时间序列数据。然后,您可以使用时间序列建模,例如应用隐藏马尔可夫模型:

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 问题 2:评估“动量”影响的模型。

(1) 模型思路:这是一个因子分析问题,通过统计和机器学习的方法,评估球员的表现是否受到“动量”的影响,并探索动量效应的存在和程度。

(2) 型号

3.3 问题 3:确定游戏流程方向的指标

(1)模型思路:这是一个分类问题,是玩家 A 的获胜概率很高,还是玩家 B 的概率很高。构建一个状态转换模型,以确定游戏流程何时转向另一个玩家,同时考虑技术统计数据和比分变化。

(2) 型号:

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

(1) 模型思路:这是一个时间序列预测问题,就用问题 1 的数学模型做一些漂亮的回归分析和可视化就行了。使用比赛数据和技术统计数据,构建波动率预测模型,以确定比赛结果的波动并确定最相关的因素。

(2) 型号:

3.5 问题 5:战术建议

(1)建议思路:这是一个决策题,通过比较对阵不同对手的比赛“动量”波动的差异,针对不同的对手给出战术建议,简短的回答就是用决策树来做,去做复杂点,加入博弈论的思路,方法更高级。

(2) 型号

3.6 问题 6:模型评估

以上几乎都是回归问题,回归问题的一些模型评价方法示例如下:

):交叉验证模型在其他比赛中的性能,以评估模型的波动率预测能力。

4 代码实现4.1 问题 1

采用了隐马尔可夫模型,这是一个描述随机过程的数学模型,它满足马尔可夫性质,即未来状态的概率只取决于当前状态,与过去的状态无关。马尔可夫模型可以分为两种常见形式:马尔可夫链和隐马尔可夫模型。构建模型的过程如下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.2 问题 2

常见因子分析方法:

主成分分析 (PCA),最大方差旋转 ( ) 笛卡尔旋转 ( ) 旋转旋转 验证因子分析 ( , CFA) 典型相关性分析 ( )。

此外,还有线性回归分析、 相关系数分析等方法

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5 如何获取

上一条:网球抢七规则解析及网球运动的发展历程
下一条:少年儿童热衷骑乘运动,家长支持促进家庭交流与身心健康

猜你喜欢