张卫荣 王英存 王金凤
摘 要:该项目依托潍坊市科技发展计划项目,对该市部分运营公共汽车连续一个月的用户消费记录和车辆GPS数据进行研究,并充分考虑了节假日、天气变化等因素对客流量的影响,旨在建立一套公交站点客流量预测模型并将其应用于智能公交管理系统,从而有效预测客流量爆发点和未来各个时段客流量走势,为线路网络规划和公交车站的设置提供科学依据,其应用价值尤其体现在提高乘客出行体验和优化公交管理流程方面。
关键词:BP神经网络;公共交通;客流量;预测
中图分类号:TP18 文献标识码:A文章编号:2096-4706(2022)03-0067-04
Research and Application of Short-Term Passenger Flow Prediction of Bus Stations Based on BP Neural Network
ZHANG Weirong, WANG Yingcun, WANG Jinfeng
(Weifang Vocational College, Weifang 262737, China)
Abstract: Relying on Weifang City science and technology development plan project, this project studies the user consumption records and vehicle GPS data of some operating buses in the city for one month in a row, and fully considers the impact of holidays, weather changes and other factors on passenger flow, aiming to establish a set of passenger flow prediction model of bus stations and apply it to intelligent public transportation management system, so as to effectively predict the breakout point of passenger flow and the trend of passenger flow in various periods in the future, and provide scientific basis for line network planning and the setting of bus stations. Its application value is especially reflected in the aspects of improving passenger travel experience and optimizing the public transportation management process.
Keywords: BP neural network; public transportation; passenger flow; prediction
0 引 言
傳统公交系统核心功能在于公交信息管理,制定公交调度策略时常根据人工调查方式。人工调查耗费成本较大且样本有限,无法全面准确地掌握公交乘客出行规律。随着物联网、大数据等新一代信息技术的发展,大量车载终端、路边检测设备源源不断的自动反馈海量实时动态公交数据。公交企业仅仅利用传统数据处理方法对这些变化快、覆盖面广、隐藏价值高的海量公交数据进行浅层挖掘是不能真正实现公交线路优化和客流量引导的。
本项目设计和改进的BP神经网络算法对未来客流量进行预测,有效预测客流量爆发点和未来各个时段客流量的走势,为公交运力分配策略提供数据支持。系统充分考虑了节假日、天气变化等因素对客流量的影响,能够提高对于特殊节日和天气影响下的客流预测精度。以期实现公交企业对公共交通资源的科学调度和客流量引导进而为乘客提供个性化服务。
1 相关理论基础
1.1 特征工程
虽然特征工程既耗时又费力,但也是整个机器学习系列任务中最不可缺失的。原始数据必然包括大量噪声和冗余,特征工程的目的就是在最大限度保留原始数据内在规律的前提下通过更高效的特征表示减少数据不确定因素,便于后续计算。具体的特征工程实现步骤为:首先,数据清洗是将原始数据的异常数据进行清除,对于可以通过观察就能发现的异常值可以直接舍弃,另外还有一些算法和公式可以对异常值进行判断。其次,数据预处理是缺失值处理、归一化、特征编码等过程的总称,能够简化冗余信息。再次,特征选择能够保证机器学习的算法输入是有意义,进而保证模型训练的有效性。最后,如果特征选择产生的特征矩阵过大,需要进行降维处理以减少计算量,降低计算时间。常用的降维方法有主成分分析法(PCA)和线性判别分析(LDA)等。
1.2 神经网络
从人工智能的角度看,具有非线性激活函数的神经元是神经网络的基本单元,将大量神经元进行连接就形成了一个高度非线性的模型,神经元之间的连接需要进行加权,权重的确定可以通过梯度下降等方法不断训练。神经网络模型的训练过程就是根据数据确定权重和每个神经元阈值的过程。
设a表示神经元的活性值,z表示神经元输入,f(·)为激活函数,是一个简单的连续可导的非线性函数,可以增强神经网络的表示能力和学习能力。则,
设神经元接收输入个数为d,表示输入,表示权重,b为常量。则,
很多结构简单的神经元通过协作连接形成一个神经网络,可以实现复杂的功能。前馈网络由输入层、隐藏层、输出层组成,神经元之间不存在同层连接和跨层连接。输入层接收由向量或者向量序列表示的外界输入,隐藏层可以有多层并实现信息加工,输出层输出结果。前馈网络是一个有向无环路图,前馈网络信息向前朝一个方向传播,可以通过简单的非线性函数多次拟合实现,其结构单一,比较容易实现,包括全连接前馈网络和卷积神经网络等。
2 实现过程
2.1 数据采集
目前,潍坊市共有公交线路99条,其中市区线路80条,郊区线路13条,城际线路(指潍坊市辖县级市间线路)6条。潍坊市主城区共有公交车1 497辆,公交年客运量11 653.4万人次。本项目通过公交车辆的GPS监控设备和刷卡支付设备实现对部分运营公交车辆连续一个月的车辆GPS数据和用户消费数据的自动采集,共计1 400万余条记录。
获取数据后首先进行数据清洗去除异常值,在数据清洗后,通过车辆GPS数据与用户刷卡数据的线路编号、车辆编号和时间等字段进行关联匹配,将用户数据补充了上车站点名称、站点编号、线路方向等相关信息。由于公交车只采取乘客上车单次刷卡模式,为判断出下车站点的位置,项目组主要利用了刷卡人公交出行对称特征。对于多次刷卡的乘客则假设在连续的两次刷卡记录中,后一次刷卡记录的上车站点是上一次出行的下车站点。数据采集筛选策略如图1所示。
潍坊市全天公交出行总次数约为14万人次,常规人工调查抽样率一般为3%。而基于上述有效数据筛选策略,项目组获取的有效用户公交出行OD记录约3万条,数据采集手段采样率大于20%并远高于常规手段。
2.2 特征选择
原始数据清洗后,需要整理公交线路信息、站点信息、乘客消费信息。对缺失值进行填充并除去重复值,如站点名称可以用站点编号代替,那我们仅保留站点编号即可,然后使用pandas和matplotlib查看各类数据及其特征。根据生活经验可以归纳出,节假日、天气、线路类型、卡类型可能影响客流量,而这些因素又会影响短时公交站点客流量预测结果,进一步我们可以进行实际分析。设计日统计和小时算法,按每日和每小时统计客流量,可以肯定,工作日大致相同,每天早晚各有一个客流量高峰,周末客流量有所下降,且周末早晚高峰不明顯。
分析天气特征对客流量产生的影响。为了方便后续计算,使用天气特征。首先对降雨状况、风向、风力、气温进行数据标注,计算各个特征与客流量的相关系数,即特定数据与客流量的协方差与特定数据标准差*客流量标准差的商。结果表明,气温与客流量呈负相关;风力与客流量呈正相关;风向与客流量不相关;在不考虑节假日和出行人群类型的情况下,降雨状况与客流量相关性不大,但我们还是将降雨状况作为一种输入特征进行后续计算。
根据给定的输入参数:INPUT[日期(eg:20200901),时段(eg:8),节假日情况(周末or其他节假日)天气情况(降雨),最高温度,风力]。输出未来客流量的预测值:OUTPUT[Passenger_flow/h]。数据包括客流量历史数据、天气数据、节假日数据。提取7维特征值。
2.3 模型搭建
我们选用BP神经网络(Back Propagation Network)即误差反向传播神经网络作为模型。BP算法可以优化多层前向神经网络的权系数,其本质是按照误差函数的负梯度方向采用非线性规划的快速下降方法修改权系数,BP神经网络结构如图2所示。
给定训练集,,d为输入层数据特征个数,l为输出层神经元个数,隐层神经元个数为q,输出层第j个神经元阈值为θj,隐层第h个神经元阈值为γh,xi与bh之间的连接权值为vih,bh与yj之间的连接权值为ωhj。设bh输入为,yj输入为。
假设隐层和输出层激活函数为Sigmoid函数,则:
函数两侧求导,则:
f′(x)=f(x)(1-f(x))
假设训练例(xk,yk)的输出为,则:
均方误差为:
对上式求βj的偏导数即为输出层神经元的梯度项,设为gj,则:
类似可得隐层神经元的梯度项eh:
基于梯度下降策略的BP算法调整参数是以目标负梯度为方向,对于误差Ek,设学习率为μ,则有ωhj的更新:
,,
最后得到:
同理可得
,
BP算法具体流程为:
输入:训练集,验证集Ⅴ,学习率μ,正则化系数λ,网络层数L,神经元数量m(1),1≤l≤L.
随机初始化权值W,阈值b;
repeat
对训练集D中的样本随机重排序;
for n=1……N do
从训练集D中选取样本;
前馈计算每层净输入直到最后一层;
计算输出层神经元的梯度项gj;
计算隐层神经元的梯度项eh;
反向传播计算每层的误差,更新连接权ωhj与阈值θj,∆γh;
end
until 神经网络模型在验证集Ⅴ上的错误率不再下降;
输出:连接权与阈值确定的多层前馈神经网络
模型网络采用7维的特征值向量作为输入参数,两层64节点的隐含层,隐含层采用“sigmod”激活函数,输出层是1维的客流量数值。
将数据分为n个集合,其中测试集1个,训练集n-1个。为防止一次训练产生的过拟合,通过构造交叉检验的模型计算模型平均得分,评价模型综合情况。
2.4 预测效果
使用训练集训练模型,并可以定义输出每小时客流量的训练值与实际值,输出单条线路节假日每小时客流量预测数据,输出单条线路工作日每小时客流量预测数据。
通过对潍坊市公交客流量数据分析发现,客流量受到节假日、天气等因素的影响。本项目综合考虑上述因素,建立公交客流量预测模型。结果表明,本预测模型能够有效地应用于公交站点的客流量预测情景。
3 应用效果
JeeSite是基于多个优秀开源项目的高性能JavaEE快速开发平台,后端整合了Spring框架和MyBatis/Hibernate框架,实现了系统业务逻辑和数据持久层访问操作;前端以BootStrap为基础。本项目设计实现了公交站点客流量短时预测并基于JeeSite进行模型部署,用户输入线路、时间、天气、温度系统就可以直观的展示客流量预测曲线,如图3所示。
客流量可视化界面能够对不同站点和系统总体客流量进行分析,更主要的是针对不同公交线路实现了日客流量统计折线图。用户输入或选择日期、天气、气温等影响客流量预测的条件,系统后台根据输入的条件进行计算,进而能够准确实现对不同线路和站点客流量的短时预测。
4 结 论
本项目利用大数据平台和物联网技术实现数据采集和存储,研究分析了利用公交数据和天气数据抽取影响公交客流的数据特征并形成特征集;通过设计和改进的BP神经网络等算法實现对公交站点未来客流量的预测;基于JeeSite实现系统应用层的数据访问和展示。项目旨在为公交运力分配策略提供数据支持,以提升城市公交系统综合发展水平为基点,落实“公交优先”的城市发展战略,促进城市科学规划和现代化建设水平。本项目的实现,节省了人工调研成本,提高了公共交通系统的运营效率和系统可靠性,进而提升了公共交通相对于私家车和网约车的总体竞争力和吸引力。
本项目虽然在提升公共交通现状方面取得了一定的效果,但因实际条件限制,还存在很多需要更加深入研究的工作待后续进行改进和扩展。
参考文献:
[1] 姚望.苏州市道路交通拥堵问题与对策研究 [D].苏州:苏州大学,2019.
[2] 陈家蓉.基于大数据的城市智能公交管理系统的设计与实现 [D].西安:长安大学,2017.
[3] 梅珊.基于数据挖掘的城市公共交通客流分析及应用研究 [D].武汉:武汉邮电科学研究院,2017.
[4] 李震宇.机器学习对相变和临界指数的研究 [D].杭州:浙江大学,2019.
[5] 胡志新,王涛.改进遗传算法优化BP神经网络的双目相机标定 [J].电光与控制,2022,29(1):75-79.
[6] 孙璐.基于多源数据的海湾型城市公共交通出行需求与空间结构关系研究 [D].青岛:山东科技大学,2020.
[7] 李艾玲,张凤荔,高强,等.基于自适应时间戳与多尺度特征提取的轨迹下一足迹预测模型 [J].计算机科学,2021,48(S2):191-197.
[8] 乔俨.基于JEESITE平台的医疗设备信息管理系统的设计与实现 [D].济南:山东大学,2020.
[9] 李美,杨培,杨冬梅.城市智能公共交通服务系统发展现状研究 [J].艺术品鉴,2018(6):102-103.
作者简介:张卫荣(1989.03—),男,汉族,山东莱芜人,大数据专任教师初级,硕士研究生,研究方向:云计算与大数据技术。