基于BP神经网络的旅游需求预测

摘要:文章基于旅游需求的时间序列统计数据,以BP神经网络理论为基础,构建了旅游需求预测模型:借助MAT-LAB软件进行旅游需求神经网络预测模型的建立与实现,通过对实际数据的分析,说明了该方法的有效性。

关键词:预测;旅游需求;神经网络;BP

一、问题的提出

在旅游发达国家,计量经济学已经应用到旅游经济研究之中。1961年一篇名为《国际市场上旅游商品与服务的需求》的文章问世,旅游需求预测领域引起人们的关注。1973年,Strazhein、Harrop等人应用旅游需求收入弹性和价格弹性来解释国际旅游需求的高速发展。1991年,sungSoo Pyp在《旅游需求的线性消费模型》中运用模型分析价格、收入、时间等因素对旅游需求的影响。然而,影响旅游需求的因素多且复杂,许多因素本身尚具模糊性、混乱性,所以上述种种努力效果甚微。在旅游经济的发展过程中。的确有某种规律性的东西,或者称为模式。这种规律性的东西常常蕴涵于看似杂乱无章的大量历史数据中,因此,要想获得有效预测,关键在于根据历史数据发现规律。从数学的角度看,就是建立某种映射关系(函数)。并进行函数的拟合,神经网络是解决这一问题的最佳工具之一。

经过几十年的发展,已经形成了上百种人工神经网络。1974年,P.Werbos在其博士论文中提出了第一个适合多层网络的学习算法,但该算法并未受到足够重视和广泛的应用。直到20世纪80年代中期,DavidRunelhart,Geoffrev Hintorl和RorlaldWilliams,David Parkr,以及Yannn Le Cun分别独立的发现了BP算法。1986年,美国加利福尼亚的PDP(parallel distributed pro-cession)小组发表了《Pardlel DistributedProcessing》一书,将该算法应用于神经网络的研究。才使之成为迄今为止最著名的多层网络学习算法——_BP算法,由此算法训练的神经网络,称之为BP神经网络。标准的BP网络是根据W-H学习规则,采用梯度下降算法,对非线性可微分函数进行权值训练的多层网络。由Kolmogorov定理和BP定理可知,对于一个3层BP神经网络,只要隐层节点数足够多,就具有逼近任意复杂的非线性映射的能力。

目前,在人工神经网络的实际应用中,大多数的人工神经网络模型是采用前馈反向传播网络(Back-Propagation-Net-work,BP网络)或它的变化形式,它是前向网络的核心,体现了人工神经网络最精华的部分。

BP神经网络,即多层前馈式误差反传神经网络。通常由输入层、输出层和若干隐含层构成。每一层都由若干个节点组成,每一个节点表示一个神经元,上层节点与下层节点之间通过权连接。层与层之间的节点采用全互联的连接方式,每层内节点之间没有联系。以一个3层结构的BP神经网络为例,即含有一个输入层、一个输出层和一个隐含层,其结构如图1所示:

二、旅游需求神经网络预测模型的建立

网络设计是一个综合性问题,它应满足多种不同要求。其中有较好的推广能力是最主要的。一般说来。推广能力决定于3个主要因素,即问题本身的复杂程度、网络结构以及样本量大小。在一般情况下。旅游需求预测研究中样本的数量是一定的。因此可归结为在样本量一定的情况下,如何选择网络规模的问题。

在进行BP网络预测模型设计时,主要考虑以下因素:网络的层数、每层中的神经元个数和激活函数。

(一)确定网络层数

由Kolmogorov定理和BP定理可知,一个3层BP神经网络。只要隐层节点数足够多,就具有逼近任意复杂的非线性映射的能力。因此,设计结构简单的3层BP神经网络就可以满足要求。

(二)确定各层中神经元的个数

根据旅游需求的已有数据,确定输入层神经元的个数为6,输出层神经元的个数为1。

隐层节点个数与训练速度有关,但其真正的含义是与实际问题的决定因素相对应的,因为隐层节点的作用是从样本中提取并存储其内在规律。当采用一个隐含层的时候,为了提高网络的训练精度,可以通过增加隐含层神经元的个数来实现目标。如果隐含层神经元的个数过多,会增加网络的迭代次数,从而使网络的训练时间延长,同时也会降低网络的泛化能力,导致预测能力下降;反之。如果隐含层神经元的个数过少。则网络很难识别样本,难以完成训练,并且网络的容错性也会降低。

通过多次试验,确定隐层节点个数为40。

(三)确定激活函数

确定激活函数tansig和purelin。

三、实验分析

(一)网络训练

数据的选择与数据表示的科学合理性对网络设计有重要影响。数据的准备包括数据的收集、数据的分析、变量的选择和数据预处理等步骤。

1、数据的收集。样本来源于《中国旅游统计年鉴》,从1993—1999年各年1-12月的外国人人境旅游人数,共采集84个数据。

2、数据的预处理。为了保证数据为同一数量级,首先需要对神经网络的输入和输出数据进行一定的预处理:将原数据乘以10-5将采集的数据进行预处理,如表1所示。根据采样方法,将数据划分为78组,构成训练和测试样本集。其中,前72组样本为网络训练样本集,后12组样本组成网络测试样本集。样本选取如图2所示。图3表明,随着训练次数的增加,网络最小误差逐渐降低。当训练次数达到24974次时,网络达到设定的误差。即网络完成训练。

(二)网络预测

以1998年7—12月的旅游人数作为网络输入,网络计算出1999年1月的预测旅游人数:然后将1998年8月—1999年1月的旅游人数作为网络输入,网络计算出1999年2月的预测旅游人数。依次滚动。即可预测1999年1—6月各月的旅游人数。最后,将预测结果乘以105进行还原。

(三)预测结果分析

通过表2中神经网络的预测值与拟合直线方程法的预测值作比较,可见应用神经网络进行旅游需求预测是可行的。且其在精度上较拟合直线方程法好。

四、结束语

将神经网络应用到旅游需求预测中,对于这种非线性的预测,具有很好的效果。当然,还有很多不足之处需要改进。例如,分组数的确定、BP算法的隐层数的确定等,怎样能使预测精度提高还需要进一步进行探讨。

参考文献:

1、叶世伟,神经网络原理[M],机械工业出版社,2004

2、周开利,康耀红,神经网络模型及其MATLAB仿真程序设计[J],清华大学出版社,2005

3、高隽,人工神经网络原理及仿真实例[M],机械工业出版社,2003

4、夏冰,富强,徐海静,白素英,数学方法在经济领域中的应用——应用拟合直线方程法进行旅游需求预测[M],金融理论与教学,2008(4)

5、焦淑华,夏冰,徐海静,刘莹BP神经网络预测的MATLAB实现[J],金融理论与教学,2009(1)

6、孙伟,加权拟合直线法在旅游需求预测中的应用[J],数学的实践与认识,2009(2)

7、戚德虎,康继昌,BP神经网络的设计[J],计算机工程与设计,1998(4)

推荐访问:需求预测 神经网络 旅游 BP