2020年研究生数学建模竞赛总结复盘


一、前言

今天是2020年研究生数学建模竞赛的最后一天,今早五点半提交了论文的MD5,一会提交论文。昨晚,啊不,今早通宵和室友赶完了论文,分析完所有的数据,调整了所有的表格和格式,历时五天总算是结束了。这篇文章作为一篇参加完比赛后的总结和复盘,记录一下期间出现的问题、第一次参加比赛的感受和不足。


二、赛题选择

由于和室友我们三个都是第一次参加研究生数学建模,总体来说还是小白,没有经验。第一天早上赛题出来的时候,选题花了一早上的时间,首先上知乎和百度看了往年大神对今年题目的分析,(不得不说知乎大佬真的多),剔除了专业性较强的类型,然后从我们能看懂的,主观感觉上简单的题目里面选择了B题。题目如下,是对汽油辛烷值损失进行建模。
2020年中国研究生数学建模竞赛B题

降低汽油精制过程中的辛烷值损失模型

一、背景
汽油是小型车辆的主要燃料,汽油燃烧产生的尾气排放对大气环境有重要影响。为此,世界各国都制定了日益严格的汽油质量标准(见下表)。汽油清洁化重点是降低汽油中的硫、烯烃含量,同时尽量保持其辛烷值。
2020年研究生数学建模竞赛总结复盘

我国原油对外依存度超过70%,且大部分是中东地区的含硫和高硫原油。原油中的重油通常占比40-60%,这部分重油(以硫为代表的杂质含量也高)难以直接利用。为了有效利用重油资源,我国大力发展了以催化裂化为核心的重油轻质化工艺技术,将重油转化为汽油、柴油和低碳烯烃,超过70%的汽油是由催化裂化生产得到,因此成品汽油中95%以上的硫和烯烃来自催化裂化汽油。故必须对催化裂化汽油进行精制处理,以满足对汽油质量要求。
辛烷值(以RON表示)是反映汽油燃烧性能的最重要指标,并作为汽油的商品牌号(例如89#、92#、95#)。现有技术在对催化裂化汽油进行脱硫和降烯烃过程中,普遍降低了汽油辛烷值。辛烷值每降低1个单位,相当于损失约150元/吨。以一个100万吨/年催化裂化汽油精制装置为例,若能降低RON损失0.3个单位,其经济效益将达到四千五百万元。
化工过程的建模一般是通过数据关联或机理建模的方法来实现的,取得了一定的成果。但是由于炼油工艺过程的复杂性以及设备的多样性,它们的操作变量(控制变量)之间具有高度非线性和相互强耦联的关系,而且传统的数据关联模型中变量相对较少、机理建模对原料的分析要求较高,对过程优化的响应不及时,所以效果并不理想。
某石化企业的催化裂化汽油精制脱硫装置运行4年,积累了大量历史数据,其汽油产品辛烷值损失平均为1.37个单位,而同类装置的最小损失值只有0.6个单位。故有较大的优化空间。请参赛研究生探索利用数据挖掘技术来解决化工过程建模问题。

二、目标
依据从催化裂化汽油精制装置采集的325个数据样本(每个数据样本都有354个操作变量),通过数据挖掘技术来建立汽油辛烷值(RON)损失的预测模型,并给出每个样本的优化操作条件,在保证汽油产品脱硫效果(欧六和国六标准均为不大于10μg/g,但为了给企业装置操作留有空间,本次建模要求产品硫含量不大于5μg/g)的前提下,尽量降低汽油辛烷值损失在30%以上。

三、问题

  1. 数据处理:请参考近4年的工业数据(见附件一“325个数据样本数据.xlsx”)的预处理结果,依“样本确定方法”(附件二)对285号和313号数据样本进行预处理(原始数据见附件三“285号和313号样本原始数据.xlsx”)并将处理后的数据分别加入到附件一中相应的样本号中,供下面研究使用。
  2. 寻找建模主要变量:
    由于催化裂化汽油精制过程是连续的,虽然操作变量每3 分钟就采样一次,但辛烷值(因变量)的测量比较麻烦,一周仅2次无法对应。但根据实际情况可以认为辛烷值的测量值是测量时刻前两小时内操作变量的综合效果,因此预处理中取操作变量两小时内的平均值与辛烷值的测量值对应。这样产生了325个样本(见附件一)。
    建立降低辛烷值损失模型涉及包括7个原料性质、2个待生吸附剂性质、2个再生吸附剂性质、2个产品性质等变量以及另外354个操作变量(共计367个变量),工程技术应用中经常使用先降维后建模的方法,这有利于忽略次要因素,发现并分析影响模型的主要变量与因素。因此,请你们根据提供的325个样本数据(见附件一),通过降维的方法从367个操作变量中筛选出建模主要变量,使之尽可能具有代表性、独立性(为了工程应用方便,建议降维后的主要变量在30个以下),并请详细说明建模主要变量的筛选过程及其合理性。(提示:请考虑将原料的辛烷值作为建模变量之一)。
  3. 建立辛烷值(RON)损失预测模型:采用上述样本和建模主要变量,通过数据挖掘技术建立辛烷值(RON)损失预测模型,并进行模型验证。
  4. 主要变量操作方案的优化:要求在保证产品硫含量不大于5μg/g的前提下,利用你们的模型获得325个数据样本(见附件四“325个数据样本数据.xlsx”)中,辛烷值(RON)损失降幅大于30%的样本对应的主要变量优化后的操作条件(优化过程中原料、待生吸附剂、再生吸附剂的性质保持不变,以它们在样本中的数据为准)。
  5. 模型的可视化展示:工业装置为了平稳生产,优化后的主要操作变量(即:问题2中的主要变量)往往只能逐步调整到位,请你们对133号样本(原料性质、待生吸附剂和再生吸附剂的性质数据保持不变,以样本中的数据为准),以图形展示其主要操作变量优化调整过程中对应的汽油辛烷值和硫含量的变化轨迹。(各主要操作变量每次允许调整幅度值Δ见附件四“354个操作变量信息.xlsx”)。

附件:
附件一:325个样本数据.xlsx
附件二:样本确定方法.docx
附件三:285号和313号样本原始数据.xlsx
附件四:354个操作变量信息.xlsx

三、做题思路

首先感觉这就是一个数据挖掘类的题目,需要有相关的机器学习和数据挖掘的知识,并且要能熟练使用常见的数据分析工具和编程语言,我们用的SPSS和python,如果对这两个不熟悉甚至没用过的,打这个比赛还是不要想了。

问题一、数据清洗

我们按照题目给的附件里的数据处理要求进行清洗,基本也是常规的数据挖掘前期的数据预处理工作。删除异常值、处理零值、处理离群点等等。

问题二、数据降维

需要有相关的数据降维、特征选择、特征提取的知识。我们采取k-meas、主成分分析、随机森林特征重要性排序的方法综合挑选重要特征,进行降维。
这个题目中的数据维度是很多的,有367维,最终应影响的就是辛烷值的损失。而且这么多的维度和辛烷值损失之间的关系是很复杂的,是高度非线性、相互强耦合的。
所以需要掌握对不同类型的数据,采取不同的降维方法。

问题三、建模预测

有了第二问降维后的特征,就要建立模型来预测辛烷值损失。我们的思路是,根据数据特点进行建模。数据是非线性的,就要采用能找出非线性关系的模型来套用,所以使用了人工神经网络ANN。
这一问要求要对数据挖掘中常用的模型有所了解,要熟悉它们的特点,适用条件。
还要熟悉模型的验证方法。

问题四、分析模型预测结果与实际值

具体问题具体分析,这个问题比较具体。就是同用问题三的模型,把数据再放进去,看结果怎么样,还要挑选出结果好的样本,分析他们的操作变量(也就是降维后的特征)是怎么操作的。

问题五、可视化

把第四问可视化就行

四、总结

关键是熟悉数据挖掘和机器学习的基本知识(当然只限于这种类型的题),重要的是编程能力也是很重要的,只了解理论模型、数据处理方法是远远不够的,还需要编程实验。总的来说,还是自己掌握的知识太少,做题的时候很没有思路。这篇文章写的内容也不多,就是总结一下。累了,歇了。
啊对了,还有一点,一开始跳完题目别急着开始做,先把给的数据仔仔细细看几遍,根据题目好好理解,这很有助于提高后面的效率。而且记得查相关文献,先好好看看文献,说不定有意外之喜。我们就是做了一天,然后才开始看文献,发现我们要找的关键特征,人家早就有论文给你写的明明白白。嗯,就这样。