专栏名称: 数据派THU
本订阅号是“THU数据派”的姊妹账号,致力于传播大数据价值、培养数据思维。
目录
相关文章推荐
软件定义世界(SDX)  ·  安筱鹏:超越AI大模型的“加拉帕戈斯”效应 ·  4 天前  
CDA数据分析师  ·  【干货】数据分析如何支撑瑞幸联名成功?(2) ·  1 周前  
CDA数据分析师  ·  【干货】数字化时代,怎么做零售数据分析? ·  1 周前  
数据派THU  ·  【博士论文】可控图像与视频合成 ·  1 周前  
51好读  ›  专栏  ›  数据派THU

干货 | 石化产品价格预测项目

数据派THU  · 公众号  · 大数据  · 2024-09-24 17:00

正文


以下内容整理自2024年夏季学期《大数据实践课》中国石化工程建设有限公司与清华大学软件学院共建的研究生专业实践基地的同学们所做的期末答辩汇报。



大家好!今天我很荣幸能够在这里向大家汇报我们小组关于石化产品价格预测项目的研究成果。在接下来时间里我将从研究背景、研究方案、研究过程以及研究结果等几个方面,向大家详细介绍我们这次的项目。



首先看一下研究背景。石化行业市场日趋饱和,企业需要不断转型和开拓市场,以维持竞争力。同时,石化产品价格的波动性和负责性给企业的决策带来挑战。当前市场上存在一些问题,例如价格信息不全、小品商品难以获取、市场价格难以准确把握、产品风险分析相关系难以确认。为了应对这一挑战,我们的研究主要针对1,4丁二醇,MMA和苯胺这三类在生产线上相对独立的化工品构建了一个更加通用的化工品价格预测体系,希望通过精确的价格预测为企业提供决策支持。



接下来是研究方案。我们的研究方案主要包括了数据处理特征选择、模型性能调优以及模型集合与部署,最后形成一个初步完善的价格预测分析体系,接下来我们就对这里面的一些详细的过程进行解释说明。



首先是原始数据,这一页展示的是企业提供给我们的数据。主要有化工品数据、市场数据、宏观数据以及库存数据。



我们这次目标的预测有三个,可以看到其中最难预测的是1,4-丁二醇,因为它有一个明显的趋势。MMA和苯胺的趋势的变动相对缓慢,但是1,4-丁二醇,特别是在俄乌战争期间,它的影响是非常剧烈的,而这一点就会为后来的预测带来比较大的挑战。


接下来再介绍一下我们小组为这个预测这个项目,新去找的64个宏观数据变量,这就是我们对这个项目新增的数据,相当于是我们扩充的整个数据集。这些数据包括了国际上的利率汇率,风险相关的一些指数,也包括像中国统计局公布的价格、石化产品的一些产量的阅读数据。



接下来我们对特征进行分组筛选。根据已有的化工产品先验知识先对数据进行分组,然后再在每类每组数据内部进行筛选。这种筛选加入了先验信息,就避免了通过数据筛选。因为我们是纯数据挖掘过程,如果不分组进行筛选,可能就丢失先验信息。通过分组再筛选的方法,就能有效结合先验信息。其中我们比较重视目标产品本身以及上下游产品,对于其他的数据,比如产业链外紧密相关产品、库存数据以及宏观经济,我们都给了一个较小的占比。


接下来展示我们变量筛选的模型,我们选择了两种模型进行变量筛选,第一种是LASSO模型,它是一种最经典的变量筛选模型,第二个是一种决策数的去集成模型 LightGBM。这个模型可以提供决策数据,它的算法可以提供分叶子节点的重要性,也可以提供排序。我们的预测目标,按照已有的经验选择了三种变量,四个预测周期分别是一个月,三个月,六个月以及一年。



接下来我们展示一下筛选的结果。比如说以1,4-丁二醇为例,我们可以看到这些比较重要的里面除了1,4-丁二醇的一些市场数据以外,我们还看到,比如它的上下游,比如说冰醋酸、聚酯、己二酸这些东西。这也从侧面反映它的一个合理性,符合先验的预期。


接下来展示一下各个目标产品不同特征组别的部分变量,这里只是展示了很少的一部分,都是展示的最重要的一些变量。


关于宏观方面的发现,它其实最主要影响的宏观面并不是石化产量,而是国际市场利率,我们认为国际市场利率可能反映了原油需求的变动,所以它能够提供对化工品的价格预测。



接下来介绍一下我们所选出的模型,最终版本是比较经典的时序预测的模型,因为他们比较支持多变量预测。有RNN、LSTM还有GRU,然后这些模型本身其实比较简单,因为都可以直接就调包实现。


接下来展示一下不同变量在不同模型下在测试集上的结果,注意这个测试集是我们做了一个样本。对于短期预测来说,我们发现我们基本上能达到一个比较好的效果,遇到长程的话,比如说360天这里有一个很明显的趋势,它相对来说其实比较难预测,但是这里我们还是把它预测出来,选了一个最好的模型展示。



这一张图是MMA,可以看到,如果前后对比会发现MMA的预测效果就会比1,4-丁二醇要好很多。可以看到RMSE基本上都是在0.1左右。对于苯胺的话,它的效率预测效果是介于MMA和1,4-丁二醇之间的。



最后我们用一张表来总结一下,我们一看这张表的纵列,它代表不同模型和不同窗口期,然后不同的列代表的是不同的变量和不同的预测周期。大体可以总结一下,发现在这几个模式里面GRU是最好的。对于一些长期预测来说,L STM的表现也还不错, RNN因为它比较简单,这个模型相对比较弱一点。



接下来要进行真实的向外推的预测,我们要为企业生成一个能够外推的预测数据。这是在23年的12月月底,我们想要预测24年的数据。我们之前的预测方法都是我们的点预测,预测30天、60天、180天、360天这四个点的值。我们希望是能画出一个连续的预测,就会遇到一个问题。第一个解决方法,就是我们重新去训练,把360天内的所有日期合并成一个向量,然后拼接向量后作为整体训练。左边是我们的原始的方案,这都是在测试集上的结果,左边是原始方案,右侧是向量做的整体方案,我们会发现,因为用一个向量去代表,它的每个期限之间,预测目标可能是互相冲突的。如果做一个向量整体预测的话,它只能是去优化去最小化这些预测期之间的第一个平均误差,就会导致这个预测的效果的下降。



我们最后的结果没有修改,我们是用的四个点的模型,做了一个信息的调整,我们采取的是一个随机的混合模型,通过时间的三角和函数加权的方式,然后来确定预测均值和预测区间。左图就是做调整之前,我们要做预测的这个点上发现一个很严重的跳跃。比如说预测24年1月1日我们是用的30天前的数据进行预测的,这个数据没有更新到最新的日期。通过我们的方法做调整了之后,可以发现,我们很好地解决预测变量跳跃的问题,整个曲线也变得更加连续合理了。


最后展示一下我们的研究结果,我们最后是生成了一个exe文件,它是一个软件的形式,可以让你选择模型参数,选择日期,最后我们可以生成一个图片以及对应的保存预测结果的excel。


最后我们再来展示一下,我们最后对这期变量的远期预测的结果。分别是一个月,三个月,六个月和一年的预测结果。我们最后为了方便,可能后续会加入其他的预测变量。所以我们为整个训练,包括数据获取,到训练里面的一些细节,都做了一个详细的使用说明,一来可以方便更新数据进行预测。二来是方便搭建一个更完善的,比如对接下来对常见的化工品,每种化工品都搭建一个价格预测模型做了准备。


以上是全部内容,谢谢大家!

编辑:文婧
校对:丁玺茗



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。



新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU