前言
我相信点进这个博客的同学都对数学建模有一定的了解,但是这里还是简单介绍一些数学建模。数模比赛是在一定的时间(一般是3-4天,也有一周及以上的),由三位同学一同协作完成一个题目,并提交论文和相关佐证材料的比赛。
为什么建议打数模
数模比赛培养的是什么能力?其实我认为对于普通的同学不外乎两个能力,团队协作能力
、解决问题能力
。三个人努力去实现一个共同的目标,努力想把这件事情做好,可以说大学里面80%的人都缺少这样的经历。
题外话
每次打完数模,特别是国赛经常看到同学在知乎上抱怨说队友什么都不做,自己把所有事情都干完了。其实这样想队友也是自己选的,这样用一次比赛不也提升了选择队友的能力吗
数模题目的具体提升
就拿我打过的国赛和亚太赛为例,一般有侧重数学的问题,侧重物理的问题,侧重于人工智能的问题、和侧重于数据分析的问题等等。
-
数学和物理的就不说了,我也没有选过这类题目。解数学题和解物理题?物理系和数学系同学可能更占优势,(之前国赛看到我们学校有个好像就是B题国一的论文,真的从排版到画图再到解题逻辑,真的完美)一般都是有具体的答案范围,你的答案不对就很难拿到一个很好的奖项。
-
我几乎是一直选的是数据分析类的题目,真的对我的提升蛮大的。自学了python的数据分析三剑客,学习数据应该怎么分析更清楚明了,对于特定类型的数据使用什么模型进行数据挖掘,甚至包括怎么排版、怎么叙述更有说服力等等。
数据分析这类题目每次建模的时候选择的队数一般在70%以上,毕竟大二大三是主力军,很多人都是零基础,而这类题目你就算什么也不会基本上也可以做完的。
亚太赛和妈妈杯
因为亚太赛和mathor cup不在我们学校的保研名单里面,另外我也想挑战一下自己,看看自己一个人能做到什么程度,所以就solo了。
mathor cup
首先是mathor cup大数据(上面简称的是mathor cup,实际上不是一个比赛,但是这两个比赛强相关),参赛队伍我记得是3000多队将近4000队,规模应该是T2梯队的。因为是京东和百度出题,一个是计算机视觉领域
的,我记得是百度Apollo出的题,京东出的是一个需求预测
问题,给了几十万条数据。由于我对人工智能的了解仅限于把网上的开源模型拉下来微调一下参数、或者调用别人的接口。因此我就选的是需求预测问题
比赛时间是10-27—11-3,一周的时间,当时好像我记得我在准备一个编程比赛,最后剩3天才开始做这个题,当时真的时间有点紧了。
那时候用的LSTM模型和SARIMA模型,然后需要预测,我就去网上找了个现成的代码,自己改成多线程就开始预测。数据真的太多了,并且每次调错了的话还需要重新跑,当时好像开10个线程左右,跑一遍都得30分钟。期间还出现直接内存溢出了,没错,下面这个截图代表马上就要炸了。后来去网上各种搜解决方案,问GPT。最后搞了两个解决方案
-
本来写的是存到一个数组里面,等预测结束了统一写到excel里面,后来还没跑一半就内存溢出了。解决方案是预测一组数据就写进去一行。
-
本来是写到excel里面的,后来因为写到csv比较快,就曲线救国了,先写到csv,在从csv写到excel。
我记得当时应该是这么解决的,后来莫名其妙还有几行数据没写进去,我就直接瞎编了几行。(从入门到放弃,从瞎编到获奖😂)
这是我最后一天跑的截图
没错,11月3号晚上8点截止,凌晨两点的时候我还在优化模型,这个时候我论文一个字还没写,但是所幸需要的图都在求解过程中基本画好了。最后一夜没睡,然后白天还有课,我就直接带着我的电脑在web课上开始猛补论文。
在此感谢我的web老师🚀🚀🚀,虽然说不确定是不是世界上最好的老师,但是他的教学方式和期末评分真的是我遇到的我们学校的最好的老师,不是所谓的“混日子型教学”,期末不会刻意不给满分,不会压分(横向对比21年中南大学,甚至现在仍然存在的很多大学要求学生成绩符合正态分布的管理层)。
最后紧赶慢赶终于是把论文交上了,对于mathorcup 大数据,我当时晚交了大概15分钟左右也是没问题的,后来跟老师说明情况就发到了邮箱。最后拿了个三等奖(也可以称之为国三,哈哈,毕竟是全国性赛事),最后因为对奖项等级跟心理预期有些偏差,我还申诉了,组委会还专门回了我封邮件,具体就是说作图有些重复,排版不太好之类的 (。•́︿•̀。)
亚太赛
参赛队数基本也快上万了,除了美赛国赛和研赛外,也是国内top级别的数模比赛了。这个是11-23—11-27,这个完全是仿照美赛的日程,4天时间。我这次学聪明了,虽然期间还是去打了个比赛,但是其他时间基本一直在搞这个亚太赛。简单介绍一下我的历程吧。
出完题我本来是想选那个苹果成熟度识别的题目的(还好没选),也做了半天左右,因为我搜到github上有一个开源的识别苹果成熟度的模型,我就想拿过来直接用就可以了,因为看别人识别度还是蛮高的(90%多
)。最后为啥我没选呢?原因是亚太赛官网明明说会平衡几道题的一等奖的比例,意思就是说你可以选一些明显选题人数少的题目,这样就可以有更大的机会拿到一等奖(事实上国赛就是这么干的,ABC国奖比例差不多),后来我为了保险就问了亚太赛组委会,结果组委会跟我说是按照题目比例的,后来考虑了一下还是换题了,事实上,大家都知道这个模型了,能选这道题的肯定是对计算机视觉有研究的,我应该比不过他们。
然后就选的是新能源汽车问题,这个问题怎么说呢,开放性很高,数据啥的没给,维度也没给,也没告诉你应该怎么分析,全看个人偏好了。一看这个题目,就是比较简单的。基本能选的维度很多(新能源汽车保有量、新能源汽车价格、燃油车价格、充电桩数量等等),但是数据一共也就10多条数据(对应10几年的)。这可太和我意了,天天数据分析几十万条数据,我都要分析吐了。剩下的就是朴实无华且枯燥的堆模型环节了,上网上搜各种模型,模型的特点,然后用到自己论文当中就可以了。
💡tips
-
拿到数据用什么手段都行。说出来不怕别人笑话,作为一个爬虫工程师。我的那些保有量数据是直接必应搜然后一个一个复制,2011年中国新能源汽车保有量、2012年中国新能源汽车保有量、2013年中国新能源汽车保有量...... 其实我也做了一些努力,去国家统计局我根本找不到保有量的选项啊,那怎么爬,去一些小网站和国外的网站还害怕数据不对。
-
英文比赛预留翻译时间。之前我以为论文翻译的话最多两个小时就能搞定,结果我翻译了6个小时......对着亚太赛之前的优秀论文改字体和排版也是很浪费时间的。
-
多画图。我只画了一个叙述维度的思维导图展示一下我分成几大类每大类之间的维度来分析了,后来实在是没时间了,就没画一些流程图什么的。感觉在问题分析那部分画上整体和一些主要的流程图什么的我的论文可以冲一了。
总结
以前我总是看不起打竞赛的,认为根本是无意义的内卷,有这时间还不如多学点技术,技术至上,后来发现有些比赛还是很有意义的(不是说你,大创、互联网+)。再者说,不打比赛,不卷绩点,连面试机会都拿不到,凭什么向面试官说明你比别人优秀呢,凭自己的自命不凡吗,最后再长叹一句世有伯乐,然后有千里马
。
建模比赛和编程类比赛如果用心去做了,是真的可以获得很多东西的,这学期打了4个建模比赛,除了东三省,每个建模比赛最后一天我都通宵了,通宵完真的会有很多感慨,我记得当时mathor cup通完宵还想发个朋友圈:到底是什么样的结局,才能配上这一路的颠沛流离
。后来回到宿舍太累了直接睡着了,就忘记了😂。
最后还是推荐大家有空的还是打一些比赛,能获得的有建模论文终于交上去的成就感,编程比赛中AC一道题的喜悦,甚至是建模时意见不统一的争吵,都可以说是自己宝贵的财富。
文章评论