BP神经网络在防城港货物吞吐量预测中的应用
2010-04-23王红双张欣蕾朱荣艳北京化工大学北方学院经济管理学院北京101601
王红双,张欣蕾,朱荣艳(北京化工大学北方学院 经济管理学院,北京 101601)
0 引 言
港口是社会和国民经济发展的基础性设施,对国民经济发展具有不可代替的作用,是港口发展战略研究的重要内容。正确预测港口吞吐量,对于合理、科学的港口布局、基本设施投资、营运策略、发展战略以及与集疏运相关的综合运输规划是十分重要的,并且事关港口经济腹地经济的发展和我国在国际经济中的竞争力。
港口吞吐量是一个复杂变量,受到多方面因素的影响。就这一作用系统而言,还存在着许多无法确知的内容和关系,它符合BP神经网络预测的特征。文中拟以防城港吞吐量为建模数据,用BP神经网络预测理论对其预测进行探讨。
1 BP神经网络
1.1 BP神经网络的理论基础。BP神经网络(Back-Propagation Network)包括以下四个单元:处理单元,即神经网络的神经元,输入层的处理单元将输入值转入相邻的联接权重,隐层和输出层的处理单元将它们的输入值进行求和,并根据传递函数计算输出值;联接权重,它将神经网络的处理单元联系起来,其值根据各处理单元的联接程度确定;阈值,它使网络更自由地获取所要描述的函数关系;传递函数,它将输入数据转化为输出数据,通常为非线性的logsig和tansig函数,有的输出也采用线性的purelin函数。
BP算法是由两部分组成:信息的正向传递与误差的反向传播。在正向传播过程中,输入信息从输入层经隐层逐层计算传向输出层。如果在输出层没有得到期望输出,则计算输出层的误差变化值,然后转为反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各神经元的权值和阈值直至达到期望目标。
1.2 BP神经网络预测的特点。(1)BP神经网络能学习和存储大量输入输出模式映射关系,而无需事先了解描述这种映射关系的数学方程,只要能提供足够多的样本模式对供BP网络进行学习训练,它便能完成由n维输出空间的非线性映射。(2)神经网络训练完成后,可以利用该网络对样本区域内的其它输入量求解其输出值,这种求值的方法称为神经网络的仿真或泛化。神经网络是否成功不在于对样本本身拟合误差的大小,而关键在于其泛化效果。(3)前馈神经网络允许输入样本中带有较大的误差甚至个别错误,因为对权值的调整过程也是从大量的样本中提取统计特征的过程,反映正确的规律来自全体样本,个别样本中的误差不能对权值的调整带来很大影响。
2 防城港货物吞吐量预测的BP神经网络建模
2.1 建模原理。一般而言,影响港口货物吞吐量的因素可以分为可量化和不可量化因素。其中类似于港口所在地区的经济水平等指标是可量化,但是其它的影响因素如政策因素、港口自然条件、世界经济形势、管理因素、服务因素等指标是不可量化的,一些因素是不确定的,还有一些因素会随时间变化而变化的,此外,可能还存在一些没有考虑到的因素。同时,获取充足的历史数据相当困难。因此,本文采用基于时间序列的BP神经网络对防城港货物吞吐量进行预测。
(1)首先将样本序列分组,每m+1个值为一组,前m个值作为网络的输入,后一个值作为输出结点的期望值。根据经验,本文对防城港货物吞吐量划分每4年数据作为一组,前3年的数据作为输入,后一个数据作为输出的期望值。输入、输出的数据划分如表1所示。
表1 输入、输出数据划分
这样将26年的历史数据划分为23组,前22组作为训练,第23组作为检验。
(2)为了加快网络的收敛速度,需要对样本做归一化处理,即:。
其中xmin和xmax分别是观测值中的最小值和最大值,当得到预测结果时,再对预测结果做反归一化。
2.2 BP神经网络预测实施。本文以防城港为例,介绍基于时间序列的BP神经网络方法在港口货物吞吐量预测中的应用。防城港1983~2008年货物吞吐量的历史数据见表2。
表2 防城港历年货物吞吐量 单位:万吨
2.2.1 网络设计。基于上述建模原理,本文采用三层网络结构,输入层结点为3个,输出层为1个。训练样本22组,检验样本1组。网络隐层结点数的确定是一项又重要而又困难的问题,如果隐层结点数过少,网络不具有必要的学习能力和信息处理能力。相反,如果隐层结点数过多,会增加网络结构的复杂性,会使网络的学习速度变得很慢。通常要经过反复试算决定,本文通过试算得出当隐层结点数为7时,网络收敛较好。选择的隐层传递函数为tansig,输出层的传递函数为purelin,训练方法为trainlm,最大训练次数为1 000,训练目标为10-6。
2.2.2 数据处理。为了便于神经网络的训练,将历史数据进行归一化处理,输入输出数据经过归一化处理后的结果见表3。
表3 输入输出数据预处理结果
2.2.3 网络的训练及检验。通过对数据的预处理后,对前22组数据进行训练,对网络的输入层与隐层、隐层与输出层之间的连接权值以及各层神经元的阈值进行调整,最后得到比较合理的数值。训练的过程见图2。
网络对历史数据的拟合情况见图3。从图中可以看出网络对历年的货物吞吐量拟合较好,将预测的结果通过反归一化处理后,计算预测的相对误差见表4。
由上表看出,网络拟合精度很高,将第23组数据 [0.5403 0.6759 0.8186]输入到网络中,得到归一化后的检验值,将其还原后得到预测值为3 631.7万吨,与实际值3 701万吨相比,误差为-1.8717%,属于高精度预测,表明该网络可以用来预测。
2.2.4 预测。在此网络基础上对未来四年防城港货物吞吐量进行预测,预测结果见表5。
2.3 预测结果分析。通过预测,可以看出防城港在随后的几年里,货物吞吐量会持续增长。国民经济及对外贸易的发展与港口的发展息息相关,近几年我国国民经济的稳定增长,随着我国加入WTO后关税的降低和贸易壁垒的逐步取消,我国海运业快速发展。西部大开发进一步实施和中国—东盟贸易区的建立,更加确定了防城港作为大西南便捷出口港的地位,防城港货物吞吐量将稳定增长。2010年,港口吞吐量将突破5 000万吨,到2012年,港口吞吐量又将突破6 000万吨。
3 结束语
使用此模型进行预测时,应该注意几个问题:(1)采用BP神经网络进行预测,其精度受传递函数tansig和logsig的影响,会随着时间推移而降低,故不宜做长期预测。(2)BP神经网络存在着收敛速度慢、容易陷入局部极小值的缺点。由于初始权值和阈值的随机性,在同一个样本集下训练,每次训练的结果都不一样。(3)隐层网络结点数的确定非常重要,但是至今没有任何理论上指导,尽管有一些经验公式,但仅供参考而已,所以通常要反复试算。所以,BP神经网络与其他预测方法比较,更加不易于实现。(4)虽然神经可以避免一些数据的收集工作,但是在网络进行训练时仍需大量的历史数据,所以平时要注意一些可量化数据资料的收集与保存。
表4 1986~2005年的预测值及误差 吞吐量:万吨
表5 2009~2012年货物吞吐量预测结果 单位:万吨
[1]刘长俭,张庆年.基于时间序列BP神经网络的集装箱吞吐量动态预测[J].水运工程,2007(1):4-7.
[2]葛慧玲,高春雨,焦扬,等.于BP神经网络的中国大豆进口量预测[J].东北农业大学学报,2007(2):65-67.
[3]徐杏,史喜军.深圳港基于BP神经网络的集装箱预测模型[J].河海大学学报:自然科学版,2002(4):41-44.
[4]徐国志,李茂元.基于matlab神经网络工具箱进行港口集装箱运量预测[J].港工技术,2003(4):15-17.
[5]张庆年.前馈神经网络的特性分析与应用[J].武汉交通科技大学学报,1999(4):372-375.