粒子群优化的神经网络用于铁路客运量预测
2018-07-12周颖陈书文通讯作者张容江苏第二师范学院数学与信息技术学院
周颖 陈书文(通讯作者) 张容 江苏第二师范学院数学与信息技术学院
随着国民经济快速发展、人口增多、人们外出机会的增加,我国铁路客运压力越来越大。准确地预测铁路客运量的年度增幅,对铁路建设的规划和运营时的车辆调度,有着重要意义。实际生活中,铁路客运量的变化是多种因素共同作用的结果,不同因素的影响程度不同,相关部门也迫切希望能对这些因素的贡献率进行定量分析,其结果可作为管理决策的依据。当前,传统的预测方法主要有灰色预测、时间序列预测等,它们一般都是基于随机过程的序列预测,只适用于影响因素较少的情况。另一方面,铁路客运量在时间上具有不确定性和高度的非线性等特征,很难找到准确的数学表达模型。人工神经网络技术因其支持多维数据的非线性映射能力,适用于复杂的非线性预测问题。但传统的神经网络也有局限性,如BP神经网络存在训练收敛速度慢,不具有全局搜索能力,易陷入局部极值点。而粒子群算法具有收敛速度快、全局搜索能力强,若用它来优化神经网络的结构和连接权值,可以较好地克服上述缺点,增加神经网络的泛化和学习能力。
因此,本文提出粒子群优化的BP神经网络方法,用于铁路客流量的准确预测。实验结果表明,该模型学习速度与预测精度大幅提高,可作为铁路客流预测工具应用于实践。
1 基于粒子群的神经网络方法
1.1 BP神经网络
BP神经网络是一种单向传播的多层前向网络,主要包括3层:输入层、输出层和隐含层。各层节点之间相互连接,但同层节点之间没有任何连接。神经网络的训练过程包括:信号的正向传播和误差的反向传播。在正向传播过程中,信号依次经过输入层、隐含层、输出层,前一层神经元的状态能对下一层神经元产生影响;在反向过程中,误差信号经输出层、隐含层、输入层反向传播,对各层神经元的权值进行调整,这样通过反复修改连接权值和阈值来减小网络输出误差,直至算法收敛。
1.2 粒子群算法
粒 子 群 算 法(Particle Swarm Optimization,PSO)是 一 种基于群体智能理论的全局优化技术。数学模型描述为:在一个连续的D维空间中,粒子群的规模为N,每个粒子的坐标位置为D维向量粒子运动速度为单个粒子
位置按如下公式更新
图1 粒子运动速度和位置更新示意图
1.3 粒子群优化BP神经网络(PSO-BP)
使用粒子群算法(PSO)优化BP神经网络权值的关键概括为:一是建立粒子群的维度空间与神经网络连接权值之间的映射关系,即每个粒子的维度分量对应为神经网络中的一个连接权值(包括偏置值);二是用神经网络输出的均方误差作为 PSO 的适应函数,通过其强大的全局搜索能力使网络的均方误差最小化。例如一个3层的神经网络,当输入层神经元数为m,隐含层神经元数为n,输出层神经元数为l时,粒子的维度
D就是神经网络的所有权值与阈值数量之和,即
训练样本确定后,神经网络的实际输出可看作以权值和域值为自变量的函数,则适应度函数可选为所有样本网络输出的均方误差
2 数值实验
2.1 训练样本的获取与预处理
相关影响因素选取2003至2016年的国内生产总值(亿元)、全国人口数量(万人)、城镇人口数量(万人)、国内游客数量(百万人次)、居民消费水平(元)、经济活动人口(万人)、旅客运输总量(万人)、人均国内生产总值(元)8个指标作为神经网络的训练输入,并用统计当年的后一年全国铁路客运量(万人)作为神经网络的输出,所有数据均来源于国家统计局(http://www.stats.gov.cn/)及行业主管部门发布的信息。由于原始数据不同维数之间的取值范围相差较大,需预先映射到[-1,1]的区间中,再送入训练。
2.2 收敛过程
设置BP网络隐含层的神经元数为10 , 粒子群总数为14,最大迭代次数为100,收敛门限为10-6。从图1看出,PSO-BP神经网络经过5轮训练可以收敛。
图2 PSO-BP神经网络训练过程
当网络输入2017年的统计数据:国内生产总值GDP(827122亿元)、全国人口数量(140500万人)、城镇人口数量(81347万人)、国内游客数量(5000百万人次)、居民消费水平(23300元)、经济活动人口(80734万人)、旅客运输总量(1851000万人)、人均国内生产总值(59660元),神经网络预测出2018全年的铁路客运量为326980万人。
2.3 影响因素权重分析
由于管理和决策部门需要了解不同影响因素对铁路客运量的贡献大小,可以对已训练好的神经网络通过变化要测试的影响因素,重新查看网络的输出来计算。测试中,其它因素固定不变,最终结果表明,人均国内生产总值、居民消费水平二个因素对铁路客运量的贡献影响最大,其他因素影响较小。其中人均国内生产总值每增加1‰会使铁路全年客运压力增加161万人,居民消费水平每增加1‰,会使铁路全年客运压力增加96万人。我国经济连续多年的发展,使得人均居民消费水平不断提高。大规模的高铁建设也使得铁路出行越来越便捷,成为居民的首选。所以,即使在全年旅客运输总量有所下降的情况下,铁路承担的客运量仍在逐年上升。
3 结论
本文提出使用粒子群优化的BP神经网络预测铁路客运量,该模型学习速度与预测精度大幅提高,可作为铁路客流预测工具应用于实践。相比2017年的数据,2018年铁路客运量的预测值增加了18480万人次,增幅达5.9%左右。此外,根据测算,当前的人均国内生产总值和居民消费水平二个因素对铁路客运量的贡献影响较大。