发明名称 一种动态交通异常数据检测与修复方法
摘要 本发明公开了一种动态交通异常数据检测与修复方法,包括异常数据检测和修复两部分,异常数据检测采用一种基于密度的局部异常孤立点发现的方法,异常数据修复采用一种基于灰色系统理论的修复方法。本发明实时有效地对动态交通中车辆运行数据中的异常数据进行了检测和修复,提高了数据质量,从而最终保障交通安全。
申请公布号 CN104156579A 申请公布日期 2014.11.19
申请号 CN201410375544.6 申请日期 2014.07.31
申请人 江南大学 发明人 陈志勇;黄俊;杨乐;彭力;莫子兴;蔡岗
分类号 G06F19/00(2011.01)I;G08G1/01(2006.01)I 主分类号 G06F19/00(2011.01)I
代理机构 徐州市淮海专利事务所 32205 代理人 华德明
主权项 一种动态交通异常数据检测与修复方法,其特征在于,包括以下步骤:(S1)将动态交通中实时采集的数据按照时间顺序通过长度为N的滑动窗(Sliding Window)模型;(S2)滑动窗中接收到新采集的交通数据后,立即开始计算滑动窗中所有数据对象的MinPts‑距离邻域NminPts,并计算其到领域中每个对象的距离,其中,MinPts‑距离邻域的计算式为:N<sub>MinPts</sub>(p)={q∈D/p|d(p,q)≤k‑distance(p)}   (1)(S3)计算滑动窗中所有数据点的可达密度lrd<sub>MinPts</sub>,其计算式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>lrd</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>/</mo><mrow><mo>(</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><mi>o</mi><mo>&Element;</mo><msub><mi>N</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow></mrow></msub><mi>reach</mi><mo>-</mo><msub><mi>dist</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>,</mo><mi>o</mi><mo>)</mo></mrow></mrow><mrow><mo>|</mo><msub><mi>N</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>|</mo></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000547137710000011.GIF" wi="1388" he="195" /></maths>(S4)计算滑动窗中所有数据点的局部异常因子LOF<sub>MinPts</sub>,其计算式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>LOF</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><mi>o</mi><mo>&Element;</mo><msub><mi>N</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow></mrow></msub><mfrac><mrow><msub><mi>lrd</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>o</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>lrd</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow></mrow></mfrac></mrow><mrow><mo>|</mo><msub><mi>N</mi><mi>MinPts</mi></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>|</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000547137710000012.GIF" wi="1222" he="228" /></maths>(S5)计算局部异常因子的标准差σ<sub>LOF</sub>其计算式为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>&sigma;</mi><mi>LOF</mi></msub><mrow><mo>(</mo><mi>T</mi><mo>)</mo></mrow><mo>=</mo><msqrt><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><mi>o</mi><mover><mi>o</mi><mo>`</mo></mover><mi>Y</mi></mrow></msub><msup><mrow><mo>(</mo><mi>LOF</mi><mrow><mo>(</mo><mi>o</mi><mo>)</mo></mrow><mo>-</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup><mi>LOF</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mi>N</mi></mfrac><mo>)</mo></mrow><mn>2</mn></msup></mrow><mi>N</mi></mfrac></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000547137710000013.GIF" wi="1299" he="239" /></maths>(S6)计算数据更新前后局部异常因子标准差的比值R,其计算式为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>R</mi><mo>=</mo><mfrac><mrow><msub><mi>&sigma;</mi><mi>LOF</mi></msub><mrow><mo>(</mo><mi>T</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><msub><mi>&sigma;</mi><mi>LOF</mi></msub><mrow><mo>(</mo><mi>T</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000547137710000014.GIF" wi="1003" he="143" /></maths>(S7)当R的值小于阈值时,新更新的交通数据不是异常数据,不需要对数据进行修复,返回步骤(S1),直接等待新的交通数据的到来;当R的值等于或大于阈值时,新更新的交通数据是异常数据,需要对其进行修复,进入异常数据修复。(S8)提取滑动窗中除去新更新的数据,构成一个原始数据序列X<sup>(0)</sup>,数据序列形式为:X<sup>(0)</sup>=(X<sup>(0)</sup>(1),X<sup>(0)</sup>(2),...,X<sup>(0)</sup>(n))   (6)(S9)计算原始序列的邻均值等权生成序列Z<sup>(1)</sup>,其计算式为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msup><mi>Z</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><msup><mi>X</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msup><mi>X</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo><mi>k</mi><mo>=</mo><mn>2,3</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000547137710000021.GIF" wi="1367" he="146" /></maths>(S10)计算原始序列的一次累加X<sup>(1)</sup>,其计算式为:X<sup>(1)</sup>=(X<sup>(1)</sup>(1),X<sup>(1)</sup>(2),...,X<sup>(1)</sup>(n))   (8)(S11)建立灰色模型GM(1,1)的矩阵形式Y:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>Y</mi><mo>=</mo><mi>B</mi><mover><mi>&alpha;</mi><mo>^</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000547137710000022.GIF" wi="1007" he="121" /></maths>(S12)求解在式(9)中的最小化问题,灰色模型GM(1,1)参数<img file="FDA0000547137710000023.GIF" wi="64" he="66" />的估计值为:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mover><mi>&alpha;</mi><mo>^</mo></mover><mo>=</mo><msup><mrow><mo>[</mo><mi>a</mi><mo>,</mo><mi>u</mi><mo>]</mo></mrow><mi>T</mi></msup><mo>=</mo><msup><mrow><mo>(</mo><msup><mi>B</mi><mi>T</mi></msup><mi>B</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mi>B</mi><mi>T</mi></msup><mi>Y</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000547137710000024.GIF" wi="1186" he="126" /></maths>(S13)计算出异常数据的修复值X<sup>(0)</sup>,异常数据得到修复:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><msup><mi>X</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msup><mover><mi>X</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msup><mover><mi>X</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msup><mi>e</mi><mi>a</mi></msup><mo>)</mo></mrow><mo>[</mo><msup><mi>X</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mfrac><mi>u</mi><mi>a</mi></mfrac><mo>]</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>ak</mi></mrow></msup><mo>,</mo><mi>k</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000547137710000025.GIF" wi="1439" he="255" /></maths>(S14)若车辆继续行驶,则返回步骤(S1),若车辆停止,则结束;所述步骤(S1)中的滑动窗模型中的数据包括已处理的数据和待辨识的数据;所述步骤(S2)中的MinPts‑距离定义为:任意的自然数k,定义对象p的k‑距离(k‑distance(p))为p和集合中D中某个对象o之间的距离;所述对象o至少存在k个对象<img file="FDA0000547137710000026.GIF" wi="235" he="79" />使得<img file="FDA0000547137710000027.GIF" wi="382" he="82" />并且至多存在k‑1个对象<img file="FDA0000547137710000028.GIF" wi="228" he="81" />使得<img file="FDA0000547137710000029.GIF" wi="390" he="85" />步骤(S5)中局部异常因子的标准差σ<sub>LOF</sub>的初始值取0。
地址 214000 江苏省无锡市滨湖区蠡湖大道1800号