2022 高教杯数学建模C题古代玻璃制品的成分分析与鉴别回顾及总结

news2025/2/25 15:00:22

2022 高教杯数学建模C题古代玻璃制品的成分分析与鉴别回顾及总结

Paper & Code:https://github.com/Fly-Pluche/2022-mathematical-modeling-C
希望可以施舍几个star⭐️

国赛分工

我们三人都有主要的分工:

队员A主要负责二,三问的求解以及代码的编写,使用Excel或者Python进行部分数据处理,通过Python计算第一问以及第四问的回归方程。

队员B进行第一问以及第四问的求解,以及使用Excel对数据进行处理。

队员C参与所有问题求解过程的讨论,主要进行论文的编写,队员A与队员B都参与论文的部分编写的工作。

流程图等是由队员A以及队员B绘制的。

技术栈

队员A:大二,两年的Python使用经验,两年的机器学习(深度学习,对于传统的机器学习模型不太了解)经验,进行过算法改进,模型部署,发过论文,打过kaggle。有较熟练使用Excel,PPT,Visio的能力,使用过LaTeX。

队员B:大二,熟练使用WPS,,会使用SPSS,了解一定的数学模型等。

队员C:大二,会使用SPSS、WPS,了解模型等。

数模经验

队员A:2022年从校赛开始第一次打数学建模,加上暑假训练三次,赛前一共做过四次题。

队员B:2021年校赛参与奖,2022同上。

队员C:2021年国赛省三,2022同上。

暑假练习

队员A :只有在做题的时候学习数模。。。

队员B:学习SPSS的操作,了解LaTeX的使用等

队员C:阅读相关重要模型的书籍,掌握LaTeX的使用等

本来是计划返校线下做题,由于暑假疫情的原因,我们只能在线上交流做题,主要通过QQ电话,腾讯会议等手段进行,参考对应国赛题的优秀论文进行练习,由于是线上练习,所以我们三个的讨论并不能很好的进行,很多时候都是讨论一下解题思路,然后一个人主负责几题,然后自己写对应求解的论文。

通过练习,我们了解了打一个数模的大致流程,需求,注意点,以及我们自己的缺陷。通过练习,熟悉了LaTeX的编写,以及应对LaTeX编写出现的一些问题,队员A也在练习中囤积了一些有用的代码,熟练Pandas以及部分Excel的使用,懂得权衡使用Pandas还是Excel进行数据处理。队员B,C也在训练中不断了解模型以及SPSS的使用。

在使用的过程中也发现一个宝藏软件SPSSPRO,还是有点东西的,还有维护群,我当时挂着科学上网的工具,有些包下载不了,维护群的工作人员直接远程帮我debug。

(我个人是觉得这已经是线上练习的最优解了。既然没有办法讨论,那就各自为阵,了解一下自己主负责之外的东西,这样在最后才能互相帮忙,好应对突发情况。也是后面国赛的时候,我们能互相帮忙的原因吧)

0 Day

6:00PM发题目,我当时还在上课,6:05下课(我之前还在问要不要请假),我让他们先发题目给我,先帮我买饭,然后我下课直接去跟他们讨论,结果去的时候他们才刚刚打算去吃饭,我当时人都傻了(捂脸.jpg),他们说第一天先不急,先去吃饭。

我看了C题(菜鸡,只能选C)感觉部分题目比较熟悉,所以也放下心去吃饭。结果吃完饭后,分析一波题目,感觉还是有点傻眼,第一题的预测风化前的含量就不知道该如何下手,因为它的数据并不能通过机器学习的方式预测。但是当时又不知道能用啥其他的办法,当时就想到一个很玄虚的方法,第一个晚上我想试试用机器学习预测的方式进行预测,小熬一会儿,如果搞出来了第二天就能开始写论文。

队友B和C好像晚上十一点左右走的吧打算第二天早上七点起来。我留着做第一题,结果肝到两点多,发现寄了,预测失败当时感觉有点沮丧。但是又瞥了一眼题目,突然发现已经写好的机器学习模型可以用在第三问,后面又发现用回归的方式可以解决第一问。

瞬间感觉又充满了希望,在群里给队友留下遗言之后,刷会儿手机开始睡觉。。。

1 Day

好像早上7点50被队友叫醒,吃个饭,小小讨论了一波第一问使用回归的可行性,最后敲定使用回归的方式求解。

早上+下午:队友A使用集成模型对问题三进行求解,得到优秀的结果。

晚上:队友A使用随机森林进行数据填补,以及修改因填补产生的一些坑(例如:化学成分含量变多)。

队友B以及队友C尝试对第一问使用岭回归进行求解,结果发现存在共线性等问题,开始使用岭回归。

下午的时候,大家补觉+洗澡。

晚上好像熬到四五点吧。

2 Day

早上好像也是七八点起来。

队友B以及队友C使用SPSS,SPSSPRO,Excel等对第一问使用岭回归进行求解,最后得到优秀的拟合效果。

接着队友B对第一问进行收尾性工作并开始第四问,队友C开始撰写论文。

我开始痛苦的第二题,那个亚类的概念是真的不太明确,不知道该如何划分。有两种方案,一种是K-means聚类,一种是决策树,然后通过决策树的可视化进行解释。但是我们觉得这种方法太low了,没有创新。就想着用随机森林去解决这个问题,结果发现随机森林的对亚类划分的可解释性太差了。由于时间问题,所以我计划使用PCA主成分分析+K-means聚类,结果通过肘部法以及轮廓法确认,发现降维后的数据推荐聚类簇K等于主成分分析赛选出的成分个数。故此,只能使用K-means进行聚类。

这时候非常感谢队友C找到生物类别亚类划分的概念,生物类别的亚种划分是指一个物种A和物种B他们有着明显的生殖隔离(马和驴,狼和狗),其中B是由A的部分种群迁移到一个新的环境中,受环境影响演变成而来的。

我们借鉴其概念进行解释,一种玻璃品种的主要成分相差无几,所以成分的变化是风化导致的,故此我们认为根据化学成分聚类出的结果是在风化程度上的划分,根据风化程度进而演变的类别。

故此,我们认为聚类出的结果应该是存在两个极端,一个族类全为未风化,一个族全为风化,其他的族可能两种情况都有,如下图。

img

第一次聚类的时候发现确实结果与猜想的一致,只能说很高兴。结果都搞完了,发现聚类存在随机性,即使调整了随机种子,聚类结果也是不一样的,直接大寄特寄。

当时心态是真的有些炸。

因为这天晚上一波三折,拿用随机森林补全后的数据重新走一遍之前的流程,发现了一些之前的Bug,幸运的是修好了。(主要是因为除了队员A,其他队员没有机器学习的基础,对于归一化的映射不太了解,导致用Python预测的时候由于归一化以及忘记逆归一化的原因,导致预测结果存在误差)

然后开始打王者(我们三都在比赛的时候偶尔打打游戏或者小睡片刻,放松一下保持精神),打了一会儿,灵感来了。既然聚类结果存在随机性,那就人工挑选出聚类效果好的结果作为训练集,训练一个机器学习模型,那这个机器可学习模型不就是相对稳定的亚分类模型吗?后面的敏感性分析啥的不是就一并解决了,并且能写的跟多了,存在创新性以及可解释性。

第四问题目问的比较清楚,具体就没有太多创新,队友B根据具体情况进行分析解题建模。

然后我们就开始写各自负责部分的论文。

这天差不多都是六点左右睡觉,我跟队员C睡了40分钟左右,队员B睡了两个小时左右。

Finally Day

这一天主要就是论文的整合。

队友A写着写着,发现有些问题没有写完整,例如模型的敏感性分析,通过资料查找最终选择Salib进行敏感度分析,将结果分析出来,结果在查找灵敏度指标的相关解释时,发现有一篇解释很好的博客,结果博主自己在评论区说,这个方法不适用于C题,不用看了,还有两个人在附和式的评论,直接看的人傻了。但是最后感觉使用这个方法应该没有什么问题,最后硬着头皮用了。然后就是代码的整理,把解题过程中用到的项目文件都打包提交。

论文写的还是很极限的,晚上7点56左右,交了第一版。然后发现8点到10点确实有最后一次的提交机会,我们利用WPS的错别字查找功能对论文进行最后的修改,修正错别字,表格排版问题,引用错误等,生成最后一版的MD5码。

END

以上以为个人作为第一视角进行描述,由于比赛紧张还有记忆曲线等问题限制,描述总会存在侧重以及偏差,这里我着重描述了一些我遇到的坑和心路历程,但并不代表我的队友全程就没有出力,我们三个平均三天睡了10个小时左右,队员C后期直接来了模仿一手低配版达芬奇睡眠法。

说实在也是运气比较好,遇到队员A比较拿手的题目(C题的二三问),并且之前有关第三问的代码准备,要是遇到那些建立特征值以及约束方程啥的题目,直接寄。并且有两个肯努力跟我技术互补,没有摆大烂,能肝的队友。

结果

感觉是万幸中的不幸吧,还是太菜了,嘤嘤嘤(╥╯^╰╥)

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

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

相关文章

被问到可重入锁条件队列,看这一篇就够了!|原创

本文深入解读了高频面试点——ReentrantLock的条件队列使用方法及其原理。源码有详细注释,建议收藏阅读。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达Jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantL…

用HTML+CSS做一个简单的新闻门户 1页网页

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 茶文化网站 | 中华传统文化题材 | 京剧文化水墨风书画 | 中国民间年画文化艺术网站 | 等网站的设计与制作 | HTML期末大学生网页设计作业,…

Web前端大作业—电影网页介绍8页(html+css+javascript) 带登录注册表单

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

DevOps初学者的指南——阿里出品学习图册带你掌握高薪技术!

开篇 你是否想开始学习DevOps,或者愿意通过增加DevOps这一技能来转变你的职业生涯? 如果你的答案是肯定的,那么你就来对地方了 从初创企业到跨国企业,技术行业的每个细分领域都在改变其软件开发方法。DevOps工具和实践惊人地减…

【mysql 高级】explain的使用及explain包含字段的含义

explain的使用及explain包含字段的含义1.id2. select_type3.table4.type5.possible_keys6.key7.key_len8.ref9.rows10.Extra使用explain关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何处理你的SQL语句的,从而分析你的查询语句或是表结构的性能瓶颈…

面向OLAP的列式存储DBMS-10-[ClickHouse]的常用数组操作

参考ClickHouse 中的数据查询以及各种子句 ClickHouse 数组的相关操作函数,一网打尽 在关系型数据库里面我们一般都不太喜欢用数组,但是在 ClickHouse 中数组会用的非常多,并且操作起来非常简单。ClickHouse 里面提供了非常多的函数&#x…

文本生成视频Make-A-Video,根据一句话就能一键生成视频 Meta新AI模型

Meta公司(原Facebook)在今年9月29日首次推出一款人工智能系统模型:Make-A-Video,可以从给定的文字提示生成短视频。 Make-A-Video研究基于文本到图像生成技术的最新进展,该技术旨在实现文本到视频的生成,可…

[附源码]Python计算机毕业设计高校第二课堂管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

第十章 二叉树的各种遍历

第十章:二叉树的前、中、后序遍历前期准备:一、前序遍历1、遍历的思路2、遍历代码3、遍历图示二、中序遍历1、遍历的思路2、遍历代码三、后序遍历1、遍历的思路2、遍历代码三、遍历的应用1、计算二叉树中的节点个数2、二叉树叶子节点的个数3、二叉树的深度4、二叉树…

EMC原理-传导(共模、差模)与辐射(近场、远场)详解

目录: 第一章、EMC概念介绍 第二章、感应干扰(近场) 第三章、辐射干扰(远场) 第四章、差模干扰 第五章、共模干扰 ------------------------------------------------------------------------------------------------------------------------ 第一章、EMC…

ceph块存储在线扩容

记录:339 场景:在CentOS 7.9操作系统上,部署ceph-13.2.10集群。应用ceph块设备(ceph block device);主要是创建ceph块存储和在线扩容相关操作。 版本: 操作系统:CentOS 7.9 ceph版本:ceph-1…

牛顿法(牛顿拉夫逊)配电网潮流计算matlab程序

牛顿法配电网潮流计算matlab程序 传统牛顿—拉夫逊算法,简称牛顿法,是将潮流计算方程组F(X)0,进行泰勒展开。因泰勒展开有许多高阶项,而高阶项级数部分对计算结果影响很小,当忽略一阶以上部分时,可以简化对…

向NS-3添加新模块_ns3.37添加新模块_ns3.37不同版本模块移植

使用ns3的时候,我们需要调用很多模块,比如对wifi的简单功能进行仿真时: ns-3.35_third.cc_ns-3网络仿真工具wifi脚本解析_wifi脚本网络拓扑_ns-3third脚本全注释_基础ns-3_ns-3入门_ns-3third脚本解析_Part1_Mr_liu_666的博客-CSDN博客Intro…

WinSock的I/O模型

目录 一、 套接字的非阻塞工作模式 1.阻塞与非阻塞模式的概念 2.阻塞模式下能引起阻塞的套接字函数 3.两种模式的比较 2. 套接字非阻塞模式的设置方法——ioctlsocket 函数 3. 非阻塞模式下的编程方法 4. 非阻塞模式服务器端程序和客户端程序 二、select模型 1. 套接字…

信息系统综合测试与管理

本文包括软件测试模型、测试技术和测试管理。 一、测试基础 1、软件测试模型 所谓测试模型(Test Model),是测试和测试对象的基本特征、基本关系的抽象。 1)V模型 V模型实际是软件开发瀑布模型的变种,它反映了测试…

CSDN第十期竞赛

比赛详情: 通过这次的周赛让我受益颇多,这次的题目都是平常练习题目的变形,这次的竞赛是十分有意义的,加强对练习题的强化。 两道模拟题: 目录 1.熊孩子拜访 2.走楼梯 1.熊孩子拜访 题目描述 已知存在一个长度为n的…

FB显示学习期数据不足怎么办?

组合投放广告组和广告系列。组合投放广告组和广告系列有助于加快获得所需成效的速度,这意味着广告投放后很快便可看到稳定的成效。 扩大受众群。受众越多,用户完成您的优化事件的机会越多。 提高预算。如果您的预算过低,无法获得约 50 个​…

47、泛型

一、引入 1、传统方法: package generic_;import java.util.ArrayList; SuppressWarnings({"all"}) public class Generic01 {public static void main(String[] args) {ArrayList arrayListnew ArrayList();arrayList.add(new Dog("旺财",10)…

Spring项目结合Maven【实现读取不同的资源环境】

📃目录跳转📚简介:🍑修改pom.xml🥞修改application.yml🚀 演示:📚简介: 由于我们写功能的不能影响到线上环境的配置,所以每一次增加功能我们都要吧项目部署到…

STM32HAL库单ADC+DMA学习及测试记录

一、打开STM32CubeMX选择对应的芯片型号,后进入开发界面 1、双击“STM32CubeMX”软件打开,打开后如下图所示,选择红色框; 选择后可能会更新,等待更新完成即可,如下图: 2、选择开发芯片&#x…