基于BP神经网络的卷烟零售量价控制研究

2013-11-28 10:12张伟丰魏仁干杨丽华
湖北汽车工业学院学报 2013年1期
关键词:隐层训练样本卷烟

张伟丰,魏仁干,杨丽华

(湖北汽车工业学院 经济管理学院,湖北十堰442002)

烟草公司在区域烟草营销中存在着超出限量供货或供货量不足、价格管理不到位的问题,影响市场价格的稳定和零售客户的满意度,同时各营销区域和各个品类卷烟的市场需求量和市场价格受诸多方面因素的影响,给市场的调控带来了困难。本文以价格波动为切入点,提取不同供货周期里各销售区域里的平均零售价格和实际销售量,建立供货量的分时段预测模型,采用BP神经网络进行预测。通过对下一周期供货量的预测,找到比较切合实际的市场供需状况,进而实现相对精准的货源投放。

卷烟货源投放量预测除了采用常规的建立输入和输出变量之间的线性关系外,也可采用建立人神经网络的非线性方法。由于神经网络具有通过学习逼近任意非线性映射的能力,可以很好的表达非线性系统的黑箱式输入输出模型,将神经网络应用于非线性系统的预测,不受非线性模型的限制,表现出了比常规方法明显的优越性。

1 BP神经网络原理及算法描述

BP神经网络包括输入层、隐层和输出层,信息由输入层传递到隐层神经元上,经过各神经元作用函数运算后由输出层输出,训练过程为正向和反向传递,输入信息经隐层传递至输出层,若输出结果与预期值有误差,则将误差信息沿网络返回,修改网络权值,重复此过程直到达到训练精度。BP算法的具体过程描述如下(三层网络结构):

设定学习次数初值t=0,用小的随机数初始化网络权值和阈值,Wij(t)∊[-1,1],Wjk(t)∊[-1,1],θj

(t)∊[-1,1],θk(t)∊[-1,1]。

1)输入一个学习样本(Xp,Tp),其中P∊(1,2,…,N),N为样本数,(Xp∊Rn,Tp∊Rm)。

2)计算隐层各节点的输出值

其作用函数为log-sigmoid型函数

3)计算输出层各节点的输出值

其作用函数为线性purelin 函数

4)计算输出层节点和隐层节点之间连接权值的修正量

5)计算隐层节点和输入层节点间连接权值的修正量

6)修正输出层节点k和隐层节点j的连接权值Wjk,修正输出层节点k的阈值,其中σk为第5)步中求出的误差修正量

7)修正隐层节点j和输入层节点i的连接权值Wji,修正隐层节点j的阈值,其中σj为6)中求出的误差修正量

8)如果未取完全部学习样本,则转至第2)步。

9)计算误差函数E,并判断是否小于规定误差上限,如果小于误差上限或学习达到次数限制,则算法结束;否则更新学习次数(t=t+1),返回第2)步。

2 卷烟产品货源投放量预测

在一定时期内,影响卷烟产品价格的因素很多,如货源投放量,零售商数量,消费者可支配收入,消费者偏好等等,同时价格的变化一方面由未知的不确定因素引起的随机波动,另一方面又具有随时间变化的规律性,因此价格变化曲线是一个与很多因素相关的复杂的非线性函数,由于神经网络具有较强的非线性映射特性,避免了预测的不准确和数据的不稳定。

2.1 预测模型的建立和输入输出向量设计

在所有影响产品价格的因素中,货源投放量是最敏感和最直接的因素。对于某一卷烟产品,以各营销区域的一段时期的平均价格、实际销售量的历史统计数据作为训练样本,通过神经网络的训练,建立价和量之间的映射关系。

量价预测模型采用单隐层网络结构,即分别为输入层、隐层、输出层,其中隐层神经元作用函数为log-sigmoid 函数(Logsig),输出层作用函数为线性函数(purelin)。根据BP神经网络量价预测的要求,确定网络输入和输出单元数,由于卷烟销售分为7个营销区域,以各区域的平均价格作为网络的输入变量,以各区域供货周期内的实际销售量作为网络的目标变量,这样输入输出变量均为7 维向量,根据Kolmogorov 定理,取隐层神经元为12~20个。

为了对网络进行有效的训练,选取的样本容量应该足够大,样本过少使得网络的表达不够充分,导致网络外推的能力不够,同时样本数量不宜过大,以避免过度训练状态,当网络进入过度训练状态时,验证误差会逐渐增大,增大到一定程度时,网络训练就会提前停止,导致网络预测精度下降,因此应选取合适数量的训练样本。烟草公司以半个月为供货周期,选取2012年1~8月的16 组实际销售数据作为训练样本,以某一个卷烟产品(黄鹤楼(硬珍))销售区域的销售数据为例,整理后的样本数据如表1所示,销售区域为张湾、郧西、房县、竹山、丹江口、郧县、茅箭。

获得输入和输出向量后,要对其进行归一化处理,将样本数据转换为区间[0,1]之间的数据,对价格和销量分别按式(1)进行处理:

其中:x为某一供货周期内某个营销区域的平均价或销售量;xmax和xmin分别为各周期某营销区域内样本的最大值和最小值。

2.2 网络训练和预测结果的验证

网络经过训练后才可用于卷烟货源投放量预测,考虑到网络结构比较复杂,神经元个数比较多,需要适当增大学习速率和训练次数,对主要参数设置如下:训练次数1000,学习速率取0.1,训练精度为10-5,适当增加隐层神经元数量可以提高训练精度,但数量过多会增加网络的训练负担,隐层神经元个数选择3个值,分别为12、16和20,并分别检查网络的性能,选择性能最好的网络进行预测。

表1 训练样本数据表

图1 BP网络训练误差曲线

将表1的样本数据归一化处理后,用上述3种不同隐层单元数的BP网络进行训练,得到训练误差曲线如图1所示,通过比较发现,隐层神经元数过多或者过少都不利于网络训练,隐层神经元数为16时网络的收敛速度比较快。

以隐层数为16的BP网络作为预测模型,在完成网络的训练后,选择测试数据来评估网络的预测性能,首先从训练样本中选取一组数据作为测试数据检验网络训练精度,预测的误差曲线如图2所示。

由图2可见,网络对训练样本的预测误差接近于0,说明网络的训练精度非常的高,对每组训练样本数据都精确的拟合了,可以用来对训练样本以外的测试样本来进行预测。

选取2012年9月2个供货周期内的销售数据作为测试样本,首先对测试样本的输入向量进行归一化处理,然后计算网络的输出,将输出值按式(2)进行反归一化,得到BP网络预测值:

图2 BP 训练样本预测误差曲线

将网络预测值与实际值进行比较,测试样本和预测结果如表2所示。

表2中2个测试样本的预测误差曲线如图3所示,网络输出值和实际值的绝对误差值在±0.1以内,可以满足应用要求。对其输出值反归一化后,上述2个测试样本的预测值和实际值的对比图如图4所示。

从对比图可以看出,对这种卷烟产品用该模型预测的销售量和实际销售量拟合的较好,相对误差均在3%以内,说明模型有比较高的预测精度,可以用于各营销区域的卷烟产品投放量预测。

表2 测试样本及预测结果

图3 测试样本预测误差曲线

图4 测试样本预测值和实际值对比

3 小结

通过选择烟草公司各个营销区域具有一定可靠性的样本数据,分析和确定了模型参数,经过样本数据的训练,建立了卷烟投放量的BP网络预测模型,测试结果表明有较好的预测准确度。根据卷烟产品的平均价格,可以用该模型相对准确的预测下一周期的产品实际需求量,以此为依据来控制各个营销区域的货源总投放量,经过过一段时间的调整,可以较好的满足市场需求,实现各类卷烟产品市场价格的稳定。

[1]金保明.LMBP算法在闽江上游十里庵站洪水流量预测中的应用[J].福州大学学报:自然科学版,2012,40(4):527-530.

[2]李善梅,徐肖豪,孟令航.基于聚类神经网络的机场拥挤等级预测[J].计算机工程与应用,2012,32(6):160-165.

[3]向平,张蒙,等.基于BP神经网络的城市时用水量分时段预测模型[J].中南大学学报:自然科学版,2012,43(8):3320-3324.

[4]张月琴,刘翔,孙先洋.一种改进的BP神经网络算法与应用[J].计算机技术与发展,2012,22(8)∶163-166.

[5]熊兴吾,孟茁超.基于时间序列与神经网络的软岩隧道变形预测模型及其应用[J].交通科学与工程,2012,28(2):53-60.

[6]鲁明旭,叶银忠,马向华.神经网络在地铁客流预测中的应用[J].机械研究与应用,2012,37(3):85-89.

[7]张伟丰.基于ID3算法的卷烟产品零售客户分类研究[J].湖北汽车工业学院学报,2012,26(3):52-54+69.

猜你喜欢
隐层训练样本卷烟
基于RTD可编程逻辑门的n变量函数实现算法
基于BP神经网络学习算法的图像压缩技术研究
人工智能
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
宽带光谱成像系统最优训练样本选择方法研究
融合原始样本和虚拟样本的人脸识别算法
基于稀疏重构的机载雷达训练样本挑选方法
卷烟包装痕迹分析
我国卷烟需求预测研究述评
卷烟引燃倾向测试方法的研究与改进