基于神经网络的游客流预测
2021-01-06张青凤
曹 爽,张青凤,张 雷,孙 涛
(运城学院数学与信息技术学院,山西运城044000)
0 引言
随着经济的不断发展,我国的旅游消费需求开始不断增长.旅游业成为了经济发展中的支柱型产业,它能够带动经济消费、解决就业问题等.对景区游客数量的精确预测[1-2],可以帮助旅游相关部门制定合理的旅游规划,优化配置并避免因决策失误造成的经济和环境损失.传统的景区游客数量预测方法[3],在面对突发状况的预测结果和实际状况之间的误差很大[4],而BP神经网络有处理该问题的能力[5].本文基于BP神经网络对景区游客数量进行预测[6],预测结果更准确,更适用于游客数量现实状况的预测.
1 BP神经网络原理
BP(Back Propagation)神经网络[7-8]也称前馈神经网络[9],是一种按照误差逆向传播[10]算法训练的网络结构[11].它的参数权重值[12]是由反向传播学习算法[13]进行调整的,拓扑结构[14]包括输入层(input)、隐藏层(hide layer)和输出层(output).利用激活函数实现从输入到输出的任意非线性映射,从而模拟各层神经元之间的交互[15],常用的激活函数为sigmoid函数.
2 BP算法步骤
Wij表示隐含层第i个节点到输入层第j个节点之间的权值;
Xi表示第i个输入变量;
θi表示隐含层第i个节点的阈值;
Φ(x)表示隐含层的激励函数;
ak表示输出层第k个节点的阈值k=1,…,L;
Ψ(x)表示输出层的激励函数;
输出层第k个节点的输入Nk,k=1:
输出层第k个节点的输出Ok,k=1:
主要操作步骤如下:
1)将样本数据分成测试集和训练集,并对其进行归一化处理.
max为样本数据最大值,min为样本数据最小值.
2)参数初始化.设置最大迭代次数、学习率、训练目标.
3)训练网络.并把归一化数据放入网络输出数据,将得到的数据反归一化得到预测结果.
3 数据仿真实验
使用软件MATLAB R2016b编写实验仿真代码.
3.1 BP 网络预测模型
3.1.1 BP预测模型输入输出变量
实验数据为山西省永济市鹳雀楼2015-2019年5月份的每日游客数量及其他相关数据,由运城市旅游局和气象局提供.选出与游客当天实际数量y关联度最大的三个因素:运城市的国内生产总值o1(景区5月每天的收入),景区周围酒店每日入住游客数量o2,景区网站每天的订票数量o3作为BP网络预测模型的三个输入变量.
分析数据显示,对景区鹳雀楼5月份游客数量波动影响较大的两大因素,分别是节假日和天气,在节假日期间可发现游客数量明显增加,雨天显著减少.由于天气和节假日均是非数值型变量,而神经网络只能处理数值类型的输入变量,所以对两大因素采取如下变换:
t0=-1(节假日),t0=1(非节假日),t1=-1(雨天),t1=1(非雨天);
其中,t0为节假日因素.t1为天气因素.
综上,BP神经网络预测模型共5个输入变量,1个输出变量.
3.1.2建立BP预测模型
BP网络模型隐层节点数11,输出节点数1,输入节点数5,可得到5-11-1结构的预测模型.共有11+1=12个阈值,11×1+11×5=66个权值,则向量空间维数D=78,模型的输入向量为Vi=(o1,o2,o3,t1,t2),输出向量为Y,则BP网络模型的函数可表示为:Y=F(o1,o2,o3,t0,t1).
3.2 评价准则
实验从r2(拟合系数),RE(相对误差绝对值),MAPE(平均绝对百分误差)这三个角度对算法进行评估,假设测试集有Np给测试点,预测点的平均值为yt,真实'值为yi,预测值为y,则
式(6)中,拟合系数r2用来评估模型的拟合能力,r2[0,1],r2越接近1,则模型的拟合能力越强.式(7),RE为预测点的预测误差.式(8),实际值与预测值的整体相对偏差,用来评估算法的准确性.
3.3 实验分析
山西省运城永济市鹳雀楼景区2019年5月份的31组数据用作测试数据集,2015-2018年5月份124组数据用作训练数据集,并用来对BP网络模型进行训练和测试.
3.3.1 BP算法参数初始化
确定初始参数:设置最大迭代次数为K=200,学习率为0.01,训练目标为0.00001.
3.3.2实验预测
因网络初始化的权值、阈值是随机的,所以每次运算结果都不一样,为找到理想结果,这里以3次预测为准.下图为3次预测结果.
图1为运城2019年鹳雀楼游客数量预测,图2为真实值和预测值之间得到相对误差变化.
从图1中可看出真实值曲线大致上位于预测值曲线下方.从图2中可看出真实值和预测值间的相对误差在0到0.5之间,部分变化幅度较大.在五一劳动节前3天、后20天这2个时段相对误差预测准确度相对较高,整体预测效果较好.
从表1中可看出,3次预测的拟合系数r2值在90%以上,拟合能力良好.平均绝对百分误差值MAPE在10%左右,算法准确度较高.BP网络预测模型实验结果理想.
表1 三次预测结果评价指标值.
实验结果表明BP模型能有效解决非线性回归问题,在景区游客数量预测方面表现良好.但值得说明的是在5月5、22、23日这三天相对误差不稳定,BP模型对景区游客数量波动性方面的适应力有待提高.
4 结束语
对于游客数量的预测可以为旅游规划部门和旅游管理部门提供指导和帮助,具有至关重要的意义和作用,本文通过分析景区游客数量的强非线性和动态性,提出基于BP神经网络的游客数量预测算法.相比传统算法解决了因突发情况而带来的误差,提高了预测的效果和精确性,使研究成果更具科学性和应用价值.对鹳雀楼游客数量预测的实际预测显示,基于BP神经网络的预测模型有较高的预测准确率,用于景区游客数量预测是有效的.以后的研究重点是如何进一步提高BP算法对景区游客数量的预测精度.