本项目是利用车辆的位置数据(亦称经纬度数据或轨迹数据)和速度加速度数据来刻画驾驶者平时驾驶的习惯和特性,然后预测该车辆接下来可能发生碰撞的概率。
1.发生碰撞的事情随机性很强,并不清楚到底是被其他车辆撞还是自己撞其他车辆。而且受到天气,路况,驾驶者当时的状态能不确定性因素的影响等等。
2.驾驶者的基本特征很难使用。由于驾驶者的基本特征都是当时购买车辆时所记录的特征,但是极有可能车辆是他人开,或者在发生碰撞时正好是其他人驾驶。
3.数据量大,很难一次性处理完。数据量比较大,需要对数据进行分批处理。
4.由于数据是通过4g信号传输到服务器,可能会出现信号中断,数据上传失败等情况发生。这时候如何对数据预处理也是一个很重要的步骤。
5.速度加速度数据是加速度达到一定阈值后才会采集,那么对于匀速行驶的车辆,就没有速度加速度的记录。反而对于一些经常急刹车急加速的车辆,速度加速度的记录会比较多一些。
6.通过数据量情况的分布,我们发现,有些天会因为设备的更新,当天只有极少数的车辆会有记录。这样就会有一些数据量上的差异。
7.正负样本比例极其不均衡,不能在使用常用的准确率这个衡量模型的指标,需要用一些其他指标来训练模型。
首先会基于项目的背景和数据内容做一些简单的介绍。内容均在introduction.md中。
然后统计发生碰撞前的一些特征,比如发生碰撞前的速度、发生碰撞的时间点等等。内容均在crash_feature.md中。
我主要是分析车辆位置数据,也就是轨迹数据,通过轨迹数据做一些特征工程。分别从时间特征和空间特征来提取特征进行预测。内容均在trajectory_feature.md中,特征提取的代码会分别在spatial_feature.py和temporal_feature.
通过参考论文《You Are How You Drive: Peer and Temporal-Aware Representation Learning for Driving Behavior Analysis》中的研究思路,提取车辆的驾驶速度和方向的信息,形成一个<速度,方向>的二元组状态,共9种状态,分别是:匀速直行、匀速左转、匀速右转、加速直行、加速左转、加速右转、减速直行、减速左转、减速右转,通过数据分析,构建各个状态的转移概率矩阵和转移时间矩阵。
通过自编码模型框架嵌入GRU的方法(考虑到驾驶行为随着时间而变化),通过重构损失函数来进行预测。(与论文最大的不同就是,我们是有监督学习)
进度和成果持续更新中...