文章研究了一个系统,针对于两个不同的人群,分别是出租车司机和乘客,对于出租车司机而言,为他们提供最好的停靠点或是最容易在巡航中等到乘客的路段,对于乘客而言,为他们提供最好的停靠点或路段,以便能够更方便的打到出租车。
主要做了以下几方面的研究:
- 生成停靠点;
- 路段生成的聚类方法;
- 出租车载到乘客的概率计算方法;
- 乘客在时间阈值内等到出租车的概率计算方法。
一、生成停靠点
停靠点的检测分为三步,分别为:候选点的检测、候选点过滤、聚类。
候选点检测:对于一辆出租车的一条trip(不知道怎样翻译合适),这条trip要是非载客状态的,trip由p1->p2->...->pn来表示,设一个距离阈值σ和一个时间阈值τ,从p1开始检测其同下一个轨迹点之间的距离,如果小于阈值σ,然后往下走一个点,再计算距离,一直往下走,直到发现第j个点同p1之间的距离小于σ,第j+1个点同p1之间的距离大于σ,如果pj的时间点到p1的时间点之间的时间段大于时间阈值τ,可以认为从p1到pj这些点都是属于一个停靠点集合的;当然如果发现p1p2之间的距离就大于阈值σ了,那就往下走,从p2开始算了。
本质上是说,如果一条trip中的某一个连续段的轨迹点都集中在某一个很小的区域内,而且在这个区域内停留的时间还很长,就可以认为是车子停在那里等待乘客。那这也有可能是在堵车或是在等红绿灯,所以作者做了接下来的一步就是过滤。
候选点过滤:通过一些评判的标准来决定哪些集合是应该被保留的,哪些集合实际上不是停靠点的。比如最小外包矩形比,就是停靠点集合点集的外包矩形的面积同路段的外包矩形的面积的比例,一般来说如果是真的停靠点,应该是如图一的情况,这些点散列在路段附近较大区域内,如果是堵车,这些点应该同路段的形状是一样的,如图二。
图一
图二
还有其他几个评判的指标,总之目的就是过滤掉不是真正的停靠点的停靠点集合。
因为有些停靠点可能实际上就是同一个点,所以最后用了聚类的方法将可能是同一个点的点集聚到一起,避免重复。其实也不一定是同一个点,但是如果两个点相距很近的话,归类程同一个点也是不影响的。
二、路段生成的聚类方法
路段是这个研究的一个重要概念,方法里面路段可以说是基本单位,文章里面的英文单词用的是road segment,我翻译成路段。有些道路上的点太稀疏所以需要把具有相同元素的道路聚类称为路段,元素有以下几个:道路长度、道路曲折度、道路方向、自由度和POI,其中道路曲折度的计算方式是用道路长度比上从道路起始点到终点的欧几里得距离,自由度是指道路起始点和终止点进入和出去的道路数量。
PS:这部分具体是干什么还不是很清楚,不知道初始情况和经过这一步之后的情况是怎样的。
三、出租车载到乘客的概率计算方法
实际上作者定义了一个情形:从出租车所在地点到一个停靠点P的路径R:r1->r2->......rn,经过n个路段,如果出租车在R上载到了乘客或是到了停靠点p等待的时间小于一个设定的时间阈值tmax,认为是完成了一次Arp。
围绕着这个情形,作者定义了一个风险成本效益分析系统,计算以下几个问题:
[风险]有多大的程度一个司机能够载到一个乘客如果他进行了Arp过程;
[成本1]如果一个司机进行了Arp并且载到了乘客,那么他从现在到下一次旅途的期望时间是多长;
[成本2]如果一个司机进行了Arp但是没有在R上载到乘客而是到了停靠点,那么在停靠点停靠的时间期望是多少;
[效益]如果司机进行了Arp并且成功载到了乘客,那么旅程的期望距离是多少。
对这些问题都进行了详细的解答,并且通过分析这些问题,给出了成功载到乘客的概率给出了计算方式。
四、乘客在时间阈值内等到出租车的概率
其实和第三部分是差不多的,对于乘客而言,通过计算两个值来考虑概率的问题,就是等到空出租车的概率和平均等待时间。
第三部分和第四部分之所以写得不详细是因为其中有一部分还没弄懂......
整个的计算流程就是:以出租车司机为对象,首先生成停靠点;对于每一个停靠点,生成路径R,R满足在距离阈值内(距离阈值是最短路径的1.5倍),并且出租车在R上载不到乘客的概率最小;然后三个条件期望值下的载到乘客的概率,三个条件分别是从现在到下次载到乘客时间长度、从现在到下次载到乘客的空间距离和在停靠点的等待时间;对停靠点进行排序,排序标准遵循利润最大、最快、最高可能性和在停靠点的最短等待时间。
这篇文章对轨迹数据达成模型的分析很透彻,之前做毕设看过作者的博士毕业论文,觉得写得很好,那时候静不下心来看,没有仔细研究,现在再看这个“浓缩就是精华”的短篇,虽然能理解其中一部分思想了,但是还有很多没能理解的,自己的数学功底太差了,还有很多需要学习的。