1. 引言
随着经济的快速发展和交通出行方式的多元化,城市机动车保有量迅速增加,有限的停车资源与不断增长的停车需求之间的矛盾日益突出。“停车难”问题不仅严重影响了市民的出行体验,也成为了制约城市交通效率提升的重要因素之一。如何高效管理和利用有限的停车资源,成为了城市管理者面临的一大挑战。
与停车预测相关的研究可以分为三类[1],包括停车行为预测[2]、停车需求预测[3]和停车位预测[4],其中基于数据驱动的停车位预测方法主要通过从历史车辆流量和停车设施信息中分析和提取模式规律,以预测未来的情况,这些方法已经从统计学方法[5] [6]发展到了机器学习[7] [8]和深度学习方法。温浩宇等[9]针对可用停车位预测方法无法刻画时间点前后时刻关联的问题,采用LSTM模型进行研究,效果优于BP模型和ARIMA模型;但LSTM面对长时间序列时,仍存在计算成本高、易过拟合和模型解释性差等问题。林滨伟等[10]研究实现了基于Transformer同时进行时间序列补全和预测任务,并在两个高缺失的街道停车位数据集完成了验证,效果优于传统的机器学习和深度学习方法;但Transformer模型在时间序列预测方面存在着计算复杂度高、对时序位置的建模表示不够充分等问题。
停车可用率是指停车场空余车位占总车位数的比重,准确地预测停车可用率能为城市规划者提供科学的决策依据,也能为有停车需求的普通用户更快速地找到停车位。因此本文以分析停车数据特征为基础,提出基于Mamba改进的Mamba-ATS (Mamba-Attention Time Series Forecasting)模型,通过模型进一步挖掘停车时序变化规律,以提高停车可用率的预测精度。
2. 停车特征分析
2.1. 数据集构建
为了充分说明模型构建的思路,有必要先构建数据集,并分析其停车可用率的时序特征。研究区域选取上海市徐汇区虹梅路街道。虹梅路街道是上海市漕河泾开发区核心区所在地,漕河泾开发区是集成商业办公、科研用地以及标准化厂房于一体的综合性产业园区。
数据集包含36个停车场,具体涵盖了各个停车场的基础信息和车辆进出场信息。基础信息包括停车场的编号、名称、地址、车位总数以及地理坐标,停车场的空间分布如图1所示。车辆进出场信息记录了每个停车场车辆经过闸机口后进场和出场的时间点,数据情况参见表1。数据搜集的时间跨度为2022年9月25日至2022年9月30日,覆盖了一个完整的工作周(周一至周五)。
对数据集进行数据清洗,并以5 min对停车场进出车辆进行采样,统计累计进出车辆数和可用车位数。停车可用率即单位时间内可用车位数占总车位数的比值,反映了当前时间下停车位的可用情况,其统计结果如表2所示。
Figure 1. Study the distribution map of parking spaces in the research area
图1. 研究区域停车场空间分布图
Table 1. Vehicle in and out sequence chart for parking lot
表1. 停车场车辆进出场时序表
停车场ID号 |
车牌号 |
进场时间 |
出场时间 |
xh31011300002 |
0048E8E943C1FDBF13F74B9D1CE500E7 |
2022-9-26 00:02 |
2022-9-26 08:35 |
xh31011300002 |
0005AF248E44E13A0464F78C26089053B |
2022-9-26 00:18 |
2022-9-26 18:35 |
…… |
xh31011300002 |
347D286B0CEA04BF9AE6E87202AE7623 |
2022-9-30 22:30 |
2022-9-26 23:00 |
xh31011300002 |
547LAGAPMG80570264NOU7202AE7623 |
2022-9-30 22:31 |
2022-9-26 23:59 |
Table 2. Parking availability statistic
表2. 停车可用率统计表
采样时间 |
xh3101040003 |
xh3101040003 |
xh31010400452 |
…… |
xh31010400452 |
2022-9-26 0:00 |
99.5951 |
99.5744 |
100 |
|
99.8611 |
2022-9-26 0:05 |
99.5951 |
99.5744 |
100 |
|
99.8611 |
2022-9-26 0:10 |
99.5951 |
99.5744 |
100 |
|
99.8611 |
…… |
2022-9-25 12:00 |
82.5911 |
88.93617 |
90.0552 |
|
89.6551 |
2022-9-25 12:05 |
81.7813 |
91.0638 |
90.0552 |
90.5172 |
2022-9-25 12:10 |
81.3765 |
92.7659 |
88.9502 |
90.5172 |
…… |
2.2. 特征分析
研究区域的“停车难”问题较为突出。在大量企业和员工入驻的产业园区内,工作日驾车通勤的需求集中且庞大,尤其是在工作日的早晚高峰期,许多企业和办公地点周边的停车场经常出现车位紧张甚至满负荷运转的情况。以周三的停车可用率统计结果为例,统计各停车场每30 min内的最大停车可用率时间分布热力图(图2),从图中可以看出,在上午7:30至下午17:30这段时间段内,绝大多数停车场的停车可用率都相对较低。
研究区域各个停车场停车可用率的时序变化存在时间和空间的相关性。车辆早晚进出停车场的高峰相对集中,通勤的员工在工作地停车场找不到车位时,往往选择将车辆停到附近的停车场,因此在一定范围内停车可用率的变化存在空间相关性。另一方面,由于该区域的停车场多为同类型的办公楼或写字楼停车场,在工作日的通勤停车行为相似度较高,在时间变化趋势上也存在相似性。
Figure 2. Parking availability time distribution heat map
图2. 停车可用率时间分布热力图
停车场可用率的时间序列变化在长周期(天)和短周期(分钟)上存在不同的特征。以长周期视角看,各个停车场每日的停车可用率时序变化是重复地上下波动,具体而言,在工作日内,停车可用率在每日的夜晚接近100%,在白天从上午开始不断下降,直至中午达到最低值,并在傍晚逐渐回升,往复循环。在短周期的变化上,各个停车场停车可用率的局部时序变化各有不同,如最小停车可用率各有不同、峰谷出现的时间点存在差异等。
以随机选取的3个停车场作为例子(智汇园、虹软园、新业园),其工作日5天的停车可用率每5 min的时序变化如图3所示。各停车可用率在长周期上的变化趋势一致,每日的变化具有一定的周期性,同时每个周期达到最值的时间点各不相同;在短周期上,停车可用率差异较大,如新业园在每日的20:00左右出现了一个小的波动,在短时间内停车可用率有一个快速下降再快速上升的变化。因此,同时把握长周期和短周期的时序特征,能够为时序的预测提供更多的信息,从而帮助提升预测的精准度。
综上分析,为了提升停车可用率预测效果,需要充分考虑停车场之间时间和空间的相关性,同时把握停车可用率长周期和短周期的不同时序特点。因此,在模型构建上,需要将区域内各个停车场作为多变量输入,同时考虑停车场地理位置这一属性特点;设计长周期和短周期的特征提取模块,最后综合考虑两者的关系,挖掘出更多的时序变化信息,以达到更好的预测效果。
Figure 3. Change curve of parking lot availability
图3. 停车场可用率变化曲线
3. 模型构建
3.1. 相关工作
Mamba模型是Gu [11]等提出的选择性状态空间模型,其在状态空间模型(SSMs)上做了一系列的改进,主要在于引入选择性SSMs和硬件感知优化算法,其在语言、图像以及时间序列处理等方面都取得了良好的效果。
状态空间模型(SSMs)是一类序列建模框架,它们受到连续系统的启发,该系统通过隐式潜在状态
将输入函数
映射到输出函数
,公式如下所示:
(1)
其中
是可学习的参数矩阵。SSM通过步长
将连续信号离散为离散的序列,离散参数
可以通过离散化规则从连续参数
中得到,公式如下:
(2)
离散化之后的数据作为全局卷积进行并行计算,见公式(3),其中K为卷积核。
(3)
Mamba模型基于输入参数化SSM的参数,使其能够选择性地关注或忽略特定地输入,在类似RNN地隐藏状态下,Mamba模型选择性地将全局的特征存储到隐藏状态中,忽略不规则的波动,这样的特点更有利于做长期的特征提取。
3.2. Mamba-ATS模型
Mamba-ATS模型(Mamba-Attention Time Series Forecasting)的基本结构如图4所示,该模型由四个部分组成,分别是多尺度数据处理模块、基于Mamba的长期特征提取模块、基于注意力机制的短期特征提取模块以及自适应权重调整模块。多尺度数据处理模块将输入的时间序列进行分割,再融合经过编码后的非时间序列属性;长期特征提取模块在长周期里捕获全局的时间变化趋势;短期特征提取模块则旨在发现局部时间变化的特点;自适应权重调整模块则依据长期和短期两种特征提取模块的贡献程度调整权重,并最后输出预测结果。
Figure 4. Model structure
图4. 模型结构
多尺度数据处理模块分别对时间序列数据和非时间序列数据进行处理。对于时间序列数据,首先对输入的多变量做归一化操作,然后将每一个变量做切块分割操作(Patching),具体来说,是独立地为每个通道按照一定大小的窗口或者步长进行分割[12]。给定一个具有回顾窗口L的多元时间序列样本
, 预测未来T个未来值
,每一个单变量时间序列
将会被分割成长度为P的N个切片(Patch),Patch之间的步长记为S,生成
,其中
。
长期特征提取模块,在输入选择性状态空间模块(SSM)之前,通过两个线性投影进行线性变换,其中一个送入卷积层,卷积层通过SiLU激活函数进行非线性变化,其中
,
是Sigmoid函数。激活后的特征被送入SSM;SSM的输出与另一个线性层的输出通过非线性连接进行融合,融合后的特征再次通过一个线性层和前馈神经网络层进行进一步处理,最终输出提取到的长期特征。
短期特征提取模块以多头注意力为核心以捕获短周期内的局部变化。首先通过多头注意力层,注意力仅仅关注注意力窗口范围内的信息;下一步通过一个残差连接层的处理,以帮助梯度传播,避免梯度消失问题。随后,残差连接层的输出通过一个归一化层,以稳定训练过程。之后再通过一个前馈神经网络层,最后再做一次残差连接归一化处理得到输出结果。
长短周期特征提取模块的输出结果共同输入自适应权重调整模块,模块主要通过多头注意力层并行处理输入的不同特征, 由Softmax函数构成地线性层输出长期特征提取模块和短期特征提取模块的权重以及最后的预测结果。
4. 实验分析
4.1. 评价指标
本文采用2个指标来衡量预测值与实际值之间的拟合程度,它们是平均绝对误差(MAE)和均方误差(MSE)。MAE 表示的是预测值与真实值之间绝对差值的平均数,它给出的是误差的绝对大小的一个直观度量;MSE 表示的是预测值与真实值之间差值平方的平均数,相比 MAE,MSE对于较大的误差更加敏感,它们的计算公式如下:
其中n是样本数量,
是第i个样本的真实值,
是第i个样本的预测值。
4.2. 实验实施
本文中的所有算法实验均在统一的计算环境下执行,编程语言选用Python 3.10,深度学习框架则采用了PyTorch,并在VSCode开发环境中进行集成。硬件配置方面,实验平台配备了一颗8核心的CPU,32GB的系统内存,以及16GB显存的GPU,该配置提供了超过8 TFlops SP的计算能力。
在实验设计方面,将数据依照7:2:1划分训练集、测试集和验证集。对于多特征提取模块,非时间序列特征考虑停车场经纬度作为空间属性为时间序列数据作补充,回望窗口L = 576 (72小时),预测未来值的长度
,即30 min,1 h,4 h,12 h,实验的参数设置如表3所示:
Table 3. Experimental parameter Settings
表3. 实验参数设置
参数 |
参数值 |
训练次数 |
100 |
批训练大小 |
32 |
学习率 |
1e−04 |
损失函数 |
MSE |
优化器 |
Adam |
4.3. 结果分析
为了全面评估所提出模型的性能,本文选取了当前较新且广泛认可的时间序列预测算法作为基准进行比较,其中Crossfomer、Informer和TimesNet模型都是在Transformer架构的基础上进行改进的,其本质来源于注意力机制的引入;Dlinear模型则是深度神经网络和线性模型的结合。以上四个模型均具备处理和提取不同尺度时间特征并进行预测的能力。
Crossformer [13]:利用跨维度依赖关系进行时序预测。模型将输入的时间序列通过维度分段嵌入到二维向量数组中,以保留时间和维度的信息;再通过两阶段注意力层,捕获跨时间和跨维度的依赖关系。
Informer [14]:采用 ProbSparse 自注意力机制,在序列依赖对齐方面具有很好的性能。同时,模型通过将自注意力的级联层输入减半来突出主导注意力,更好地处理了极长输入序列。
TimesNet [15]:针对时间序列多周期性问题,将一维时间序列转换为一组基于多个周期的二维张量,将时间变化的分析扩展到二维空间,创建TimesBlock,自适应地调整参数,从转换后的二维张量中提取复杂的时间变化。
Dlinear [16]:线性模型,将时间序列分解为趋势序列(Trend Series)和剩余序列(Remainder Series),然后使用两个单层线性网络对这两个序列进行建模并完成预测任务。
模型的预测结果对比如表4所示。以漕河泾开发区智汇园为例,预测9月28日6:00至18:00的停车可用率,Mamba和Mamba-ATS的预测曲线如图5所示。
Table 4. Statistical table of model prediction results
表4. 模型预测结果统计表
指标 |
MAE |
MSE |
模型/未来值 |
6 |
12 |
48 |
144 |
6 |
12 |
48 |
144 |
Transformer |
1.1171 |
1.1302 |
1.1137 |
1.1510 |
1.8637 |
1.9143 |
1.8950 |
2.0129 |
Crossformer |
0.8988 |
0.8861 |
0.8796 |
0.9169 |
1.1136 |
1.0782 |
1.0633 |
1.1652 |
Informer |
0.8930 |
0.8749 |
0.8699 |
0.9019 |
1.0979 |
1.0601 |
1.0650 |
1.1455 |
TimesNet |
0.8618 |
0.8892 |
0.8602 |
0.9088 |
1.0482 |
1.1210 |
1.0470 |
1.1628 |
DLinear |
0.8090 |
0.8054 |
0.8979 |
0.9288 |
0.7609 |
0.8578 |
0.9583 |
1.0254 |
Mamba |
0.8086 |
0.8719 |
0.8536 |
0.8932 |
0.8720 |
1.0314 |
1.0196 |
1.1071 |
Mamba-ATS |
0.7222 |
0.7522 |
0.8362 |
0.8592 |
0.7039 |
0.7448 |
0.9004 |
0.9662 |
Figure 5. Prediction curve of parking availability
图5. 停车可用率预测曲线
从实验结果来看,在预测未来30 min、1 h、4 h和12 h时间长度下每5 min的停车可用率,所有模型的MAE与MSE随着预测时间跨度的增加而增大,这表明长期预测对模型而言更具挑战性。Mamba-ATS在所有测试条件下均表现出色,预测未来30 min的停车可用率,其MAE和MSE为0.7222和0.7039,预测未来12 h的停车可用率,MAE和MSE分别为0.8592和0.9662,优于其他模型。具体而言,相比于Transformer,Mamba-ATS对应的MAE和MSE分别降低了30%和57%,相比Mamba,Mamba-ATS则降低了8%和18%的MAE和MSE。
5. 结语
本文以充分利用停车时序信息,提高停车可用率的预测精度为目标,首先构建了停车时间序列数据集,分析了停车时序具有的时间和空间相关性;停车可用率不同尺度的时间特征具有不同的特点,在长周期上表现出较为规律的波动性,在短周期上具有特殊的局部特征。其次,提出Mamba-ATS停车可用率预测模型,模型由多尺度数据处理模块、基于Mamba的长期特征提取模块、基于注意力机制的短期特征提取模块以及自适应权重调整模块组成。通过数据集在研究模型和基准模型上的验证表明,Mamba-ATS模型具有较好的预测效果,是实现停车可用率预测的有效方法。下一步,可考虑如天气条件等更多的相关因素加入到模型中,进一步提高预测的准确性。