时间:2024-07-28
许少新 杜渐 郑坚钦 李舒丹 黄丽燕 梁永图
1中国石化销售有限公司华南分公司
2中国石油大学(北京)
建立油库出库量的预测模型能有效维持出入库的平衡,同时指导、规划石油企业的生产计划以适应市场需要,使石油企业的生产运营更加规范化,合理地制定生产计划,提高生产效益[1-5]。拥有稳定的库存管理策略和定量分析方法,可减少人为因素对企业决策的干扰,提高决策的效率和科学性,可增加库存的敏捷性和弹性,提升物流运作效率,使仓储和库存配置更加合理,进而提高油库利用效率[6-10]。
中化格力有限公司利用油库出租率和油库周转系数建立关于油库入库量的经验公式,预测得到每年的入库量后,基于历史出入库量之间的平均比值关系对出库量进行预测[11]。PRAVEEN 等[12]引入人工神经网络(ANN)算法,并结合数据趋势(线性趋势、二次趋势)对库存进行预测。CRONE[13]基于库存历史数据存在的时间序列特性,利用ANN 算法优化了库存管理模型。
目前出库量的预测对于年出库量预测具有一定的参考价值,但仍有以下几点不足:①预测的时间周期主要是年预测,对于油库短期内的出库计划指导能力有限;②对于出库量影响因素的考虑不够充分;③基于公式法的预测对于数据非线性关系的拟合能力较差。
通过对成品油出库量的历史数据进行分析和调研,注意到天气和国际油价对于出库量的变化有较大影响[14]。ANN 作为一种深度学习算法,其对于非线性数据有着优良的学习能力,且对于变量间相互的依赖关系有着较强的分析处理能力,同时由于网络自身所具有的自适应、自学习、自组织特性和高速计算能力[15],使得ANN 在分析和处理油库出库量以及影响出库量的自变量(天气、油价)时能够得到较为准确的结果。目前,ANN 在油气智能化领域获得了较为广泛的应用[16-17]。基于此,本文利用ANN 算法,同时考虑自变量对出库量的影响规律建立关于油库出库量的预测模型。
一个基本的ANN 神经元如图1 所示,在接收到上一层所有神经元的输入后,先将其汇总为之后通过本单元的激活函数将汇总到的输入转化为输出,并将输出值传递给下一层的神经元。
图1 ANN 神经元基本结构示意图Fig.1 Schematic diagram of basic structure of ANN neuron
式中:w1j~wnj为神经元各个突触的权值,x1~xn为输入神经元的多个分量;θ为偏置;yi为神经元的输出值;f为激活函数[18]。
人工神经网络包含多个神经元和多个层结构,基本的三层神经网络结构如图2 所示。首先在输入层给定天气、国际油价等自变量后,输入层将信息整合并传递给隐藏层,隐藏层的每一个神经元都会对上一层的信息进行汇总并通过激活函数将其转为输出传递给输出层,最后由输出层的神经元将接收到的值处理为最终的出库量结果,这是一个信息正向进行传递的过程。而神经网络为了优化自身的学习情况和输出结果,还会将网络输出的出库量与训练集的因变量(出库量)进行对比得到偏差,这个偏差会沿网络进行反向传递,并不断更新各层的权值大小,直到最后偏差收敛,网络学习结束。
图2 三层神经网络结构Fig.2 ANN architecture with 3 layers
基于ANN 的出库量预测模型构建流程如图3 所示。首先统计出库量数据,剔除冗余项并爬取天气以及油价数据,对数据中存在的异常值和缺失值进行处理,并通过最大-最小(max-min)归一化方法对数据进行标准化处理。将处理好的数据划分为训练集和测试集,利用训练集对ANN 模型进行训练更新其权值使网络的偏差收敛,之后将测试集放入模型中计算得到出库量预测结果,并计算预测效果的评价指标。
图3 ANN 建模流程Fig.3 Modeling process of ANN
在统计并汇总出库量数据后,为使数据更加平稳,将原始以kg 为单位的出库量数据转化为以t 为单位。在实际获取数据时,人为疏漏以及测量仪器的故障都会导致数据中出现一些异常值和缺失值,实验中通过求取平均值对异常值和缺失值进行填充。
数据归一化即数据标准化,是将数据中每个值通过等比例的方法缩小到某一特定区间内,数据归一化对于提高模型收敛速度以及求解精度有着十分重要的作用。本实验采用的数据归一化方法是最大-最小(max-min)归一化方法,出库量数据X={x1,x2,...,xn},对其中每个x进行如下处理:
式中:xmin为出库量数据中x的最小值;xmax为出库量数据中x的最大值;xinput为处理后的模型输入数据;xi为输入的原始出库量数据。
采用平均绝对百分比误差(MAPE)和拟合系数(R2)来评估模型的预测效果。
平均绝对百分比误差可以反映出预测值与真实值之间的偏差情况。
拟合系数用以表征预测结果相较于真实值的拟合情况。
式中:m为预测样本个数;yi为第i个预测样本的真实值;为预测样本的平均计算结果;为第i个预测样本的预测值[19]。
本文选取的数据是某地成品油油库1 年内的出库量,原始数据中包含冗余信息,首先对数据进行预处理得到2019 年的出库量数据,部分数据见表1。
表1 某地出库量部分数据统计结果Tab.1 Partial statistical results of output in a certain area
通过调研和分析出库量的历史数据,发现出库量的大小受诸多因素的影响,例如天气情况以及国际油价的影响。考虑到引入自变量对于模型整体求解精度带来的较大提升作用,利用python 编程环境对当地2019 年天气情况和油价数据进行爬取,表2是汇总的部分自变量数据。
表2 自变量部分统计结果Tab.2 Partial statistical results of independent variable
HECHT-NIELSON 等对神经网络对于非线性问题的逼近和分析能力进行了研究,结果证明,三层神经网络的分析处理结果精度较高[20],所以本文中的ANN 设置为单隐藏层和输入输出层共同组成三层神经网络结构。在神经元数量的选取上,输入层神经元数量对应于自变量的数据维度个数,本文中为5。对于一般的非线性回归问题,输出层神经元一般设置为1 个;而对于隐藏层神经元个数的选取,如果数量过少,会导致模型出现欠拟合的情况,如果过多则会出现过拟合并使得模型训练时间增加的情况,所以在实际选取隐藏层节点个数时,通常采取试凑法和经验法[21]。对于本文中的非线性问题,当输入层与隐藏层之间选择tanh 函数,隐藏层与输出层之间选择relu函数时,可以得到最优的模型拟合效果,同时为防止使用relu激活函数产生梯度消失的情况,设置学习率为0.001并进行初始化。
通过对三种油品进行预测建模后得到如图4~图6的预测结果。在进行预测模型训练时,将原始数据单位转化为t 以提高数据平稳性。由图4、图5 以及图6 可看出,借助ANN 对于非线性数据良好的学习性,同时引入自变量与因变量之间相互的变化关系,得到的出库量预测模型精度较高,92#和95#汽油预测误差较小,总体误差小于15%,0#柴油的预测误差偏大。三种油品的预测效果对比见表3。
图4 0#柴油预测结果Fig.4 Prediction results of 0# diesel
图5 92#汽油预测结果Fig.5 Prediction results of 92# gasoline
图6 95#汽油预测结果Fig.6 Prediction results of 95# gasoline
表3 预测效果对比Tab.3 Comparison of prediction results
对于油库出库量的预测以得到较高可信度的预测模型为目的。本文提出了一种基于ANN 算法并结合多个对油库出库量存在影响的自变量(天气、油价)的出库量预测模型,不同于经验公式法,基于机器学习算法的预测模型能够很好地拟合数据的非线性特点,并且对于自变量的影响规律有着较强的学习和分析能力。在构建ANN 预测模型时通过对神经网络层结构、各层神经元数量的确定以及激励函数的选取,不断优化预测模型的拟合效果。结果表明,基于ANN 的油库出库量预测模型总体误差小于15%,预测结果的拟合程度整体能达到90%以上,这对于未来出库量能够提供较为准确的参考依据,有助于指导现场生产管理。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!