1. 引言
随着城市化进程的加速和交通运输需求的不断增长,交通流预测成为了城市规划和交通管理领域中的一个关键问题。准确地预测交通流可以帮助决策者制定合理的交通规划方案,提高道路网络的效率,减少交通拥堵,改善出行体验,以及减少交通事故的发生。然而,由于交通系统的复杂性和不确定性,精确地预测交通流一直是一个具有挑战性的任务。
传统的交通流预测方法通常基于统计模型或时间序列分析,如ARIMA、SARIMA等 [1] 。然而,这些方法通常无法很好地捕捉交通流中的非线性关系和长期依赖性。此外,交通流数据通常具有高度的时空相关性,传统方法往往无法有效地利用这种关联信息。因此,需要开发一种新的预测方法,能够更好地处理交通流数据的复杂性和时空相关性。近年来,深度学习技术在自然语言处理和视觉处理等领域实现了重大突破,其中,LSTM网络在自然语言处理中是一种关键的循环神经网络模型,在序列建模和预测任务中得到广泛应用。该网络具有强大的记忆能力,能够捕捉序列数据中的长期依赖关系,并具备较好的非线性建模能力。因此对LSTM网络进行实验设计并交通流进行预测 [2] ,Y Lv等使用了LSTM网络来建模交通流数据中的时空特征 [3] 。B Yu等提出了一种基于时空图卷积网络的交通流预测框架 [4] 。D Kang等采用长短期记忆循环神经网络来分析各种输入设置对短期交通流预测性能的影响 [5] 。B Yang等提出了将非常长的序列时间步的高影响值与当前时间步联系起来,并使用注意力机制捕获这些高影响的流量值的方法 [6] 。Y Tian等提出了一种基于修订后的LSTM模型显式组合缺失模式来学习预测残差的新方法 [7] 。Y Xiao等提出了一种基于LSTM模型的混合长短期记忆神经网络 [8] 。长短期记忆网络是RNN的一种特殊改进类型,它可以解决RNN中存在的梯度消失问题 [9] ,能够对时间序列中延迟非常长的重要事件进行有效预测。Yang等人利用注意机制对交通流数据进行捕捉,以提高LSTM模型对更长时间序列的依赖性,改善了模型的预测性能 [10] 。王祥雪等人通过一阶差分法先对交通流数据进行平稳化处理,再进行时间序列重构,构建时间序列预测框架,利用LSTM对重构后的数据进行预测,提高了模型的实用性和时效性 [11] 。孔文翔等提出了一种基于动态时空图卷积的多传感器路网交通流预测的方法,可以更好地捕捉交通数据的空间特征 [12] 等。
现有基于LSTM预测交通流的研究存在时间序列动态特征提取和外部影响因素整合不足的问题,难以很好应对交通流动态复杂变化特点。为此,一些研究提出了增强型LSTM结构,加入注意力机制,结合图卷积网络考虑交通网络拓扑,联合多源数据共同学习等方法,目的是强化LSTM在捕捉交通流动态变化规律和处理大规模交通网络的能力,从而提高实际交通预测的准确性,弥补传统LSTM在交通流预测任务中的不足,提升了模型的实用性,提供了模型设计的新思路。
2. 交通流预测LSTM模型
2.1. 交通流周期性波动特点分析
2.1.1. 日交通流波动特点
分析一天内以5分钟为间隔的交通流波动特点,如图1所示,可以看到这样的数据可以捕捉到交通流量的高频波动、详细的交通趋势,以及对交通突发事件的高敏感度。与此同时,以5分钟为间隔的数据精度更高,能提供更为精确的交通流量分析。然而,这也意味着数据量大,需要更大的存储空间和更强大的数据处理能力。相反,更长的时间间隔,例如15分钟、30分钟或1小时,虽然可能忽视一些短期波动,但提供了更为便捷的数据处理和分析,以及更简单的分析复杂性。因此,5分钟的交通流量数据提供了更精细和详细的交通流量信息 [13] ,但同时也需要更大的数据处理能力和更复杂的数据分析方法。

Figure 1. Traffic flow diagram at 5-minute intervals per day
图1. 日5分钟间隔交通流量图
2.1.2. 周交通流波动特点
分析一周内以5分钟为间隔的交通流波动特点,如图2所示,每天的交通流量呈现周期性变化,交通流量在早晚高峰交通繁忙时出现峰值,可能导致交通拥堵,在深夜或凌晨,交通流量相对较低且稳定。

Figure 2. Weekly traffic flow data chart (part)
图2. 周交通流量数据图(部分)
在上述分析交通流周期性波动特性基础上,下面设计适合其变化规律的预测模型。
2.2. RNN循环神经网络原理
循环神经网络(Recurrent Neural Network,简称RNN)是一种可以处理时间序列数据的神经网络,它的设计目的是为了捕捉时间序列数据中的前后时间联系,从而更好地理解和处理这些数据。RNN引入了循环连接的核心思想,使网络在每个时间步处理输入时考虑了之前时间步的信息。该循环连接使RNN可以处理短期时间依赖,并保持对前一时间步的记忆,使其在序列数据处理方面具有优势。
RNN的结构包含输入层、隐含层和输出层,与其他神经网络相似。但是,RNN的隐含层节点的输入既有当前时刻输入层输入,还有上一时刻隐含层输出作为输入。这些隐含层单元承担着主要的任务。网络结构如图3所示 [14] 。

Figure 4. RNN signal transmission mechanism
图4. RNN信号传递机制
图4为循环神经网络的信息传递机制。
是t时刻输入层的输入;
是隐藏层的输出;
是输出层的输出。从图4可知,RNN的关键一点是
的值不仅取决于
,还取决于
。循环神经网络中,在预测
时,不仅要使用
的信息,还要使用
的信息,因为水平轴路径上的隐式状态激活信息有助预测
的精度。
RNN通过循环连接将前上一时刻信息传到当前时刻,然后传给下一时刻,进而实现信息长期传递。表达式如下式所示。
式(1) (2)中向量X、S、O分别表示输入层、隐藏层和输出层的数值:
、
分别表示从输入层到隐藏层、隐藏层到输出层的权重矩阵,
则是隐藏层上一层的值作为这一次的输入值的权重矩阵:
与
表示激活函数。
2.3. LSTM模型结构设计
RNN是一类具有循环连接的神经网络结构,用于处理序列数据和变长输入。它的核心思想是在每个时间步将隐藏状态作为下一个时间步的输入,并将过去的信息迭代传递到未来的时间步,使得RNN能够捕捉序列中的时序信息。然而,传统的RNN在处理长序列和长期依赖关系时存在困难,因为梯度在反向传播过程中容易消失或爆炸。LSTM通过引入门控机制解决了该问题。LSTM包括输入门、遗忘门和输出门,允许网络有选择性地读取信息和遗忘信息。这三门决定了细胞状态的更新和传递过程,让LSTM可以更好地捕捉信息的长期依赖关系,并且有效地解决了RNN中的梯度问题。在分析RNN循环神经网络基本原理基础上的结构如图5所示 [15] :
存储单元是LSTM网络的关键单元,通过对门控单元操作,有选择性地添加和删除信息。LSTM在t时刻具体过程如下:
1) 确定在遗忘门
中应从前一时刻的单元状态
的 历史流量数据、周期性规律、流量的长期依赖关系、流量变化趋势信息中丢弃哪些时刻的交通流信息;
2) 区分当前时刻交通流量输入
的哪些交通流信息应被存储到输入门的当前单元状态
中,应在哪里更新信息
,和候选单元状态
;
3) 更新当前时刻历史流量数据、周期性规律、流量的长期依赖关系、流量变化趋势信息
的单元状态;
4)
决定当前时刻细胞状态
中历史流量数据、周期性规律、流量的长期依赖关系、流量变化趋势哪些信息作为输出门中当前时刻预测流量输出结果
。
以上式中,
表示权重值,
表示当前时刻输入,
表示当前时刻输出,
表示当前时刻的细胞状态,b为偏置值,
表示sigmoid函数,下标f,i,o分别表示遗忘们,输入门和输出门,其中Sigmoid和tanh这两个激活函数表示如下。
LSTM单元通常是网络中的最后一个单元,因此网络的最终输出值即为交通流量的预测结果。
其中,softmax为激活函数,W为权重矩阵,b为偏置矩阵,
表示两个矩阵乘积。

Figure 5. Traffic flow LSTM network structure
图5. 交通流LSTM网络结构
2.4. LSTM模型参数寻优设计
Step1:数据集进行预处理,对缺失的数据用相邻数据平均法进行补充,并将补充后的十一天数据集中的前十天数据划分为训练集,最后一天数据划分为测试集,然后对划分后的数据进行归一化处理。
为时刻t缺失数据,
分别是时刻
数据,M为归一化后数据,
为原始数据,
为原始数据平均值,
为原始数据的标准差。
Step2:定义LSTM网络的结构,设置num_layers、batch_size、hidden_size、seq_length和learning_rate常用的值作为LSTM网络的初始参数。
Step3:训练集训练LSTM网络,得到交通流预测模型。
Step4:验证训练好的模型,使用测试集测试交通流预测模型的训练效果。
Step5:模型超参数寻优,对num_layers、batch_size、hidden_size、seq_length和learning_rate五种超参数分别进行验证选择,选出最优的超参数组合。
Step6:交通流量预测,利用验证选出的最优超参数组合进行交通流量的预测,将交通流量预测值与实际值进行比较。
通过上述的6个步骤可实现LSTM模型超参数寻优设计和交通流的动态预测。
3. 实验分析
3.1. 数据来源
实验的数据来自济南市交通运输局,选取建国小经三-岔路街西进口流量被用来进行实验,交通流量的统计日期为2021-05-20至2021-05-30共11天内的流量,交通流量的统计间隔每5分钟统计一次,数据总条数为3168条。
考虑到数据大小对预测精度有影响,采用标准差归一化的方法对数据进行归一化处理,归一化处理后的数据的相对大小和整体变化趋势不会发生改变。然后使用归一化后的数据进行交通流预测,将预测后的数据再进行反归一化处理,得到最初的交通流量量级数据。
3.2. 建立实验
首先对11天内3168个数据进行划分为训练集和测试集,训练集和测试集划分的比例为前十天的数据为训练集,最后一天的数据为测试集。实验的预测目标是根据前十天的历史交通流信息预测接未来一天内每5分钟一个间隔的车流量。
实验使用Python语言、PyTorch人工智能框架实现预测,并使用图形单元(GPU)加速模型的迭代过程。LSTM网络的训练基于adam优化器 [16] ,因其在RNN模型的训练中表现良好 [17] ,tanh作为激活函数被用在状态和输出上。开发时所使用的环境、开发工具和软件配置环境如表1所示:
3.3. 评价指标
交通流的预测效果由实际值和预测值的差来反映。目前在交通流预测中,采用均方根误差(RMSE)和平均绝对误差(MAE)作为评价指标 [18] ,用于描述预测结果的准确性。计算公式如下:
上式中,
、
分别表示预测时间的真实值和预测值,N 表示交通流数据的数量。评价指标值低意味着模型预测时误差低,即该模型预测精度高。
3.4. 模型主要参数选择
一般而言,神经网络的性能往往与网络参数设置有关。因此,实验分析LSTM层数(layers_num)、批处理大小(batch_size)、隐藏层节点个数(hidden_size)、序列长度(seq_length)、学习率(learning_rate)等决定网络架构的主要超参数对模型预测结果的影响,从而选择出最优的网络结构参数设置,迭代次数(num_epochs)固定为50次。
3.4.1. 网络层数选择
实验只用到LSTM神经网络进行交通流量的预测,所以整个网络的性能好坏与LSTM网络层数息息相关,本小节主要讨论了实验中LSTM网络层数的选择。
在实验中,其他LSTM网络超参数保持不变,改变LSTM网络层数进行实验,并对实验结果进行对比。如图6、图7所示的比较结果,横坐标轴表示LSTM网络层的层数,纵坐标表示对应网络层数预测的均方根误差和平均绝对误差的值。共选择7层作为实验,从图中可以清晰的看到折线的最低点均落在了4层的LSTM网络层数上 [19] [20] ,RMSE值和MAE值均在4层的情况下值最小,都达到了最佳性能。增加LSTM的层数可以提高模型的复杂性和预测能力,但同时也可能增加过拟合的风险,层数的增加也会导致计算量的增加。综合考虑,不再考虑增加LSTM的层数进行实验,选择4层作为实验的LSTM层数。

Figure 6. RMSE value of experimental results with different LSTM layers
图6. 不同LSTM层数实验结果RMSE值

Figure 7. MAE value of experimental results with different LSTM layers
图7. 不同LSTM层数实验结果MAE值
3.4.2. 批处理大小选择
批处理大小是深度学习中的一个重要超参数,它可以影响模型的训练速度和质量,对于批处理大小的选择取决于多个方面。
确定好网络层数之后,将网络层数固定,来对批处理的大小进行实验调优,从一个较小的批处理大小开始,然后逐渐增大,直到找到能够在训练速度和模型质量之间达到最佳平衡的值。实验结果如图8所示。

Figure 8. Experimental results of different batch sizes RMSE value and MAE value
图8. 不同批处理大小实验结果RMSE值和MAE值
批处理大小的取值一般为2n的形式,因为CPU和GPU的内存架构是2n形式。CPU和GPU在读取内存时是以块为单位进行读取,块的大小为2的倍数。所以,选择2n形式作为批处理大小取值的原因是方便GPU对数据进行并行处理。批处理大小可以根据训练数据集的大小和硬件计算能力来确定。使用较大的批处理大小可以加快训练速度,特别是在处理大型数据集时。对于较小的数据集,使用较大的批处理大小可能会导致模型过拟合,因此需要选择较小的批处理大小。硬件的计算能力是选择批处理大小的另一个重要因素。如果内存资源充足,可以选择较大的批处理大小,这样可以更快地进行模型训练。但是,如果内存资源有限,需要选择较小的批处理大小。通常来说,随着批处理大小的值增大,训练速度提高,会导致过拟合问题。随着批处理大小值减小,则训练速度减慢,但对于较大的数据集和计算机内存限制的情况下更为稳定 [21] 。综合考虑数据集的大小和计算机配置,不再考虑增加batch_size进行实验,选择16作为实验的批处理大小。
3.4.3. 隐藏层节点个数选择
选择适当的hidden_size值是一个相对问题,没有一个固定的最佳值。它的选取取决于数据集的复杂性、模型的深度、硬件计算能力以及是否需要防止过拟合等因素。一般来说,较小的hidden_size适用于简单的问题,而较大的hidden_size适用于复杂的问题。比较结果如图9所示:

Figure 9. RMSE value and MAE value of experimental results with different number of hidden layer nodes
图9. 不同隐藏层节点数实验结果RMSE值和MAE值
通常来说,较小的hidden_size选取依据是时间序列问题相对简单,数据集不是特别大,计算资源有限,数值通常在32~128之间。较小的hidden_size会更容易训练,但在复杂问题上的表现受限。中等的hidden_size选取依据是数据集规模中等,并且计算资源充足,数值通常在128~256之间。这通常是一个比较合理的起点,适用于大多数中等规模的时间序列问题。较大的hidden_size选取的依据是复杂的时间序列问题和大规模的数据集,数值通常在256~512之间,甚至可以更大。较大的hidden_size通常具有更强的表示能力,能够更好地捕捉复杂的模式,但需要更多的计算资源。综合考虑实验所用数据集比较简单和计算机硬件计算能力有限,选择较小的hidden_size进行试验 [22] ,RMSE和MAE值均在hidden_size为32时值最小,选择32作为实验的隐藏层节点个数。
3.4.4. 序列长度选择
时间序列长度也是深度学习中一个重要的超参数,它决定了模型每次输入的数据量以及模型可以记住的历史信息长度。时间序列长度较短时,模型每次只能看到很有限的历史数据,难以捕捉交通流的长期趋势和周期性模式。但计算量较小,训练速度较快。时间序列长度较长时,模型可以利用更多的历史数据进行模式学习,能够更好地捕捉交通流的周期性和趋势信息,从而提高预测准确率。但是计算量会大大增加,训练速度下降。
实验从给定的集合为{2,4,6,8,10,12,14,16}中逐个取值进行实验验证,实验的同时固定其他超参数不变,来比较模型的训练和验证效果,选择一个验证误差较低、计算速度可以接受的序列长度作为最终的超参数 [23] [24] 。实验的对比结果如图10所示。

Figure 10. RMSE values of experimental results with different sequence lengths
图10. 不同序列长度实验结果RMSE值
由对比结果可知,序列长度的值在2~6的范围内,RMSE值越来越小,模型性能的表现逐渐上升,序列长度的值在6~16的范围内,RMSE值越来越大,模型性能的表现逐渐下降。所以,序列长度的值为6时,模型的性能表现最佳,选取6作为实验的序列长度。
3.4.5. 学习率选择
学习率是决定LSTM网络学习速度的超参数。学习率的值设置过大会导致模型无法收敛,学习率的值设置过小会导模型训练速度减慢。在实践中,可以通过反复尝试不同的学习率来找到最优值。首先需要确定学习率的合理取值范围,通常建议将初始学习率设置为较小的值,因数值太多,实验取0.0001、0.0005、0.001、0.005、0.01作为实验的学习率取值 [25] 。实验对比结果如图11所示。

Figure 11. Experimental results of different learning rates RMSE value and MAE value
图11. 不同学习率实验结果RMSE值和MAE值
由实验结果可知,RMSE值和MAE值均在学习率为0.001时达到最小,模型的性能最佳。因此选择0.001作为实验的学习率。
3.5. 结果分析
以上通过对LSTM网络超参数的选择,选取网络层数为4,批处理大小为16,隐藏层节点数为32,序列长度为6和学习率为0.001作为实验的最优参数组合。实验结果的误差值如表2所示,预测结果如图12所示。

Figure 12. Comparison of LSTM model prediction results and actual values
图12. LSTM模型预测结果与实际值对比

Table 2. LSTM model prediction results
表2. LSTM模型预测结果
分析图12可知LSTM模型的预测结果和实际交通流数据误差在一个小的范围内,基本反映了5分钟间隔的交通流在一天内随时间变化的规律。当交通流量出现突变时,预测值和实际值之间可能会存在较大的差距,导致误差增大。该交通流动态预测LSTM模型的预测结果可近似表示出真实交通流一天内的变化趋势,预测结果值与真实数据值接近。
4. 结束语
提出了一种基于适用于交通流动态预测的LSTM的交通流预测模型。该模型考虑了交通流动态波动的特点,很好地处理时间序列问题,适用于短时交通流预测。通过实验尝试不同的超参数,能够更好地理解每个超参数对模型性能的影响。实验结果表明,在交通流预测任务中,使用4层LSTM、批处理大小为16、隐藏层节点数为32、序列长度为6以及学习率为0.001的超参数组合获得了最佳的性能。城市道路交通流既包括时间特征,还包括空间特征。在未来的研究中将考虑交通流数据中的空间特征和天气等其他因素,提高交通流预测的精度。
基金项目
国家自然科学基金(61773243);山东省交通运输厅科技计划项目(2020B89-01)。
参考文献
NOTES
*第一作者。
#通讯作者。