一种商用车轨迹数据的清洗与异常检测方法与流程

摘要: 本发明涉及车联网数据处理和智能交通,具体涉及一种商用车轨迹数据的清洗与异常检测方法。背景技术:1、商用车车载终端按设定周期上报车辆标识、时间戳、经纬度、速度和车...
一种商用车轨迹数据的清洗与异常检测方法与流程

本发明涉及车联网数据处理和智能交通,具体涉及一种商用车轨迹数据的清洗与异常检测方法。

背景技术:

1、商用车车载终端按设定周期上报车辆标识、时间戳、经纬度、速度和车辆状态。不同厂商或型号的终端在字段名称、坐标精度、时间单位和采样周期上可能不同,直接汇总后会出现空值、零坐标、重复点和时间顺序错乱。卫星信号遮挡、隧道或高架环境中的多路径效应、通信中断和终端故障会造成地理越界点、瞬时跳变点、异常高速点和长时间缺失段。这些记录若直接用于趟程识别、常跑线路分析或调度,会使里程、起终点和路线相似度的计算结果发生偏差。现有轨迹清洗方法多采用固定经纬度范围或固定速度阈值逐点过滤,难以适应车型、时段和采样周期的差异。逐点与全部行政区边界进行多边形运算,计算量随边界数量增加;对不同长度的缺失段采用同一种插值方法,还可能生成穿越行政区边界、速度超限或偏离常跑路线的轨迹。

技术实现思路

1、本发明的目的是为了解决现有技术中存在的缺点,而提出的一种商用车轨迹数据的清洗与异常检测方法。

2、为实现上述目的,本发明采用了如下技术方案:

3、一种商用车轨迹数据的清洗与异常检测方法,包括以下步骤:

4、s1:导入数据,并进行分区;

5、周期采集轨迹的原始记录,接收采集的原始记录,利用分布式计算对原始记录进行处理,按照车辆标识和日期分区,在分区内按时间戳排序,并为当前分区附加上一分区的最后一个有效轨迹点作为边界上下文;将行政区空间索引和规则参数作为只读数据下发至各计算分区;

6、s2:清洗轨迹点;

7、对轨迹点依次执行坐标合法性、时间顺序、地理边界、重复点、动态速度和动态距离检测,未通过则标记为异常,不写入清洗轨迹;动态距离阈值根据动态速度阈值、相邻点时间差和定位误差补偿量计算;

8、s3:历史行为建模;

9、基于历史有效趟程建立网格覆盖集合和有序网格转移序列,分别计算待检测轨迹窗口的覆盖相似度和顺序相似度,并结合速度符合度和停留符合度得到综合一致性;当综合一致性低于设定阈值时标记所述轨迹窗口为行为偏离;

10、s4:信号丢失补全;

11、根据缺失时长、端点上下文与历史代表路线的相似度,对缺失段执行端点约束插值、代表路线约束拟合或缺失标记;生成的候选补全点逐点通过地理边界、动态速度和动态距离校验,并记录补全方法和补全置信度,获得补全记录

12、s5:异常处理;

13、对异常的轨迹点进行异常修正并标记,生成异常报告,并保存异常明细,人工复核确认连续异常记录;

14、s6:输出清洗结果;

15、清洗结果包括清洗轨迹、异常明细、补全记录和质量指标。

16、进一步的,s1包括:

17、s11:输入原始记录;

18、每条原始记录至少包括记录标识record_id、数据源原始顺序号source_order、车辆标识terminal_id、gps时间戳gpstimestamp、维度latitude、经度longitude、速度speed和状态status;存在趟程编号时还包括趟程编号trip_id,并记录数据源类型source_type和数据结构版本号schema_version;

19、s12:分区处理;

20、按照车辆标识terminal_id和日期进行分区,分区内按照gps时间戳gpstimestamp排序,每个分区同时读取上一分区的最后一个有效点和下一分区的第一个有效点作为边界上下文,检测完成后按记录标识record_id去除重叠记录;

21、s13:标准化处理原始记录;

22、将时间统一换算为秒并转换至同一时区;经纬度根据coordinate_scale换算为度,并转换至统一坐标系,标准化处理后获得轨迹点;

23、s14:映射读取行政区空间索引和规则参数;

24、根据数据结构版本号schema_version读取字段映射,获得规则参数。

25、进一步的,步骤s2包括:

26、s21:检测轨迹点的坐标的合法性;

27、检测坐标是否为空或为零点,若是,则分别标记为null_coord或zero_coord的异常,将标记异常的轨迹点不写入清洗轨迹;保留原始记录;

28、s22:过滤地理边界;

29、根据行政区边界坐标构建s2多边形,并由所述s2多边形生成覆盖单元集合;根据轨迹点对应的s2多边形从所述覆盖单元集合中筛选候选行政区,再利用候选行政区的s2多边形执行点包含判断,将未落入目标行政区的轨迹点标记为out_of_bound并进入隔离区,不写入清洗轨迹;保留原始记录;

30、s23:检测动态速度和动态距离;

31、将轨迹点先按照数据源原始顺序号source_order检查同一车辆的时间戳,当轨迹点时间倒序时标记time_reverse,随后按照gps时间戳gpstimestamp排序,计算相邻轨迹点的差值,若差值为0且坐标不同时标记time_conflict表示时间冲突,差值若大于,则计算距离和速度;

32、设置检测边界:冷启动阶段设置车辆物理速度上限;

33、使用通过硬规则校验或经人工确认正常的样本,滚动正常样本数达到n_min后,计算速度中位数m和中位绝对偏差mad;取tv=min(vphy,m+k×1.4826×max(mad,δ)),其中vphy为设置的车辆物理速度上限k取3至5,δ为最小速度离散量,为预设的值,动态距离上限td=tv×δt/3.6+ε,ε为定位误差补偿量;未达到n_min,则使用车辆物理速度上限作为动态速度上限;

34、检测速度是否大于动态速度上限或距离是否大于动态距离上限,若是,则标记为相应异常,从清洗轨迹中排除或补全修正,原始记录不删除;

35、s24:检测重复点与跳变点;

36、将轨迹点的同一车辆在同一时间戳具有相同坐标时标记为duplicate_point;同一时间戳的坐标不同时标记为time_conflict;

37、检测当前点与前后相邻点的距离是否均超过各自动态距离阈值,而前后两点的距离却未超过对应时间跨度的动态距离阈值,若是,则标记为distance_jump。

38、进一步的,步骤s3包括:

39、s31:表征历史有效趟程;

40、对同一模型版本采用统一的geohash精度l,将地理空间划分为等尺寸网格,将历史模型的每个历史有效趟程形成两种表示:一是网格集合g,二是相邻网格转移序列t;

41、s32:构建轨迹窗口;

42、以轨迹窗口w为对象,w由连续m个有效点或固定时长内的有效点组成;

43、s33:计算路线的相似度;

44、对于当前待检测的轨迹窗口w,首先采用与历史模型相同的geohash精度l,分别生成该窗口的网格集合g(w)和相邻网格转移序列t(w);采用jaccard相似度计算覆盖相似度,根据t(w)与t(r)的最长公共子序列长度除以二者长度的较大值获得顺序相似度;将覆盖相似度和顺序相似度加权求和计算获得路线相似度;

45、s34:获得速度符合度;

46、当前窗口w内所有有效点的速度中位数设为m(w),获得对应车辆的历史速度的中位数为m、中位绝对偏差mad以及最小速度离散量δ;首先计算窗口速度中位数相对历史分布的标准化偏差,然后通过高斯核函数获得速度符合度,速度符合度的取值范围为(0,1];

47、s35:获得停留符合度;

48、预设停留速度阈值v_stop和停留持续时间阈值t_stop;将速度不高于v_stop且持续时间不短于t_stop的轨迹点定义为停留点,对历史模型中所有停留点,统计各geohash网格的停留频次,并归一化至[0,1]区间,形成历史停留网格频率分布;对于当前窗口w,若窗口内不存在任何停留点,则停留符合度ss取值为1,若窗口内存在停留点,则取窗口内各停留点所在网格的历史停留频率的平均值,作为该窗口的停留符合度ss;

49、s36:综合一致性判定;

50、将路线相似度sr、速度符合度sv和停留符合度ss加权求和,得到轨迹窗口的综合一致性指标c,当c<0.7时,将窗口w标记为行为偏离behavior_deviation;并将该标记写入窗口内各轨迹点;

51、s37:持续管理并更新模型版本;

52、将geohash精度l、窗口大小m、各权重系数、停留速度阈值v_stop、停留持续时间阈值t_stop以及最小速度离散量δ,均随模型版本号一并保存;只使用硬规则通过或人工确认正常的轨迹点样本。

53、进一步的,步骤s4包括:

54、s41:确定缺失时长;

55、获得缺失段两端的有效轨迹点的gps时间戳计算缺失时长;

56、s42:分级处理缺失段;

57、预设第一阈值和第二阈值;

58、当缺失时长不超过第一时长阈值时,执行端点约束插值;

59、当缺失时长超过第一时长阈值但不超过第二时长阈值时,执行代表路线约束拟合;

60、当缺失时长超过第二时长阈值时,执行缺失标记,仅当缺失段两端的端点上下文窗口与同一历史代表路线的路线相似度sr均不低于0.75,且两端的有效轨迹点所在网格在该路线上的顺序与行驶方向一致时,在关键转移网格处生成稀疏候选补全点。

61、进一步的,步骤s5包括:

62、s51:修正异常并标记;

63、每个轨迹点记录写入一个或多个异常类型,并给出处置状态;

64、s52:生成异常报告;

65、异常报告按日期、车辆和异常类型聚合,记录输入数、异常数、异常率、发生时间范围、实际值范围、阈值范围和各处置状态数量;

66、s53:保存异常明细;

67、异常明细包括记录标识、车辆标识、时间戳、原始坐标、修正坐标、实际值、阈值、规则版本、模型版本、处置状态以及人工复核记录的标识;

68、s54:人工复核;

69、根据处置状态添加至复核列表,并写入人工复核表,人工复核并记录;

70、人工复核表包括最终判定表圈、修正纬度、修正经度、复核原因以及复核时间。

71、进一步的,异常类型包括null_coord、zero_coord、out_of_bound、duplicate_point、time_reverse、time_conflict、speed_exceed、distance_jump、long_gap和behavior_deviation的异常标记;

72、正常有效的轨迹点的处置状态设为keep,针对标记为null_coord、zero_coord的无效坐标,时间冲突time_conflict和地理越界out_of_bound的轨迹点,将处置状态设为exclude;标识为duplicate_point的重复点只保留一条;孤立跳变点经短缺失段插值的补全点,处置状态设为correct;针对连续跳变、行为偏离或中、长缺失段的低置信度补全点,将处置状态设为review。

73、进一步的,步骤s6包括:

74、s61:计算质量指标;

75、计算获得应有点数nexp;

76、首先计算原始完整性qc=min(1,nobs/nexp);nobs为未经补全且通过坐标合法性校验的点数;

77、随后计算有效性qv=nrule_valid/ninput,ninput为输入数,nrule_valid为通过全部硬规则校验的点数;

78、接着计算连续性qt=max(0,1-ngap/max(1,nadj)),ngap为缺失段数量,nadj为相邻点对总数;

79、计算行为一致性qs=max(0,1-ndeviation_window/max(1,nwindow));ndeviation_window为被标记为行为偏离的窗口数,nwindow为总窗口数;

80、最后加权计算综合得分获得质量指标;

81、s62:输出结果;

82、将清洗轨迹、异常明细和质量指标写入分区结果表。

83、进一步的,限定每次更新后的tv和td相对上一次的变化比例不超过ρ,0<ρ<1。

84、与现有技术相比,本发明的有益效果为:(1)本发明不采用固定速度上限或固定距离阈值进行逐点判定,而是根据相邻轨迹点之间的实际时间差δt动态计算速度阈值和距离阈值。自动生成适应车辆类型、运行时段和采样周期的动态阈值速度阈值随采样周期同步调整,避免了高频采样点因相邻点间距过小被误判为静止、低频采样点因相邻点间距过大被误判为跳变的共性问题,使不同终端型号、不同上报频率的轨迹数据在同一套清洗流程中获得一致的判定标准,无需为每种采样周期单独配置参数。

85、(2)本发明根据行政区边界坐标预先构建s2多边形及其覆盖单元集合。轨迹点先通过s2单元快速筛选出少量候选行政区,再仅对候选行政区执行精确的原始多边形点包含判断。覆盖单元仅用于缩小候选范围,不直接作为最终边界判定结果,确保地理边界过滤的精度的同时,使每个轨迹点参与的边界运算次数由行政区总数降低为常数级候选区数量,显著减少了计算开销,支持大规模商用车轨迹数据的实时清洗。

86、(3)本发明在同一geohash精度下同时保存网格覆盖集合g和按时间排列的相邻网格转移序列t。覆盖相似度sg衡量空间重合程度,顺序相似度so通过最长公共子序列比较转移方向与次序,二者加权得到路线相似度sr。相较于仅比较空间覆盖的路线匹配方法,本发明能够区分“经过相同地点但方向相反”和“经过相同地点但顺序错乱”的轨迹,避免了因忽略行驶方向而将反向行驶误判为正常路线、或因忽略顺序而将绕行误判为一致路线的行为偏离检测误差。

87、(4)本发明根据缺失时长和端点上下文与历史路线证据的匹配程度实施分级处理。短缺失段(不超过10分钟)采用端点约束球面插值,保持轨迹连续;中等缺失段(10至30分钟)从历史路线簇中选择方向一致的代表路线生成约束路径并经过卡尔曼滤波平滑;长缺失段(超过30分钟)默认不生成连续轨迹,仅在具备高置信度历史路线证据时输出稀疏候选点,不计算补全段内连续里程。分级策略有效避免了长缺失段因缺少路线证据而盲目插值生成穿越行政边界、速度超限或偏离常跑路线的伪轨迹,同时保证了短缺失段补全的合理性和中等缺失段补全的可解释性。

88、(5)本发明多维数据输出,清洗轨迹、异常明细和质量指标一并写入分区结果表,低置信度补全点单独标记由下游模块决定是否使用。多维指标从数据采集、规则校验、轨迹连续性和行为合理性四个独立维度量化评估清洗效果,为趟程识别、路线分析和调度等下游应用提供了可量化、可对比的数据质量依据。