第二十届中国研究生数学建模竞赛(2023年)——华为杯已经落下帷幕,我们小组(三个都是建模小白)幸运获得了全国二等奖。花了点时间整理了一下我的备赛攻略。势必有人会说十天准备获奖是小概率事件,请仔细看完这份攻略再发表意见。
注:本攻略主要针对建模小白,大佬仅供参考、杠精勿扰!
1.前情提要完全不是标题党!!!我们小组真的只准备了十天,但是这十天是非常有规划的去准备!这是我第二次参加华为杯了,第一年同样只准备了十天,毫无经验,逮着网上的视频猛猛看,脑子里一团浆糊什么也没学会,一看题两眼一抹黑,参与奖陪跑没得说。
今年我们同样只准备了十天,准确来说是十天下午+晚上(研究牲有多忙不用说了),但是这十天我们按规划学习建模思路,而不是盲目的乱看,认真按照分工进行学习,最后成功拿下前置位二等奖,我们选择是E题(出血性脑卒中临床智能诊疗建模),是数据分析类题目,在比赛第一天每道题就有了大致的思路,后续展开也很顺利。这篇华为杯准备攻略,对非数据分析类题目同样有效!
2.分工及人员分配在比赛前我们就决定了选择数据分析类的题目,我们准备也是按这个方向来准备的。推荐小白们选择数据分析类题目,虽然每年这个题目选的人最多,但是确实要好入门一些,网上思路也要多一些!
成员组成:两女一男。关于人员组成网上说最好是一女两男,但是从我和我身边参加这个比赛人的经验来看,性别完全不影响获奖,真正影响获奖的是队友靠不靠谱!队友小白没关系,只要愿意学,这些都不是问题!比赛的时间本来就紧张,队友划水的话,题可能都做不完,想获奖真的很难。人员分工:赛前学习的时候我们就一人分了一个方向,比赛的时候,每个题目都有自己的方向,对应题目分给对应的人,该题的建模编程写作都由这个人来完成。所以就是每个人都要建模、编程、写作。 3.赛前准备 整理2017-2022年数据分析类赛题(我是去看的每年获奖名单,看哪题人最多,那道题就是数据分析类题目)针对每道题找5篇该题对应的优秀论文,直接看他的关键词,总结一下该论文用了什么算法,并对所有算法按类型进行分类。将整理好的算法分配给团队的三个人,自行去学习对应的部分。我们这样分工是因为时间确实太紧来不及了,只能一人学一部分。时间充裕的小伙伴建议把没有分给自己的部分也简单学一下,前提是自自己那一部分一定要完全掌握,不能是模模糊糊的概念。提前准备一个论文模板,去比赛的时候去官网下载首页模板,替换到自己的模板中,比赛写论文直接就按这个来,可以是word也可以是latex(我们用的word,这个熟悉一点)。这个表格我也分享出来了,仅供参考,见下图。但是我建议大家可以自己整理,这也是一个熟悉建模的过程。
4.赛前具体安排
我们用的建模语言是python,软件用的anaconda(推荐,因为数据分析类题目,anaconda可以直观的看到每一步的变换),画图都是用python的matplotlib库画的。
Day1-Day3:每个人都要学习数据预处理。每道题最开始肯定都是数据预处理,我学的教程是某站的python数据分析三剑客(这个教程用的anaconda,不会的小伙伴刚好可以跟着这个教程学一下),这三个库numpy、pands、matplotlib都是必须要掌握的,他们涉及到表格处理、绘图等等。这里面讲的代码都存下来,比赛的时候直接用。建议可以跟着up主敲一遍。Day4-Day9:自行学习自己分到的算法。对于每个算法,都要找一篇涉及到该算法的优秀论文精读,只看用到这个算法的这一小问,这小问看懂了,再去网上找这个算法的代码跑一遍,建模论文看起来好看的关键是画图和表格,所以还需要整理一下这个算法常用的表格和图的代码。这些代码命名规范保存起来,比赛的时候直接用。这个过程一定要自行归纳总结出,那些题目用那些算法。Day10:留某一年的数据分析的题目,最后一天来练习一下,直接看题目,看是否能有做题思路,自己也试着写代码实现一下这个题,最后和优秀论文对一下,看自己的思路是否正确。5.比赛期间安排: Day1上午:下载题目,找出数据分析的题目,选定题目后仔细读每个小问,分析各小问是什么类型的题目,按之前学习方向对每个题进行分工,思考一下每题的大致思路,我们最后分工是一人三各小问。Day1下午+晚上:完成第一小问的代码实现,一定要有相应的图和表格。Day2:完成第二小问的代码实现,一定要有相应的图和表格。Day3:完成第三小问的代码实现,一定要有相应的图和表格。Day4-Day5上午:完成论文的撰写。第四天我们通宵了一个晚上才把论文写完了。6.作者有话说
华为杯数学建模挺有难度的,毫无规划的准备纯纯是浪费时间,上面这些是总结了我及我身边获奖的一些同学们的经验,都是无偿分享,希望能帮到大家,也欢迎大家在评论区交流经验与问题!也预祝大家得偿所愿!