2024年数学建模美赛C题(预测 Wordle)——思路、程序总结分享

1: 问题描述与要求

《纽约时报》要求您对本文件中的结果进行分析,以回答几个问题。

问题1:报告结果的数量每天都在变化。开发一个模型来解释这种变化,并使用您的模型为2023年3月1日报告的结果数量创建一个预测区间。这个词的任何属性是否会影响报告的在困难模式下播放的分数的百分比?如果是这样,如何?如果不是,为什么不呢?

问题2:对于未来日期的给定未来解决方案词,开发一个模型,使您能够预测报告结果的分布。换句话说,预测未来日期 (1, 2, 3, 4, 5, 6, X) 的相关百分比。哪些不确定性与您的模型和预测相关?举一个你对2023年3月1日EERIE这个词的预测的具体例子。你对你的模型的预测有多自信?

问题3:开发并总结一个模型来按难度对解决方案单词进行分类。识别与每个分类关联的给定词的属性。使用您的模型,EERIE这个词有多难?讨论分类模型的准确性。

问题4:列出并描述这个数据集的其他一些有趣的特征。

2: 解题思路和分析结果(详解版)

针对问题1

思路:该问题主要是预测一个序列的变化趋势,而且该数据的变化趋势是统计的每天的数据,所以可认为是一个时间序列。数据的波动如下:

待预测数据的波动情况

分析该数据的随时间的变化趋势,可以发现是先上升、然后在下降的趋势,比较符合一个热点产生后,迅速得到关注,然后在逐渐降低热度,最后关注度保持稳定的情况。

针对该数据中末尾的最低点如何处理:该点可能是正确的数据(也可能是错误的,比如:录入错误)。所以可以做处理,也可以不错处理。处理方法,最简单的方法是使用最低点前后N(n=1,2,...)个数值的均值进性改进。

针对序列的预测方法:

(1)时间序列累预测方法:建议忽略到前半段,对下降的趋势进行时间序列建模与分析(也可用群不数据),可能效果较好。模型可以是:ARIMA、prophet等预测算法,prophet效果会好于ARIMA。

prophet算法预测

(2)考虑非线性回归方程:可以使用全部的数据建立,也可以使用数据下降趋势的后半段。

非线性回归方程

对于分析词的任何属性是否会影响报告的在困难模式下播放的分数的百分比的情况。主要的检验方法就是单因素方差分析,而且也要对词语一行清洗与与处理的改正操作。

针对问题2

目的1: 预测未来日期 (1, 2, 3, 4, 5, 6, X) 的相关百分比。

目的2: 对2023年3月1日EERIE这个词进行预测。

该问题是一个典型的有监督的数据回归问题,可以使用的方法有很多,而且针对数据的情况,可以先对数据进行特征工程,可以使用的特征例如:时间信息、每个位置的字母信息、词的属性信息等。可使用的预测算法也很多,例如:决策树、随机森林、GBDT、SVM、神经网络等。经过我的验证,使用随机森林或者GBDT的预测效果较好。

在数据与处理操作阶段,可以剔除一个累计正确率较离谱的样本,入下面的图所示:

累计正确率

对2023年3月1日EERIE这个词,一个可以参考的预测结果为:

(1, 2, 3,  4, 5,  6, X) 的相关百分比预测值分别为 (1, 5, 17, 32, 27, 12, 3)

针对问题3

目的1: 按难度对解决方案单词进行分类,并且根据单词的相关特征,为分类结果进行定级。

目的2: 对2023年3月1日EERIE这个词进行预测。

该问题属于一个无监督的聚类问题。而且针对该问题进行聚类是,使用的特征很关键。可以使用(1, 2, 3,  4, 5,  6, X) 的相关百分比作为特征建立聚类模型,而且聚类的算法有很多,例如:K均值、K中值、模糊聚类、系统聚类等。而且聚类的数量也有讲究。经过我的详细研究,聚类为3类,可能效果跟好一些。

聚了i结果可视化

聚类模型确定好后,对EERIE这个词进行预测即可。

针对问题4

该问题是一个开放性的问题,可以进行一些数据可视化分析等,便于发现数据的关系。并且可以结合前面三问的到的结果进行分析。例如:使用关联规则,可以发现单词中有哪些字母的情况下,属于哪个难度类别等。

发现的一些规则

总结

前面的一些分析,都是本人使用Python,对数据一步步分析得出的一些经验,供大家参考,并不能完全保证是正确的。数学建模本身就是开放性问题,这里知识抛砖引玉。

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

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

相关文章

设计模式——模板方法模式(Template Method Pattern)

概述 模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式。模板方法模式是结…

【开源】JAVA+Vue.js实现超市商品管理系统

目录 一、摘要1.1 简介1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 超市区域模块2.3 超市货架模块2.4 商品类型模块2.5 商品档案模块 三、系统设计3.1 用例图3.2 时序图3.3 类图3.4 E-R图 四、系统实现4.1 登录4.2 注册4.3 主页4.4 超市区域管理4.5 超市货架管理4.6 商品类型…

标准库中的string类(下)——“C++”

各位CSDN的uu们你们好呀,这段时间小雅兰的内容仍然是Cstring类的使用的内容,下面,让我们进入string类的世界吧!!! string类的常用接口说明 string - C Reference string类的常用接口说明 string类对象的修…

一文理清楚-Docker 容器如何工作

Docker 容器如何工作 集装箱什么是虚拟机?虚拟化如何运作?什么是容器?什么是 Docker?总结 五星上将麦克阿瑟曾经说过:在docker面前,虚拟机就是个弟弟 集装箱 《盒子:集装箱如何让世界变得更小&…

【BUG】golang gorm导入数据库报错 “unexpected type clause.Expr“

帮同事排查一个gorm导入数据报错的问题 事发现场 ck sql CREATE TABLE ods_api.t_sms_jg_msg_callback_dis (app_key String DEFAULT COMMENT 应用标识,callback_type Int32 DEFAULT 0 COMMENT 0送达,1回执,channel Int32 DEFAULT 0 COMMENT uid下发的渠道,mode…

自定义vue通用左侧菜单组件(未完善版本)

使用到的技术&#xff1a; vue3、pinia、view-ui-plus 实现的功能&#xff1a; 传入一个菜单数组数据&#xff0c;自动生成一个左侧菜单栏。菜单栏可以添加、删除、展开、重命名&#xff0c;拖动插入位置等。 效果预览&#xff1a; 代码&#xff1a; c-menu-wrap.vue <t…

【Linux】压缩脚本、报警脚本

一、压缩搅拌 要求&#xff1a; 写一个脚本&#xff0c;完成如下功能 传递一个参数给脚本&#xff0c;此参数为gzip、bzip2或者xz三者之一&#xff1b; (1) 如果参数1的值为gzip&#xff0c;则使用tar和gzip归档压缩/etc目录至/backups目录中&#xff0c;并命名为/backups/etc…

鸿蒙OS之Rust开发

背景 Rust是一门静态强类型语言&#xff0c;具有更安全的内存管理、更好的运行性能、原生支持多线程开发等优势。Rust官方也使用Cargo工具来专门为Rust代码创建工程和构建编译。 OpenHarmony为了集成C/C 代码和提升编译速度&#xff0c;使用了GN Ninja的编译构建系统。GN的构…

Open CASCADE学习|遍历曲面的边

目录 1、球面的Brep数据 2、C遍历球面的边 ​这里以球面为例来说明如何遍历曲面的边。 1、球面的Brep数据 使用Tcl命令在Draw Test Harness中生成的球面并到出Brep数据如下&#xff1a; pload ALL psphere asphere 1 dump asphere 结果如下&#xff1a; *********** D…

构建高效外卖系统:利用Spring Boot框架实现

在当今快节奏的生活中&#xff0c;外卖系统已经成为人们生活中不可或缺的一部分。为了构建一个高效、可靠的外卖系统&#xff0c;我们可以利用Spring Boot框架来实现。本文将介绍如何利用Spring Boot框架构建一个简单但功能完善的外卖系统&#xff0c;并提供相关的技术代码示例…

Qt SQLite3数据库加密 QtCipherSqlitePlugin

在客户端软件开发过程中&#xff0c;基本都会涉及到数据库的开发。QT支持的数据库也有好几种&#xff08;QSQLITE, QODBC, QODBC3, QPSQL, QPSQL7&#xff09;&#xff0c;SQLite就是其中之一&#xff0c;但这个 SQLite 是官方提供的开源版本&#xff0c;没有加密功能的。如果对…

安全小记-sqli-labs闯关

1.安装靶场 介绍&#xff1a; SQLI&#xff0c;sql injection&#xff0c;我们称之为sql注入。何为sql&#xff0c;英文&#xff1a;Structured Query Language&#xff0c;叫做结构化查询语言。常见的结构化数据库有MySQL&#xff0c;MS SQL ,Oracle以及Postgresql。Sql语言…

【Spark系列4】Task的执行

一、Task的执行流程 1.1、Task执行流程 DAGScheduler将Stage生成TaskSet之后&#xff0c;会将Task交给TaskScheduler进行处理&#xff0c;TaskScheduler负责将Task提交到集群中运行&#xff0c;并负责失败重试&#xff0c;为DAGScheduler返回事件信息等&#xff0c;整体如流程…

OpenGL ES 渲染 NV21、NV12 格式图像有哪些“姿势”?

使用2个纹理实现 NV21 格式图像渲染 前文提到渲染 NV21 格式图像需要使用 2 个纹理,分别用于保存 Y plane 和 UV plane 的数据,然后在片段着色器中分别对 2 个纹理进行采样,转换成 RGB 数据。 OpenGLES 渲染 NV21或 NV12 格式图像需要用到 GL_LUMINANCE 和 GL_LUMINANCE_A…

http和https的区别是什么?https有什么优缺点?

HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一个简单的请求-响应协议&#xff0c;它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。这个简单模型是早期Web成功的有功之臣&#xff0c;因为它…

The following untracked working tree files would be overwritten by merge问题的解决

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> 在更新git仓库时出现了一个The following untracked working tree files would be overwritten by merge的错误&#xff0c;具体如下图&#xff1a; 分析…

ES 分词器

概述 分词器的主要作用将用户输入的一段文本&#xff0c;按照一定逻辑&#xff0c;分析成多个词语的一种工具 什么是分词器 顾名思义&#xff0c;文本分析就是把全文本转换成一系列单词&#xff08;term/token&#xff09;的过程&#xff0c;也叫分词。在 ES 中&#xff0c;Ana…

2024年新提出的算法:(凤头豪猪优化器)冠豪猪优化算法Crested Porcupine Optimizer(附Matlab代码)

本次介绍一种新的自然启发式元启发式算法——凤头豪猪优化器(Crested Porcupine Optimizer&#xff0c;CPO)。该成果于2024年1月发表在中科院1区SCI top期刊Knowledge-Based Systems&#xff08;IF 8.8&#xff09;上。 1、简介 受到凤头豪猪&#xff08;CP&#xff09;各种…

iOS 自动打包如何配置配置打包证书和profile provision文件【脚本方式配置】

iOS 最新Jenkins自动化打包总结 本文主要内容&#xff1a; 1.Xcode和Jenkins的相关设置&#xff0c;以及环境切换 2.通过shell脚本将证书和描述文件拷贝到自动化打包的机器&#xff0c;并archive导出ipa包 3.上传到蒲公英 4.解决Swift不支持use_frameworks!的问题 开搞&…

【开源】SpringBoot框架开发天然气工程业务管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、使用角色3.1 施工人员3.2 管理员 四、数据库设计4.1 用户表4.2 分公司表4.3 角色表4.4 数据字典表4.5 工程项目表4.6 使用材料表4.7 使用材料领用表4.8 整体E-R图 五、系统展示六、核心代码6.1 查询工程项目6.2 工程物资…