何 坚, 朱 喆, 王伟东, 于卫国
(1.北京工业大学信息学部, 北京 100124;2.上海银联商务技术开发中心, 上海 200070)
自20世纪末以来,智慧交通系统(intelligent transport system, ITS)在世界各国得到大力提倡和快速发展, 驾驶员通过ITS可以方便地获取感兴趣的交通信息[1]. 停车诱导信息(parking guidance information, PGI)子系统作为 ITS的一个重要组成部分,可以为驾驶员提供所需的停车信息,使驾驶员找到最适合自己的停车场[2]. 已有PGI通常是通过事先部署的传感器获取实时的停车场空余泊位数,并将停车场的信息提供给驾驶员,驾驶员在参考后决定前往哪个停车场[3]. 停车信息在驾驶员驶向停车场的过程中是动态变化的,驾驶员在前往停车场过程中收到的停车泊位空余数量与到达停车场后的实际泊位空余数量可能会有较大差距,导致到达停车场后驾驶员需要花费更多时间和油耗搜索可用停车场[4].
在相关研究中,停车可用性即停车泊位可用数量. 停车泊位占用率由可用停车泊位数量与泊位总数计算占比得出. 在为驾驶员提供实时停车泊位占用率情况下,结合停车场周围线路的车流量等信息预测未来一段时间内停车泊位占用率,可以帮助驾驶员高效地寻找到合适的停车场,避免因为停车场车辆流动造成的负面影响[5]. 其中,应用车流量和停车场信息等数据建立分析模型,进而预测未来停车泊位占用率的技术一直受到广泛关注[6]. 依据预测方法是否需要用户反馈的实时数据,可分为实时在线预测(on-line)和线下预测(off-line).
在线预测通过与用户互动,由用户积极参与并提供实时信息进行预测. 在这种情况下,停车可用性预测大多作为智能停车系统的一部分,作为为用户提供停车方案的考量因素之一,根据用户提供的信息,考虑用户偏好,进而为用户提供个性化的服务. 例如,Caicedo等[7]采用概率模型和模拟停车预测技术开发了一个智能停车预约系统(intelligent parking reservation, IPR); Rajabioun等[8]实现了一个停车引导和信息系统,其中包含了基于停车可用性概率分布的预测算法;Nandugudi等[9]依靠众包系统,通过用户速度的改变判断用户的停车信息,并依此计算停车可用性. 上述智能停车系统功能丰富、扩展性强,其中依靠众包系统的方式尤其具有消耗资源少、开放性强的优势,但这种在线预测的方式面临的一个较大困难就是需要一定数量的用户参与.
线下预测使用一些容易获取的公开数据进行预测,具有不依赖用户实时数据的特点. 时间序列建模是此类方式中一种很流行的技术. 例如:Ziat等[10]对异质时间序列使用表示学习方法,对交通和泊位占用情况进行联合预测;Vlahogianni等[11]使用神经网络对泊位占用时间序列进行预测,并应用生存分析预测停车位在随后的时间空闲的概率. 这些方法很好地预测了时间依赖的停车行为,但对于基于空间区域的停车行为关注较少. 因此,有研究人员在对时间序列预测的基础上集合空间因素进行停车泊位占用率预测研究. 例如:王丰元等[12]从空间维度分析土地特征和路网流量,在此基础上建立预测模型;Rajabioun等[13]提出了基于时间和空间相关性的停车可用性自回归模型. 上述方法在使用历史数据的基础上建立了完备的时空模型,考虑到了停车信息的时间相关性和空间相关性,但对诸如天气等一些可能对预测结果有帮助的影响因素尚未考虑. 此外,也有研究人员不考虑时间序列特征,只从天气、交通拥挤状况等多维度因素进行预测研究. 例如,Pflügler等[14]使用多维度的公开数据对停车可用性进行了预测,并根据各个因素对改进预测的贡献进行评估,研究结果表明:时间、周末、天气等对停车泊位数据预测有显著影响,事件、假日等因素的影响较弱.
针对已有线下停车泊位预测技术存在的问题,本文提出了一种基于时空多维度因果关系的停车泊位分析模型,它可以在对时间和空间关系挖掘的同时,关注天气等更多影响因素,同时结合神经网络技术对停车泊位占用率进行预测. 本文借鉴了诺贝尔经济学奖获得者Granger的因果关系思想,即如果对一个时间序列的预测能够因为引入另一个时间序列的历史作为已知而改进,则另一个时间序列构成了这一序列的一个原因[15]. 同时,引入了空间相关性扩展这个概念,并应用于停车泊位因果关系分析. 由于影响停车泊位占用率的因素可能有很多,难以确定不同因素是否对停车泊位占用率有影响以及影响的大小. 对此,本文进一步引入神经网络,并通过欧盟FP7项目提供的CityPulse大数据进行样本训练,学习不同时空因果关系对停车泊位占用率影响的效应关系[16],进而实现停车泊位占用率的准确预测.
在停车泊位时空相关性分析基础上,建立停车泊位占用率多维时空因果关系模型,并建立基于神经网络的停车泊位占用率预测算法.
CityPulse数据集中奥胡斯市某一停车场在2014年8月18日至24日一周内停车泊位使用数量的变化趋势如图1所示. 由图可见,该停车场星期一至星期五工作日的停车泊位使用数量的变化趋势相似,即各时段线形相似,周末虽有起伏,但曲线形状基本相似,表明停车泊位可用数量的变化规律是以d为单位呈周期性变化的,同时有显著的相似性.
Pflügler等[14]认为位置和交通因素是影响泊位占用率的重要原因. 从定性分析角度看,当道路在停车场周边且距离比较近时,道路上行驶的车辆才有进入停车场的可能性,相关性比较强. 随着停车场与道路间距离的增大,车辆的目的地难以确定,相关性因此而减弱. 因此,可以停车场为中心,自内而外计算停车场周围道路车流量对停车泊位数量的影响(道路车流量对停车泊位预测精度的影响),并根据影响程度对停车场进行空间上的划分,直接反映停车泊位数量与周边道路的空间相关性. 图2所示为本文在参考借鉴Mathur等[17]对停车区域的划分后,针对CityPulse数据集中奥胡斯市的停车场按照停车场与道路距离及停车场周围道路数量进行的区块划分,以其中3个停车场为例,其中红色圆点为停车场.
时间序列建模是解决停车信息预测问题的有效方法. 格兰杰因果关系模型主要是基于时间序列角度,对经济变量的因果关系进行分析,因此,考虑将格兰杰因果关系做适当变型,尝试将其引入停车信息预测中. 为了在关注时间相关性的同时,也考虑空间相关性及多因素的影响,本文将格兰杰因果关系做适当扩展,即将空间相关性和多因素引入到格兰杰因果关系模型中,并应用于停车泊位占用率预测.
为了定量描述空间相关性因素,本文针对CityPulse数据进行统计分析后,确定引入停车场周围道路对泊位影响程度作为停车场的空间描述属性,并以此来对城市中的停车场进行划分,即以停车场为圆心,以其周围尽可能多地影响停车泊位数量的临近道路为属性,选择适当长度的半径以画圆的方式对停车场进行划分. 图3所示为奥胡斯市一处停车场周边道路的划分. 图中红色标记为停车场位置,黑色圆圈为划分区域,蓝色标记为选取的道路.
(1)
(2)
式中:zq(q=1,…,Q)表示Q维度的相关因素向量,如温度、湿度等;wj3代表相关因素的影响程度;其他变量同式(1)中的相应变量.
在时空因果关系模型中影响停车场占用率的因素有多种,不同影响因素之间可能会有相关性. 同时,单个影响因素也可能有复杂的深层特征,使用传统的自回归方法难以分析不同影响因素间的复杂关系,导致停车泊位占用率的预测结果不够准确. 因此,本文引入神经网络作为预测算法. 神经网络具有以下优点:
1) 神经网络可以处理多维度的相关性强的数据,即使在不能明确多维属性的相互关联的情况下.
2) 与一般机器学习方法相比,神经网络对规律复杂的特征分析表现更好.
3) 神经网络可以通过学习不断完善模型,具有易修改性、灵活性和成长性强的优点.
基于上述优点,本文将神经网络与时空因果关系结合,预测未来停车泊位占用率. 传统神经网络算法表述为
y=σ(wh…σ(w2·σ(w1·x+θ1)+θ2)…+θh)+θ
(3)
式中:x为包含n个输入的列向量;σ为激活函数;w为权重矩阵;θ为偏置;h为隐含层个数;y为输出值.
在式(3)基础上,将时空特征和多维度因素融合的神经网络描述为
(4)
在此假设只有一个隐含层,隐含层神经元个数为K. 式中:j1=t,j2=T+p+t,j3=2T+P+q+t;y、xp分别为停车泊位占用率的时空因果关系因素向量;zq为Q维度的相关影响因素向量. 神经网络输入神经元数量与多维度数据的维度相对应,由上述y、x、z的维度共同决定.
课题组采用欧盟FP7项目公开的CityPulse数据集(可在http:∥iot.ee.surrey.ac.uk:8080/index.html下载)进行算法验证.
在使用这些数据之前参考了与该网站资源有关的研究资料[18]. 研究使用的原始数据集包括约55 000条停车数据、约87 000条车流量数据以及约17 000条天气数据. 不同数据的取样周期略有差异,根据最大取样周期对数据进行预处理,使这些数据的取样周期同步为30 min.
针对数据集中车流量、天气等数据取值单位和范围不同等特征,采用
(5)
X=X*(Xmax-Xmin)+Xmin
(6)
对数据进行归一化和反归一化处理. 式中:X为原始数据;X*为归一化后数据;Xmax、Xmin分别为原始数据的最大值、最小值.
为了有效地应用时空特性,将时间相关的有效数据划分了3个时间段,每段0.5 h. 例如,若预测0.5 h后的停车泊位占用率,则使用当前数据、此前0.5 h的数据、此前1.0 h的数据用于预测. 同理,在训练时使用此前0.5 h的数据、此前1.0 h的数据、此前1.5 h的数据预测此时的停车泊位占用率. 本文使用的数据以该停车场为圆心,方圆1 km为半径,提取其中6条道路数据作为空间因素相关数据,并提取区域内气温、湿度等环境数据.
为了能客观评价预测效果,本文使用平均绝对误差(mean absolute error, MAE)衡量预测效果. MAE的计算公式为
(7)
式中:X*为预测值;X为实际值;N为总样本数.
不同时间的停车泊位使用情况有明显差异,此外有研究指出了一些可能影响停车泊位使用情况的因素[13-14]. 以时间因素为对照,分别验证其他因素是否为停车泊位占有率的格兰杰原因,即对预测结果产生影响,并据此确定基于多维时空因果关系的神经网络输入. 用于验证的停车场总容量为56辆车,验证结果如表1所示.
表1 不同因素对停车泊位占用率的影响
确定神经网络的输入包括星期、时间共2个输入神经元,涵盖了一周7×24 h内的所有时间,包含时间滞后的天气信息(如空气压强、露点、湿度、温度、风向、风速)共24个输入神经元,包含时间滞后的6条道路车流量信息共24个输入神经元以及3个输入神经元为此前的停车泊位占用率,共计53个输入神经元. 输出神经元的个数为1,输出为停车泊位占用率预测值. 隐含层的设计根据经验和实验效果,取2个隐含层,隐含层的神经元个数分别为7、5. 本文采用了反向传播(back propagation, BP)神经网络,这种算法应用广泛,结构简单,方便用于数学分析[19]. 隐含层和输出层的激活函数选择对数S形转移函数,训练函数使用梯度下降自适应学习率训练函数.
在生成神经网络的训练集和验证集时,将泊位占用率以0.1为间隔将数据平均分为10个区间,计算各区间之间的比例,并根据比例在各个区间随机选取数据. 由于数据存在缺失的原因,选择其中一个停车场自2014年8月至10月的数据为例,包含2 452条预处理后的停车数据以及相关天气数据、附近道路车流量数据做训练. 其中,选取共200条数据作为验证集,其余作为训练集,并保证在每个区间的训练数据与原数据的比例相等. 部分预处理后的训练样本如表2所示.
表2 部分用于实验的训练样本
本文采用Matlab进行算法实现,并利用上述预处理后的数据进行仿真验证. 针对CityPulse中的数据集,根据实际历史值对0.5 h后的泊位占用率做预测,然后将预测结果与实际占用率做比较分析. 在上述实验中停车场总容量为56辆车,因为停车场的计数信息是每0.5 h更新一次,所以验证的预测滞后也是0.5 h的倍数. 如果数据的采集频率更高,那么模型可以预测时间粒度更小的未来时刻停车泊位占用率,预测精度随时间的增长而下降.
为了衡量添加时空因果关系和多维度影响因素后的模型的性能,使用不同预测方法对相同数据集进行预测[20]. 分别采用基于空间因素(道路信息)和天气因素使用神经网络进行预测、基于时间序列使用线性回归进行预测、基于时间序列使用神经网络进行预测、基于单一时间点的时空和天气因素使用神经网络进行预测、基于时空因果关系因素(包括含时间滞后的天气因素)使用神经网络进行预测的方法,预测包括0.5 h后和1.0 h后的停车泊位占用率,实验结果反归一化如表3所示.
实验结果表明,对于总容量为56辆车的方法的停车场,使用基于时间序列的线性回归方法对0.5 h后和1.0 h后的停车泊位预测误差分别为3.753、5.034,基于时间序列的神经网络方法的预测误差分别为3.021、3.866. 与线性回归相比,神经网络预测误差较小,预测精度更高. 时间相关性是一个很重要的因素,与仅包含道路、天气的预测结果5.486、6.372相比,添加时间因素后,预测误差降低至3.021、3.866,预测精度有显著提升. 在考虑时间相关性的情况下,添加空间和天气因素对提高预测精度有帮助,误差下降至2.562、3.475. 添加时空因果关系(加入时间滞后),预测精度进一步提升,误差下降至最低2.488、3.418. 多维度输入的预测结果如图4所示. 图中显示有一些点偏离回归趋势,可能的原因有很多,比如道路突发事件、周边突发活动等.
表3 不同时空相关预测方法的泊位预测结果比较
为验证本文提出方法的有效性,本文将相同训练集和验证集应用在其他基于时空相关性的停车泊位预测方法中做横向对比,包括Vlahogianni等[11]提出的基于时间序列的神经网络及生存分析预测方法和Rajabioun等[13]提出的基于时空相关性的自回归预测方法. 计算MAE及绝对误差AE小于20%、10%的预测结果占全部预测结果的比例,将实验结果反归一化,如表4所示.
表4 不同时空相关预测方法的泊位预测结果比较
实验结果表明,对比使用神经网络及生成分析方法的预测误差2.791、3.739和使用自回归方法的预测误差2.716、3.679,多维时空因果关系的神经网络预测方法误差较小,绝对误差小于20%、10%的预测结果占比更大,预测精度更高.
1) 本文提出了停车泊位占用率多维时空因果关系模型,并建立了基于神经网络的停车泊位占用率预测算法,可依据驾驶员预计到达停车场的时间,估算其到达时的停车泊位占用率,进而为驾驶员选择停车场提供决策依据.
2) 采用欧盟FP7项目提供的CityPulse数据集进行仿真实验,本文方法与其他基于时空相关性的停车泊位预测方法相比,预测误差更小,预测精度更高,证明了算法的有效性.