[0004] 本发明针对现有技术的不足,提出了一种面向道路实时速度估算的浮动车载客行为模式清洗方法。
[0005] 本发明中所谓的浮动车数据是指安装在城市公共交通工具(多指出租车)上的GPS设备每隔一段时间(一般30秒一次)上传至数据中心的数据。浮动车数据字典包括:车牌号码、车辆位置信息、数据创建时间、车辆载客状态(0表示空载,1表示满载)等;“载客行为”是指如图1所示的车辆由正常行驶突然减速后恢复正常行驶的过程。“载客行为”包括:
[0006] “真载客行为”:是指从浮动车数据上表现出来的,即车辆载客状态由0变为1或者由1变为0的过程。该过程产生的速度样本需要剔除。
[0007] “类载客行为”:是从车辆速度上表现出来的,表现为车辆速度变化类似于真实的载客行为,但是它的车辆载客状态并没有发生0,1跳变。我们称之为“类载客行为”。如路口等待红绿灯、遇突发事件、真实发生了载客行为但设备故障没有发生0,1跳变等等。“类载客行为”还根据发生时的不同情景分为以下各种行为:
[0008] “路口行为”:指车辆的“类载客行为”发生在路口区域。多数情况下在路口等待红绿灯时发生,属于正常的交通行为无需剔除。
[0009] “集体行为”:指所有车辆在同一时空范围内且在非路口区域均发生了“类载客行为”。这种行为多发生在道路临时拥堵,或斑马线前的礼让行人,属于道路正常现象无需剔除。
[0010] “个体行为”:该行为是相对于“集体行为”而言的。该类行为产生的速度样本需要被剔除。
[0011] 本发明技术方案的主要构思:离线阶段,根据大量浮动车历史数据学习得到“类载客行为”的速度变化阈值,对路网数据进行预处理。在线阶段,实时获取一定时间片的浮动车数据,计算出浮动车行驶速度并添加到路网相应的路段中,从路段中的各个车辆的速度列表中剔除“真载客行为”的速度样本,并且根据“类载客行为”速度变化阈值识别“类载客行为”并剔除需要剔除的速度样本。
[0012] 本发明方法包括以下步骤:
[0013] 步骤(1).读取浮动车历史数据,浮动车数据包括车牌号码、位置信息、创建时间、载客状态,计算车辆连续两次记录的距离和时间差,然后通过距离和时间差计算速度得到历史数据中所有车辆的速度列表,统计载客状态发生跳变时的速度样本,并得到“类载客行为”速度变化阈值;
[0014] 1-1.根据“车牌号码”、“创建时间”升序读取一段时间(大于1个小时)的浮动车历史数据,浮动车每个样本点数据包括车牌号码(CPHM)、位置信息(GPS_FDC)、创建时间(CJSJ)、载客状态(STATUS);
[0015] 1-2.计算每辆车连续两个样本点相隔的距离和时间差,并计算出每辆车连续一个小时的所有速度样本列表;
[0016] 1-3.记录所有车辆发生“真载客行为”(STATUS由0变1或由1变0)时速度变化前后的连续5个速度样本<v1,v2,v3,v4,v5>,并选取500组这样的速度样本;
[0017] 1-4.将每组速度样本根据最小二乘法拟合成2次曲线,则每组速度样本都有一条唯一的二次曲线f(x);
[0018] 对速度样本的时间进行无量纲化、坐标原点设定、坐标统一化。首先将5个样本的时间都用等距的数值5,10,15,20,25依次替代。其次,将所有曲线进行上下平移使得所有曲线都经过坐标原点。最终为每组样本得到在统一坐标下的唯一的一条曲线,公式(1)中的a和b可以唯一确定曲线的形状。这里我们选取a,b,v1-v5三个参数作为每条曲线的参数向量V(a,b,v1-v5);
[0019] f(x)=ax2+bx..............(1)
[0020] 1-5.对每一组数据计算得到它的参数向量V(a,b,v1-v5),将这500个参数向量进行基于密度的聚类算法DBSCAN进行聚类,可以得到三类曲线,即载客行为过程前半部分、载客行为过程后半部分、载客行为全过程;
[0021] 1-6.获取3个类的类簇中心的参数向量Vic(a,b,v1-v5)和最远边界的参数向量Vib(a,b,v1-v5)。根据公式(2)计算聚类中心参数向量和最远边界参数向量的欧式距离;
[0022]
[0023] 1-7.根据以上步骤得到的三个类的距离D1,D2,D3作为“类载客行为”的速度变化阈值;
[0024] 步骤(2).读取路网数据,路网数据包括路段编号、路段位置信息,将路网网格化得到“网格—路段编号”映射表,并根据路段的连通性得到路口路段映射表;
[0025] 步骤(3).根据“车牌号”、“创建时间”升序读取当前时间前5分钟的浮动车数据,计算车辆连续两个样本点的相隔距离和时间差,然后通过距离和时间差计算速度,并根据“网格—路段编号”映射表将该速度添加到第二次记录的车辆位置信息所在的路段编号上,得到该时间片各个路段上各个车辆的速度列表;
[0026] 步骤(4).根据车辆载客状态识别“真载客行为”并剔除速度列表中由于该行为形成的异常速度样本,并返回新的速度列表,过程如下:
[0027] 4-1.循环读取LDIDSpeedListMap中下一个LDID中所有车牌号码CPHM对应的速度列表speedList;
[0028] 4-2.识别每一个speedList中,是否存在STATUS由0变1或者由1变0的过程,若存在则剔除跳变时产生的速度样本;
[0029] 4-3.重复步骤4-1,4-2直至LDIDSpeedListMap中所有LDID中的所有车牌号码CPHM对应的速度列表speedList都剔除完毕,并返回一个新的LDIDSpeedListMap;
[0030] 步骤(5).根据步骤(1)得到的阈值识别“类载客行为”,并剔除速度列表中由于“类载客行为”造成的异常速度样本,并返回新的速度列表,过程如下:
[0031] 5-1.经过步骤(4)后从新的LDIDSpeedListMap中循环遍历获取LDID中CPHM的速度样本列表speedList,以5个连续的速度样本为一组<v1,v2,v3,v4,v5>;
[0032] 5-2.将每组速度样本根据最小二乘法拟合成2次曲线,则每组速度样本都有一条唯一的二次曲线f(x),f(x)=ax2+bx,a、b为系数,每一组速度样本建立参数向量Vis(a,b,v1-v5),并根据公式(3)计算Vis与步骤(1)中得到三个类簇中心的参数向量Vic(a,b,v1-v5)的欧式距离di(d1,d2,d3);
[0033]
[0034] 5-3.将di(d1,d2,d3)与步骤(1)中得到的对应的“类载客行为”速度变化阈值Di(D1,D2,D3)比较,如果d1<D1则认为该组速度样属于第一类“类载客行为”;d2<D2则认为该组速度样属于第二类“类载客行为”;d3类推。每个样本将唯一对应一个类,不会出现同时属于2个类的情况;
[0035] 5-4.扫描speedList表,得到该“类载客行为”速度样本<v1,v2,v3,v4,v5>中最小速度对应的LDID和GPS_FDCi。遍历LkMap,若LkMap中存在该LDID则说明该行为出现的路段LDID为路口路段,若不存在进入5-5。从LkMap中获取该路段编号LDID对应的路口点(GPS_QD,GPS_ZD),GPS_QD表示起点经纬度,GPS_QD表示终点经纬度,通过公式(3)计算GPS_FDCi与路口的距离并取其最小值L,若L
[0036] L=min(abs(GPS_FDCi-GPS_QD),abs(GPS_FDCi-GPS_ZD)………(4)
[0037] 5-5.得到该载客行为的vi对应的CJSJi和GPS_FDCi,循环遍历该LDID下其他车辆的速度列表若均出现“载客行为”获取其对应载客点的GPS_FDCi'和CJSJi',根据公式(5)、公式(6)计算判断条件;
[0038] abs(GPS_FDCi-GPS_FDCi')<Δs_min,i≠i'………(5)
[0039] abs(CJSJi-CJSJi')<Δt_min,i≠i'…………………(6)
[0040] 若该LDID下其他车辆都满足以上判断条件则认为该载客行为属于“集体行为”不进行剔除,否则属于“个体行为”进入步骤5-6进行速度样本剔除;
[0041] 5-6.剔除上述步骤得到的“类载客行为”速度样本。根据该速度样本vi<v1,v2,v3,v4,v5>所属的“类载客行为”分类,若属于第一类即载客过程的前半部分,则剔除这组速度样本中的后3个样本;同理若d2
[0042] 5-7.重复步骤5-2至5-6完成“类载客行为”识别和剔除后返回一个新的LDIDSpeedListMap;
[0043] 步骤(6).经过以上步骤后得到LDID对应的所有速度样本,计算所有速度样本的平均速度作为该路段的实时速度并存于数据库实时速度表中;
[0044] 6-1.完成该时间片Δt所有的速度样本剔除之后,根据新的LDID_SpeedMap获取LDID中的所有CPHM的速度列表根据CJSJ的先后顺序组成一新的速度列表<v1,v2,v3,…vn>;
[0045] 6-2.我们把该时间片划分为更小的时间片段τ,将速度列表中所有速度根据其对应的CJSJ划分到每一个小的时间片段中,假设每个小的时间片段中有m个速度样本,则根据公式(7)估算路段速度vR;
[0046]
[0047] 步骤(7).根据时间无缝规则更新时间片,重复步骤(3)至步骤(6);
[0048] λk表示每一个小时间片段所对应的权值参数,k表示小时间片段的个数;mμ[0049] 表示每个小时间片段内速度样本的个数;
[0050] vR:路段平均速度,单位km/h;
[0051] Δt_min:判断是否为“集体行为”的时间阈值(设值30秒);
[0052] Δs_min:判断是否为“集体行为”的空间阈值(设置50米);
[0053] L_min:判断车辆是否发生“路口行为”的距离阈值(设置50米)。
[0054] 本发明具有的有益效果:本发明在大数据量且无规律可循的浮动车数据中快速并且准确的识别数据中的两种载客行为并剔除,在保证数据的实时性的同时,极大的增加了实时速度的准确性。附图说明:
[0055] 图1浮动车类载客行为示意图
[0056] 图2具体实施步骤流程图;
[0057] 图3三类载客行为聚类曲线图;
[0058] 图4LDIDSpeedListMap数据结构图;
[0059] 图5时间无缝规则图。