干货 | 石化产品机器学习价格模型开发和SEI石化产品价格分析体系构建

a21813cfa8c8435d2a9aca2da8feca0a.png

以下内容整理自大数据能力提升项目必修课《大数据系统基础》同学们的期末答辩汇报。

98bb54a48a15cc364a33da2da1a4d372.png

我们的报告将分为六个部分,第一部分是研究背景与内容。受疫情影响以来,石化行业市场日趋饱和,竞争激烈,同时利润也受到压缩,大部分石化产业都需要转型开拓新市场,但同时又难以获取一些小品种化工品价格。所以我们希望通过机器学习方法实现敏锐捕捉市场化工品价格变化趋势,同时能够推算小品种化工品价格的目标。长此以往,我们希望能够建立属于我们自己的化工品价格体系,为石化行业提供新的机遇。

cf57d65de1f83e4372c4fc7b7538ca25.png

上图展示了我们工作的三个部分,第一部分是石化产品的相关性的分析,第二部分,我们希望通过六种机器学习方法建立石化产品的价格模型,最后,我们构建了一个信息管理的网站,希望能够支持价格模型在实际工程项目中的应用。

c841bc4e78f870d84e8b36e9122a06eb.png

这是我们的技术流程图。在右边放了我们采用的六种机器学习模型,它们都是通过sklearn和torch框架搭建完成,我们的信息管理网站采用的是python语言中的Flask框架作为网页后端,JavaScript语言作为网页前端,同时使用CSS和ECharts库来完成。

b7e505790c337003bee7a4541a379382.png

第二部分是数据统计与分析。我们首先把所有的数据进行汇总,以日期列对齐,然后画出相关性热力图,然后以相关性系数大于等于0.7作为标准筛选出所有组合,再结合化工品的产业链上下游关系以及数据存在情况,共分为八个模型组合。这里以模型三为例,我们首先对它进行描述性统计分析,可以看到数据取值是在2018-2022年近五年当日化工品价格数据,它的价格数据波动幅度较大,标准差较大,但是某些化工品变化趋势大体一致,说明价格变化趋势具有较高的相关性。

9c466cb44c77618b465c1993a3c9075e.png

接下来是模型构建和模型结果部分。针对确定的输入输出组合,我们选用了六种机器学习模型来对价格缺失的化工品进行预测。比较各个机器学习方法,在测试集的预测结果在10%和5%误差内的比例,然后进行横向和纵向的比较。总体来看,横向比较上展示了六种模型、八个模型组合下的预测结果,我们可以发现K近邻、决策树和随机森林取得了比较好的结果。神经网络的结果较差,我们推测可能是因为这个模型比较复杂而实际应用场景的预测数据比较简单,可能存在一些过拟合的问题。相反,一些简单模型反而能取得更好的结果。不同输入组合的纵向比较上,我们发现不同组合下最优模型一般是不同的,所以我们需要进行模型比选。

以下几张图展示了对不同机器学习模型进行横向和纵向比较的结果。这里以模型一的四氢呋喃为例,展示了随机森林、K近邻、决策树和LSTM四种模型的预测结果以及1:1的直线和相关系数的R^2值,可以发现R^2都在0.97以上。纵向比较以K近邻模型为例,选取四种化工品,同样可以发现它们的预测情况都非常好,R^2都在0.99以上。

21758469732f936c99696285df004ea0.png

接下来是模型结果分析,我们考虑到后续实际工作的应用场景,对原数据集进行了年平均,然后以年平均尺度数据来进行验证,以每个化工品品种误差最小模型来选择最优预测模型。下图横轴展示了19种需要预测的化工品,纵轴是误差百分比,可以发现对于每个化工品得到的最优预测模型预测误差在10%以内,总体在5%左右。

bc7bc477411b24c01dbb60de038f2225.png

我们以上一步选到的最优模型在实际工作场景中进行验证,比较最优模型在验证数据集中的表现(也就是红线),并且与上一步年平均数据集结果(蓝线)以及验证数据集的最优模型(紫线)进行比较。因为蓝线和训练数据集来自同一批数据,所以它的预测效果最好,紫线表示在实际工作场景数据中可能达到的自由结果,红线表示以训练数据集优选模型来对工作场景数据进行预测的实际结果,也表示我们实际工作场景的预测情况,可以发现这里除了部分化工品存在数据缺失和离群值的情况,总体上模型表现良好,误差控制在10%左右。

2317d823718d7464ce049a7baa9848c5.png

但为了真实业务场景应用,我们还搭建了网页应用平台。下面由我演示网页使用方法。首先,左上角是中石化工程建设有限公司的logo,它同时也就是一个home键,然后左下方是这个输入的窗格,右边是我们的首图。往下翻是注释,基于12000余条数据建立的机器学习模型的19种化工品的价格预测工具。我们以丁基橡胶为例。选择了它之后,这个ECharts后面就会体现出动态化往年数据参考,把鼠标放上去,还可以看到具体数值。接下来是输入大宗化工品品种的含税价格,选择使用的模型。我们选中线性回归模型,然后提交按钮,按下之后马上返回参考价格,也可以与右侧往年数据的动态价格进行参考,非常方便业务人员线下使用。

0f9ef2a08c142f013385f8ce7fe4d965.png

最后总结一下。首先这个项目填补了小宗商品的市场价格的信息的空白,并且也提升了市场决策的准确性和效率。在数据统计分析方面,我们的相关性分析和描述性统计都为后续的数据产出做了准备,也为模型的建立提供了有价值的信息。在机器学习预测部分,我们提高了价格预测准确度,并且通过控制误差也确保了模型的可靠性和准确性。在信息系统建设方面,我们建的网页也非常方便公司的业务人员进行实际的业务的运用,也提高了工作效率,为后续的产品价格的决策提供了及时和可靠的价格预测结果。总之,我们的项目是一个非常完整并且有实际应用的一个项目,以上就是我们展示的全部内容。

编辑:文婧

校对:汪雨晴

5853899b062f504ba6112a683db298c5.png

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5G NR:RACH随机接入过程

1. 简述 无论是3G,4G还是现在的5G都需要随机接入过程,随机接入过程主要是为了让基站和UE之间做好上行同步以及初始接入。此文章仅仅帮助大家了解此过程,更加具体的用途及其场景需要参考具体的3GPP协议(38.211,38.212,38.213).主要帮助理解如下…

【Spark实战】Windows环境下编译Spark2 Linux上部署Spark On Yarn

Windows环境下编译Spark2 环境准备 git-2.14.1maven-3.9.2jdk-1.8scala-2.11.8zinc-0.3.15 主下载地址spark-2.3.4 github官方地址 编译准备 maven远程仓库使用的是阿里云的 解压源码包spark-2.3.4.zip,修改根模块的pom文件。主要目的是为了变更hadoop的版本号,…

【数据可视化】大作业(意向考研高校的数据可视化)

文章目录 前言一、数据介绍1.1 基本信息1.2 考研信息1.3 导师信息 二、预处理及分析2.1 数据预处理2.1.1 考研信息预处理2.1.2 导师信息预处理 2.2 数据分析 三、可视化方法及结果3.1 可视化方法3.2 可视化结果展示3.2.1 基本信息3.2.2 考研信息3.2.3 导师信息 四、总结五、附录…

git 获取两个版本间的变更文件,生成增量包

可用于代码在无git环境情况下的做增量包 注意:版本号1一般是上一次版本的结束。 #下面命令可以获取两个版本直接的变更文件git diff 版本号1 版本号2 --name-only git diff 版本号1 版本号2 --name-only | xargs zip update.zip 牛逼之处就是打出来的压缩包是带…

89C52RC普中单片机-4

20230629 Thusday lcd1602代码 lcd1602.c #include <REGX52.H>//引脚配置&#xff1a; sbit LCD_RSP2^6; sbit LCD_RWP2^5; sbit LCD_ENP2^7; #define LCD_DataPort P0//函数定义&#xff1a; /*** brief LCD1602延时函数&#xff0c;12MHz调用可延时1ms* param 无*…

论文笔记--GPT-4 Technical Report

论文笔记--GPT-4 Technical Report 1. 报告简介2. 报告概括3 报告重点内容3.1 Predictable Scaling3.2 Capabilities3.3 limitations3.3 Risks & mitigations 4. 报告总结5. 报告传送门6. References 1. 报告简介 标题&#xff1a;GPT-4 Technical Report作者&#xff1a;…

uniapp怎么把px转换成对应手机型号的rpx

首先获取系统手机屏幕的宽度系统信息的概念 | uni-app官网&#xff0c;然后根据公式转换 rpx 750*元素 B 在设计稿上的宽度为 多少px/手机屏幕的宽度 详见&#xff1a;CSS 支持 | uni-app官网 如下为把宽度为1px的转成对应手机型号的rpx uni.getSystemInfo({success(res) {co…

LeetCode 打卡day54-55 动态规划之编辑距离问题

一个人的朝圣 — LeetCode打卡第54-55天 知识总结 Leetcode 392. 判断子序列题目说明代码说明 Leetcode 115. 不同的子序列题目说明代码说明 Leetcode 583. 两个字符串的删除操作题目说明代码说明 Leetcode 72. 编辑距离题目说明代码说明 知识总结 今天学习动态规划里面的编辑…

uni-app 微信小程序发布时,主包超过2M限制

小程序发布时&#xff0c;提示超过2M&#xff0c;无法通过&#xff0c;此时可以尝试以下几种方法&#xff1a; 1、对图片做压缩 图片尽量放在服务器端&#xff0c;使用的时候&#xff0c;通过URL路径获取&#xff0c;若不得已放在本地时&#xff0c;可以对图片进行压缩&#…

InsCode Stable Diffusion 美图活动投稿

本地部署可以使用B站大佬秋叶的整合包 CSDN亦提供了Stable Diffusion 模型在线使用地址&#xff1a;https://inscode.csdn.net/inscode/Stable-Diffusion 模型相关版本和参数配置&#xff1a; 模型&#xff1a;cetusversion4.WRgK.safetensors [b42b09ff12] VAE&#xff1a;y…

MySQL - 第14节 - MySQL使用C语言连接

1.引入库 要使用C语言连接MySQL&#xff0c;需要使用MySQL官网提供的库。 1.1.下载库文件 下载库文件&#xff1a; 首先&#xff0c;进入MySQL官网&#xff0c;选择DEVELOPER ZONE&#xff08;开发人员专区&#xff09;&#xff0c;然后点击MySQL Downloads。如下&#xff1a; …

黑马头条-day02

文章目录 前言一、文章列表加载1.1 需求分析1.2 表结构分析1.3 导入文章数据库1.4 实现思路1.5 接口定义1.6 功能实现 二、freemarker2.1 freemarker简介2.2 环境搭建&&快速入门2.2.1 创建测试工程 2.3 freemarker基础2.3.1 基础语法种类2.3.2 集合指令2.3.3 if指令2.3…