7 e+ k% H8 b/ c5 D B& w0 S, Q0 Q ( u4 z& v: c1 I' bSPSS,专业的统计分析软件,很多统计学专业的应该都学过。适合小样本的统计分析,还可以跑很多统计分析模型,比如主成分分析,常用回归模型,聚类模型等等。特点是不需要编程,点点点就可以得到你想要的结果,但是出图不大好看,不大适合提升论文“逼格” 6 A8 h8 ~- F0 P1 a- S1 e* Y Z3 @( J! O- F
编程语言集成开发环境(IDE) 1 @' O; W; k$ P, h( x) ^MATLAB本身就是一个集成语言和IDE为一体的科学计算软件(大家应该都了解,尤其是读通信相关专业的) 2 S. J2 n8 a# D' Z6 i( k : E8 O/ A, z0 J) g6 JPython的集成开发环境(IDE)推荐安装Anaconda Navigator 发行版,并且安装Spyder,Spyde就是一个模仿matlab界面的集成开发环境,可以随时产看工作空间变量。尤其适合用于编写数据挖掘分析算法实现。(在spyder上面写python真的和用matlab没啥区别,太像啦!!!) 0 |! S( s& A% i, }1 N. r; Y( J/ c6 t2 g5 X
Lingo(专业的优化模型求解器)专门的lingo语言用来求解优化模型,像一般的线性规划,整数规划,二次规划模型都可以直接利用Lingo求解。(数学专业或者运筹学专业应该都学过)& c0 h7 k2 M4 b+ c
/ a' ~* c2 ^6 I3 J7 H9 R
R就不推荐了,用得少,统计学专业的同学用的比较多。。。1 s* m! y: q4 y9 Q9 b3 ~
' E) U, X+ m6 b, z" l+ q2 ~
2.2.2 需要的理论知识 O; {% h1 T! u7 A( b% W$ ]- v 9 a5 ]! Z% r y ^9 o- @& n这个其实不用刻意去准备,很多时候比赛都是边学边卖。但是基本的方法模型还是要掌握一些的。考虑到建模竞赛题型主要分为三大类:优化类(竞赛必有题型),评价类,数据类(涉及机器学习等)。 ) O, _2 u! ` E* t# J2 ^6 h. b( t$ U5 g- j$ z* I( e
其实很多带专业背景的题目,最后通过抽象成数学模型就是上述三类问题。比如图像类问题,很多时候要么抽象成优化模型来求解,要么就是机器学习模型来训练识别。那我就从三类题型来说明一些基本的模型:- i! X& f7 D q* V2 I# x
) I8 _% {. d+ T& a& e# B1 x优化类:优化类问题基本没有可以直接套的模型,很多问题都需要自己来写出优化目标和约束条件。或者参考相关文献来设计模型。并且如果模型设计的复杂了,还需要自己设计优化求解算法。。。总之,优化问题是很难得。基本的优化模型包括:线性规划,整数规划,01背包,非线性规划(建模赛题基本都是非线性的。。。哈哈哈),最小二乘优化。基本求解算法包括:牛顿迭代,拟牛顿,梯度下降,共轭梯度下降,各种智能寻优算法等等。总而言之,优化就是难啊难,而且优化建模题基本上都有答案范围,模型建的不好,解的不好都over。。。 6 \3 u/ @3 I8 b7 p ) R7 p' F& D& t: }* R评价类:评价类问题,一般都有可以套用的方法,比如主观一些的:层次分析法,模糊评价法。客观计算权重的(需要数据):熵权法,TOPSIS综合评价法,主成分权重法。对于评价类问题最好还是用客观计算权重的方法。 8 g9 r/ M3 l6 ^( F. }, Z 6 C: ?9 ~, F3 i& l7 J数据类:上面两类问题可以说是建模竞赛以往的常规类型,数据类问题是最近几年随着人工智能,数据挖掘技术的热潮带起来的。。。可以说,数据类问题在以后的建模比赛中只会越来越多,而且数据量也会越来越大。: I! t, _. \' _& j7 y
( T9 f K5 C2 u, }" Z; o: x$ W3 a数据类问题其实最好做,因为他可以套的模型简直太多了,各种无监督,有监督的机器学习模型都可以对数据进行处理。基本上只要清楚常用的机器学习算法就可以应对建模竞赛。(常用的机器学习算法可以参考博主的学习笔记) 1 y+ p2 Q- P3 r" P" j$ z& {) B v- N: o# r" f
2.3 怎样选题?* `6 r* d5 j! q7 @+ L
1 k, x7 k, e: Y: ?4 c( t
我前面也提到了,现在的建模赛题题型大概分为三类题型。以我的经验来说,无论是本科还是研究生的赛题每年都会有的题型就是优化题。但是优化题对新手是很不友好的,除非对于优化问题有一定的经验,熟悉各种优化算法。传统的优化题型一般都是有一个结果标准,这个也会是论文评奖的一个标准范围,所以如果没有一定的实力,我非常不建议大家选择优化题型,毕竟大家三四天的通宵达旦知识未来取得一个好成绩。' K& n5 Z! C1 A, G7 x
; S" z0 c. Y3 J2 E
剩下的就是评价类以及数据类型的题目了,其实这两种题型是经常交叉在一起的,比如数据题里又一个评价相关的小问。一般来说,评价类的问题或者是数据类的问题是没有标准答案。既然没有标准答案,那么大家可以发挥的地方也就多了,这也是为什么推荐大家做这些题型。从最近几年的研究生赛题命题方向可以看出,数据挖掘和综合评价结合的题型也会是主流趋势。最近两年的赛题都有数据挖掘+综合评价的题型。对于这种题型,最好的解决方法就是套一些现有的模型,如果能够在熟练运用现有模型的基础上提出改进,那就是一个亮点。比如随机森林回归可以用来解决数据回归预测问题,如果对于输入变量进行加权,从而让预测mse等指标有效提升,那么这就是你论文的一个亮点,只要论文写得不是太差,获奖基本没有问题。% J* k4 L/ c7 J, Z- k' ]" m3 u
# g4 J& U. S, G# }总而言之,选题一定要量力而行,如果完全没有把握,那么就看别人都选什么题。一般来说一道题选的人多的话,这道题上手是相对容易的。(千万不要以为一道题选的人少就容易获奖,一道题选的人多就不容易获奖,告诉你:完全都是按照比例来的。题目选的人多,获奖的队伍数量也会多) ) A* n7 q0 g; [, G" I& Y0 W6 I" Z! z& K
如果有一年出的题目全部都是优化题型,那也没办法,只能硬上了。其实优化题型建模也是有套路的,多搜搜文献一定有一些能够套上的,或者给你提供一些建模的思路。优化题模型一定要建的好一些,最后解不出来也影响不大,模型论文搞的逼格高一点,什么GA,SA寻优算法都可以套一套。最后把论文搞好一点,总而言之,难得话大家都难。模型建的不好,算法解不出来,没关系,每年这么多人参加比赛。获奖比例在哪里,完全做出来的毕竟少数,就算这些人把一等奖拿完了,你拿个二等奖不也美滋滋吗。就算模型瞎写,算法不懂,你的论文也要完成,能不能获奖的依据完全就是你的论文。8 Q8 p* F3 p7 ~# T+ k/ t$ D
. o' M$ C$ s4 t6 \$ V+ U! k6 p* Z
2.4论文相关的建议以及经验 (最重要)) ]. w' n0 F3 Z; T, @5 r$ Y
& a1 z3 J' v2 s% R9 `前面说了一大推,其实对于很多第一次参加的人来说意义不大。。。(没错,很多人第一次参加,前面说的知识储备根本不可能快速补充)。那应该怎么办,听我的,把你的论文搞好一样可以获奖。。。我见过很多队伍三,四天比赛时间睡眠不到10个小时,心力交瘁,最后吧模型和算法,结果都搞的很好,但是最后也没有获奖。什么原因???其实原因很简单,你的论文没有搞好,我的建议是论文从第一天就开始写,这样你后边才会有大量时间来润色论文,刷摘要。下面我主要从论文的三个方面来探讨一下,怎样搞出一篇获奖建模论文。. X1 k T* x) {) D
. _- c+ @# W2 y$ N
先讲一下一般评委老师是怎么评判一篇论文的:你想想上万篇论文,就跟高考作文打分一样。这些评委老师每天要看多少篇论文!!!所以,这些评委专家一般都是看个摘要,排版,论文大概的浏览一下,根本没有时间详细的阅读你的论文内容。根据摘要,排版,论文内容大概就能给你的论文一个评分。所以摘要,排版,论文内容充实都是需要格外注意的。 l% Y( J% M7 ~ 3 B2 f1 A4 N) {) B2 T2.4.1 论文摘要(重中之重!!!(摘要决定你能不能获奖)) : q6 s P/ m3 g7 r . K4 @5 N9 E: y3 ?5 }4 i5 q8 y- [/ ]论文摘要真的太重要了,这些评委老师根本不会认真读你的论文正文,但是他一定会认真看完你的摘要(前提是你的摘要写的不是太烂)。如果你的摘要出现一些低级错误,比如错字,学术性的方法写错了,模型瞎套(不懂瞎用被评委识破)。很遗憾,评委老师不会再看别的东西,直接pass掉。成功参赛奖归你了。。。 8 S$ q' c' K7 g 4 ?5 i3 Z& b! k* A如果你的摘要写的正规正举,评委才会再去看你论文的其他东西。 5 T! S, e, E5 T2 X7 g$ k比如排版,内容,图表(结果)等等,从而给你的论文评估一个分数。1 V8 N+ z1 c4 W t6 b' K% A7 U. U+ I
; E; U, g' _4 s" t1 _6 H如果你的摘要写的极好,措辞专业,用到很好的方法,思路清晰的表达出来,并且提出一些自己的想法。 8 [% A5 B; }3 [, m: W4 Q2 Z t& x恭喜你:你的论文直接进入下一轮评审,现在保底也是三等奖了。 E+ w# {% p( R; H! V$ m6 D& y. _% U; y; w, A9 ^( x) K
可以说你的论文摘要直接觉得你的论文能不能获奖,摘要写的烂,直接pass,摘要写好直接进入下一轮(保底三等奖,为什么会这样?因为你的只要就是全文的浓缩,包括你的整体建模思路,用到的方法,结果。你们的工作一定通过摘要清晰的表达出来) % f* ^- J2 S, k: d0 { 0 n) ]' G( Y8 U2.4.2 论文排版 6 V3 S- p3 t* X$ h/ G $ A- g3 k9 ^ \9 {' y( K7 ^' C: J排版也不是特别重要,只要不出现特别夸张的排版问题,评委老师基本不会特别在意。但是论文排版弄得美观还是有加分的,自己看着也舒服。 ; D" A! e9 j; o* J$ G0 J9 ] S% S4 ]; s4 G8 P/ R
2.4.3 论文内容 / z* a1 s1 t$ ?8 `9 E9 l2 t. q5 M F; y4 a* D. a/ l
论文内容一定要充实,本科起码20页正文,研究生起码30页正文。& S D6 A/ t: G. U! l; F4 W6 J: j4 {
就跟毕业论文一样,先不谈水不水的问题,别人都写30多页,你写了不到10页内容。工作量都比别人差远了,(除非你是大佬,论文10页都是精华,其实也不一定的,毕竟比赛很主观)0 m U& S' d) V: m! `8 w# t c: {) I
0 h% Y2 c" _) D论文中一定要包含大量图和表3 V. t. g* E/ j# D
评委在浏览论文内容的过程中,根本没有心情看你的文字。而且你的图和表就是你的工作,也就是你编程实现的结果。所以你的工作一定要尽可能的通过图表可视化来实现。一般人都是更喜欢图,表,而不是阅读大量的文字。尤其是各种图,美观的可视化结果会直接抓住评委的眼球。如果你做出一个较好的结果,并且通过可视化呈现出来,我相信只要评委老师看到,基本上获奖就稳了!!!如果摘要过关,而且内容完整,排版美观,恭喜你:保底二等奖水平了!!! % `$ F/ S0 P& h2 Q; N0 H8 Z: L d' c$ q5 j9 W, y
比如我们今年研赛用python做出的温度热力图可视化效果: 8 r J3 _/ V$ T* o! b) X