APP下载

Elman神经网络在企业年度销售目标预测中的应用

2017-08-28

无线互联科技 2017年15期
关键词:层数神经网络销售

张 果

(乐凯华光印刷科技有限公司,河南 南阳 473000)

Elman神经网络在企业年度销售目标预测中的应用

张 果

(乐凯华光印刷科技有限公司,河南 南阳 473000)

文章主要探讨了一种能够对公司未来销售状况进行准确、快速预测的方法。文章将Elman神经网络法引入到对公司未来销售状况的预测中,并且通过MATLAB程序对Elman神经网络进行了编程,实现了对某公司未来销售情况的估计,形成了公司未来销售量统计图,企业可以通过对该统计图的分析制定切实可行战略。

Elman神经网络;年度销售目标;预测

1 Elman神经网络预测模型

Elman网络建立在BP网络的基本构架之上,通过对内部存储状态进行存储从而具备一定的映射动态特征功用。所以Elman网络具有更强的适应时变特征的能力,也从而更适合应对时间序列的预测问题。由于公司产品的销售数据也是随着时间发生连续改变的,并且销量数据和时间之间的关系为非线性的,销量的变化往往同时受多个因素的影响,所以在对公司今后几个月份产品销售情况的评估时,我们选择了Elman网络模型。

Elman网络属于反馈网络的一种,其结构有4层:第一层为输入层,该层的主要作用就是传递神经元信号;第二次为隐含层,第三层为承接层,该层的主要作用就是储存上一层的输出,并且对反馈信号进行储存,第四层为输出层,输出层的结果依靠于承接层的反馈信号。承接层将存储的上一阶段隐含层的输出和存储结果再反馈给隐含层,因此该模型可以对历史数据进行存储,能够进行动态建模,具有自处理信息的能力。

用u表示该模型的输入参数,用x表示该模型隐含层的结果;用Xc表示该模型中承接层的计算结果,用y表示该模型最终的输出结果。输出层、隐含层、输入层以及承接层之间的连接权重用W表示。神经网络模型的激励函数用g表示,其实质为隐含层计算结果的线性组合,通常为purelin()函数。该层神经的激励函数用f表示,通常为tansig()函数。

2 模型评价指标

根据模型评价的相关方法和惯例,从整体上对预测模型的效果进行评价,判断该模型是否具有良好的精度,通常我们选择的评价指标为模型的绝对百分比误差以及模型的均方误差。

用符号EMSE,表示模型均方误差,其计算公式为:

该式子各个符号的含义为:n表示选取预测集合中元素的数目;用i为序号;yi*表示预测值;用符号yi表示真值。

3 改进的自适应Elman网络预测模型

神经网络结构优化的主要内容是确定隐含层数量和其节点数。因为研究对象的差异,我们无法建立一种通用的网络结构,一般来说通过实验,结合部分经验来达到网络算法的精度与收敛速度之间的平衡。

本章计算出该神经网络模型中不同隐含层数的预测误差,误差最小的隐含层数作为公司销售Elman模型隐含层数。之后,利用预测集和训练集对Elman模型的预测结果进行训练,得出该模型能自动适应并使用最优的节点数,通过这种方法来对公司销售状况进行估计,有利于公司战略、决策的制定。

4 输入参数选取

假定公司产品的销售市场波动不是很大,并且竞争对象的能力和数量在一段时间内不发生变化,产品需求稳定,因此决定公司某种商品是否具有良好销售情况的关键要素就是判定该商品是否具有良好的性价比。如果上述几个假定条件不变,公司该商品性价比的改善将会刺激该商品的销量。也就是说,当市场上该商品的所有生产厂家具有相同的生产质量时,公司商品价格的降低会刺激公司商品的销量,增加该商品的市场竞争力,接到更多的订单,因此本论文研究中将公司产品价格的变化作为影响公司未来销售状况的主要变量。

根据对H公司随机挑选的几个时段的销量和同期成品率变化曲线对比来看,产品销售数量与成品率之间确实存在一定的正比变化关系:因此本文确定改进模型的输入参数为以下3个:(1)商品的成品率;(2)商品的价格;(3)商品销售的时间。在数据准备阶段产生的数据立方体中选取时间、价格、成品率和当月的销量作为改进后Elman模型的输入向量。

5 数据预处理

通常在实验数据维数较多的情况下,为了避免其中一维或者几维对结果的影响过大,同时也为了避开模型隐含层的饱和区,增加对模型的灵敏度,缩减模型训练时间,我们首先进行归一化处理,最后再进行反归一化输出数据。

通过归一化处理之后,得到的输出数据表示为yi。因此整个归一化过程就是:首先对输入数据进行正归一化,之后反归一输出数据。

6 选择隐含层数

由于研究对象的千差万别,对Elman网络模型结构的研究主要集中在隐含层的数量和隐含层的节点数量两个方面。

而通常Elman的隐含层只有一层,当模型变量比较多,尤其是输入变量很多时,为了加快模型的收敛性,减少模型的训练时间,通常先试验性地将Elman隐含层进行扩展,增加模型隐含层的数量,但是不能增加过多,当模型中隐含层的数量太多,模型就会变得庞大,使其结构变得更为复杂,甚至出现过拟合,降低模型的预测性能,增加模型训练时间。

据经验公式,先把隐含层数设置为一,隐含层节点数为3个,并逐步增加这两个数值,以寻找优化的隐含层数和节点数。

7 隐含层节点数的自适应调节

应该结合各种条件来对模型隐含层节点数进行选择和条件。选择和调节隐含层节点数首先要遵循的原则为:在确保模型具有较高精度的情况下,使用尽可能少的节点数目。本论文选择隐含层节点的方法就是通过隐含层自身的调节。对每种隐含层节点数目情况下,模型的预测情况进行判断和估计,找出其中最佳预测效果对应的节点数目。当模型使用的预测数据或者是训练数据发生变化时,其隐含层节点数目也会发生改变,自动更新,寻找在不同训练数据和预测数据下最佳节点数目。该过程的关键就是每次节点数目发生变化时,都有其所对应的MAPE作出评估,找到最优MAPE所对应的节点数目。在整个过程中,上一次计算得到MAPE值会被下次计算得到MAPE值所取代,直到得到该值的最小值,我们使用矩阵来对这些MPAE值进行存储,通过编程的方法将每次得到MPAE值都存储在该矩阵中,这样就避免MAPE值得丢失。

本文使用Matlab神经网络工具箱提供函数设计Elman模型。其中用tansig()函数来完成输入层到隐含层的传递,用线性函数pureline()来完成隐含层到输出层的传递。采用反向传播的自适应学习速率动态梯度下降算法,用traingdx()函数进行训练。在此训练过程中,学习速率能够自我调整,网络训练效率得到提高。该网络模型的拟合精度较高,收敛速度也较快。

8 实验数据及环境

对H公司的历年销售情况使用了以下3种模型进行预测:(1)传统的BP模型;(2)为传统的Elman模型;(3)为本论文改进的Elman模型,在实验之前首先对H公司销售数据进行如此分类:选择其中的某些数据当作预测集,选择其中的另一些数据作为样本集。对于神经网络模型来说,要将数据分为检验集和训练集,实验之前的数据预处理。

从之前构建的H公司23年的销售数据库随机挑选280个数据作为模型的输入数据,该数据主要包含以下3个属性:(1)产品的销售情况;(2)产品的成品率;(3)产品的价格。建立的数据时间序列如表1所示。

表1 数据时间序列

本论文在笔记本电脑上对上述实验数据进行了Elman的模拟,使用的编写软件为Matlab,使用的操作系统为微软Windows 7。

9 自适应Elman神经网络模型的验证

经验证,采用第1—144个数据作为训练集,第145—159个数据作为预测集时,隐含层节点数为9时,预测误差MSE最小,故模型的最佳隐含层节点数为9;用第51—190个数据作为训练集,第191—210个数据作为预测集时,隐含层节点数为6时,预测误差MSE最小,故模型的最佳隐含层节点数为6;第二样本数据采用第100—240个数据作为训练集,第241260个数据作为预测集 时,隐含层节点数为4时,预测误差MSE最小,故模型的最佳隐含层节点数为4。可以看出随着样本的更新,自适应Elman神经网络模型都可以自动建立最优模型,达到了自适应调节的目的。可以提高预测精度。

10 结语

本文针对BP网络动态性能差、易陷入局部最小值的特点,提出了自适应Elman神经网络预测模型。对隐含层节点数自适应,使隐层节点数能够随着训练集和预测集的更新不断地自我调节,可以自动选取最优的隐层节点数,网络能根据最新训练结果自动调整,从而让整个神经网络的性能更加优越。

Application of Elman neural network in enterprise’s annual sales targets forecasting

Zhang Guo
(Lucky Huaguang Graphics Co., Ltd., Nanyang 473000, China)

This thesis mainly discusses a method of forecasting the company’s future sales status accurately and rapidly. This paper introduces the Elman neural network method to predict the future of the company’s sales situation, and the Elman neural network was programmed by MATLAB program to realize the estimation of the future sales of a company, and formed a future sales charts of company, the enterprise can make feasible strategy through the analysis of the statistical chart.

Elman neural network; prediction of annual sales target; forecast

张果(1976— ),男,河南南阳,硕士,主任科员;研究方向:人工智能,大数据预测。

猜你喜欢

层数神经网络销售
填筑层数对土石坝应力变形的影响研究
上海发布药品包装物减量指南
神经网络抑制无线通信干扰探究
MoS2薄膜电子性质随层数变化的理论研究
这四个字决定销售成败
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
住在哪一层
基于支持向量机回归和RBF神经网络的PID整定
销售数字