记录一下数学建模国赛hhhh,数学建模比赛中最有含金量的比赛,说实话真的是超常发挥了。
这道B题是基于化学制造C4烯烃的背景,需要建模,最大的难点是第三题的回归预测模型的构建,第一第二题我们仅仅花了半天多就做完了。这里我想主要记录一下第三题的解题思路,因为我对这一题记忆太深刻了。
我们小组首先是尝试了线性判别分析来做的,因为在第二题我们就是使用这个来做的,用stata软件来做相当方便。但是第三题却有很多需要解决的问题,我们发现常规的方法对于数据的拟合效果的表现十分不好,直接就否定了线性判别分析的方法,由于数据量相对较少,题1中获得了部分生成产物的变化趋势,于是我们想要使用人工非线性判别分析,将各种参数的变化趋势进行人工分析来产生一个经验公式,再拟合到题中所给的数据上,形成模型,这个过程中我们分析了大量的数据,但是由于添加物的种类较多,其所在区间分布也比较不均匀,我们尝试得到的模型拟合效果也不是很好。
之后也按照老师给大家提供的思路尝试了主成分分析和因子分析,但是得到的分析的参数却告诉我们不应该做特征的降维,例如因子分析的碎石图判别的参数仅有0.6多一点,一般能到0.8的值我们才认为适宜使用因子分析进行降维,每一个特征都具有不重合的作用。
这时我们已经花了很多时间了,组员也没有思路,一直讨论也没有得到一个解决方案,为了节省时间我让他们先去做第四题,我继续做第三题,我尝试了使用经典的机器学习模型来做,尝试了回归树中的中等树、精细树,支持向量机中的线性SVM、二次线性SVM、中等高斯SVM、可优化SVM;高斯回归过程模型的有理二次、平方指数模型;以及考虑到数据的不均衡的提升树等模型,得到模型后将得到预测数据与原数据进行比对,发现效果都不好,要么所有数据都和实际数据有较大差别,要么数据总有一小部分和实际数据有很大的差别,其中效果最好的模型是提升树,因为这个模型的特点就是考虑了数据不平衡的时候少量数据也需要得到充分的考虑,但是还是有一小部分数据偏差较大,我觉得还是不能用。最后不得已使用了神经网络模型(因为在建模中以前是比较不适宜使用神经网络的,因为神经网络的不可解释性),我实在不知道有什么特征没有注意到了,只好使用神经网络。
出乎意料的是,神经网络的效果非常好,预测误差也不大,在可以接受的范围内(实际上也没得选了),于是得到了对C4烯烃的拟合模型的一部分。之后便是对模型的不断修改和参数的调整了,例如通过查阅文献可以通过其他生成物与C4烯烃的关系对模型进行修改,某个常数的修改(利用的文献中化学知识),还有模型的不断修正,例如通过添加logistic模型来修正,其中logstic模型也被我根据数据的特性修改了其中的参数;还有其他化合产物对C4烯烃的抑制作用,也是通过查阅相关文献,通过数据得到抑制的模型函数以及抵消抑制模型多余影响的模型,再之后就是对模型参数进行不断的调整了,通过一次次的跑数据,分析每一次修改参数后对模型修改的作用,不断调整模型的各种参数。
决定使用神经网络模型之后,经过我将近14个小时的修改模型,总算得到了一个符合我对结果预期的模型,其中每一步的修改都是很多数据的分析总结(真的凝聚了我好多心血)。
这个过程真的过的十分充实十分紧张刺激,太有成就感了!之后组员都叫我桌子哥 嘿嘿~。
以下是参赛论文,支撑材料太多东西就不发了hhh
非特殊说明,本博所有文章均为博主原创。