基于改进非全连接神经网络的站点客流预测模型
2023-09-18高御尧石明全陈建平
高御尧,石明全,秦 渝,陈建平,周 喜,张 鹏
(1.中国科学院重庆绿色智能技术研究院,重庆 400700;2.中国科学院大学 重庆学院,重庆 400700;3.重庆市公共交通控股集团 凤筑科技有限公司,重庆 401120)
0 概述
科学合理的线网规划(Transit Network Planning,TNP)是公共交通管理中的一个相当宽泛且复杂的问题。为了便于研究,文献[1]将该问题划分为线路设计、频率设计、车辆调度、司机调度等若干子问题。子问题之间又相互关联,往往某一项子问题的解又可以作为另一项子问题的输入,形成网状关系,并相互依赖。在大多数子问题研究中,客流量起终点(Origin-Destination,OD)数据是必需的基础数据,由此出现了大量关于OD 预测的研究[2-3]。宏观上,所有站点的客流量都可以用OD 数据来反映,因此,研究站点客流量变化对OD 数据分析具有重要参考价值。
人类出行具有一定规律性,主要由个体需求决定[4],而OD 是乘客需求的直接反映。乘客选择上下车站点的背后逻辑是站点所处地的性质、站点周边是否有一定数量的兴趣点(Point of Interest,POI)聚集地,如若干写字楼、医院、学校等,其中包含乘客的目标POI。某地区的POI性质是各个时间段内乘客需求不同的根本原因,通过乘客在该地站点的OD数据体现。
在目前关于地面公交站点客流量与POI 的关系研究中:文献[5]分析了客流数据和POI 数据,实现了对轨道站点的聚类分析;文献[6]研究与之类似;文献[7]根据AFC 数据和POI 数据,分析影响轨道车站客流量的因素;文献[8]将轨道站点周边土地性质划分为5 类,根据每类土地所占比例,利用长短时记忆网络预测客流,但是所提方案需要针对具体线路才能实现;文献[9]通过分析站点周边POI 的类型和数量,实现了对车辆客流OD 矩阵的估计。上述研究多数是针对轨道交通站点展开的,并且需要以特定线路为研究对象,具有一定的局限性。地面公交相较地铁而言,宽泛性和灵活性均有所提升。当前,运营商普遍对POI 与客流量的关系有一定的经验积累,主要用于调度安排以及线路规划等[10-11],而客流量模型多数停留在一种定性的状态。因此,构建一种普适通用的公交站点客流量预测模型具有较高的实用价值。
POI 类型和数量越多的地方影响乘客选择公交站点的可能性越大,POI 点与公交站点的距离越近,影响效应越强[12],因此,针对性地构建一个模型用于训练公交站点周边POI 点的分布与站点客流量的关系,模拟并定量预测站点每天的客流量变化,对于线路规划、车辆调度以及新城区的站点线路规划具有重要意义。传统全连接神经网络在高维输入数据下存在拟合效果差、训练速度慢、易陷入局部最优解、可解释性差等一系列问题,需要从结构上对网络进行改进。本文以研究POI 与公交站点客流的关系为主进行以下工作:通过非全连接的方式简化网络结构并通过构造连接矩阵实现,使神经网络的训练可以快速收敛至全局最优解;赋予部分隐藏层节点实际意义,以改善神经网络的可解释性;通过增加约束条件调整误差传递方式,使网络的输出结果更接近实际状况。
1 问题分析
1.1 问题描述及物理模型
以公交站点为研究对象,根据站点所处位置周边一定半径内的POI 类型等要素的分布特征,研究POI 与站点各个时间段客流量的关系,以此准确预测站点每天各个时段上车或下车的客流量。表1 定义了此问题中的主要参数。
表1 主要参数定义 Table 1 Definition of main parameters
为把握问题的主要因素,提出如下基本假设:
1)站点客流量仅与时间段Ti、POI 的属性及其与站点距离相关;
2)与站点距离大于rmax的POI 无法影响客流量;
3)POI 类型的影响值xn越高,对客流的吸引效果越强;
4)各个POI 对客流量的影响作用相互独立,因为人们倾向于在同一个POI 内度过大部分时间,POI对人们的吸引力相对独立,各POI 之间的依赖性较为轻微[13]。
选取重庆市公交站点为例,根据已有的通用行业分类标准(如百度地图分类标准)及历史经验,选择可能对站点客流量影响较大的若干POI 类型作为研究对象:P={P1,P2,…,Pn}。如图1 所示,对于任意一个POI 类型Pn,研究半径rmax内可能包含若干个同类的POI 点Pn,k。对每类POI 的各个点进行加权,表示该类POI 对站点的影响力。加权方式可能有多种[14-15],为了把握主要因素,选择POI 到公交站点的物理距离rn,k、POI 的综合影响因子(规模、口碑等因素)An,k作为研究参数,共同决定Pn对站点客流量的影响力。由于同一站点在不同时间段的客流量有很大的差异性,因此设置时间参数Ti,表示不同类型的POI 在不同时间段内对客流量的影响力不同。
图1 站点及POI 空间分布Fig.1 Spatial distribution of stations and POIs
1.2 数学描述
本文研究的问题可以定义为一个多分类问题或回归问题。在多分类问题中,预先将客流量按人数划分为若干区间,通过预测输出客流量属于各个区间的概率以确定客流量属于哪一类,解决方案可以考虑SVM、决策树、RBF 神经网络等[16-18];而在回归问题中,直接预测输出客流量,解决方案可以考虑多项式回归、回归树、BP 神经网络等[19-21]。在多数情况下,两类问题的解决方案可以互相通用。由于客流量属于不确定因素,存在波动性,原始数据可能存在一定偏差,因此采用回归方案更佳。而神经网络由于具有较强的自学习能力和非线性映射能力,因此被广泛应用于回归问题的求解。
本文采用BP 神经网络的基本架构。根据图1所示的各项要素,设时间段m内某站点的上(下)车人数为ym,满足下式:
其中:时间参数Ti设为超参数,i=1,2,…,18;rmid为中间距离,表示POI 对客流量影响力的变化率由高到低的临界距离,rn,i
式(2)反映了POI 的距离与对客流量的影响呈负相关关系,指数的主要意义为:越近的POI 对于客流量越具有决定性的影响作用,当距离超过某一临界值时,影响作用就会趋于平缓。该式计算xn的目的在于量化站点周边的POI 指标和确定每类POI 对该站点的重要性。xn的值越大,代表站点周边Pn的分布越广、对该站点的重要性越高。关于xn对客流的影响效果,则通过神经网络的自适应学习过程不断更新。
2 模型构建方案
2.1 数据采集及处理
根据实际情况,选取10 类POI 类型:P={P1,P2,…,P10},类型说明如表2 所示。
表2 POI 类型说明 Table 2 Description of POIs’ type
根据站点的GPS 定位,确定每个站点在研究半径区间内所有属于Pi的POI,并通过式(2)计算出该站点的各类型POI 的加权影响值xn。
通过对重庆市全市区的站点GPS 定位信息、每条公交线路的客流信息(主要为每个乘客的上下车站点及时间信息)的相关数据分析得出,在不考虑节日的前提下,客流趋势在工作日(周一至周五)和双休日(周六、周天)呈现出不同状态,如表3 所示,并且在每种状态下基本保持稳定。
表3 研究类别 Table 3 Study category
对任意一个站点Si,统计每个时间段Ti内所有工作日(或双休日)在Si上车(或下车)人数的平均值。所有站点客流量经归一化处理后即为期望输出q的各项参数。
2.2 网络构建
采用全连接策略的传统BP 神经网络由于输入参数的维度过高,会使结构十分臃肿[22],如图2(a)所示,在数据量不足的情况下很难训练出各个参数之间的关系,并且很容易陷入局部最优解,需要采用降维等方式对数据预处理[23],这增加了工作量。因此,本文对网络结构进行优化,以非全连接的方式提升网络运行效率及准确度,如图2(b)所示。
图2 全连接及非全连接BP 神经网络结构Fig.2 Structures of fully and non-fully connected BP neural networks
根据第1.1 节中的假设4)可知,xn对结果的影响相互独立,那么隐藏层的任一节点仅能受到其中一个xn的输入影响,即任意2 个xn的值无法传递到相同的神经节点中,由此可以保证xn对隐藏层节点的影响相互独立。因此,删除图2(a)中大部分影响xn相互独立性的连接,构造新的非全连接神经网络,如图2(b)所示。非全连接神经网络可以重新定义为在时间段Ti内,将各类型POI 分别对客流量的影响值求和,即为站点的总客流量,如下所示:
在非全连接神经网络中,pn为单个类型的POI对客流量的影响值,仅与xn、Ti有关,定义为输出1,意义为:在Ti时刻,有pn个乘客在该站点上车(或下车)的目标为第n类POI,即仅受xn的影响。综合所有的输出1,即为站点的实际客流量,定义为输出2。从xn和Ti到pn可看作双输入、单输出的子神经网络,n个子神经网络的组合构成完整结构。因此,子神经网络之间除了相同的Ti外,并无任何关联,是一种非全连接形式。特别注意,由于子神经网络的输出pn具有实际意义,POI 对客流量的影响值不可能为负数,因此需要在神经网络的训练中对该限制条件加以考虑。
子神经网络的隐藏层节点数量依据需求而定。每类POI 在不同时间段内对客流量的影响效果可能并不相同,为了拟合出复杂的时域变化曲线,理论上隐藏层节点数量越多越好,但训练效率也会越来越低。综合考虑,本文将隐藏层节点数量设置为8。
非全连接神经网络简化了输入层和隐藏层之间的关系,理论上更容易收敛到全局最小值。
值得注意的是,图2(b)所示的子神经网络相结合的结构与特征子空间的集成学习模型(集成法)比较类似,即任意一类POI 特征与时间特征可视为原始特征集的子集之一,生成n个相互独立的特征子空间分别构建不同的学习器,并在最后一步集成输出结果。针对这两类模型的区别说明如下:
1)集成法通常需要学习每一类特征子空间到理想输出结果的映射关系(如x1、Ti与y的关系),并将各学习器的输出结果加权(权重需要学习),得到最终输出;本文方法中子神经网络的输出可视为分别受各类POI 影响客流量的真实数值,因此,只需要将所有真实数值简单相加即为实际客流量。
2)集成法的加权过程需要确定各学习器的权重。但在实际中,针对不同的输入,各学习器的权重应是不同的。当然,这种需要动态调整的权重可以通过另建一个学习器解决,该学习器用于训练输入和权重的关系,或者采用堆叠、混合的方式融合各学习器,这些方法均无疑增加了工作量。
3)本文模型是一个结构紧凑的整体,各子神经网络的训练是同步且统一的,单个子神经网络的训练完成意味着模型整体的训练完成,同时,集成法的学习器训练是相对独立的,各学习器的训练时间及效果难以统一。
2.3 参数训练
根据图2(b)可知,神经网络的输入为x=(Ti,x1,x2,…,xn)T,期望输出为q,实际输出为y,参数均经归一化处理,其中输出向量的每个参数表示固定的时间段内站点的上(下)车人数。神经网络仅在第1 个隐藏层采用Sigmoid 激活函数。
2.3.1 正向传递
在图2(b)所示的神经网络中,第1 个隐藏层的输入用矩阵表示如式(5)所示。为了方便神经网络的随机权重生成以及权重迭代,将权重矩阵ω1表示成Hadamard 乘积模式(用符号“◦”表示,下同),如式(6)所示。
定义L1为输入层到第1 个隐藏层的连接矩阵,表示神经网络的连接方式(全连接方式的连接矩阵元素全部为1)。
第1 个隐藏层的输出经过Sigmoid 变换,增加了非线性因素:
第2 个隐藏层的输出并未采用激活函数,输入即输出:p=O2=I2。利用式(4)对隐藏层的输出相加后便得到实际输出。
2.3.2 误差反馈
在神经网络训练过程中,误差修正的方式与传统BP 神经网络类似。根据网络的期望输出和实际输出,输出层误差函数为:
由于子神经网络的输出被限定为非负数,因此需要设定第2 个隐藏层的误差函数。做以下假设:第2 个隐藏层输出pn若为正数,则不存在误差;若为负数,则该层虚拟输出为0,那么误差值为-pn。因此,第2 个隐藏层输出的误差函数为:
根据链式法则,由最终输出误差导致的误差向量分别为:
其中:δo,3~δo,1分别表示由Eo导致的输出层、第2 个隐藏层和第1 个隐藏层的误差向量。同理,由第2 个隐藏层的输出误差导致的误差向量分别为:
其中:δho,2~δho,1分别表示由Eho导致的第2 个隐藏层和第1 个隐藏层的误差向量,输出层不受该误差影响。在此基础上,可以求得各个参数梯度变化:
其中:A1和A2分别表示满足等式的单位列向量。
通过上述过程,将每个参数梯度乘以适当的学习率η即可获得每一步需要更新的参数大小。为了加速网络学习过程,η可采用动态学习率[24]。在训练过程中,第1 个隐藏层的节点数较多,是计算资源消耗的主要因素。缩减该层节点数量可以明显加快训练速度,但同时会损失一定的拟合精度。
3 实验验证
3.1 实验过程
实验主要针对模型做拟合(或预测)准确度测试,检测任意站点每个时间段的期望值与实际值的差距。对重庆市近3 300 个公交站点的数据随机划分为训练集和测试集2 个部分,其中,训练集为2 500 个站点,其余的为测试集。各站点周边的POI数据经过式(2)及第2.1 节的方法量化处理后作为该站点POI 输入数据。由于单个站点的日客流量被划分为18 个时间段分别统计,训练集输出数据有2 500×18=45 000 组,测试集类同。对神经网络的各项参数随机在[-1,1]的范围内赋值初始化,经过100 万次迭代训练(或均方差小于设定阈值)后停止迭代。
根据表3 的研究类别,用4 个相同结构的神经网络分别训练每一类样本,因此,共包含4 组结果,各组之间的训练集、测试集分别独立。
现实中,客流量始终处于一个浮动状态,期望输出q也仅代表平均客流水平,并非准确值。就车辆调度和线路优化工作而言,站点单向客流量浮动数为10 人/h,不会对公交的调度工作产生较大影响,实际意义基本相同。因此,采用实际输出与期望输出间的残差人数作为模型检验标准:
其中:为 第i个样本 的残差 值;qi为期望输出;yi为实际输出。
以工作日的上车客流量为例,将所有的样本残差降序排列,如图3 所示,可以看出,仅有极小部分残差值偏离较大。总体概率分布如图4 所示,可以看出,训练集和测试集的δ*近似高斯分布,均值处于零值附近,略小于零值,测试集的预测方差略大于训练集。
图4 总体概率分布Fig.4 Overall probability distribution
将样本按照时间段划分,统计各时间段样本残差的概率密度,如图5 所示。结果显示:在一天时间段内,早班车与末班车的客流预测偏差较为集中,多集中在零值附近,说明该时间段内的乘客预测基本不存在误差;早晚高峰期的预测偏差较为分散,这2 个时间段也是预测可能出现较大误差的时间段。误差的主要来源为乘客数量的波动性提升,原始数据表明,部分客流量较大的站点每一天同时间段内的客流量有较大区别,单位时间段内的客流量波动范围可达到100 人次以上,这种不确定性也为模型预测带来了较大难度。其余时间段内预测偏差分布较为均衡,均小于高峰期预测偏差。
图5 残差时域概率密度分布Fig.5 Residual time domain probability density distribution
3.2 与其他预测方案结果对比
同时采用其他典型常用的回归模型,分别做相关实验进行对比测试,包括该模型对应的全连接神经网络模型[见 图2(a)]、决策树、SVM回归、AdaBoost 以及多项式回归模型。输入及输出参数均与该模型相同,取工作日的上车客流量做分析,经多次测试后,取每种模型的最优解,对比实验结果如表5 所示。
表5 各类模型测试结果对比 Table 5 Comparison of each model testing results
取其中部分典型模型,对日均客流量的变化趋势进行拟合测试。随机抽取若干测试集的站点,将一天内每小时的实际客流量与不同模型的预测客流量进行对比。这里以工作日数据为例,随机抽取3 组站点的对比结果如图6 所示,样本包含了客流量从稀疏到密集的情况。
图6 站点日客流量变化预测值对比Fig.6 Comparison of predicted values of daily station’s ridership
从实际客流量与预测客流量的变化趋势对比中可以看出各预测模型的拟合效果。结果表明:
1)全连接神经网络的训练集和测试集预测误差均比较大,在长时间训练后依旧无法拟合实际结果,尤其是无法拟合客流随时间的变化趋势。主要原因在于引入了大量的非必须的连接,并且输入的高维变量中,仅有一维是时间变量,其余为POI 变量,因此在误差反馈中,各个节点的误差传递相互交错,在数据集不够充分的情况下,难以准确训练出其中关于时间的有效信息。
2)决策树回归可以快速收敛至(局部)最优解,但是由于过拟合现象严重,导致测试集的预测误差较大,并且同样难以拟合客流随时间的变化趋势。
3)SVM 回归的训练集拟合精度略高于非全连接神经网络,但是过拟合现象在所有模型中最严重,因此测试集拟合精度大幅下降。
4)AdaBoost 回归的预测精度与非全连接神经网络较为接近,其日客流量变化的预测趋势也与实际客流量较为符合。但是该模型获得最优解需要经过多次尝试,主要原因在于弱分类器的选择以及数量会较大影响预测精确度。因此,该模型训练时间过长是主要弊端,其中弱分类器的训练是时间消耗的主要因素。
5)多项式回归方案经测试并不适用于该研究,因为各类POI 变量与时间变量之间具有高度相关性,并且数据较为复杂、维度较高、非线性特征明显,因此难以构建合适的多项式并获得有效解。
3.3 分析与讨论
由上述实验结果,进行以下分析与讨论:
1)综合比较下,非全连接神经网络具有结构简洁、训练方便的优点,随机设定初始值后,多数情况下均可以快速收敛至相同的最优解,并且模型基本拟合出了站点每天客流量的变化趋势,同时体现了每天客流量平、高峰期的状态。
2)根据表4、图3 与图4 的结果可以看出,有个别站点的预测误差过大。经过对原始数据的分析,这类站点多为中心城区的枢纽站点。在这些站点中,除了POI 分布,其他人为或历史等因素[25]对客流量影响较其他站点更为突出。
3)图6 的趋势变化曲线反映了站点每日的上下车规律基本是对称的,即早高峰上车客流量的趋势与晚高峰下车客流量趋势基本相同,且峰值一定。由于城市规划中人口活动较大的区域主要为住宅用地以及商业用地,上车客流量的高峰值出现在早高峰的站点附近的POI 类型以住宅区为主,并且该类站点在晚高峰期间会出现下车高峰值,写字楼附近的站点则与之相反。
4)对比实验说明非全连接神经网络针对类似的问题是非常有效的,它是基于所研究问题的特殊性,对全连接神经网络的一种精简,使训练时间及准确性均可以获得一个较优解。但是这种神经网络的构建模式具有一定的局限性,即主要针对高维的数据输入,并且输入数据之间存在相互独立或近似相互独立的情况(在本文研究中,POI 对客流量的影响相互独立)。若输入数据的关联性较高,则这种非全连接神经网络可能无法训练出最优解,甚至得到错误解。因此,针对不同的回归问题,需要具体分析该模型的适用性。
5)关于图2 中子神经网络的隐藏层节点数量选择:在本文研究中,若采用m个隐藏层节点,其本质为用m个不同参数的Sigmoid 曲线叠加构成新的函数曲线,数量越多,可以构成的曲线种类越多,复杂度越高。由于子神经网络需要拟合xn、Ti和pn的函数关系,pn关于xn和Ti的关系越复杂,所需要的隐藏层节点数量将越多。实际情况表明:当Ti一定时,pn关于xn的关系基本呈现单调上升(或下降)的,只需较少的节点即可大致拟合;当xn一定时,pn关于Ti有明显的“M”曲线关系(即早晚高峰人数多、平峰人数少),若需要拟合该函数关系,则需要较多的隐藏层节点。因此,决定隐藏层节点数量的参数主要在于pn与Ti的关系。本文选择的隐藏层节点数量8 为综合性能、拟合效果等各因素经多次测试后确定。
4 结束语
本文改进传统的BP 神经网络全连接思想,根据各项研究参数的相关性,设计一种非全连接的神经网络进行模型训练,该神经网络可降低训练难度,减少训练过程的计算量,提升训练速度,并易收敛至全局最优解,降低获得局部最优解的概率。同时,提出一种连接矩阵,辅助实现神经网络的非全连接形式,便于误差传递过程的优化设计。在此基础上,通过赋予神经网络部分隐藏层实际意义,并根据实际状况对其进行约束限制,丰富误差传递模式,增加神经网络的可解释性,使得结果更加符合现实规律,从而实现在任意POI 分布下预测站点各时间段的上车(或下车)客流量,以利于对于新公交站点的位置选择。本文模型对高维非关联性数据有优良的效果,但对关联性强的数据效果可能不佳。由于影响客流量的不只有POI 因素,因此将在逐步添加其他次要因素(如天气因素等),增强模型仿真效果,并且将通过与其他模型的结合(如作为弱分类器融合进AdaBoost 中),获得更好的预测效果。