买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开一种基于传递周期性的GAN网络的缺失交通流数据插补方法,该方法提出了一种新的周期性数据提取方式,提取多种周期数据的传递周期性,用于历史数据对缺失数据的预测,进而提高对缺失数据插补的准确性;设计一种动态缺失率重构损失函数,通过此函数动态的适应不同时段下不同缺失率的数据,更好地应对真实缺失数据集的随机性和动态性,平滑损失函数优化过程,提高插补模型的鲁棒性和泛化能力;构建动态邻接矩阵,对随时间变化的节点之间的动态空间关系进行建模,并考虑了静态空间依赖性和动态空间依赖性,提升模型对交通流数据时空相关性的特征提取能力。该数据插补方法比STGAN模型在PeMS04数据集上的不同缺失率情况下的插补效果均更好。
主权项:1.一种基于传递周期性的GAN网络的缺失交通流数据插补方法,其特征在于,该方法包括以下步骤:步骤1:获取某一交通网路已有的完整的交通流数据集Dall,Dall∈RS×R×t×N,其中S为交通流数据集中样本个数,即检测时刻点的数量;R为特征维度,e为时间步步长,N为检测器的数量,即检测节点的个数;设置n个不同的缺失率,得到缺失率序列P,P={p1,p2,...,pi,...,pn},其中缺失率pi的值在0~1之间;对不同的缺失率构建不同的掩码矩阵,得到矩阵 其中是缺失率在pi情况下的掩码矩阵;根据不同的缺失率的掩码矩阵构建不同的缺失数据集DP,其中是使用所构建的缺失数据,接着根据该交通网路中的N个检测器之间的连通性与距离参数构建预定义邻接矩阵:首先将交通路网中的检测器视为节点,构造一个图G,G=V,E,A,其中V是图中节点即检测器的集合,vi是集合V中任意一个节点;E表示节点之间的相邻关系的集合,如果节点vi和vj是相邻的,则eij=1,否则eij=0;A∈RN×N,为交通网路的预定义邻接矩阵,预定义邻接矩阵A中的一个元素其中distance为vi和vj两个节点之间的距离,且aij=aji;步骤2:首先使用Z-Score方法分别对和Dall的各维特征数据分别进行归一化处理;然后利用滑动窗口方法对归一化处理后的和Dall分别进行处理,窗口大小设置为w,由e步长一采样的数据点序列得到S'个w×e时长的数据段;由归一化处理后的划分出的数据段xdb为待插补数据段,xdb∈RR×w×t×N,即xdb∈RR×T×N,T=w×e,划分出的所有数据段构成待插补数据段集由缺失数据集DP经过上述处理得到n个不同缺失率的待插补数据段集;由归一化处理后的Dall划分出的数据段xrealb为完整数据段,xrealb∈RR×T×N,S'个完整数据段构成完整数据段集D'all,D'all={xreal1,xreal2,...,xrealb,...,xrealS'},数据段xrealb为与中待插补数据段xdb对应的完整数据段;同时利用相同的滑动窗口方法将掩码矩阵以同样的方式进行划分,构成新的掩码矩阵集其中,mb为与数据段xdb对应的掩码矩阵;对待插补数据段集按天为基准进行训练数据样本提取,设定待插补的数据段为第Th天的第H+3个T时长的数据段,H为大于0的整数,提取第Th天的第H+1个T时长的数据段R1p以及第H+2个T时长的数据段R2p,提取第Th-1天的第H+2个T时长的数据段D1p以及第H+3个T时长的的数据段D2p,提取第Th-7天的第H+2个T时长的数据段W3p以及第H+3个T时长的数据段W4p,提取第Th-14天的第H+2个T时长的的数据段W1p以及第H+3个T时长的数据段W2p;数据段数据段R1p、数据段R2p、数据段D1p、数据段D2p、数据段W3p、数据段W4p、数据段W1p、数据段W2p均为按时间从数据段集中提取出的数据段,将其进行组合,得到一条训练数据样本xunnormp,xunnormp∈RR×9×T×N;由待插补数据段集提取出的所有训练数据样本构成一个样本集由缺失数据集DP的n个不同缺失率的待插补数据段集得到n个样本集;步骤3:对步骤2中得到的n个样本集的训练数据样本,按相同的数量比例各自划分出训练集和验证集,由一个样本集得到一个包含训练集、验证集的训练数据集,合计得到n个训练数据集;令由样本集划分出的训练集为训练集由训练集中的S”'个待插补的数据段构成的待插补数据段集为设D'all中与所对应的完整数据段集为xrealTf为与xTf对应的完整数据段;对中的每个数据段进行缺失率计算,得到每个数据段的缺失率αf,所有段的缺失率构成动态缺失率矩阵Mα={α1,α2,...,αf,...,αS”'};步骤4:构建数据插补网络模型4.1构建生成器网络模型所述生成器网络模型包括第一全连接层、DMblock、TPL模块、第四全连接层和STblock;所述DMblock包括空间注意力层和第一双向GRU层;TPL模块包括第三全连接层、第一空洞因果卷积层、第二空洞因果卷积层和普通卷积层、tanh激活函数层、sigmoid激活函数层、第二切比雪夫图卷积层和最大池化层;STblock由编码器和解码器构成,其中编码器包括第一时间注意力层、第一时间卷积层、第一切比雪夫图卷积层、第二双向GRU层,解码器包括第二时间注意力层、第二时间卷积层、第三时间卷积层和第二全连接层;生成器网络模型的输入数据为一条训练数据样本xunnormp,以及N个检测器之间的连通性与距离参数构建的预定义邻接矩阵A;其中,作为第一全连接层的输入,第一全连接层对输入数据进行高维投影,得到的输出分别输入到DMblock和STblock;在DMblock中,输入数据依次经过空间注意力层和第一双向GRU层的处理,得到动态邻接矩阵MD;在STblock中,输入数据首先依次经过第一时间注意力层、第一时间卷积层的处理,得到的结果与预定义邻接矩阵A以及动态邻接矩阵MD一起作为第一切比雪夫图卷积层的输入,第一切比雪夫图卷积层的输出输入到第二双向GRU层;一条训练数据样本xunnormp以[W1p,W2p]、[W3p,W4p]、[D1p,D2p]、[R1p,R2p]、的时间维度拼接形式分别输入到TPL模块中,TPL模块中第三全连接层对输入的5组数据分别进行高维投影,得到结果均分别输入到第一空洞因果卷积层、第二空洞因果卷积层和普通卷积层;第一空洞因果卷积层得到的输出经过tanh激活函数层处理之后得到结果与第二空洞因果卷积层得到的输出经过sigmoid激活函数层处理之后得到的结果进行点乘操作,得到的结果与普通卷积层的输出进行相加操作,得到的结果与预定义邻接矩阵A一起输入到第二切比雪夫图卷积层,提取空间依赖关系;第二切比雪夫图卷积层的输出输入到平均池化层,对时间维度进行下采样,之后再将五组周期数据在R维度进行拼接,得到TPL模块输出的生成数据;TPL模块的输出经过第四全连接层的处理,得到的输出即为该条训练数据样本的传递周期性;第四全连接层的输出与第二双向GRU层的输出作为STblock的解码器的输入,该输入依次经过第二时间注意力层、第二时间卷积层、第三时间卷积层和第二全连接层的处理,得到生成器网络模型的输出;具体的,生成器网络模型首先使用第一全连接层对输入数据xTP进行高维投影; 其中W1和b1是第一层全连接层的权重矩阵和偏置值,xinput是第一全连接层的输出;DMblock的空间注意力层使用空间多头点积自注意力对数据xinput在空间维度上的不同权重进行计算,首先对单头注意力的结果进行计算: 其中Q、K、V分别是由Wqxinput、Wkxinput和Wvxinput得到的,其中Wq∈RT×N×R,Wk∈RT×N×R,Wv∈RT×N×R,是可学习参数矩阵;Q代表查询,K代表键,V代表值,自注意力中的输入是相同的,都为xinput;dk是缩放因子,取值为Q的通道数;公式中的KT表示将K进行转置操作;然后将模型分为多个头进而形成多个子空间,去关注不同方面的信息,即将通道数R平均分成F个,再分别对它们进行单头注意力的运算,再将结果合并,公式如下: 其中R2=RF,分别为Q、K、V的可学习参数矩阵;WO∈RT×N×R是投影的可学习参数矩阵,headi是每个单头注意力的输出,MultiHeadSQ,K,V即xsa,是多个单注意力拼接后的输出结果,即为DMblock的空间注意力层的输出,xsa∈RR×T×N;DMblock的空间注意力层的输出输入到第一双向GRU层;GRU为门控循环单元,使用双向的目的是获取缺失位置的历史时间和未来时间的时间依赖关系,以下公式为GRU计算过程: 其中,xsat为xsa中的第t个时刻点的数据,Wz、Wr、Wt为可学习参数矩阵,zt是控制更新的门控,rt是控制重置的门控;h't是包含了当前输入的数据,相当于记忆了当前时刻的状态;ht∈RN×1×R,是忘记之前的一些信息并包含当前信息的状态;双向GRU则分为前向状态和反向状态: 为xsat经过双向GRU的输出,BiGRU表示将数据送入BiGRU层中;利用构建动态邻接矩阵MD,对于TPL模块,首先将输入数据xunnormp按时间维度进行拼接,作为TPL模块的输入: 然后使用第三全连接层进行高维投影: 其中Ww1~w2、Ww3~w4、Wd1~d2、Wr1~r2、和bw1~w2、bw3~w4、bd1~d2、br1~r2、对应为参数矩阵和偏置值;接着使用空洞因果卷积对分别在时间维度进行卷积并使用Tanh和Sigmoid激活函数进行激活,得到的结果进行相乘并加入残差连接的数据;因残差连接需要维度相同,使用一层普通卷积对通道数进行对齐操作;公式如下: 接着使用第二切比雪夫图卷积层根据预定义邻接矩阵A对多周期数据的空间依赖关系进行提取;切比雪夫图卷积操作更关注节点的邻居节点特征,需要先将预定义邻接矩阵A进行拉普拉斯归一化,公式如下: 其中D为A的度矩阵,Dii为度矩阵D的对角线元素,In为单位矩阵,Aij为A的元素,L是A的归一化拉普拉斯矩阵,TkL是用L计算出的切比雪夫多项式,K2为该切比雪夫多项式的阶数;X为输入数据,Wa是可学习参数矩阵,CGCNX,L表示将数据X和矩阵L送入切比雪夫图卷积层中的操作,OA为切比雪夫图卷积层的输出;因此,将经过了空洞因果卷积和残差连接的数据送入第二切比雪夫图卷积层中,公式如下: 得到各周期数据的传递特性数据然后使用平均池化层对其时间维度进行下采样,使其时间长度由2×T收缩为T,接着在通道维度进行拼接,最后使用第四全连接层对各周期数据的传递模式进行提取,得到的传递周期性参数以用于插补缺失数据; 其中W2和b2为第四全连接层的权重矩阵和偏置值,为学习到的传递周期性参数;STblock利用编码器和解码器结构对需要插补的数据段进行分布的编码和重构,编码器的第一时间注意力层首先对输入数据xinput使用时间多头点积自注意力机制对数据在时间维度上的不同权重进行计算,计算过程与公式2、3相同,它与空间多头点积注意力机制的区别在于,对于输入数据,首先将其时间维度与空间维度进行转置,且在时间维度形成多个子空间,并根据公式2、3进行计算,即得第一时间注意力层的输出;xtb=MultiHeadTxinput13其中MultiHeadT表示第一时间注意力层的操作,xtb为经过了第一时间注意力层处理的输出;然后xtb经过第一时间卷积层在时间维度进行卷积操作并使用了Dropout和Relu激活函数进行处理,得到向量xconv1:xconv1=DropoutReluConv1xtb14其中Conv1表示第一时间卷积的操作,Relu表示使用Relu激活函数处理,Dropout表示使用随机失活处理,xconv1为第一时间卷积层的输出;接着,将得到的向量xconv1输入到第一切比雪夫图卷积层,使用动态邻接矩阵MD和预定义邻接矩阵A的归一化拉普拉斯矩阵L对动态空间依赖性和静态空间依赖性进行学习; 其中,MD是构造的动态邻接矩阵,OL是使用L与xconv1送入CGCN的结果,OD是使用MD与xconv1送入CGCN的结果,xGCN1为CGCN1层的输出;接着将其输入至第二双向GRU中: 其中,xGCN1t为xGCN1中的第t个时刻点的数据,表示按照时间维度进行拼接;将第二双向GRU的输出与传递周期性参数加和所得的xBiGRU输入到解码器中,依次经过第二时间注意力层、第二时间卷积层、第三时间卷积层、第二全连接层的处理,最终得到生成器根据历史多周期数据和缺失数据所生成的假数据计算公式: 其中W3和b3是第二全连接层的参数矩阵和偏置值,Conv2、Conv3均为时间卷积操作;4.2:构建判别器模型,以判别输入的数据是真数据还是假数据;判别器由卷积层、时间注意力层和全连接层构成,计算公式为: 其中,W4和b4为全连接层的参数矩阵和偏置值,Conv4、Conv5均为空洞因果卷积操作,mp为待插补数据段所对应的掩码矩阵;判别器最终给出对插补完成的数据段的每个位置的值的真假判断;步骤5:设计数据插补网络模型的损失函数首先设计动态缺失率重构损失函数以应对不同时段所具有的不同缺失率情况: 其中Lossα为设计的动态缺失率重构损失函数,Loss1为未缺失值的重构损失,Loss2为插补值的重构损失,β1和β2为两个重构损失的权重超参数;为均方误差公式,Yi为均方误差公式中的两个参数,n为数据个数;mp为待插补数据段所对应的掩码矩阵,xrealTp为与待插补数据段所对应的完整数据段,为输入生成器后所得到的插补数据;αp为的缺失率;接着构建生成器的损失函数LossG和判别器的损失函数LossD: 其中为将生成的假数据插补到缺失位置的数据段,是将补全的数据段送入判别器中所得到的结果;步骤6:训练数据插补网络模型6.1网络模型初始化使用随机初始化方法初始化模型参数,设置训练轮次、batch大小;设置优化器为Adam优化器,学习率为0.001,学习率衰减方法为训练步数到[30,50,70,90]时学习率变成原来的0.7;动态缺失率重构损失函数中,β1设为2,β2设为10;模型中的所有多头点积自注意力的头数h都设为4,双向GRU的层数均为1,所有卷积操作中的卷积核大小均为3x1,切比雪夫多项式的K2设为3;6.2训练模型利用步骤3中的n个训练数据集对模型进行训练;将一个训练数据集中的训练集中的训练数据样本,以批次大小分批输入进模型中进行训练,将模型得到的输出即生成器生成的假数据段与待插补的数据段所对应的完整数据段使用一个批次的LossG的均值进行损失值计算;根据一个批次的LossG的均值利用Adam优化器对生成器的不同的权重和偏置值进行反向传播更新;接着将生成器生成的假数据段中的需要用于插补的值插入缺失数据段的缺失位置,得到补全后的数据段,将此数据段输入判别器中,得到的输出用于计算LossD;根据一个批次的LossD的均值利用Adam优化器对判别器的不同的权重和偏置值进行反向传播更新,完成一个批次的迭代训练;将更新后的模型参数作为初始参数继续训练生成器与判别器,进行下一个批次的迭代训练,直至完成最后一个批次的迭代训练,一个轮次的训练完成;将上一个轮次训练完成时模型参数作为下一个轮次训练时的初始参数,每完成一个轮次的迭代训练,将该训练数据集中的验证集输入到模型中,计算验证集的训练数据样本LossD的均值,连续8个轮次的验证集LossD的均值不变或者训练轮次达到预设次数,则停止训练,保存最后一次更新得到模型参数,得到完成一个训练数据集的训练的神经网络模型;将完成一个训练数据集的训练的神经网络模型的模型参数作为下一个训练数据集训练时的初始参数,不断重复模型训练过程,直至n个训练数据集的全部训练完,得到训练好的数据插补网络模型;生成器与判别器的损失计算方式如公式19~22,模型参数使用反向传播的方式进行更新;将n个训练数据集的验证集中的训练数据样本,分别输入到训练好的数据插补网络模型中,计算训练好的数据插补网络模型分别在对应n个缺失率下的数据插补性能评价指标;当训练好的数据插补网络模型在对应n个缺失率下的数据插补性能评价指标值均比STGAN模型在n个训练数据集上训练所达到的数据插补性能评价指标值均下降,则该训练好的数据插补网络模型为最优数据插补网络模型;否则,调整学习率、批大小、优化器类别,重复数据插补网络模型的训练过程,直至数据插补性能评价指标值均比STGAN模型的小,得到最优数据插补网络模型;步骤7:利用最优数据插补网络模型进行数据插补获取步骤1中的交通网路的第U天的第m个T时长的待插补数据段SUm,m为大于2的整数,并获取数据段SUm-1、SUm-2、SU-1m、SU-1m-1、SU-7m、SU-7m-1、SU-14m、SU-14m-1,其中,数据段SUm-1表示第U天的第m-1个T时长数据段,SU-7m表示第U-7天的第m个T时长数据段,其余数据段的含义据此类推;使用Z-Score方法对数据段SUm、SUm-1、SUm-2、SU-1m、SU-1m-1、SU-7m、SU-7m-1、SU-14m、SU-14m-1进行归一化操作,各维特征的均值与为标准差同数据集Dall,得到输入数据序列XU;其中,数据段SUm归一化操作之后得到数据段sUm;将输入数据序列XU和交通网路的预定义邻接矩阵A,输入到最优数据插补网络模型的生成器网络模型中,得到生成的数据段rUm;根据待插补数据段SUm的缺失率得到其掩码矩阵KUm,根据数据段rUm和掩码矩阵KUm进行缺失位置填补,得到完成插补的数据段RUm,RUm=KUm×sUm+1-KUm×rUm;最后,将完成插补的数据段RUm进行反归一化处理,即得与待插补数据段SUm对应的完整数据段。
全文数据:
权利要求:
百度查询: 河北工业大学 一种基于传递周期性的GAN网络的缺失交通流数据插补方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。