基于逻辑回归模型的司机接驾段绕路检测

本文探讨了使用iBOAT算法和逻辑回归进行司机接驾阶段的绕路检测。iBOAT算法在历史轨迹少的情况下效果不佳,而逻辑回归则通过轨迹相似度特征和行进方向角进行建模,实现高准确性和召回率。在有限的样本中,逻辑回归模型的交叉验证和测试结果表现出色,能有效补充iBOAT的不足。
摘要由CSDN通过智能技术生成

总结一下这半个月的工作(20190617-20190705),主要是围绕司机接驾阶段绕路检测这个问题开展了一些探索。
(本文所附代码都是网上开源代码或者在其基础上修改得到)

1. iBOAT算法做绕路检测

iBOAT算法是一篇IEEE Trans on ITS提出的绕路检测的算法,简单来说是根据目标轨迹和关联的历史轨迹的重合率(support)的大小来判断司机是否绕路。这个算法对于生成环境来说最大的好处是其可解释性,只要像下图展示出历史轨迹和目标轨迹,就能非常直观的知道司机有没有绕路。不过因为在实际生产环境中同样OD的轨迹很少,所以这里的关联规则改为只要是经过OD的轨迹都加入关联历史轨迹库中。实习期间最初的工作是复现这个算法,跑出来的效果如下:
iboat效果
绿色的是历史轨迹,颜色越深表示经过的历史轨迹越多,蓝色的是正常轨迹段(support<阈值),红色的是异常轨迹段(support>阈值)。
support值
support值的图,红色的是一些异常轨迹点,也就是support<0.2的轨迹点。

然而这个算法存在一些弊端:

  1. 如果关联不到历史轨迹,或者说历史轨迹很少,那么算法的效果会很差甚至失效;
  2. 需要手动划分格网大小。因为单元是格网,要把轨迹聚合到格网内,格网的不连续问题可以用轨迹重采样的方式解决,但是如果格网大小选的不合适,可能对于目标轨迹而言根本就不能触发iboat计算。例如格网选取500米,但是目标轨迹的范围压根儿没超过一个格网大小,尤其对于接驾阶段,很多时候不会超过一个格网大小,那么iboat就会失效。

2. 用Logistic Regression做绕路检测

绕路检测本质上就是个二分类的问题。为了召回iboat无法召回的case,以及纠正iboat可能错召回的case,进一步采用逻辑回归的方式来对绕路检测问题建模。用逻辑回归的好处在于研究对象变成了轨迹点本身,不再需要将轨迹点聚合到格网,所以就避免了手动选取格网大小的问题。

逻辑回归是机器学习领域常用的一个分类器模型,其他还有决策树、SVM、GBDT、xgboost等等。先从最简单的模型入手,看看用在绕路分类问题上效果如何。

2.1 轨迹相似度特征

因为涉及到一些公司的数据隐私问题,不详述提取的特征,这里简单介绍几个轨迹特征。

调研的时候看了DTW和LCSS,都是常用的轨迹相似度衡量指标。在绕路问题的逻辑回归建模中,因为LCSS可以转换为0~1之间的数,所以这个特征更方便使用,就不用DTW,下面还是两个都介绍一下。

2.1.1 DTW (Dynamic Time Warping)

一个可以用来衡量目标轨迹与历史轨迹相似度的指标。简单来说DTW就是将两条轨迹的各个轨迹点对应起来需要花费的最小总匹配成本,匹配成本用两点之间的距离来衡量。下面的代码(

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值