交通数据分析技术与应用

1 数据预处理与分析

在数据挖掘过程中,海量的原始数据存在大量的不一致,有缺失的数据、异常的数据、重复的数据,严重影响到数据挖掘的效率和准确率,数据清洗尤为重要,数据清洗之后进行或同时进行数据集成,转换,规约等一系列过程,该过程就是数据预处理。数据预处理一方面提高数据质量,另一方面使数据更好地适应特定的数据挖掘或者工具.

1.1 数据清理

数据清理:数据往往包含缺失值、异常值和错误值。在这一步,数据清理操作包括处理缺失值(删除或填充)、处理异常值和修复错误。

(1)数据读取,发现每列数据都缺少各自的列名于是添加相应的列名,如下图所示。

图 1-1 原始数据

从上图中我们可以发现该数据一共有4698923行10列,是一个比较大的数据集。从左到右的数据依次为车辆id、时间戳、车辆类型、速度、车道类别、经度、纬度、行驶距离、车辆长度、识别标签。

(2)发现datetime的数据格式HHMMSSFFF,为了方便后续的计算需要将此数据进行转换,于是把他转换成以0点整为起点以秒为单位且精确到小数点后一位的数据,如下图所示。

图 1-2 时间戳调整

(3)使用data.isnull().sum()查看缺失值,发现各个维度的数据缺失值数量为0,故该数据不存在缺失值不用做其处理。

图 1-3 缺失值查询

1.2 探索性数据分析

(1)使用describe()函数对原始数据进行统计性描述,如下图所示。

图 1-4 统计性描述

从上图中我们可以发现车辆类型在75%分位数的时候仍是1,说名该数据中绝大部分车辆为正常小型车辆,公交、客车、货车等车辆为少数符合实际道路情况。在速度数据中,速度的均值为45.48km/h,标准差为20.1,最大值最小值分别为122km/h和0.4km/h。根据标准差方法(基于数据的标准差来识别异常值),速度最大值在均值的距离3倍标准差以内,故可以初步认为速度数据不存在异常值不需要做额外处理。

(2)数据可视化分析,分别对数据绘制箱线图、小提琴图、正态分布图

速度可视化图如下所示。

图 1-5 速度箱线图

图 1-6 速度小提琴图

图 1-7 速度正太分布图

从上图不难发现速度主要集中在30km/h到60km/h这个范围,其中箱线图中有一部分数值较大的异常值在120km/h范围左右,个人认为可能是道路上有极少数驾驶员存在超速行为所导致,不是数据统计中所出现的人工差错,又因为数量比较少,所以不对其进行异常值处理。

车道类别可视化图如下所示。

图 1-8 车道类别小提琴图

  数据中车辆基本上就行驶在行车道和超车道这两个车道处,入口道的车辆数据量少不影响后续的车辆跟驰分析。

(3)相关性分析

使用Pearson皮尔逊相关系数法分析各个数据指标的相关性,以探究各指标之间是否具有线性关系。 Pearson皮尔逊相关系数可以用来度量两个变量X和Y之间的相关性。在本问题中就可以使用其来对评价指标的关联进行研究。如果两组数据X:{X1,x2,……,Xn}和Y:{Y1,Y2,……,Yn}为总体数据,而总体协方差

 

则有总体 皮尔逊相关系数:

                                                                 

且|r|≤1。而在样本协方差和样本Pearson皮尔逊相关系数中,分母为n-1。可以将Pearson皮尔逊相关系数视为除去两个变量中量纲的影响,将X和Y标准化后的协方差,适合于数据之间的比较。但其使用的条件必须满足数据为线性联系,如果需要确定数据的显著性,则需要数据呈正态分布。使用Pearson皮尔逊相关系数法得到的相关性热力图如图下所示。

图 1-9相关性热力图

通过上图的分析,我们发现时间与速度之间的相关系数为-0.7,表明它们之间存在着明显的负线性相关性。这意味着随着时间的增加,车辆的速度有较大的可能减小,或者说时间与速度之间存在一定的反比关系。这是一个重要的观察结果,为我们深入了解驾驶行为提供了有力的线索。

此外,我们还观察到车道类别与行驶距离分别于速度之间存在微弱的相关性。这表明不同车道类别的选择和行驶距离可能在一定程度上与车辆的速度有关。这些微弱的相关性提示了可能存在一些影响因素,需要在进一步的分析中深入挖掘。

然而,对于其他数据,我们判定它们之间不存在明显的相关关系。这包括诸如加速度、速度的标准差等变量。这意味着这些变量可能是相对独立的,对于速度和时间之间的关系并没有显著的影响。

因此,结合速度、时间、车道类别和行驶距离的相关性分析,我们可以得出这些变量在一定程度上相互关联,并且它们之间的关系可以为后续的驾驶跟驰分析提供充分的数据支持。这有助于更好地理解驾驶行为的动态变化。

2 驾驶员驾驶行为类型划分方法及结果分析

驾驶员驾驶行为类型的划分涉及到多个方面的因素,包括车辆的速度、加速度、刹车、转弯、驾驶姿势等。这种划分通常是为了评估驾驶行为的安全性、效率以及对燃油经济性的影响。根据所提供的数据内容,本次驾驶行为划分主要以熟读加速度为研究方面

2.1 特征工程

2.1.1 特征选取

在原始数据中,我们注意到可用的特征数据维度较少,这促使我们进行特征工程处理。特征工程旨在增加一些有用的特征,同时去除一些无用的特征,以更好地揭示数据中的驾驶行为特征信息,对于后续的驾驶行为分析提供了更丰富和准确的数据基础,有助于揭示驾驶行为的更深层次信息。特征工程的质量直接关系到后续分析处理的准确性和有效性,因此对于特征的选择至关重要

因此,为了进一步丰富原有的速度数据和时间数据,我们引入了一系列新的特征参数,以更全面地描绘驾驶行为的动态变化。这些新增的特征数据包括:平均速度vav、最大速度vmax、最小速度vmin、速度标准差vsd、瞬时加速度a、平均正加速度apav、平均负加速度anav、加速度标准差asd、最大加速度amax、最小加速度amin、恒速时间比例Pc、加速时间比例Pa、减速时间比例Pd等13个特征参数。它们的定义如下:

式中vav为行驶周期段的平均速度,n为车速样本个数,vi为第i时刻的车速;vmax为最大速度,v1、v2…、vn为车速样本。vi是时刻i的车速;apav为平均正加速度,m为正加速度的个数,ai为时刻i的加速度;anav为平均负加速度,l为负加速度次数,aj为第j时刻的车辆加速度;asd为加速度标准差,T为速度样本数,ai为时刻i的加速度;amax为最大加速度,a1、a2…、aT为车辆加速度样本。amin为最小加速度,a1、a2··、aT为整车加速度样本; Pa为加速度时间比例,ma为加速度大于0.1m/s2的样本数;Pd为减速时间比例,ld为加速度小于负0.1m/s2的样本数;Pc为匀速时间比例。

然后再将此13个特征数据与原始数据中的速度特征、车道类别特征、行驶距离特征、时间特征相加,一共得到17个特征分析数据。

2.1.2 特征降维

特征降维是指减少数据集中特征的数量,保留最重要和最相关的特征,以便在保持关键信息的同时减少计算成本、降低过拟合风险或简化模型解释。主要的特征降维方法包括主成分分析(PCA)和t-分布邻域嵌入(t-SNE)等。

本次降维使用PCA方法,PCA 的目标是寻找 r ( r<n )个新变量,使它们反映事物的主要特征,压缩原有数据矩阵的规模,将特征向量的维数降低,挑选出最少的维数来概括最重要特征。每个新变量是原有变量的线性组合,体现原有变量的综合效果,具有一定的实际含义。这 r 个新变量称为“主成分”,它们可以在很大程度上反映原来 n 个变量的影响,并且这些新变量是互不相关的,也是正交的。通过主成分分析,压缩数据空间,将多元数据的特征在低维空间里直观地表示出来。

PCA降维步骤:

①数据标准化

选取一个T(Threshold),累计贡献率大于T的成分全部选取,剩余的抛弃。作为信息保留率,本次T取值为0.85。

⑤投影:将数据投影到所选的主成分上,得到降维后的数据。

最终数据降维成了7个主要成分数据,累计贡献率变化曲线图如下所示。

图 2-1 累计贡献率变化曲线

2.2 聚类分析

Clustering (聚类)是常见的unsupervised learning (无监督学习)方法,简单地说就是把相似的数据样本分到一组(簇),聚类的过程,我们并不清楚某一类是什么(通常无标签信息),需要实现的目标只是把相似的样本聚到一起,即只是利用样本数据本身的分布规律。

本次采用k-means聚类算法对驾驶行为类型进行聚类。k-means聚类可以说是聚类算法中最为常见的,它是基于划分方法聚类的,原理是先初始化k个簇类中心,基于计算样本与中心点的距离归纳各簇类下的所属样本,迭代实现样本与其归属的簇类中心的距离为最小的目标(如下目标函数)。

其中x为训练样本,μ为聚类质心。

K-Means算法计算过程如下图所示:

图 2-2 k-means流程图

参考现有的驾驶行为论文分析,我们将3031辆车辆根据其驾驶行为分类为3个不同的类别。分类结果如下所示:

图 2-3 聚类结果图

同时,根据对3031辆车辆的聚类结果,我们可以按照之前提供的特征进行分组可视化分析,呈现出以下图示。

图 2-3 车道列表分组图

图 2-4 速度方差与加速度方差的均值分组图

通过深入分析表 2-1、图2-3和图2-4,我们可以对三个不同驾驶行为类别(C1、C2、C3)进行更为细致的定义。

激进驾驶类别(C1类别 C1 的速度表现极具波动性,体现在速度方差的平均值达到最大值,为14.78。此外,C1 类别车辆在超车道的数量最大,呈现出较大的速度差异。这一类别可被定义为具有激进驾驶行为的车辆,可能表现出更高的速度极差和较大的速度波动。

保守驾驶类别(C2):C2 类别的车辆在最大速度、加速度方差的平均值以及平均速度等方面都表现出三类中的最小值。车辆基本上在非超车车道驾驶,且速度波动相对平稳。因此,我们将这一类别定义为保守驾驶,可能代表着对速度和加速度变化更为谨慎的驾驶行为。

高速驾驶类别(C3):C3 类别的整体速度最快,平均速度为整体平均速度的1.5倍,并且在超车道高速行驶的车辆占比较大。由此,我们将 C3 类别定义为高速驾驶,可能代表着对高速行驶更为倾向的驾驶行为。

3 数据驱动的跟驰模型建立方法及结果分析

为了深入了解驾驶员在跟驰行为中的特征,并建立可靠的预测模型,本文采用了一系列先进的机器学习技术。首先,通过随机森林算法对特征进行重要度排序,我们能够识别出对于跟驰行为最具影响力的因素。随后,我们选用了长短时记忆网络(LSTM)深度学习模型,以建立对速度的预测模型。在建立完模型后,我们将对其性能进行全面评估。通过使用各种性能指标如均方根误差(RMSE)和平均绝对误差(MAE),我们将深入分析模型在不同驾驶行为类型下的表现差异。这一步骤旨在验证模型的泛化能力和对不同驾驶行为的适应性。

3.1 基于随机森林特征重要度排序

随机森林(RF)作为Bagging方法的典型例子,以其并行训练的优点在如今处理数据问题上广受欢迎。随机森林,顾名思义,是有多棵树组成的森林,故RF的弱学习器都是决策树。RF=Bagging+DT。

(1)RF原理介绍

随机森林(RF)其实就是多棵决策树。通过对样本重新采样的方法得到不同的训练样本集,在这些新的训练样本集上分别训练学习器,最终合并每一个学习器的结果,作为最终的学习结果,其中,每个样本的权重是一样的。具体过程如下:

图 3-1 随机森林运行流程图

其中,在该方法中,b个学习器之间彼此是相互独立的,这样的特点使该方法更容易并行。自助法即Bootstrap方法进行随机有放回地抽样。学习器即为决策树DT。

(2)RF构造

每棵树按照如下规则生成:

1)如果训练集的大小为N,对于每棵树而言,随机有放回地从训练集中抽取N个训练样本,作为该树的训练集。(每棵树训练集不同,而且包含重复样本)

2)如果每个样本的特征维度为M,指定一个常数m<<M,随机地从M个特征中选取m个特征子集,每次树进行分裂时,从这m个特征中选择最优。(重复,直到不能分裂)

3)每棵树都是尽最大程度生长,并且没有剪枝过程。(建立大量决策树,形成森林)

3)特征重要性评估

看每个特征在随机森林中每棵树上做了多大贡献值,取平均值,比较贡献大小。贡献大小通常基于不纯度和袋外数据OOB错误率。scikit-learn中计算RF的特征重要性调用**feature_importances_**方法是基于不纯度来进行计算的。对于每棵树,按照不纯度给特征排序,然后整个森林取平均。分类问题不纯度采用Gini指数计算,回归问题采用方差mse。选定一个特征M,统计RF的每一棵树中,M形成的分支节点的Gini指数(或方差mse)下降程度之和就是M的重要度。 最后,把所有求得的重要性评分做一个归一化处理。实际上,对于训练完成的模型的这些估计值存储在feature_importances_属性中,这是一个大小为(n_features)的数组,其每个元素的值都为正,并且总和为1.0。一个元素的值越高,对应的特征预测函数的贡献越大。

按照以上原理与步骤,本文分别对上一章所提到的三种驾驶类别(C1C2C3)进行其余16个特征对速度的重要度排序,最终得到各个特征的排序结果如下所示。

图 3-2 激进驾驶类别(C1)特征重要度排序保守驾驶类别(C2)

图 3-2 保守驾驶类别(C2)特征重要度排序

图 3-4 高速驾驶类别(C3)特征重要度排序

   从上图分析可以发现激进驾驶类别(C1)的特征重要度排最前的是时间与距离;保守驾驶类别(C2)的特征重要度排最前的是距离与时间;高速驾驶类别(C3)的特征重要度排最前的是车道类别与时间。后续本文会根据各自驾驶类别的重要特征进行速度预测。

3.2 基于LSTM的驾驶行为速度预测

驾驶行为所形成的信息序列具有复杂的时间关联性,因此完成驾驶行为任务需要处理动态的高维度信息时间序列,而LSTM比其他神经网络更具备这种能力。同时,LSTM 不仅能从历史信息中获取知识,而且会逐渐删除过时的信息,这一特性与人类驾驶行为相似。为保证模型的可比性,本文统一采用LSTM作为建模模型。

1LSTM基本原理

LSTMLong Short-Term Memory)是一种特殊的循环神经网络(RNN),被广泛用于处理与时间序列相关的任务。相比传统的RNNLSTM具有更强的记忆能力和长期依赖性建模能力,能够有效地解决梯度消失和梯度爆炸等问题。

LSTM的核心思想是引入了一个记忆单元(memory cell),它可以存储和访问过去的信息,并决定哪些信息需要保留,哪些信息需要遗忘。这使得LSTM能够轻松地处理长序列和短序列之间的依赖关系。记忆单元可以根据当前的输入、上一个时间步的输出和内部的记忆状态进行计算,同时还通过门控机制来控制信息的流动。LSTM中的门控机制主要包括遗忘门(forget gate)、输入门(input gate)和输出门(output gate)。遗忘门决定是否保留过去的记忆,输入门负责选择新的记忆更新到记忆单元中,输出门控制着从记忆单元中提取多少信息输出给下一时间步。这些门控机制是通过一系列的神经网络层(如sigmoid函数)来实现的。

与传统的RNN相比,LSTM的优势在于能够处理更长的序列,并能够捕捉长期的依赖关系。传统的RNN在面对长序列时,由于梯度消失或梯度爆炸的问题,导致训练困难。而LSTM通过门控机制,可以选择性地更新和遗忘信息,从而解决了这个问题。此外,LSTM还能够自适应地学习时间序列中的重要特征和模式,使得模型能够更好地适应不同的任务和数据。

LSTM 通过独特的设计解决 RNN 在实际应用过程中出现的长期依赖性问题,它用了不同的函数 层来计算隐藏层状态,被称为具有“记忆”功能。LSTM 的这些细胞通过输入前状态 ht-1 和当前输入 xt,依次对之前的信息和状态是否需要保留、被记住及被删除做出决定。在实际的应用中发现,这种方式可以有效地学习长时序列之前的关联信息,忘记不相关的信息。

RNN重复单一的神经网络层不同,LSTM 有三个sigmoid神经网络层加上一个tanh层和一些逐点加乘法的非线性操作,并以一种非常特殊的方式进行交互。图3-5展示了经典 LSTM单元结构图,LSTM 的记忆细胞分别由输入门、遗忘门和输出门组成,并分别用符号ftitgtot表示,图中的sigmoidtanh为激活函数。

图 3-5 LSTM神经网络单元结构图

 

 

图 3-6 LSTM网络结构图

3-6LSTM的网络结构图。LSTM 在结构上沿用了传统 RNN 的链式结构,但不同的是在结构内部加了具备门控功能的网络细胞记忆单元,对不同时间步的信息进行获取与更新,以达到解决传统RNN存在梯度消失与梯度爆炸问题的目的。

4)驾驶行为速度预测

为充分考虑各个指标因素与提高速度预测精度,本文使用LSTM考虑多维的输入单维度为输出,分别对三种驾驶行为类别进行速度预测。车辆速度值能很好的反映车辆驾驶轨迹的情况。当速度较快波动较少时,反映道路情况通畅驾驶员无需更多的驾驶操作,从而使车辆运行轨迹单一;当速度波动较大时,反映道路情况复杂驾驶员需要更多的变道驾驶操作,从而使车辆运行轨迹复杂;当速度慢时波动较小时,反映道路情况拥堵驾驶员操作机会少,从而使车辆运行轨迹单一。因此,以速度建模的车辆跟驰模型是合理可行的。

车辆速度的变化不仅与当前时刻的速度有关还与过往的速度有着重要关系,所以对这三种驾驶类别都将速度纳入输入特征。同时,根据上文分别对三个驾驶类别的特征重要排序,针对激进驾驶类别(C1把时间与距离纳入输入特征,针对保守驾驶类别(C2把时间与距离纳入输入特征,针对高速驾驶类别(C3把时间与车道类别纳入输入特征。即使用LSTM输入三个维度特征对输出速度进行预测。三个驾驶类别的LSTM参数如下表所示。

 为了解模型的预测性能具体如何,本文使用RMSERoot Mean Square Error)、MAPEMean Absolute Percentage Error)和 MAEMean Absolute Error)这三个评价指标来评价最终的模型预测结果,其中值数越小说明模型预测效果越好。同时,为了更好的了解与分析各个驾驶类别的模型预测的长短期效果,分别计算出预测的第3个步长值、第6个步长值、第12个步长值的评价结果。经过各自模型的训练与验证,最终得到的评价结果如下表所示。

我们可冲上表看出由于激进驾驶类别(C1)速度波动最大,模型难以更好的拟合导致最终的预测结果最差,而保守驾驶类别(C2)由于其稳定的速度驾驶,模型能更好的捕捉到速度变化规律,因此最终的预测结果表现最好。高速驾驶类别(C3)在速度预测结果方面表现一般。在预测步长方面,激进驾驶类别(C1)和高速驾驶类别(C3)第3个步长表现最好,而第6和第12步长次之,这可能是因为在第12个步长下,模型可能过度适应了训练数据的长期趋势和周期性,导致在测试集上的性能较差。第3个步长相对较短,可能更容易捕捉到训练数据的短期模式,从而在测试时表现更好。而保守驾驶类别(C2) 12个步长表现最好,而第3和第6步长次之,这可能是因为该类型驾驶速度为保持速度相对稳定,在时间序列中存在周期性变化,LSTM 模型可能能够更好地捕捉这些周期性模式。第3和第6步可能还未完全展示周期性因素,而第12步更可能受到周期性因素的影响。

我们深入挖掘了模型在不同驾驶类别中的性能,为此,我们选取了各自驾驶类别中的一辆特定车辆(例如,vehicle_id=727)进行了深入分析。下面的图表展示了该车辆真实速度与模型预测速度之间的对比,为我们提供了对模型预测在实际驾驶场景中表现的更详细洞察。通过这些曲线图,我们可以清晰地观察到模型对于特定车辆的预测趋势,从而更全面地评估其性能

图 3-7 激进驾驶类别(C1)速度预测

图 3-8 保守驾驶类别(C2)速度预测

图 3-9 高速驾驶类别(C3)速度预测

通过观察上图中的速度曲线变化以及其对应的驾驶类别,我们发现激进驾驶类别(C1)的速度变化最大,最高能到80km/h最低能接近0km/h;保守驾驶类别(C2)的速度波动最小,波动范围在34 km/h-44km/h之间;高速驾驶类别(C3)的速度值整体最大,基本上保持在60km/h以上。这与我们上文聚类分析的结果一致,说明了我们的分类模型是正确合理的。从预测值曲线与真实值曲线之间可以看出保守驾驶类别(C2)最贴合,其次是高速驾驶类别(C3)、激进驾驶类别(C1)。

5)基线对比分析

为了充分证明我们建立的数据驱动跟驰模型的优越性,我们将进行与其他不同类型的模型的对比分析,以验证我们模型的性能和优越性。具体而言,我们将本文的模型与仅考虑单因素的LSTM(以速度为输入)模型进行详细对比。对比结果图如下所示。

图 3-10 激进驾驶类别(C1)速度预测模型对比

图 3-11 保守驾驶类别(C2)速度预测模型对比

图 3-12 高速驾驶类别(C3)速度预测模型对比

由上面三张图对比我们不难发现,单输入的LSTM模型在总体预测精度上不如我们的预测模型。在高速驾驶类别与保守驾驶类别的速度预测当中,我们的模型优势还不是那么明显。但是在激进驾驶类别的速度预测中,我们的模型表现出了强大的预测能力,整体出现了与实际值一致的波动趋势。而单输入的LSTM则成了一条趋近的直线,说明我们的模型能胜任波动大的数据集,具有更强的稳定性。

4 总结

本研究在交通数据分析技术与应用领域,以“数据驱动的跟驰模型”为研究主题,针对某路段一小时内驾驶员车辆轨迹数据展开了深入而全面的研究。

首先,对原始数据进行了仔细的数据预处理与分析。通过为数据添加列名、调整时间戳等步骤,确保了数据的结构化和准确性。异常值与缺失值的查询结果显示无异常,为后续分析奠定了可靠的基础。

其次,进行了详尽的描述性统计和可视化分析,深入了解各个指标的分布情况。采用相关性系数法进行相关分析,通过绘制热力图初步筛选了关键数据。通过数学运算和主成分分析的降维操作,生成了最终17个特征数据。使用k-means聚类算法成功将驾驶员分为三种行为类别:激进驾驶(C1)、保守驾驶(C2)、高速驾驶(C3)。

随后,利用随机森林算法对各个驾驶类别的特征进行重要度排序,以辨识对跟驰行为最具影响力的因素。采用长短时记忆网络(LSTM)深度学习模型建立对速度的预测模型,并全面评估了其性能,包括均方根误差(RMSE)和平均绝对误差(MAE)等性能指标。发现在不同驾驶行为类型下,模型的表现存在差异,尤其是在保守驾驶类别下的速度波动更加平稳,预测结果更为精准,其次是高速驾驶类别和激进驾驶类别。

最后,为验证所建立的数据驱动跟驰模型的优越性,与仅考虑单因素的LSTM模型进行了详细对比。对比结果表明,我们的模型在处理波动大的数据集时表现更为卓越,具有更强的稳定性,为交通数据分析领域提供了实际应用的有力支持。这项研究的成果为深入理解驾驶行为、提高交通数据分析精度提供了有益的方法和技术支持。

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值