[0015] 对由一系列点组成的车辆轨迹数据中的冗余采样点进行处理,具体将一段轨迹的首末点连接成一条直线,求这段轨迹所有点与这条直线的垂直距离,并找出最大垂直距离值dmax,用dmax与预定义的限差D相比:若dmax
[0016] 对划分后的两部分重复使用上述处理方法,直至过滤所有冗余采样点数据。
[0017] 1‑2检测隐藏在轨迹数据中实际发生载客事件的位置点:
[0018] 所述的位置点的判断如下:根据相邻几个四元组li‑lj(i<j)组成的轨迹片段,如果它们的经度、维度、时间戳值相等,并且载客状态发生了变化,那么这就是一个可能的载客停留位置点;
[0019] 1‑2‑1根据出租车轨迹数据集中载客行为的状态切换和状态切换时车辆的轨迹变化,提取出所有可能存在载客行为的位置点称为载客点;
[0020] 1‑2‑2如果停留的位置点所对应的轨迹片段内不存在从空车状态到载客状态的转换,则认为该位置点不是一个载客点,将其忽略。而如果一个停留位置点存在从空车状态到载客状态的转换,那么就是一个发生载客事件的位置点,或载客点。
[0021] 进一步的,在步骤2中,所述聚类过程包括如下步骤:
[0022] 2‑1载客点聚类:
[0023] 步骤1得到的载客点集合P包含了所有的载客点(p1,p2,p3…pn),载客点的聚类采用密度聚类方法,其中包含两个参数:扫描半径(eps)和最小包含载客点数(minPts),本发明中扫描半径取50米,最小载客点数为5。
[0024] 2‑1‑1检测载客点集合P中尚未处理的载客点pi,如果载客点pi未被处理(没有被归入某个簇或者标记为噪声,噪声点意为附近点的数量小于minPts),则检查该载客点pi扫描半径内的区域,若包含的载客点数大于等于minPts,建立新簇ci,将扫描半径区域中所有载客点加入候选载客点集N;若载客点数对象数小于minPts,则该点被标记作为噪声点。
[0025] 2‑1‑2对候选载客点集N中所有尚未被处理的载客点q,检查其扫描半径内的区域,若至少包含minPts个载客点,则将这些载客点加入候选载客点集N;如果载客点q未归入任何一个簇,则将载客点q加入簇ci;
[0026] 2‑1‑3重复步骤2‑1‑2,继续检查候选载客点集N中未处理的载客点对象,直至候选载客点集N为空;
[0027] 2‑1‑4重复步骤2‑1‑1至2‑1‑3,直到所有载客点都归入了某个簇或标记为噪声。
[0028] 以上步骤输出载客点的聚类结果簇的集合C,集合C包含了载客点集合P中的所有簇ci,在本说明书中,载客点簇就是一个寻客区域。
[0029] 2‑2寻客区域网络索引构建:
[0030] 结合实际的城市道路网络结构,使用参数化的R树(PR‑tree,Parameterized R‑tree)对所有寻客区域建立索引。参数化的R树能够有效地对寻客点位置进行索引,并且降低寻客区域查找的复杂性。
[0031] 在参数化的R树中每个非叶子节点都由一个最小包含矩形框MBR(MBR,minimum bounding rectangles)、本节点MBR所覆盖范围内包含的寻客区域数量及指向子节点的指针组成。非叶子节点的MBR覆盖所包含其子孙节点的MBR。叶子节点主要包含寻客区域的位置信息。
[0032] 进一步的是,步骤3中,所述司机的寻客区域访问频率统计过程包含如下步骤:
[0033] 3‑1根据司机的用户ID分别提取出司机的个人历史寻客轨迹数据集U;
[0034] 3‑2结合寻客区域分布图,并根据司机个人历史寻客轨迹中所覆盖的各个载客点,依次统计出司机对各个寻客区域的访问次数;
[0035] 假设司机总数为m,寻客区域总数为n,最后得到包含所有司机对各个寻客区域访问情况的一个司机寻客频率矩阵M,其中矢量ui=[vi1,vi1,vi1,…,vin]包含司机i对n个寻客区域的访问情况。当司机i在过去一个月内对某个寻客区域j访问次数超过3次以上,vij取值为1,否则取值为0。对寻客区域设置一段时间内的最小访问次数是为了过滤某个司机对这个寻客区域的偶然访问。
[0036]
[0037] 进一步的是,步骤4中所述寻客区域的寻客价值计算包括如下步骤:
[0038] 4‑1使用H(h1,h2,h3,…,hm)表示司机寻客经验得分集合。司机寻客经验值指一个司机对寻客区域的了解程度,例如一个寻客区域是经常被不同司机访问的,说明这个寻客区域很有价值。反之,如果一个司机经常访问这种大家都认为有价值的寻客区域,那么这个司机是非常有经验的。
[0039] 使用A(a1,a2,a3,…,an)表示寻客区域的寻客价值得分集合。寻客区域的寻客价值指此处获得客人的机率。如果一个寻客点经常被经验丰富的司机访问,那么说明这个寻客区域获得客人的机率高,并且它具有较高的商业价值。
[0040] 4‑2司机寻客经验与寻客区域价值的计算:
[0041] 4‑2‑1初始化H和A中所有分量为1;
[0042] 4‑2‑2迭代计算H和A;
[0043] 设置司机i的寻客经验 然后进行规范化处理
[0044] 设置 然后进行规范化处理
[0045] 不断地迭代计算,直至同一个司机两次相邻计算结果hi差值小于设定的阈值ε时,则算法收敛终止。对aj的处理相同,迭代计算直至相邻两次计算结果aj差值小于设定的阈值ε,则算法收敛终止。
[0046] 由于司机的寻客经验与寻客区域自身的商业价值相关,访问越多的高价值的寻客区域,说明该司机的经验更丰富;寻客区域的商业价值与访问该区域的司机经验也直接相关,能够吸引越多有经验司机访问的寻客区域,其商业价值越高。本步骤即通过迭代计算,挖掘出这种司机和寻客区域之间的相关性。
[0047] 4‑3最后输出寻客区域的寻客价值得分集合A与各司机寻客经验值得分集合H。
[0048] 进一步的是,步骤5中,所述寻客区域推荐包括如下步骤:
[0049] 根据司机所在位置L,通过搜索PR‑tree索引,获指定半径范围内寻客价值排名前k个寻客区域,并根据当前位置与这k个寻客区域的排序距离排序,按其排序将寻客区域位置信息推荐给司机。
[0050] 寻客区域与当前位置距离是指寻客区域与当前位置的路网距离,计算方法使用Dijkstra最短路径算法。
[0051] 本发明的有益效果:
[0052] 本发明通过上述基于司机经验的寻客区域推荐方法,充分利用寻客区域价值与司机经验间的相关性,挖掘出寻客区域的寻客价值得分,并利用事先对各个寻客区域建立的索引,将处于一个查询用户当前位置一定范围内排名靠前的寻客区域,按照其与司机当前位置的实际距离排序将其推荐给这个查询用户,从而引导他前往最有可能获得客人的区域。