专利名称:一种多阈值空间相关的浮动车数据清洗和修复算法的制作方法
技术领域:
本发明涉及ー种浮动车数据处理方法,特别是关于ー种多阈值空间相关的浮动车数据清洗和修复算法。
背景技术:
浮动车因其具有覆盖范围广、采集数据精度高、实时性强等优点在动态交通数据的采集中得以广泛应用。但浮动车的流动性大,在非车流高峰时段不能覆盖所有路段,并且由于无线通信数据传输会出现数据包丢失的现象,容易导致浮动车采集数据发生错误或
缺失,从而影响交通状态测量的准确性。有文献指出目前浮动车采集的交通数据50%左右都存在数据错误或丢失的问题,而直接应用这些质量有问题的数据会给后续的交通辨识和交通控制带来不稳定的安全隐患。因此,为获得精确的动态交通数据,浮动车数据的清洗和修复显得尤为重要。交通领域中,交通流数据一般包含车速、流量、占有率等信息。对交通流数据的清洗和修复通常是利用不同属性之间的相关性对単一属性缺失数据进行有效补齐。但是浮动车数据只包含车速信息,因此不能采用上述交通流机理检测错误数据。当前对浮动车数据的处理多采用线性插值法或历史平均方法进行修复,修复精度较低。此外,也有方法提出结合线圈、摄像头等传感器数据来提高浮动车数据质量,但是由于目前传感器不能覆盖所有路段,因此这种方法需要增加大基础设施的投入,成本较高。
发明内容
针对上述问题,本发明的目的是提供一种多阈值空间相关的浮动车数据清洗和修复算法,该算法能够在不増加浮动车数量和额外处理设备的情况下,通过挖掘浮动车的规律性车速信息,对浮动车数据中的缺失数据、异常数据和噪声数据进行清洗修复,从而提高浮动车的数据质量,为后续的交通规划奠定基础。为实现上述目的,本发明采取以下技术方案ー种多阈值空间相关的浮动车数据清洗和修复算法,其包括以下步骤I)将浮动车采集的一路段若干天的数据合成一原始数据矩阵,所述原始数据矩阵中日期相同、时刻不同的车速数据构成日期向量,时刻相同、日期不同的车速数据构成时刻
向量;2)以天为単位对步骤I)获得的原始数据矩阵中的缺失数据和异常数据进行筛选2. I)为原始数据矩阵的每ー时刻向量设置ー置信区间;2. 2)对每一日期向量中的车速数据进行辨识及过滤如果车速数据小于等于零,则作为缺失数据归零;如果车速数据未在其所在时刻向量的置信区间内,则作为异常数据;2. 3)检验每一日期向量中缺失数据个数,连续缺失数据个数和连续异常数据个数如果一日期向量中缺失数据个数大于预设的数据缺失阈值,或者连续缺失数据个数大于预设的数据连续缺失阈值,或者连续异常数据个数大于预设的数据连续异常阈值,则将整个日期向量删除;所述连续缺失数据是指该缺失数据的前一时刻或后一时刻数据也缺失;所述连续异常数据是指该异常数据的前一时刻或后一时刻数据也异常;2. 4)经过筛选后的原始数据矩阵成为异常数据矩阵;3)根据三西格玛准则对步骤2)获得的异常数据矩阵中的异常数据进行清洗3. I)对异常数据矩阵中的每ー时刻向量进行正态分布检验如果时刻向量呈非正态分布,则对其实施近似正态变换;3. 2)根据三西格玛准则求出每ー时刻向量的置信区间;3. 3)对每一日期向量中的每ー车速数据进行辨识如果车速数据偏离其所在时刻向量的置信区间,则作为异常数据归零;3. 4)经过清洗后的异常数据矩阵成为缺失数据矩阵;4)对步骤3)获得的缺失数据矩阵中的缺失数据进行修复4. I)对缺失数据矩阵中的每个缺失数据进行判断如果缺失数据是孤立缺失数据,用加权平均法修复,进入步骤4. 2);如果缺失数据是连续缺失数据,用指数平滑法修复,进入步骤4. 3);4. 2)用路段的空间相似特性修复车速数据,并将其与加权平均法的车速修复结果作加权平均,获得的结果作为孤立缺失数据的最终修复值;4. 3)用路段的空间相似特性修复车速数据,并将其与指数平滑法的车速修复结果作加权平均,获得的结果作为连续缺失数据的最终修复值;4. 4)经过修复后的缺失数据矩阵成为噪声数据矩阵;5)用主成分重建方法对步骤4)获得的噪声数据矩阵中的噪声数据进行修复5. I)计算噪声数据矩阵的主成分矩阵;5. 2)计算主成分累积贡献率;5. 3)当主成分累积贡献率大于给定的贡献率阈值时,用主成分重建方法获得浮动车修复数据矩阵,结束。上述步骤2. I)中,姆ー时刻向量的置信区间的置信度设定为85%,相应的,姆ー时亥IJ向量的置信区间为[ろ-1.44σ,,ろ+1.44σ,].ろ为时刻向量的平均值,σ彳为时刻向量的向
量标准差。上述步骤4. I)中,所述指数平滑法为二次指数平滑法。上述步骤3. I)中,对非正态分布的时刻向量实施如下的近似正态变换
,ド υxY] = \ Y
吨づ)7 = 0上式中,xi;j是近似正态变换前的矩阵元素,X1J为近似正态变换后的矩阵元素,Y为正态变换指数因子,Y通过求解下式I(Y)的最大值获得,
/(r) = -^-ln^f (4y* -又f) )2) + ( r -1) In (xu ),是呈近似正态分布的时刻向量x/Y)的平均值,尤产1 ニ士写_ユ。上述步骤5. 3)中,贡献率阈值为95%。本发明由于采取上述技术方案,具有以下优点1、本发明由于采用多阈值控制方法和基于正态变换的三西格玛法则对浮动车数据进行清洗,因此能够保证不剔除正常数据的情况下,对浮动车数据中的异常数据进行精确的辨识和过滤。2、本发明由于采用加权平均法和指数平滑法对缺失数据进行补全,因此与现有技术中采用历史平均和线性插值的传统方法相比,可以利用时间序列的趋势性,減少相邻时刻的数据波动对修复值的影响。3、本发明由于在加权平均法和指数平滑法的基础上,还利用相邻路段的空间拓扑特性,通过相邻路段的交通状态相关性对缺失数据进行修复,因此与现有技术相比,数据修复精度明显
提高。4、本发明由于采用主成分重建方法修复浮动车数据中的高频噪声,充分利用时间序列的规律性与趋势性,挖掘浮动车的规律性车速信息,从而在保持车速数据正常的瞬变特性的基础上,获得更加平滑、波动更小的曲线,有效地提高了浮动车的数据质量。本发明可以用于浮动车规律性数据的清洗和修复工作,为后续的交通规划和交通辨识提供可靠的数据。
图I是本发明的算法流程示意图;图2是本发明的数据初步筛选流程示意图;图3是本发明的异常数据清洗流程示意图;图4是本发明的缺失数据修复流程示意图;图5是本发明的噪声数据修复流程示意图。
具体实施例方式下面结合附图和实施例对本发明进行详细的描述。浮动车以路段为单位进行数据采集,每过一段时间间隔采集一个数据点,一路段若干天的浮动车数据可以合成一原始数据矩阵X
xU 气 2 ■" X\,NY _ ズ2,1 ズ2,2 · · · X2,N。
_XM I Xu I …XM.N上式中,M为采集数据的天数,N为每天的数据采集量;数据矩阵X的行向量XiOi,i,Xi,2,…,Xu,…,Xi, N>表示相同日期、不同时刻的车速数据,简称日期向量,列向量Xj.〈Xl,j, X2, j,…,Xij,···,%, j>表示相同时刻、不同日期的车速数据,简称时刻向量,其中i为日期序号,j为时刻序号,Xi, J为第i天j时刻的车速数据。本发明需要对数据矩阵中的每ー个元素进行分析当车速数据小于或等于零时为缺失数据;当ー缺失数据前ー时刻或后ー时刻数据也缺失时,该缺失数据为连续缺失数据;当一车速数据严重偏离其分布的中心时为异常数据;当ー异常数据前ー时刻或后一时刻数据也异常时,该异常数据为连续异常数据。其中,判断车速数据是否为异常数据可以借助时刻向量的置信区间进行。如图I所示,本发明通过以下四个步骤,对浮动车数据中的(连续)缺失数据和(连续)异常数据进行清洗和修复I、数据初步筛选;2、根据三西格玛法则清洗异常数据;3、修复缺失数据;4、用主成分重建方法修复噪声数据。如图2所示,浮动车数据初步筛选流程是以天为单位对原始数据矩阵X中的缺失数据和异常数据进行筛选,具体包括以下步骤I)初始化原始数据矩阵每ー时刻向量的置信区间I. I)初始化时刻序号j=l ;I. 2)判断j>N是否成立若成立,则进入步骤2);否则进入步骤I. 3);I. 3)求时刻向量Xj的平均值ぞ,向量标准差σゴ和置信度为ー给定值C的置信区间;其中,置信度C可以根据经验设定为85%,相应的,时刻向量的置信区间为[Χ,-l 44c ^.+1.44^]I. 4) j增加I返回步骤I. 2);2)对每一日期向量中的车速数据进行辨识及过滤2. I)初始化日期序号i = 1,时刻序号j=l ;2. 2)判断i > M是否成立若成立,则进入步骤2. 14);否则进入步骤2. 3);2. 3)判断j>N是否成立若成立,则i增加1,j初始化为1,返回步骤2. 2);否则进入步骤2. 4);2. 4)将记录每天缺失数据个数的參数W、记录每天连续缺失数据个数的參数V和记录每天连续异常数据个数的參数V全部初始化为0,将异常数据序号d初始化为I ;2. 5)判断χ^.〈0是否成立若成立,则Xy=0,Xi, j为缺失数据,Ni増加1,进入步骤2. 7);否则进入步骤2. 6);2. 6)判断Xy=O是否成立若成立,则Xy为缺失数据,Ni増加1,进入步骤2. 7);否则进入步骤2. 8);2. 7)判断Xi, η〈=0或Xi, j + !<=0是否成立,也即判断Xi, j的前一时刻或后ー时刻的数据是否缺失若Xi,ー=0或Xi,j + !<=0,则Xi, j为连续缺失数据,Ne和Ne均增加I,进入步骤2. 10);否则V重置为0,进入步骤2. 9),判断Xy是否为连续异常数据;2. 8)判断Xi, j是否在时刻向量Xj的置信区间内若Xi, j在时刻向量Xj的置信区间内,则Xi, j为正常数据,Ne重置为0,进入步骤
2.10);否则Xy为异常数据,进入步骤2. 9),判断Xy是否为连续异常数据;2. 9)判断j-d = I是否成立若成立,则Xy为连续异常数据,Ne増加1,更新d = j,进入步骤2. 10);否则Ne重置为I,更新d = j,进入步骤2. 10);2. 10)将Ni与一给定的数据缺失阈值Ni(t)比较若Ni > Niw,进入步骤 2. 13);否则进入步骤2. 11);2. 11)将Ne与ー给定的数据连续缺失阈值Ne(t)比较若Nc > Nc(t),进入步骤 2. 13);否则进入步骤2. 12);2. 12)将Ne与ー给定的数据连续异常阈值Ne(t)比较若Ne>Ne(t),进入步骤 2. 13);否则j增加1,返回步骤2. 3);2. 13) i增加1,j重置为1,返回步骤2. 2);2. 14)结束数据初步筛选流程,原始数据矩阵X变为M'行N列的异常数据矩阵V
Xl,I Xl,2 …Xl, jVγ, _ ろ,1 Χ2,2 · ·. 乂2'N
,A/’.I -vV 2 …XM\N进入异常数据清洗流程。其中,由于有些天的数据因不符合要求被整体删除,导致异常数据矩阵X'的行数可能小于原始数据矩阵的行数,因此有M S M'。相应的,日期向量Xi更新为〈Xia,Xi,2,…,xi,j,...,xi, N〉,时刻向里 Xj 更新为〈Xl, j,X2, j,...,Xi, j…,XM, , j〉。上述步骤2. 10) 2. 12)中,缺失数据阈值Ni(t)可以预设为O. IN,连续缺失数据阈值Ne(t)可以预设为O. 05N,连续异常数据阈值Ne(t)可以预设为O. 03N。如图3所示,数据初步筛选完成后,浮动车异常数据清洗流程首先对异常数据矩阵V中的每个时刻向量建立概率模型,对其中概率不符合正态分布的时刻向量进行近似正态变换,然后根据三西格玛过滤法则对异常数据矩阵V中的异常数据进行进ー步清洗,具体包括以下步骤I)初始化时刻序号j=l ;2)判断j>N是否成立
若成立,则进入步骤13);否则将正态分布标志f初始化为0,进入步骤3);3)判断异常数据矩阵X'中时刻向量\是否符合正态分布若)^符合正态分布,f置为I,进入步骤6);否则进入步骤4);4)对时刻向量Xj实行近似正态变换,近似正态变换方法如下所示
权利要求
1.一种多阈值空间相关的浮动车数据清洗和修复算法,其包括以下步骤 1)将浮动车采集的一路段若干天的数据合成一原始数据矩阵,所述原始数据矩阵中日期相同、时刻不同的车速数据构成日期向量,时刻相同、日期不同的车速数据构成时刻向量; 2)以天为単位对步骤I)获得的原始数据矩阵中的缺失数据和异常数据进行筛选 2.I)为原始数据矩阵的每ー时刻向量设置ー置信区间; 2.2)对每一日期向量中的车速数据进行辨识及过滤 如果车速数据小于等于零,则作为缺失数据归零; 如果车速数据未在其所在时刻向量的置信区间内,则作为异常数据; 2.3)检验每一日期向量中缺失数据个数,连续缺失数据个数和连续异常数据个数如果ー日期向量中缺失数据个数大于预设的数据缺失阈值,或者连续缺失数据个数大于预设的数据连续缺失阈值,或者连续异常数据个数大于预设的数据连续异常阈值,则将整个日期向量删除; 所述连续缺失数据是指该缺失数据的前一时刻或后一时刻数据也缺失;所述连续异常数据是指该异常数据的前一时刻或后一时刻数据也异常; 2.4)经过筛选后的原始数据矩阵成为异常数据矩阵; 3)根据三西格玛准则对步骤2)获得的异常数据矩阵中的异常数据进行清洗 3.I)对异常数据矩阵中的每ー时刻向量进行正态分布检验 如果时刻向量呈非正态分布,则对其实施近似正态变换; 3.2)根据三西格玛准则求出每ー时刻向量的置信区间; 3.3)对每一日期向量中的每ー车速数据进行辨识 如果车速数据偏离其所在时刻向量的置信区间,则作为异常数据归零; 3.4)经过清洗后的异常数据矩阵成为缺失数据矩阵; 4)对步骤3)获得的缺失数据矩阵中的缺失数据进行修复 4.I)对缺失数据矩阵中的每个缺失数据进行判断 如果缺失数据是孤立缺失数据,用加权平均法修复,进入步骤4. 2); 如果缺失数据是连续缺失数据,用指数平滑法修复,进入步骤4. 3); 4.2)用路段的空间相似特性修复车速数据,并将其与加权平均法的车速修复结果作加权平均,获得的结果作为孤立缺失数据的最終修复值; 4.3)用路段的空间相似特性修复车速数据,并将其与指数平滑法的车速修复结果作加权平均,获得的结果作为连续缺失数据的最終修复值; 4.4)经过修复后的缺失数据矩阵成为噪声数据矩阵; 5)用主成分重建方法对步骤4)获得的噪声数据矩阵中的噪声数据进行修复 5.I)计算噪声数据矩阵的主成分矩阵; 5.2)计算主成分累积贡献率; 5.3)当主成分累积贡献率大于给定的贡献率阈值时,用主成分重建方法获得浮动车修复数据矩阵,结束。
2.如权利要求I所述的ー种多阈值空间相关的浮动车数据清洗和修复算法,其特征在于所述步骤2. I)中,每ー时刻向量的置信区间的置信度设定为85%,相应的,每ー时刻向量的置信区间为[1/-1爿「为时刻向量的平均值,为时刻向量的向量标准差。
3.如权利要求I所述的ー种多阈值空间相关的浮动车数据清洗和修复算法,其特征在于,所述步骤4. I)中,所述指数平滑法为二次指数平滑法。
4.如权利要求2所述的ー种多阈值空间相关的浮动车数据清洗和修复算法,其特征在于,所述步骤4. I)中,所述指数平滑法为二次指数平滑法。
5.如权利要求I或2或3或4所述的ー种多阈值空间相关的浮动车数据清洗和修复算法,其特征在于,所述步骤3. I)中,对非正态分布的时刻向量实施如下的近似正态变换 上式中,Xu是近似正态变换前的矩阵元素,·^1为近似正态变换后的矩阵元素,Y为正态变换指数因子,Y通过求解下式I(Y)的最大值获得, /(か-ザ)2]+(ァ-1)|>(ん), 尹W是呈近似正态分布的时刻向量χ/γ)的平均值,晃⑴=
6.如权利要求I或2或3或4所述的ー种多阈值空间相关的浮动车数据清洗和修复算法,其特征在于所述步骤5. 3)中,贡献率阈值为95%。
7.如权利要求5所述的ー种多阈值空间相关的浮动车数据清洗和修复算法,其特征在于所述步骤5. 3)中,贡献率阈值为95%。
全文摘要
本发明涉及一种多阈值空间相关的浮动车数据清洗和修复算法,该算法将浮动车对一路段的若干天的采集数据合成一数据矩阵,在以天为单位初步筛选数据矩阵中的缺失数据和异常数据后,根据三西格玛过滤法则进一步清除数据矩阵中的异常数据,然后根据缺失数据的类型,用加权平均法和指数平滑法分别结合路段的空间相似特性对缺失数据进行修复,最后用主成分重建方法修复浮动车数据中的高频噪声扰动,从而在不增加浮动车数量和额外处理设备的情况下,对浮动车的规律性车速信息进行充分挖掘,有效地改善了浮动车的数据质量。本发明可以用于浮动车规律性数据的清洗和修复工作,为后续的交通规划和交通辨识提供可靠的数据。
文档编号G06F19/00GK102819682SQ20121027323
公开日2012年12月12日 申请日期2012年8月2日 优先权日2012年8月2日
发明者杨殿阁, 连小珉, 张照生, 王钊, 李江涛, 张德鑫, 彭应亮 申请人:清华大学