发明名称 基于时空分析的交通流数据清洗方法
摘要 本发明公开了一种基于时空分析的交通流数据清洗方法,包括脏数据存储模块、干净数据存储模块和运算模块,其中:所述脏数据存储模块,对实时接收到的交通流信息不加改变的按照固定格式进行存储;所述运算模块,按照固定时间间隔从脏数据存储模块中提取最新数据,同时从干净数据库中提取与之在时间和空间存在匹配关系的数据,进行运算;所述干净数据存储模块,对运算模块运算完毕后的数据按照固定格式进行存储。本发明通过简化交通流数据清洗过程,采用用时间与空间并行分析方法,从而方便、快捷、准确的进行交通流数据清洗工作。在简化交通流数据清洗过程,提供交通流数据清洗质量方面,具有实际工程运用价值。
申请公布号 CN103064974B 申请公布日期 2016.05.04
申请号 CN201310008621.X 申请日期 2013.01.10
申请人 东南大学 发明人 刘攀;俞灏;罗旭江;樊蓉;羊钊;李志斌;徐铖铖;陈金林
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 柏尚春
主权项 一种基于时空分析的交通流数据清洗方法,其特征在于:包括脏数据存储模块、干净数据存储模块和运算模块,其中:所述脏数据存储模块,对实时接收到的交通流信息不加改变的按照固定格式进行存储;所述干净数据存储模块,对运算模块运算完毕后的数据按照固定格式进行存储;所述运算模块,按照固定时间间隔从脏数据存储模块中提取最新数据,同时从干净数据库中提取与之在时间和空间存在匹配关系的数据,进行运算,运算方法如下:首先,运算模块每隔T0时间从脏数据存储模块中遍历所有m个检测器序号ID,并分别提取相同ID的数据中时刻最新的数据,分别为{A<sub>1</sub>,A<sub>2</sub>,A<sub>3</sub>,…,A<sub>m</sub>},同时在干净数据存储模块中,遍历所有m个检测器序号ID,并分别提取相同ID的数据中时刻最新的4条数据,分别记为<img file="FDA0000871747190000011.GIF" wi="1414" he="94" />其中任意Ai或者Bij均为13个字段的49位的十进制代码,i和j为自然整数;Ai={ID,DATE,TIME,LANE[1],LANE[2],LANE[3],LANE[4],LANE[5],LANE[6],LANE[7],LANE[8],LANE[9],LANE[10]},其中,各字段名称及其长度位数如下:检测器序号,日期,时间,第一车道流量,第二车道流量,第三车道流量,第四车道流量,第五车道流量,第六车道流量,第七车道流量,第八车道流量,第九车道流量,第十车道流量;前述各字段的长度位数依次分别为:5位、8位、6位、3位、3位、3位、3位、3位、3位、3位、3位、3位和3位;根据空间位置关系,定义检测器周围1km范围内检测器为相关检测器,若第k个检测器的相关检测器分为第k<sub>1</sub>,k<sub>2</sub>,…,k<sub>n</sub>,n为相关检测器的个数,则在进行数据清洗时,对第k个检测器进行如下运算:C<sub>k</sub>.ID=A<sub>k</sub>.ID<maths num="0001"><math><![CDATA[<mrow><msub><mi>C</mi><mi>k</mi></msub><mo>.</mo><mi>D</mi><mi>A</mi><mi>T</mi><mi>E</mi><mo>=</mo><msubsup><mi>B</mi><mi>k</mi><mi>l</mi></msubsup><mo>.</mo><mi>D</mi><mi>A</mi><mi>T</mi><mi>E</mi></mrow>]]></math><img file="FDA0000871747190000012.GIF" wi="446" he="71" /></maths><maths num="0002"><math><![CDATA[<mrow><msub><mi>C</mi><mi>k</mi></msub><mo>.</mo><mi>T</mi><mi>I</mi><mi>M</mi><mi>E</mi><mo>=</mo><msubsup><mi>B</mi><mi>k</mi><mi>l</mi></msubsup><mo>.</mo><mi>T</mi><mi>I</mi><mi>M</mi><mi>E</mi><mo>+</mo><mi>T</mi><mn>0</mn></mrow>]]></math><img file="FDA0000871747190000013.GIF" wi="526" he="71" /></maths><maths num="0003"><math><![CDATA[<mrow><msub><mi>C</mi><mi>k</mi></msub><mo>.</mo><mi>L</mi><mi>A</mi><mi>N</mi><mi>E</mi><mo>&lsqb;</mo><mi>l</mi><mo>&rsqb;</mo><mo>=</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mn>4</mn></munderover><msubsup><mi>B</mi><mi>k</mi><mi>i</mi></msubsup><mo>.</mo><mi>L</mi><mi>A</mi><mi>N</mi><mi>E</mi><mo>&lsqb;</mo><mi>l</mi><mo>&rsqb;</mo></mrow><mn>8</mn></mfrac><mo>+</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>4</mn></munderover><mrow><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mi>k</mi><mo>&NotEqual;</mo><mo>*</mo></mrow><mn>10</mn></munderover><mrow><msubsup><mi>B</mi><mi>k</mi><mi>j</mi></msubsup><mo>.</mo><mi>L</mi><mi>A</mi><mi>N</mi><mi>E</mi><mrow><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo></mrow></mrow></mrow></mrow><mrow><mn>4</mn><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>4</mn></munderover><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn><mo>,</mo><mi>k</mi><mo>&NotEqual;</mo><mo>*</mo></mrow><mn>10</mn></munderover><mrow><mo>(</mo><msubsup><mi>B</mi><mi>k</mi><mi>j</mi></msubsup><mo>.</mo><mi>L</mi><mi>A</mi><mi>N</mi><mi>E</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>?</mo><mn>1</mn><mo>;</mo><mn>0</mn><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>4</mn></munderover><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><msubsup><mi>B</mi><msub><mi>k</mi><mi>i</mi></msub><mi>j</mi></msubsup><mo>.</mo><mi>L</mi><mi>A</mi><mi>N</mi><mi>E</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo></mrow><mrow><mn>4</mn><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mn>4</mn></munderover><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><mrow><mo>(</mo><msubsup><mi>B</mi><msub><mi>k</mi><mi>i</mi></msub><mi>j</mi></msubsup><mo>.</mo><mi>L</mi><mi>A</mi><mi>N</mi><mi>E</mi><mo>&lsqb;</mo><mi>k</mi><mo>&rsqb;</mo><mo>?</mo><mn>1</mn><mo>;</mo><mn>0</mn><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000871747190000014.GIF" wi="1883" he="287" /></maths>其中,C<sub>k</sub>为与A<sub>k</sub>,B<sub>k</sub>有相同量纲的临时变量,l=1,2,3,...,10在计算得到Ck.LANE[l],l=1,2,3,….,10后进一步进行如下运算:如果A<sub>k</sub>.TIME&lt;C<sub>k</sub>.TIME,则说明发生数据丢失;如果A<sub>k</sub>.TIME&gt;=C<sub>k</sub>.TIME,则说明数据未丢失,可能发生数据漂移,进入下一级判断;逐条车道l比较,A<sub>k</sub>.LANE[l]是否属于区间(0.5*C<sub>k</sub>.LANE[l],1.5*C<sub>k</sub>.LANE[l]),如果属于,则C<sub>k</sub>.LANE[l]=A<sub>k</sub>.LANE[l];当所有车道均判断完毕后,继续进行下一个检测器的相应运算,当遍历所有m个检测器,完成如上运算过程后,将Ck所有数据存入干净数据存储模块。
地址 210096 江苏省南京市玄武区四牌楼2号