数学建模经验分享

一、浅谈数学建模

1.1 什么是数学建模

先来看看官方的解释:数学建模是运用数学的语言和方法,通过抽象,简化建立能近似刻画“解决”实际问题的一种强有力的数学手段。数学建模就是用数学语言描述实际现象的过程。这里的实际现象既包涵具体的自然现象比如自由落体现象,也包含抽象的现象比如顾客对某种商品所取的价值倾向。这里的描述不但包括外在形态,内在机制的描述,也包括预测,试验和解释实际现象等内容。

我理解的数学建模就是运用数学工具去刻画从而解决我们在现实中遇到的一些问题(当然在数学建模比赛中这些问题就是官方给的赛题,这些题目也都是来自真实生活),那么运用什么样的数学工具去刻画这些实际问题便是整个比赛的核心所在,找到合适的数学工具便是建模。我们知道现实问题是很复杂的,不可能完全用数学模型表示,我们建立的模型也只能无限的接近实际情况,通过求解优化我们所建立的数学模型从而达到解决实际问题的目的。

1.2 建模比赛有哪些

  • 省赛

每个省份的时间都有所差异,详细信息大家关注所在省份的时间安排即可;

  • 深圳杯

不收取报名费,参加深圳杯决赛答辩的成员差旅费自理,决赛答辩期间的活动经费由活动主办方承担。4月15号前公布竞赛题目:6月10号前通过email提交论文(提交论文时间会根据各赛区调整有所差异)

  • 美国大学生数学建模比赛

比赛时间在二月份,基本都是在过年那两天,报名费较贵。

  • 全国大学生数学建模竞赛

每年的9月份,一般都是在中秋节的三天,题目共有5个,A、B、C为本科组,D、E、为专科组。题目难度比省赛难。

二、前期准备

2.1 参考书籍

数学建模经验分享_第1张图片

            统计分析                          数学软件                             数学模型                       历年优秀论文

这里给大家推荐几本书,可以去你们学校的图书馆借阅。

如果你们团队是第一次参加数学建模竞赛,我的建议是有一个大体的分工,在拿到书后,先看看历年的优秀论文,负责写作的同学多看论文格式,看论文的构成有哪几部分,这样在写作的过程中就会有一个大体的框架,其次看论文中的表达技巧,这就对写作论文的同学的表达能力有了较高的要求 ;负责建模的同学需要研究历年的论文中的一些模型和建立过程,主要学习建模思路,对数学功底有较高的要求,如果对常用数学模型不了解,后期就会有很多困难;负责编程的同学看常用的数据处理、常用统计分析方法,看需要编程的软件书籍,熟悉语法。注意各自的重点。但遇到问题时应该共同解决共同面对。

2.2 软件安装

在比赛前,软件安装一定要到位,如果在建模期间安装软件,一方面会耗费宝贵的时间,二来有些软件激活第一次还不一定成功,多多少少会影响团队的士气,这会严重影响进度。

统计分析:Excel是目前运用最广也是最好用的数据分析软件;SPSS作为比较著名的统计分析软件在数学建模中也是经常用到,建立模型时只需导入整理好的数据点击相应的菜单按钮就可以得出我们想要的结果,可以和Minitab结合使用。再说说python吧,如果你们团队中有编程大佬,那么Python是首选,从前期的数据爬虫获取、数据处理、建模计算是非常方便的。

数学软件:Matlab作为数学与工业仿真中的王者,功能非常强大,在数学建模中几乎是必用的求解软件。还有Lingo在求最优解时很好用。

计量经济软件:EViews、STATA,前者的优势处理时间序列,后者的优势处理面板数据,在随着各自的版本不断更新几乎没有什么区别,不再多说,功能都很强大。

三、常用方法

3.1 数据预处理

获取的数据往往是不能直接使用的(除非题目给一些可用数据数据,例如2019国赛A题),需要通过填补缺失值,平滑或删除离群点来达到清洗的目的。简单来说,就是把数据里面哪些缺胳膊腿的数据、有问题的数据给处理掉。

数据清洗是一项繁重的任务,是一个耗时耗力的任务,需要根据数据的准确性、完整性、一致性、时效性、可信性和解释性来考察数据,从而得到标准的、干净的、连续的数据。

  • 缺失值处理和补全

实际获取信息和数据的过程中,会存在各种原因导致数据丢失和空缺。针对这些缺失值,会基于变量的分布特性和变量的重要性采用不同的方法。若变量的缺失率较高(大于80%),覆盖率较低,且重要性较低,可以直接将变量删除,这种方法被称为删除变量;若缺失率较低(小于95%)且重要性较低,则根据数据分布的情况用基本统计量填充(最大值、最小值、均值、中位数、众数)进行填充,这种方法被称为缺失值填充。对于缺失的数据,一般根据缺失率来决定“删”还是“补”。

  • 离群点处理

离群点(异常值)是数据分布的常态,处于特定分布区域或范围之外的数据通常被定义为异常或噪声。我们常用的方法是删除离群点。

  • 数据转换

当量纲差异很大时,标准化处理

3.2 常用模型

(1)几何模型 (2)代数模型 (3)规划模型

(4)优化模型 (5)微分方程模型 (6)统计模型

(7)概率模型 (8)图论模型 (9)决策模型

常用方法有:

(1)类比法、二分法

(2)数学规划法(线性规划、非线性规划、整数线性规划、目标规划、动态规划)

(3)量纲分析法

(4)图论法

(5)差分法

(6)回归分析法(一元线性回归、多元线性回归,线性回归的衍生模型、非线性回归)

(7)层次分析法

(8)主成分分析、因子分析

(9)时间序列预测

(10)聚类分析、判别分析

(11)灰色理论

(12)蒙特卡罗(适用于排队论、检验类问题)

(13)现代优化算法(神经网络、遗传算法、模拟退火算法)

数学建模经验分享_第2张图片

四、正式比赛

4.1 选题

  • 选题首先看你队伍里面成员专业和兴趣爱好,机械、物理、建筑等工科专业,可以优先考虑相关的工科的题目。
  • 没有擅长统计数据处理的人的话,可以考虑避开大数据量的题目,若会Python、R可以优先。没有会用Lingo、C++、JAVA的队员的话,注意避开最优化方案设计、调度方案设计以及计算繁杂手工不可能实现的题目,说实话队里没人懂编程基本已经寸步难行。
  • 要是队伍里没有任何人有突出特长(当然只是相对于赛题而言),如果是非工科专业,接触不到物理、机械这样的学科,那最好做最有开放性的题目,最让你不能确定要你具体做什么东西的题,有的新手团队往往去尝试看起来最简单明了的题,结果却很难进行下去。
  • 除此之外具体选题时候记得花一两个小时的时间对所有可以选的题搜集资料,大家讨论一下,再确定,不要上手就开始闷头钻研。还有切忌中途换题,切忌兵分两路同时做两个题目。

4.2 数据获取

有些模型必须要以数据为基础进行求解,巧妇难为无米之炊,可见数据的重要性,下面给大家列举了一些数据网站。(有些敏感数据是很难获取的,甚至无法获取,处处充满了挑战性,这也是这场比赛的魅力所在)

(1)常用数据公开网站

  • 国家统计局:包含了我国经济民生等多个方面的数据。
  • 你们学校的电子图书馆数据库
  • 搜数网、亚马逊
  • 每个省份的政务数据资源网:包含竞技、交通、医疗、天气等数据。

(2)财经数据

  • 新浪财经:免费提供接口,可在新浪财经上获取获取历史和实时股票数据。
  • 东方财富网:可以查看财务指标或者根据财务指标选股。
  • 中财网:提供各类财经数据。
  • 黄金头条:各种财经资讯。

(3)数据竞赛网站

  • DataCastle:专业的数据科学竞赛平台。
  • Kaggle:全球最大的数据竞赛平台。
  • 天池:阿里旗下数据科学竞赛平台。

4.3 时间安排

  • 下午六点,发布试题后,认真审题,收集资料、检索竞赛题的资料。队伍内部讨论商量,各抒己见,最终选择赛题(最好在当天晚上定下赛题),并制定相应的进程计划。写作的同学可以针对题目检索资料,根据大家商量的结果初步形成论文的问题重述及其分析(大体框架)
  • 第一天早上8点前,此时竞赛题应该定下来(如果还没有定下来,应该抓紧时间,最晚应在今天中午午饭前定下来),题目确定后,查阅资料(知网、百度文库)参考过去类似问题的解决方案,建模的同学和编程的同学基于查阅到的资料和自己的知识储备应对赛题的每个小问应有一个解决思路,这是今天的工作
  • 第一天晚饭后,如果进展顺利的话,我们对问题都有一个大体的思路,写论文的同学应该完成了对问题重述、问题分析的撰写和整体布局基于问题,提出合理的假设,建模的同学开始对问题建立模型,编程的同学和写论文的同学寻找数据,建模是一个很考验耐心的过程,不要因为一时半会建不出来而烦躁。如果进展顺利,今晚也不用熬夜,如果这个时候题目还没定,那就得牺牲睡觉时间了,但一定要睡一会,留足精力。
  • 第二天早上8点,今天的任务就是完成所有问的模型建立和求解,建模的同学需要持续思考,编程的同学需要处理数据,模型求解,写论文的同学也是根据“不停更新的内容”写论文,所以也是最辛苦的一天,务必保证精力充沛。
  • 第二天晚饭后,这个时候,论文的大体应该完成了,接下来的工作就是不断地完善论文,最后由三个人一起撰写论文的摘要,摘要如同一篇课文的中心思想,是一篇论文的高度概括,务必重视。如果模型还没有建立出来,那么今晚将是一个无眠之夜,
  • 第三天早上10点前,应将论文发给指导老师,老师会给我们一些建议,根据老师的建议,继续完善论文,今天是最后一天,剩下时间就是“装修”之类的细活,三个人应该一起完成。
  • 确定无误后(一定要确认好是你们论文的最后一个版本),根据实际要求方可提交论文。

4.4 建议

  • 按时吃饭,尽量按时作息,不要轻易熬夜
  • 选题一定要谨慎,不到万不得已,中途不要换题
  • 建模过程中出现意见不一很正常,要和谐沟通
  • 建模是团队合作,既然报名建模,那就坚持到底
  • 建模过程很枯燥,队友之间应该相互鼓励

以上是我个人的一些经验和建议,希望可以帮助到同学们。

在后期我将会写有关数据分析的一些常用模型和方法,希望我们一起学习,一起进步,大家拭目以待吧。

你可能感兴趣的:(数学建模,经验,数学建模,经验分享,美国大学生数学建模竞赛)