本发明属于交通流,具体涉及一种基于双小波分解的交通流预测方法、装置、计算机设备及存储介质。
背景技术:
1、目前主流的基于数据驱动的交通流预测方法主要有:差分整合移动平均自回归模型、支持向量机、卷积神经网络、长短期记忆神经网络等,这些方法有的基于概率统计进行预测,有的基于时间特征进行预测,有的基于浅层神经网络提取特征进行预测。
2、现有基于小波分解的预测方法主要采用单一的小波基函数对交通流的时间序列进行分析,再根据分解的小波分量进行预测。该类方法能够有效提取出交通流的变换趋势,但对不同小波分量之间的融合度不够,导致预测精度不够高。此外,小波基函数的选择对预测结果影响较大,不同基函数分解得到分量存在较大差异,难以适应不同场景下的交通流预测。
技术实现思路
1、本发明的目的在于提供一种基于双小波分解的交通流预测方法,考虑适用两个不同的小波基函数同时对交通流时间序列进行分解,分别得到两组不同的小波分析,再分别适用两组二维的卷积核提取每组分量的特征,将提取的两组特征进行拼接,再进行卷积融合,最后通过全连接层得到预测值,实现交通流的预测,具有预测精度高的优点。
2、为实现上述目的,本发明提供一种基于双小波分解的交通流预测方法,所述方法包括以下步骤:
3、步骤(1)、获取待预测路段的历史交通流数据,并按照时序排列后获得交通流的时间序列,所述时间序列包括多个时间步长的交流通量数据;
4、步骤(2)、根据小波基函数分解下的小波系数的熵值大小,在多个待选择的小波基函数中确定第一小波基函数和第二小波基函数,所述第一小波基函数分解下的小波系数的熵值和所述第二波基函数分解下的小波系数的熵值为最小的两个;
5、步骤(3)、利用所述第一小波基函数对所述时间序列进行l层分解和重构,得到l个第一子序列,并将l个所述第一子序列分别作为矩阵的行,构建得到第一分解矩阵,其中,3≤l≤5;
6、步骤(4)、利用所述第二小波基函数对所述时间序列进行l层分解和重构,得到l个第二子序列,并将l个所述第二子序列分别作为矩阵的行,构建得到第二分解矩阵;
7、步骤(5)、将所述时间序列、所述第一分解矩阵和所述第二分解矩阵输入神经网络模型进行训练,根据损失函数值对所述神经网络模型的权重参数进行调整,得到训练好的目标神经网络模型,将所述目标神经网络模型作为用于预测交通流数据的模型。
8、在一种具体的实施方式中,所述步骤(2)包括:
9、选择多个小波基函数作为对所述时间序列进行小波分解的待选择的小波基函数;
10、计算时间序列在每个待选择的小波基函数分解下的小波系数的熵值,得到与多个待选择的小波基函数一一对应的多个熵值;
11、对所述多个熵值进行排序,确定与最小熵值对应的小波基函数为第一小波基函数和与次小熵值对应的小波基函数为第二小波基函数。
12、在一种具体的实施方式中,所述待选择的小波基函数包括harr小波基函数、daubechies小波基函数、biorthogonal小波基函数、coiflets小波基函数、symlets小波基函数、morlet小波基函数、mexican hat小波基函数以及meyer小波基函数中的任意一种。
13、在一种具体的实施方式中,所述目标神经网络模型通过至少一轮迭代训练得到,任意一轮迭代训练的任意一次迭代更新包括:
14、步骤(a)、获取所述第一分解矩阵,并从所述第一分解矩阵中选取与待预测的第f个时间步长对应的第一目标矩阵,得到多个第一目标矩阵,所述第一目标矩阵的行数与所述第一分解矩阵的行数相同,所述第一目标矩阵的列数为连续的m列,且m列中的最后一列为所述第一分解矩阵的第f列的前一列,其中,f∈[m+1,m+2...o],o小于等于时间序列的总步长;
15、步骤(b)、获取所述第二分解矩阵,并从所述第二分解矩阵中选取与待预测的第f个时间步长对应的第二目标矩阵,得到多个第二目标矩阵,所述第二目标矩阵的行数与所述第二分解矩阵的行数相同,所述第二目标矩阵的列数为连续的m列,且m列中的最后一列为所述第二分解矩阵的第f列的前一列,f∈[m+1,m+2...o],其中,o小于等于时间序列的总步长;
16、步骤(c)、将与同一个待预测的时间步长对应的第一目标矩阵和第二目标矩阵作为一个矩阵组,得到多个矩阵组;
17、步骤(d)、将所述时间序列和所述多个矩阵组作为输入数据输入上一次迭代更新后的神经网络模型,计算得到损失函数值,所述损失函数值为多个交通流量预测值和多个交通流量真实值的均方误差,其中,所述时间序列中的元素作为交通流量真实值;
18、步骤(e)、基于所述损失函数值,利用反向传播算法对所述神经网络模型的所有权重参数进行更新和优化,以得到当前迭代次更新后的神经网络模型,若未满足迭代结束条件,则对所述当前次迭代更新后的神经网络模型进行下一次迭代更新。
19、在一种具体的实施方式中,所述神经网络模型包括卷积层和全连接层,所述卷积层包括两个卷积核,所述神经网络模型输出交通流量预测值的过程包括:
20、获取所述多个矩阵组;
21、利用两个卷积核分别提取每个所述矩阵组中第一目标矩阵和第二目标矩阵的特征,然后将提取的两个特征沿水平方向进行拼接,得到多个拼接特征,多个所述拼接特征与所述多个矩阵组一一对应;
22、将每个所述拼接特征进行2d卷积融合,得到多个融合的特征;
23、将每个融合的特征输入到全连接层,通过全连接层计算并输出,获取多个交通流量预测值。
24、在一种具体的实施方式中,迭代结束条件包括达到预设的迭代次数或者迭代次数大于50次且损失函数值不再减小。
25、在一种具体的实施方式中,所述目标神经网络模型通过多轮迭代训练得到,所述目标神经网络模型的确定方法包括:
26、分别对所述神经网络模型进行多轮迭代训练,得到多个训练好的神经网络模型,多轮迭代训练中的每轮迭代训练的m值不相同,10≤m≤50;
27、利用测试集对所述多个训练好的神经网络模型进行测试,得到与每个训练好的神经网络模型一一对应的多个测试精度;
28、将与最大测试精度对应的训练好的神经网络模型作为目标神经网络模型。
29、本发明还提供一种基于双小波分解的交通流预测装置,所述交通流预测装置包括:
30、获取模块,用于获取待预测路段的历史交通流数据,并按照时序排列后获得交通流的时间序列,所述时间序列包括n个时间步长的交流通量数据;
31、确定模块,用于根据小波基函数分解下的小波系数的熵值大小,在多个待选择的小波基函数中确定第一小波基函数和第二小波基函数,所述第一小波基函数分解下的小波系数的熵值和所述第二波基函数分解下的小波系数的熵值为最小的两个;
32、第一构建模块,用于利用所述第一小波基函数对所述时间序列进行m层分解和重构,得到m个第一子序列,并将m个所述第一子序列分别作为矩阵的行,构建得到第一分解矩阵,其中,3≤m≤5;
33、第二构建模块,用于利用所述第二小波基函数对所述时间序列进行m层分解和重构,得到m个第二子序列,并将m个所述第二子序列分别作为矩阵的行,构建得到第二分解矩阵,其中,3≤m≤5;
34、训练模块,用于将所述时间序列、所述第一分解矩阵和所述第二分解矩阵输入神经网络模型进行训练,根据损失函数值对所述神经网络模型的权重参数进行调整,得到训练好的目标神经网络模型,将所述目标神经网络模型作为用于预测交通流数据的模型。
35、本发明还提供一种计算机设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行计算机程序时,所述计算机设备实现上文所述的交通流预测方法。
36、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如上文所述的交通流预测方法。
37、本发明的有益效果至少包括:
38、本发明提供的基于双小波分解的交通流预测方法,包括以下步骤:获取待预测路段的历史交通流数据,并按照时序排列后获得交通流的时间序列;根据小波基函数分解下的小波系数的熵值大小,在多个待选择的小波基函数中确定第一小波基函数和第二小波基函数;利用所述第一小波基函数对所述时间序列进行l层分解和重构,得到l个第一子序列,并将l个所述第一子序列分别作为矩阵的行,构建得到第一分解矩阵;利用所述第二小波基函数对所述时间序列进行l层分解和重构,得到l个第二子序列,并将l个所述第二子序列分别作为矩阵的行,构建得到第二分解矩阵;将所述时间序列、所述第一分解矩阵和所述第二分解矩阵输入神经网络模型进行训练,根据损失函数值对所述神经网络模型的权重参数进行调整,得到训练好的目标神经网络模型,将所述目标神经网络模型作为用于预测交通流数据的模型;这样,本发明提供的交通流量预测方法通过择优选取的两个不同的小波基函数同时对交通流时间序列进行分解,分别得到2组不同的小波分析,再分别适用2组二维的卷积核提取每组分量的特征,将提取的2组特征进行拼接,再进行卷积融合,最后通过全连接层得到预测值,实现交通流的预测,该预测方法能够适应不同场景下的交通流预测,且具有预测准确性高的优点。
39、除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。