干货 | 中国石化化工高端新材料价格体系模型构建

news2024/12/25 12:23:44

7a154717b33169d919fe59868eaab1ed.png

以下内容整理自2023年夏季学期大数据能力提升项目《大数据实践课》同学们所做的期末答辩汇报。

3142bc0ed18d1895ad13fd3297f37482.png

随着石化行业市场日趋饱和,市场竞争日益激烈,企业利润空间不断被压缩,大多数石化企业急需转型开拓新市场,化工原料价格的波动对于石化企业的决策和利润都会产生直接影响,所以对于化工原料价格精确、高效的预测显得尤为重要。目前业界已有部分实践和相关技术,但仍然存在价格不全、小品类商品价格信息难以获取等痛点。基于此,本项目以1,4-丁二醇为例,先对产品价格影响因素进行分析,并构建化工品价格时序预测模型,寻找化工品价格变化规律,最终实现模型的在线部署。

11762eb4126ce5661e061d7b88c878f4.png

首先对数据进行预处理。采用front fill的方式填补缺失值,将颗粒度统一为日度,删去缺失值过多的数据和明显高度相关的变量。第二步采用多种方法对数据作进一步筛选,第三步尝试采用两种计量模型、三种机器学习模型和三种深度学习模型进行构建模型和模型比选,通过比选最终决定采用深度学习模型。最后结合前端开发实现模型在网页的调用。

我们获得的原始数据包括175个变量在1293个日期的数据,经过预处理之后,最终得到95个变量在1885个日期的数据。得到95个变量之后,我们又通过计量方法、XGBoost以及Transformer三种方法对输入变量进行进一步筛选。其中相关分析通过相关系数判断变量间关系密切程度,XGBoost模型可以量化并输出原始变量在预测过程中的重要程度,Transformer可以输出各个变量的因果门因子,据此可以挑选出与因变量因果关系密切的变量。结合这三种方法能够得到变量之间的相关性以及在模型当中的重要性。最终我们将结果整理成了变量筛选分析报告,最终简化为包含11种化工品、54个特征的重要变量。

基于上述变量我们进行预测建模。首先是RNN模型的框架。我们对二维原始数据进行归一化和时间切片,得到下图所示三维模型输入,三个维度分别是batch_size,window_size和feature_size。window_size指的是我们使用从现在开始回溯多少天的数据进行价格预测。我们使用了五层RNN,每个单层RNN中包括添加噪声、隐藏层、输出层以及dropout层和归一化层,经过5层输出之后,我们对最后一层的三维输出进行window_size维度的取平均之后,就可以得到最终的预测结果。在训练过程中,我们可以调整的超参数包括在不同预测任务下的window_size,以及是否添加噪声,dropout值以及初始学习率的衰减程度。

ee6767e48b41feaef4d0fe45b375dd23.png

下图展示了RNN模型的预测结果,其中蓝线代表真实值,红线代表经过滑动平均的预测值。从图上可以看出,除了90天以外,其他的预测天数下的红线基本上都可以较好地反映出真实价格的变化趋势。而90天之所以预测效果较差,可能因为在90天局部变化的剧烈程度是最大的,因而预测难度也相对最大。

fae36cf749c86bd60a55524464230275.png

下图展示了RNN的具体预测误差。可以看出平均相对误差均满足了预先要求,与上图所示相同,90天的误差相对最大。

ea2b583abb219f6579fd3b9875a0dc67.png

我们也进一步尝试了LSTM网络,该模型包括输入层、dropout层和输出层。因为输入输出维度相同,因此我们使用了全连接层输出,将最终的价格维度转化为1,可以调整的超参数包括LSTM的堆叠数量、层数、dropout值以及学习率,其他设置与RNN相同。

LSTM的误差相对大一些,但在较长时间间隔的预测是满足小于15%的要求的。但相比RNN并没有很明显的优势,所以后续并未使用。

dd905336c4216640568db5f9e0b670f0.png

此外我们还通过使用时间序列Transform模型(简称TST)进行1,4-丁二醇价格预测。TST价格模型如上图所示。除了将日期拆分为年、月、日三个特征并对数据进行标准归一化外,其输入与输出均与RNN和LSTM模型相同。TST模块主要由输入模块、三层的Transformer encoder block和FC阶层组成。在编码部分,除了输入编码外,通过加入sin、cosin位置编码表征了时间上的先后顺序。我们选择调整的超参数包括初始学习率、T样本数、dropout概率、历史时间跨度等,最终得到了六个不同预测时间间隔下的TST预测模型,其拟合与预测效果如下图所示。

668fd32a95b495276e54535feadbacf3.png

下表展示了TST训练集和预测集上的误差。可以看到,TST模型在不同预测时间间隔下的相对误差在11%-16%左右,总体而言,TST模型具有一定时序预测能力,但就其效果而言,略逊于RNN模型,且在时间跨度越大的情况下,差别越明显。

33010597a80f32019826dda5e585d930.png

本次大数据实践我们从数据预处理、特征筛选、价格预测建模与demo设计四方面出发,我们首先补全数据、统一数据粒度并初步删除缺失值过多数据,综合运用三种方法筛选出了11种相关化学品共54个重要特征。之后我们基于RNN、LSTM以及TST模型进行了1,4-丁二醇的价格预测并进行了demo设计,我们的试用版界面能满足简洁易用、响应快、平均相对误差小于15%及安全方面的要求。

76cb9b7a88180f691b616f7d47317820.png

在demo中,上传相关变量的历史数据并选择相应的预测时间间隔后,页面会弹出模型选择框,并弹出建议选择的预测模型。在点击提交按钮后,页面会出现预测时间点的1.4-丁二醇价格,并通过可交互的ECharts图表展示1.4-丁二醇的每日数据及变化趋势,以上就是本次汇报的全部内容。

编辑:文婧

校对:林亦霖

f5b883647d94d0d2225275faae19876d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1031224.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构 - 线性表(顺序表)

线性表是什么 线性表是包含若干数据元素的一个线性序列,记为: L (a0,…ai-1,ai,ai1,…an-1) L为表名,ai(0≤ i ≤n-1)为数据元素;n为表长,n>0时,线性表…

Vue的详细教程--用Vue-cli搭建SPA项目

Vue的详细教程--用Vue-cli搭建SPA项目 1.Vue-cli是什么2.什么是SPA项目1.vue init webpack spa2.一问一答模式2:运行完上面的命令后,我们需要将当前路径改变到SPA这个文件夹内,然后安装需要的模块此步骤可理解成:maven的web项目创…

PY32F003F18之ADC问题

普然单片机PY32F003F18的内部有一个LDO,其电压固定为1.2V。我在用官方程序测试时,若接上USB转串口的RX导线,向PC发送数据,读内部参考电压比较正确,但是,当接上USB转串口的TX导线时,发现读到内部…

【从0学习Solidity】15. 异常

【从0学习Solidity】15. 异常 博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发…

ruoyi框架开发LOT项目

背景 最近闲着就用ruoyi的框架写了一个LOT项目,个人觉得效果还可以。 1、首页 2、企业管理 3、用户管理 4、设备列表 5、设备列表标签展示 6、设备详情页面 7、大屏展示界面 8、结束 -----华丽的分割线,以下是凑字数,大家不用花时间看&…

2023年中国研究生数学建模竞赛D题解题思路

为了更好的帮助大家第一天选题,这里首先为大家带来D题解题思路,分析对应赛题之后做题阶段可能会遇到的各种难点。 稍后会带来D题的详细解析思路,以及相关的其他版本解题思路 成品论文等资料。 赛题难度评估:A、B>C>E、F&g…

分享demo:Vue3 使用element plus + vue-i18实现国际化

👇面是demo展示 PS:点赞关注私信获取demo

任务计划不执行bat脚本排查思路

问题: 我有一个任务计划,执行的是一个bat脚本,显示也已经操作成功了,但是没任何变化 排查: 1、把cmd文件拖入到cmd中执行查看 发现执行的时候是乱码的,肯定就是编码问题引起,在cmd执行前,提前切…

ruoyi-nbcio项目增加右上角的消息提醒

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 因为以后流程的通知需要提醒&#xff0c;所以右上角需要增加消息提醒。 1、增加右上角的按钮与信息 <div class"right-menu"><templat…

C : DS顺序表--合并操作

Description 建立顺序表的类&#xff0c;属性包括&#xff1a;数组、实际长度、最大长度&#xff08;设定为1000&#xff09; 已知两个递增序列&#xff0c;把两个序列的数据合并到顺序表中&#xff0c;并使得顺序表的数据递增有序 Input 第1行先输入n表示有n个数据&#x…

仿网易云-360度混响

一直在用网易云音乐听歌&#xff0c;感觉他的这个动效还是挺不错的&#xff0c;最近也是想试试canvas绘图相关的。尝试了几次之后感觉效果还不错&#xff0c;不过距离网易云的还是有些差距。 本期准备仿照制作如下效果&#xff1a; 偷偷使用最近比较流行的罗刹海市的音乐来展…

【EasyExcel】excel表格的导入和导出

【EasyExcel】excel表格的导入和导出 【一】EasyExcel简介【二】EasyExcel使用【1】EasyExcel相关依赖【2】写Excel&#xff08;1&#xff09;最简单的写(方式一)&#xff08;2&#xff09;最简单的写(方式二)&#xff08;3&#xff09;排除模型中的属性字段&#xff08;4&…

服务器数据恢复-LINUX操作系统下各文件系统误删除/格式化数据的恢复方案

服务器数据恢复环境&#xff1a; 基于EXT2/EXT3/EXT4/Reiserfs/Xfs文件系统的Linux操作系统。 服务器故障&#xff1a; LINUX操作系统下误删除/格式化数据。 服务器数据恢复过程&#xff1a; 1、首先会检测服务器是否存在硬件故障&#xff0c;如果检测出硬件故障&#xff0c;交…

ARM64 SMP多核启动详解2(psci)

1. 支持psci情况 上面说了pin-table的多核启动方式&#xff0c;看似很繁琐&#xff0c;实际上并不复杂&#xff0c;无外乎主处理器唤醒从处理器到指定地址上去执行指令&#xff0c;说他简单是相对于功能来说的&#xff0c;因为他只是实现了从处理器的启动&#xff0c;仅此而已…

智慧公厕预见幸福生活、美好未来

随着城市化的加速发展&#xff0c;公共厕所作为城市基础设施的重要组成部分&#xff0c;对于提升城市形象和居民生活质量起着至关重要的作用。智慧公厕作为智慧城市建设的一部分&#xff0c;正逐渐成为城市管理的新宠儿&#xff0c;能有效助力网络强国、数字中国、智慧社会的建…

第九章 常用服务器的搭建

第九章 常用服务器的搭建 1.配置FTP服务器 1.1.FTP简介 ​ FTP&#xff08;File Transfer Protocol&#xff0c;文件传送协议&#xff09;是TCP/IP网络上两台计算机间传送文件的协议&#xff0c;FTP是在TCP/IP网络和Internet上最早使用的协议之一&#xff0c;它属于网络协议…

形式化验证方法研究综述

摘要&#xff1a;形式化验证是证明软件、硬件或系统正确性的一种方法&#xff0c;近年来受到了越来越多的关注。 本文对形式化验证的研究进行了综述。首先介绍了形式化验证的基本概念&#xff0c;然后重点介绍了形式化验证的三种技术&#xff0c;包括模型检测、定理证明和等价性…

Redis中是如何实现分布式锁的?

分布式锁常见的三种实现方式&#xff1a; 数据库乐观锁&#xff1b; 基于Redis的分布式锁&#xff1b; 基于ZooKeeper的分布式锁。 本次面试考点是&#xff0c;你对Redis使用熟悉吗&#xff1f;Redis中是如何实现分布式锁的。 要点 Redis要实现分布式锁&#xff0c;以下条件应…

JS基础语法

JS是一门面向对象的编程语言&#xff0c;运行在客户端的脚本语言&#xff0c;可以基于Node.js进行服务器端编程 JS的作用: 表单动态校验网页特效服务端开发 浏览器执行JS&#xff1a; 浏览器分为两部分&#xff1a;渲染引擎和JS引擎 渲染引擎用来解析HTML和CSS&#xff0c;…

2023中国智能产业高峰论坛丨文档图像大模型的思考与探索

# 前言 随着人工智能技术的不断发展&#xff0c;尤其是深度学习技术的广泛应用&#xff0c;多模态数据处理和大模型训练已成为当下研究的热点之一&#xff0c;这些技术也为文档图像智能处理和分析领域带来了新的发展机遇。 近期&#xff0c;2023第十二届中国智能产业高峰论坛…