APP下载

面向城市人群时空热点预测的混合神经网络

2023-06-15张涵钰韩凡宇崔海波汪坤钰郑巧仙

计算机技术与发展 2023年6期
关键词:热点时空卷积

游 兰,张涵钰,韩凡宇,金 红,崔海波,何 渡,汪坤钰,郑巧仙

(1.湖北大学 计算机与信息工程学院,湖北 武汉 430062;2.湖北省科技信息研究院,湖北 武汉 430071)

0 引 言

城市人群热点指的是一个相较其他区域具有更多的人类活动、居民出行次数以及交通流量较大的地理区域[1],相关预测研究对于城市感知和公共安全应急决策具有重要的实际意义[2]。

近年来,许多国内外学者围绕基于出租车轨迹的城市热点区域展开研究。这些方法大多使用空间聚类方法进行城市热点区域的空间规律分析,主要预测较短时间范围内的热点趋势[3-4]。城市人群热点区域往往伴随时空环境变化而快速演化,存在典型的空间相关性和时间相关性特点[5]。如何发掘利用热点区域的时空相关性是精准预测城市人群热点变化趋势的关键。

传统时空数据预测研究常常采用单一卷积神经网络(convolution neural networks,CNNs)或循环神经网络(recurrent neural networks,RNNs)进行建模,忽略了时空同时相关性。同时,也未考虑生活作息、天气和环境等因素对城市人群活动可能造成的影响[6]。通过结合卷积网络和循环网络模型,可用于捕捉时空演变规律[7]。

近年来,混合神经网络已经被广泛应用在各个研究领域,如游戏策略、语音识别等[8-10]。如何将城市人群的作息规律用于时空热点预测是研究的难点。因此,该文提出了一种面向城市人群时空热点预测的深度混合神经网络模型(CNN-Seq2Seq-Attention,CSA)结合生活作息规律的时空相关性对人群热点分布进行预测。

贡献包括3个方面:

(1)提出一种基于城市人群生活作息的不等长时间片段划分方法。通过在数据中区分不同作息时间片段中人群热点的空间分布差异,帮助预测模型更准确地捕获不同作息片段间的人群流动规律,从而提高城市热点预测的准确性。

(2)针对城市人群活动中存在的高度时空相关性现象,提出了一种深度混合神经网络模型(CSA)用于城市人群热点预测。该模型通过CNN提取不同区域网格间的空间相关性特征,并结合Seq2Seq和Attention注意力机制,对人群热点在连续特征日中同等时间片段的时间相关性进行建模。通过对人群热点的时空属性进行多维建模,从而有效避免神经网络模型在预测时考虑因素不全的问题。

(3)采用了大规模真实的出租车轨迹数据进行实验,与传统模型及其他预测神经网络模型进行了对比实验,验证了CSA模型的有效性和优越性,并对城市人群热点变化规律进行相关分析。

1 相关工作

对于未来时空人群热点预测,大多数学者常使用时序模型来处理时空数据。常见的时序预测模型包括移动平均自回归模型(ARMA)及其变种,如差分整合移动平均自回归模型(ARIMA)等[11-12]。上述模型难以发掘时空数据中的空间相关性规律。

在城市热点预测研究中,越来越多的学者通过多种神经网络的结合来得到更为高效、准确率更高的模型。Ma等人[13]通过二维时空矩阵将时空交通动力学转化为能够描述交通流时空关系的图像,并将CNN应用到该图像上提取出交通特征。Zhang等人[14]提出了基于CNN的深度时空模型(Deep-ST),该模型将时空数据网格化,并将模型分为最近、近期和远期三个模块进行卷积操作,后通过通道进行数据连接,还加入了天气、节假日特征进行特征融合来进行城市交通量的预测。 Zhang等人[15]在原有模型基础上,提出了时空残差网络(ST-ResNet)。ResNet残差模块的加入使模型还能对远空间相关特征进行卷积挖掘。 Deep-ST和ST-ResNet模型若要对未来多个时间片段的城市热点情况进行预测,需要通过迭代的方式完成。

基于CNN和RNN的各自特点,越来越多的研究者在城市交通数据的预测中将两种神经网络结合使用。Srivastava等人[16]提出使用RNN来对时空数据进行预测。由于LSTM节点内部的门结构较为复杂,数据中相当一部分信息在压缩过程中被丢弃。Rodrigues等人[17]提出了一种结合字嵌入、一维CNN、RNN和注意力机制的模型来预测出租车需求量。Du等人[18]提出一种基于卷积LSTM和注意力机制的深度学习模型(STATF)来处理城市交通流预测任务,考虑了交通流数据中的时空相关性,能更好地预测城市交通流。Lai等人[19]提出一种基于卷积LSTM和Stack-LSTM的模型(STPM),能够同时捕捉事务时间依赖性、空间相关性与外部影响因素,对公交车到站时间的预测较准确。这些研究已经开始关注交通预测中的时间或空间相关性.

Wang等人[20]借助百度热力图,并结合Arc GIS,分析了武汉主城区人口在工作日和休息日流动的时空特征。Wang等人[21]对传统基于DBSCAN算法进行了改进,更好地实现了出行热点的聚类分析,为缓解交通压力、改善居民出行体验提供一定参考。Liu等人[22]使用图卷积算子来探索区域之间的相关性以建立多模态,并将带有注意力机制的基于图卷积神经网络应用于模型,以更好地建立相关区域关联。

该文提出的CSA模型结合了RNN中的Seq2Seq神经网络,动态地呈现出轨迹数据的长期时间特征。通过Seq2Seq提取的长期时间特征,再将Attention融入模型中来学习连续多天之间的城市热点变化关系。采用基于城市人群生活作息的时间片段划分方法,将一天内的24小时划分成不等长的时间片段。并通过特征融合,提高模型的准确性。

2 CSA城市热点预测模型

该文提出的CSA模型采用城市人群分布的历史时空特征对未来一段时间的城市人群分布进行预测,充分考虑了城市人群的空间相关性、时间相关性、生活作息规律等特征。

CSA模型包括四个部分,模型结构框架如图1所示。模型利用城市热点分布的近期历史数据预测后续连续多天的城市热点变化趋势。

图1 CSA模型框架

在图1中,①显示了CSA模型的CNN部分。CSA模型利用CNN中的滤波器提取热点区域的局部区域信息,并通过迭代卷积和池运算提取较远区域的空间相关特征。

②是时间划分的语义特征部分。该文将时间段特征分开划分,在CNN提取特征向量后,将时间段特征作为特征向量的一个维度,对每个特征向量所处的时间段进行缝合和标记。

在③中,Seq2Seq编码器通过对卷积网络提取的城市空间特征进行时间序列特征提取,通过LSTM的可记忆性提取该时间段的最近趋势特征。解码器使用LSTM对下一时期的城市热点区域进行明确的时间序列预测。

④为注意力机制部分。该文将一周7天标识为不同的特征日,并在模型中引入注意机制,以自适应地获取特征日之间的关系。

2.1 问题定义

(1)

(2)

未来m天的人群流量为该文的预测目标。设学习函数为h(·),该函数使用历史n天的流量预测未来m天的流量,如公式(3)。

(3)

2.2 城市人群热点空间相关性建模

城市不同区域人群热点之间可能存在某种空间模式下的联系,这种模式可能是并发关系,也可能是前后关系。比如,某个繁华的商圈附近的区域会由于紧邻该商圈而出现人流量、交通量较多的情况,因此不同的热点区域之间可能存在空间模式下的并发关系。上下班高峰期时,由于人们是从工作区域回到生活区域,因此在高峰期前半段时间,工作区域及其附近的区域人流量大、交通密度高,后半段时间则是生活区域以及附近的区域人流量大、交通密度高,因此热点区域之间可能存在空间模式下的先后关系。所以城市热点区域的分布具有空间相关性。

当CNN在图像处理上应用时,能够通过滤波器最大程度地利用图片的局部信息对事物进行特征提取,然后根据提取出来的特征对该事物进行分类或者预测[23]。

CNN通常由N层组成,假设在CNN第l层的输入为M*N*K的矩阵,那么第l层用来提取空间特征的滤波器可以被描述为M*N*K的矩阵,故第l层的输入可以由以下式子表示:

(4)

其中,l∈{1,2,…,N},W为l-1层滤波器中的权重值。

图1中①为文中模型的CNN部分,利用CNN中的滤波器提取热点区域的局部区域信息,并通过反复的卷积和池化操作,提取出较远地区的空间相关特征。

2.3 基于居民生活作息的时间片段划分

该模型将时间分为不同的特征日,同时根据人们的作息时间特点将一天划分为不同的时间片段。在CNN提取特征向量后,将时间片段特征作为特征向量的一个维度,对每个特征向量所处的时间片段进行拼接标记,以此来提高模型的预测准确率。

基于城市人群的时空活动规律分析,考虑一天中不同时间片段下城市热点区域分布不同的情况,根据人们的作息时间特点将一天的24小时进行了时间片段划分,共分为表1中的8个时间片段。若将24小时视作集合D,D可表示为:

表1 时间分段

D={ti|0≤i≤7}

时间分段见表1。

表1展示了一天24小时划分成的8个时间片段以及各时间段的作息特点。其中,由于t0时段人们的出行流量较低,故未对该时间段的热点区域进行分析。

对于一周7天而言,人们的出行规律也有差异,城市的热点区域分布在一周7天内也会存在差异。为了进一步提高对未来一周的热点区域分布的预测准确性,将一周划分为7个特征日。一周7天用集合W表示为:

W={Mon,Tue,Wed,Thu,Fri,Sat,Sun}

因此,W可被描述为:

W={Di|1≤i≤7}

2.4 城市人群热点时间相关性建模

为了捕获人群热点的时间相关性以及预测未来一段时间的热点区域分布,使用Seq2Seq[24]作为热点预测模型。其中,LSTM[25]和GRU[26]常用作Seq2Seq模型的编码器和解码器。

Seq2Seq模型利用两个RNN,其中一个RNN作为encoder,即编码器,负责将输入序列压缩成中间状态向量C,生成的状态向量C称作是这个输入序列的语义。另一个RNN作为decoder,即解码器,负责将中间状态向量C进行解码。

通常情况下,Seq2Seq只会产生一个语义向量。该文使用的Seq2Seq模型中的RNN单元为LSTM。

CSA模型通过在Seq2Seq模型的编码器与解码器之间加入Attention机制考虑特征日对人群热点预测的影响,使得捕获的时间相关性符合人群每周的出行规律,提高了预测准确度。

公式如下:

P(yt|{y1,y2,…,yi-1},X)=g(yi-1,si,ci)

(5)

si=f(si-1,yi-1,ci)

(6)

(7)

式中,g函数代表的是非线性激活函数,si表示解码器i时刻的隐藏状态,这里的条件概率与每个目标输出yi相对应的内容向量ci有关。在Seq2Seq模型中,只有一个语义向量c·s为隐藏层输出。式7中ci是由编码时的隐藏向量序列(h1,…,hTx)按权重相加得到的。

将隐藏向量序列按权重相加,表示在生成第j个输出时的注意力分配是不同的。aij的值越高,表示第i个输出在第j个输入上分配的注意力越多,在生成第i个输出的时候受第j个输入的影响也就越大。

aij的权重值由第i-1个输出隐藏状态si-1和输入中各个隐藏状态共同决定,即:

eij=b(si-1,hj)

(8)

(9)

si-1先与每个h分别计算得到一个数值eij,然后使用softmax函数得到i时刻的输出在Tx个输入隐藏状态中的注意力分配向量。这个分配向量也就是计算式(7)中ci的权重。

3 实验及分析

3.1 实验数据集

城市出租车不受线路和时间的约束,是最灵活、覆盖范围最广的轨迹数据,且精度较高、较少涉及隐私问题,常被作为轨迹数据研究和应用的主要数据集。

轨迹点g具有T_TargetID(车牌号)、T_UTCTime(时间戳)、T_Longtitude(经度)、T_Latitude(纬度)、T_Speed(行驶速度)、T_Heading(行驶方向)、T_Status(搭客状态)等属性。由于建立的模型只需要考虑轨迹点所在的时间和所处位置,因此只保留了T_UTCTime 、T_Longtitude 和T_Latitude 这三个属性特征值。

该文使用了中国武汉某区域内三个月的出租车数据进行实验,数据集的统计信息如表2所示。

表2 数据集概况

3.2 数据预处理

将武汉市纬度在30.515 224至30.630 852,经度在114.254 328至114.379 643的区域划分成为14×15的网格,每个网格的长和宽大约为1.0 km。

此外,由于RNN算法对数字较为敏感,直接将轨迹点数带入训练会导致误差较大。在代入训练前,采用Min-Max方法将区域轨迹点数归一化到[-1,1]范围内,最终在比较预测值和真实值时,再将预测值重新还原到原来的数字。归一化算法如下:

(10)

其中,p为归一化前的任一时间区域网格轨迹数目,pmax为所有时间区域网格轨迹点数目的最大值,pmin为所有时间区域网格轨迹点数目的最小值,p'为归一化后的网格点轨迹数目。

3.3 实验对比模型

文中模型对比方法如下:

(1)PreHA:将上一周某个时间片段该区域的轨迹点个数,作为下一周该时间段该区域下的轨迹点个数。

(2)HA:将前几周该时间片段下该区域的轨迹点个数平均值,作为下一周该时间片段该区域下的轨迹点个数。

(3)ARIMA模型:是一种广泛应用的时间序列预测方法。

(4)Seq2Seq:不考虑空间相关性,训练Seq2Seq模型利用前两周数据对下一周的区域轨迹点个数进行预测。

(5)CNN_Seq2Seq:考虑空间相关性和时间相关性,使用CNN和Seq2Seq联合预测。

该文使用均方根误差RMSE(Root Mean Square Error)作为模型预测效果的评价指标:

(11)

3.4 实验参数设置

在训练集上验证模型的准确性,对比实验中使用的滤波器数目分别为16、32和64,每个滤波器都为3*3的大小。其中Seq2Seq模型编码器和解码器的步长分别为14和7。模型训练时的学习速率大小为0.001。卷积操作后的激活函数和输出层的激活函数分别为ReLU和Tanh。

模型的超参数设置如表3所示。

表3 超参数设置

3.5 实验结果分析

3.5.1 不同参数影响对比

针对CSA模型中各种参数设置对时间预测的影响进行一系列实验,选取实现平均误差最低的模型参数,具体包括CSA中LSTM_num、卷积层数等对特征日、时间片段的影响。将实验结果绘制成图2和图3。其中,图像的横轴代表特征日(W1~7定义见2.3节)和特征时间片段(t1~7定义见2.3节)。图像的纵轴代表均方根误差(RMSE)。图像绘制的曲线代表各模型参数对特征日、特征时间片段的均方根误差影响。

(a)LSTM_num对特征日的作用效果

(a)卷积层数对特征日的作用效果

图2展示了CSA模型中LSTM个数对特征日、特征时间片段的均方根误差影响效果。比较3种LSTM个数参数,当参数值为250时,平均RMSE最小。

图3展示了CSA模型中卷积层数对特征日、特征时间片段的均方根误差影响效果。比较4种卷积层数参数,当参数值为2时,平均RMSE最小。

综上所述,在CSA模型中时间特征维度为20,滤波器数目为32,LSTM_num为250和卷积层数为2时,模型训练出的效果达到最佳状态,RMSE=73.265 542 5。

3.5.2 与不同模型对比

将CSA模型与3.3节提到的5种基准模型进行对比。如图4所示,较为传统的PreHA、HA和ARIMA时序模型没有神经网络算法(CNN、CNN-Seq2seq)的实验效果好。在对比实验的3个神经网络模型中,CSA模型较Seq2Seq而言,不仅能够利用CNN提取空间特征,还能够在Attention机制的作用下,较CNN_Seq2Seq模型而言,又提高了准确率。因此,在6个模型中,CSA模型效果最好。

图4 模型实验结果

3.6 城市人群热点时空分析

为了验证人们每周的出行规律以及每日的生活作息规律能够被CSA模型学习并产生作用,随机采用了一组城市人群流量热点的预测结果进行了城市热点的时空热力分析及可视化对比。

图5中(a)~(d)是2014年3月4日周二7:00-8:59、18:00—20:59以及前一周周二2月25日相应时间段的时空热力分布。其中,序号①对应的是汉口火车站及周边区域。序号②对应的是武汉市洪山区光谷广场及周围住宅区。从四张图可以看出,序号①区域即汉口火车站附近在大多数时间片段下人流量远远高于其它区域。对比图(a)(b)与图(c)(d)可以看出,相同特征日的人流量热点分布具有很大相似性。由此证明,CSA模型通过划分每周的特征日以及每日的不等长时间片段考虑了出行规律和作息规律对人群流量的影响。并且这些规律能被CSA模型学习并产生作用。这是CSA模型预测准确度高于其余模型的重要原因。

(a)2014年3月4日7:00-8:59

4 结束语

挖掘和利用热区的时空相关性是精准预测城市人群热点变化的关键难点。基于城市热点区域的时间相关性、空间相关性特点以及城市居民生活作息规律,提出了一种面向城市人群时空热点预测的深度混合神经网络模型CSA。CSA模型结合了Seq2Seq神经网络以动态呈现轨迹数据的长时时间特征,通过Seq2Seq提取的长期时间特征反映热点区域的近段时间的趋势变化。根据Attention机制能够有效得到Seq2Seq中编码器序列各时间点对解码器序列各时间点的不同重要程度,将其融入模型。

实验采用中国武汉某区域内三个月的真实出租车轨迹数据进行实验,展开了大量对比实验和分析,验证了CSA模型的效果和优势。但CSA模型仍有不足,例如天气、节假日对居民出行有一定影响,城市热点区域会有不同的变化。在后续研究中,会继续将天气、休假等因素加入考虑。

猜你喜欢

热点时空卷积
热点
跨越时空的相遇
基于3D-Winograd的快速卷积算法设计及FPGA实现
镜中的时空穿梭
从滤波器理解卷积
热点
玩一次时空大“穿越”
结合热点做演讲
基于傅里叶域卷积表示的目标跟踪算法
时空之门