基于时空相关性的公交大数据清洗

2022-01-22 07:47谢智颖何原荣李清泉
计算机工程与应用 2022年1期
关键词:缓冲区公交站点

谢智颖,何原荣,李清泉

1.厦门理工学院计算机与信息工程学院,福建 厦门 361024

2.深圳大学空间信息智能感知与服务深圳市重点实验室,广东 深圳 518060

随着AI 技术的发展,由数据驱动的公交车预测模型层出不穷,为了达到理想的预测效果,这些模型都要求很高的数据质量,而数据清洗是提高数据质量的必要步骤;同时,很多涉及数据分析的项目中,数据清洗在开发时间和预算方面占到30%~80%[1],研究数据清洗方法在大数据时代,就显得越来越重要了。数据清洗是对脏数据进行检测和纠正的过程,郝爽等[2]对经典和新兴的数据清洗技术进行分类和总结,对数据缺失、数据冗余、数据冲突和数据错误这四种数据噪声的检测技术进行详细阐述,并把数据清洗方式分为基于完整性约束的数据清洗算法、基于规则的数据清洗算法、基于统计的数据清洗算法和人机结合的数据清洗算法。郭志懋等[3]对数据清洗问题进行了分类,并分析了解决这些问题的途径,最后说明数据清洗研究与其他技术的结合情况,分析了几种数据清洗框架,最后对将来数据清洗领域的研究问题作了展望。燕彩蓉等[4]基于树状领域知识库,对海量数据中的重复数据可以有很好的清洗效果。

在智慧交通领域,王晓原等[5]把交通数据分为包含噪声的正常数据和异常数据质量问题两类,交通检测器获得的数据存在无效、冗余、错误、时问点漂移及丢失等质量问题,研究“脏数据”的清洗规则与清洗步骤,并对环形线圈检测器检测到的数据迸行验证。其所提清洗规则对错误、丢失、冗余数据的识别率均在90%以上,但对时间点漂移数据无效。耿彦斌等[6]根据交通流理论和阈值规则筛选出错误数据,对丢失数据,采用线性插值和历史数据平均法进行修正。从时空相关性入手,袁瑶瑶等[7]提出一种基于ST-DCGAN 的时序交通流量数据补全方法,该方法结合DCGAN网络和交通流量的时空特性,能更好地抽取交通流量数据在时间维度上和远近区域上的相关性。孟鸿程[8]采用基于时间相关性、空间相关性和时空相关性的多种数据修复方法对缺失数据进行处理。李林超等[9]将高速公路交通流数据缺失情况分为点缺失、线缺失和面缺失三种情况,并基于随机森林算法建立修正模型。陆化普等[10]从时间相关性、空间相关性和历史相关性三方面分析了交通流大数据的特点,建立了基础交通流时空模型,具有较高的修复精度。Gill等[11]使用具有时空特征的公交车顶的环境和位置传感器获取的多种数据,构建了一个分布式实时清洗数据流系统,建立了线性回归模型、多元回归模型和广义加权回归模型三种清洗模型。

在AI 预测公交到达时间的相关文献中,关于数据清洗也有专门的章节描述。赖永炫等[12]将数据文件按日期进行分割,并将分割后的数据根据方向、车辆、到达时间进行排序,然后将同趟数据划分到同组中,剔除组内脏数据;对缺失数据填充时,对于站点停留和站间行驶时长优先选用历史数据的均值进行填充,当不存在历史数据时,则用临近班次进行填充。陆俊天等[13]对公交GPS 数据进行了冗余筛选,站点匹配、站间站距匹配等方法,对公交数据进行了清洗。Han等[14]认为GPS数据精度比较低,以地图匹配的方式,把偏离路线的GPS 点投影到了线路上,并通过速度、距离等关系,选取或过滤GPS 原始数据。Wang 等[15]提出了离异值判别、交通流趋势判断、相似度计算、缺失值补充等算法,来对数据进行清洗处理。

现有的研究成果大多是对原始的观测数据进行剔除或者填充,往往破坏了原始观测数据的严肃性。本文从OLAP 分析的角度,从业务数据的关联性出发,研究面向业务分析的数据的清洗问题。首先,对公交大数据的异常进行了分析,并分解为四类数据异常;其次,对公交数据的时空相关性进行了分析;在此基础上,提出了公交大数据清洗方法及流程;然后对清洗不同阶段产生的四种数据集,采用LSTM 预测公交到达时间,比较分析了清洗方法的预测精度;最后对时空相关性的清洗方法进行了总结。

1 公交大数据异常分析

近年来,随着物联网、云计算等技术在各行各业的推广与发展,公交行业在刷卡消费、公交调度、客流统计、主动安全等领域进行相应的信息化改造与升级,各种传感器部署在公交车上,采集了大量的数据。这些数据由于采集方式、传输手段等因素,存在噪声、缺失、不一致性、歧义等数据质量问题,影响了数据进一步分析利用,本节从公交大数据的特性出发,对公交异常数据分为以下四类。

(1)冗余数据:一般指内容相同的数据重复多次出现,公交数据都是异步上报方式,在网络不稳定的情况下,会出现一些数据重复上传的情况,这也会造成一定的这类冗余数据。本文所定义的冗余数据,是指对公交大数据预测没有价值的数据,如公交车在首末站停靠时,上传的大量公交轨迹数据或进出站数据。

(2)范围异常数据:一般指违反某种范围区间或规则的数据,即文献[2]中冲突数据,在公交系统中,由于公交是定线运营,从轨迹上不在线路的数据,一般可能是发生了特殊情况,不具有普遍的统计意义,对这类数据只需作为异常数据记录,在公交大数据分析时,应作为异常数据过滤。

(3)异常数据:指一些与大部分数据相比偏差较大的数据,在公交网中,两站间的运行时长、站点停留时长、公交运行时长(起终点间)等数据都符合某种统计规律,通过统计很容易发现异常数据。如表1后三列就对应着停留时长,运行时长与公交运行时长,当有异常发生时,这些值都奇高,通过这些奇异值就可以定位异常数据的位置,进而分析其出错的原因。

(4)缺失数据:指采集终端故障、移动通讯中断或后台接收问题导致的数据的缺失,这种缺失数据也可以按异常数据的方式发现并定位之。如表1 中最后两行数据,通过到达时间非常大这一奇异值,发现是因为缺失了前5站数据所导致。对缺失数据发现比较容易,但要补全缺失值就没那么容易了,本文基于交通网的时空相关性,对如何补全缺失数据进行了研究。

表1 公交进出站数据中的异常数据Table 1 Abnormal data of bus in and out stations

2 公交大数据时空相关性

公交传感器在采集数据时本身就带有时间戳这一时间要素,空间信息由GNSS模块获取。公交的时空感知数据体现了数据的实时性和连续空间位置变化的属性,反映了人们生活工作活动状态时空变化特征。

2.1 时间相关性

时间维往往被看成是单向线性的或分支循环的,在单向线性时间中,以某一个时刻作为起点,这之后的固定间隔发生的时刻,往往以时间序列来表达。周期时间每周期都以某一时刻作为起点,其后周期内的任一时刻,也以时间序列来描述。可见时间的周期性与序列性是相互嵌套,交替前行的。

(1)序列性

公交运行在定点定线的线路上,从起点到终点的一趟行驶下来,从时间维上会产生一些时间序列数据,如GNSS模块以固定的采样频率,实时上报公交车的轨迹数据,还有公交车报站仪,与站点相关联,自动的或由司机手动的触发上报公交进出站信息。如图1 所示的到达时间序列、行驶时长序列、等待停止序列等,在这个序列中数据是连续的,也是完整的,丢失某几站数据,则相应的统计数据就会出现比较大的奇异值。

图1 公交数据的序列性Fig.1 Sequence of bus data

(2)周期性

交通流随时间变化的规律,是由车辆出行的规律决定的。每个工作日(星期一至星期五)的日变化规律基本相同,工作日与休息日(周六、周日)的形状相似,从日流量变化图,可获得每天的流量高峰时间与高峰小时流量,这段时间车辆经常被堵塞,车辆运行缓慢。公交车辆也受交通流的支配,其运行也呈现出与交通流相似的周期性,如图2 是某路公交车以5 min 时隙统计的到达终点所花费的时长统计图,明显可见这种周期规律性。

图2 公交数据的周期性Fig.2 Periodicity of bus data

2.2 空间邻近性

对公交而言,其运行线路具有定线定点的特点,某些公交车共享一些换乘站,某些公交车共享某几段路段,这也从空间上可以把这些车辆关联起来,其空间相关性可分以下三种情况。

(1)同线路同向车辆间空间邻近性

同线路同向车辆发车时间相隔不大的话,如前车,其所处的交通流环境是相差不大的,其在某路段的行驶时间是相差不大的。正基于此,有学者[12]在做行程时间预测时,选用的特征数据是前面车辆的历史数据,同理,当在清理数据时,发现数据缺失时,也可以采用这种方法,补齐缺失的数据。

(2)共享部分站点不同线路车间的空间邻近性

共享站点的车辆,在相同时间,其站点的乘车环境可认为相同,如乘客的拥挤程度、站点周围的交通流环境等。该站点上的停留等待时间具有相似性,若在处理异常数据时,发现停留等待时间异常或缺失,可通过共享相同站点的其他车辆补齐。

(3)共享部分行驶路段不同线路车间的空间邻近性

同共享站点的车辆一样,共享行驶路段的车间,可借鉴的东西就更多了,如路段行驶时间、站点停留等待时间、区间车速,若时间相隔不大,则GNSS经纬度的缺失也可以采用这种方式补齐。

总之,空间相关性是满足地理学第一定律的,同方向距离越近的车辆,其空间相关性越大,所采集的数据差别越小,反之亦然。

2.3 时空依赖性

根据交通流理论,应该从时间和空间两个维度认识交通流的变化规律。交通流由于时间和空间两个变量和随机因素的影响,其变化规律是非常复杂的。公交车间存在共享站点与共享路段,时间依赖公交网体现了公交间的时空相关性。时间依赖公交网定义为:

给定有向图G=(V,A) ,则时空网可表示为GT=(VT,AT) ,其中VT={(i,t)|i∈V,t∈T} ,AT={((i,t),(j,t+dij(t))|i,j∈V,t,t+dij(t)∈T}时空网上的节点与弧段是时间依赖的,即弧段上描述的属性,是与车辆进入节点的时间紧密相关的。如公交车在某路段上的行程时间,在早高峰时段与平时时段是不一样的,有时还相差比较大。通过时间依赖公交网,可以把所有公交车辆在某站点、某路段、某时隙里的行程时间或停留时间统计出来,通过时隙对应的时间点获取经过该路段的相关属性,完成缺失数据的补齐。

3 公交大数据清洗方法

公交大数据在时间维上具有序列与周期的特点,在空间维上具有邻近性,在时空上可以通过时间依赖公交网关联起来。下面从时间维的四分位数、空间维的缓冲区法、时空维的时间依赖公交网络关联法三方面介绍公交大数据的清洗方法。

3.1 四分位数法

四分位数(quartile)[16]也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于3个分割点位置的数值。它是一组数据排序后处于25%和75%位置上的值。四分位数是通过3个点将全部数据等分为4 部分,其中每部分包含25%的数据。很显然,中间的四分位数就是中位数,因此通常所说的四分位数是指处在25%位置上的数值(下四分位数)和处在75%位置上的数值(上四分位数)。四分位数多应用于统计学中的箱线图绘制。它由5个数值点组成:最小值(min)、下四分位数(Q1)、中位数(median)、上四分位数(Q3)、最大值(max);也可以往箱线图里面加入平均值(mean)。最大(最小)观测值设置为与四分位数值间距离为1.5个IQR(中间四分位数极差)。由于现实数据中总是存在各式各样地“脏数据”,也成为“离群点”,于是为了不因这些少数的离群数据导致整体特征的偏移,将这些离群点单独汇出。

通过箱线图,在分析数据的时候,箱线图能够有效地识别数据的离异值,也可以通过箱体的长度、中位数的大小判断数据离散程序与偏向。在图2中,对公交到达时间就是采用箱线图绘制的,通过中位数可以观察交通流的变化趋势,通过箱体长度可以看到该时隙数据的离散程序,离群点单独以圆点绘出,这些离群点多是数据异常所导致,所以,通过四分位数法可以定位异常数据。本文正是基于四分位法这一特点,计算公交到达时间,然后按5 min时隙分组数据,计算每个分组的四分位数,发现异常数据,完成异常数据的清洗。

3.2 缓冲区

缓冲区分析是指以点、线、面实体为基础,自动建立其周围一定宽度范围内的缓冲区多边形图层,主要用来解决空间邻近性问题的空间分析工具。在公交系统中,站点是点要素,线路是线要素,点要素的缓冲区,通常以站点为圆心,以一定距离为半径的圆,线要素的缓冲区,通常是以线为中心轴线,距中心轴线一定距离的平行条带多边形。

如图3是某公交网依线路与站点生成的缓冲区,黄色的多边形是线路的缓冲区,粉色的圆形缓冲区是站点生成的,线路缓冲区可以过滤非正常不按线路行驶的记录,如临时封路改道的车辆行驶轨迹。站点缓冲区可以判断公交进出站数据的正确性。这两类缓冲区都可以过滤范围异常的数据,起到范围清洗的效果,同时,在首末站,还可以利用站点缓冲区,过滤大量的冗余数据,起到冗余清洗的作用。

图3 公交站点与线路生成的缓冲区Fig.3 Buffer zone generated by bus stops and routes

3.3 时间依赖公交网络

公交网是时间依赖交通网,每路段上的行程时间是与车辆进入该路段的时间相关的[17],本文以传统的节点-弧段模型[18]为基础,建立时间依赖公交网的模型。如图4 是逻辑模型,该模型把拓扑从几何中分离出来,以交通特征作为建库的基本要素,维持了地理实体在语义上的完整性。通过线路弧段与站点节点、运行时长序列、到达时长序列、停留时长序列的引入,可以很好地描述公交网的时态变化性,在公交网模型中加进了时间维,集成了相关的与交通有关的数据,从而为公交大数据中缺失数据的补充打下基础,也是该模型对公交换乘路径选择也起到很大的支撑作用。

图4 时间依赖公交网逻辑模型Fig.4 Logical model of time dependent bus network

如图5是时间依赖公交网的物理存储结构,结合公交发车及运行的特点,把相关统计量按工作日与周末进行了分组,并从6:00—23:00 按5 min 划分为204 个时隙,这样很好地表达了时间维,通过站点与线路间一对多的拓扑关系,很好地表达了空间维关系。

图5 时间依赖公交网物理表结构Fig.5 Physical structure of time dependent bus network

3.4 时空数据清洗流程

从4 种异常数据的特点出发,利用各种清洗方法,从点缓冲区开始,依次通过冗余清洗、范围清洗、异常清洗、补全清洗4个清洗步骤,完成对公交大数据和清洗,其主要流程分以下4步:

(1)生成站点缓冲区,过滤掉首末站的冗余数据,生成冗余清洗进出站与冗余清洗轨迹数据集。

(2)然后基于此数据集,通过线路缓冲区,通过范围清洗,过滤进出站、轨迹不在线路上的数据,生成范围清洗进出站与范围清洗轨迹数据集。

(3)在范围清洗进出站数据集上,依线路计算每两站间的运行时长、累积运行时长、停留时长等,根据发车时间分组到每5 min时隙中,再依据工作日进行分组,并计算每个时隙的四分位数,把中位数存入时空依赖公交网中,作为以后补充缺失数据选用,通过四分位数判断异常数据,生成异常数据集与异常清洗数据集。

(4)基于步骤(3)生成的异常进出站数据集,进行缺失站点判断,如有缺失站点,从范围清洗轨迹数据集中找补,从轨迹数据中没有找到,则从时间依赖公交网中填补,若只是到达站点时间维数据异常,则直接从时间依赖公交网找公交运行时长反推计算,该步生成缺失清洗进出站数据集。

步骤(4)与步骤(3)生成的异常清洗进出站、补全清洗进出站数据集,是清洗完成后,用于公交到达时间预测可用的数据集。如图6是完整的数据清洗流程图。

图6 数据清洗流程Fig.6 Data cleaning process

4 LSTM模型预测下清洗结果分析

公交进出站数据由进出站仪采集并上报,数据包含了线路、司机、车辆、到达站点时间、驶离站点时间、到达站点GNSS坐标等信息,但缺乏行驶里程、车速等信息,这些可以从公交车轨迹数据集中取得。从该数据集可以计算车辆的行驶时长、停留时长、到达时间、车头时距等,该数据集可以用来预测车辆到达时间,也可以分析“串串车”“大间隔车”等智能调度面临的主要问题。下面以前面介绍的基于时空相关性清洗方法,研究对该数据集清洗的实现。

4.1 原始数据集

如图7 是山东省临沂市选取一天的公交进出站与轨迹数据集,黑色的点是轨迹数据,绿色的点是进出站数据。轨迹数据比较密,80 s 采一次样,进出站数据聚集在公交站点附近,在公交线路比较少的地方,间隔性表现的很明显。

图7 进出站与轨迹原始数据集Fig.7 Raw dataset of in and out stations and trajectories

4.2 LSTM网络预测模型

本文对清洗数据集结果的评价,通过对不同清洗阶段生成的数据集,采用LSTM网络[19-20]预测公交到达时间的统计结果来进行。本次实验基于2020年3月28日—2020 年6 月28 日山东省临沂市30 路公交进出站数据、线路数据、节假日以及临沂市天气状况等数据,使用Tensorflow-gpu2.0 进行数据处理与算法编写。选用了与线路相关的一些属性与当前站点之前的到达时间序列作为输入特征,来预测当前站之后的到达时间序列。其形式如下:

[公交线路,方向,公交车辆,公交司机,发车小时,发车分钟,星期几,是否节日,距起点距离,天气),(xt-k,…,xt)],xt为当前站与上一站间的到达时间之差。输出序列为(-xt-k,…,0,xt+1,…,xt+n)。

如图8 是预测网络结构图,由单层LSTM 与二层全连接层组成,LSTM主要用于时间序列类预测。其输入层由41 位的向量组成,包括线路相关属性特征与到达时间序列特征。

图8 LSTM网络结构Fig.8 LSTM network structure

损失函数选用平均绝对误差(MAE),即输出的预测结果与真实值的误差。网络参数的更新采用Adam优化算法。Adam 算法是一种一阶优化算法,主要利用梯度的一阶矩估计和二阶矩估计动态地为不同参数设计独立的自适应性学习率,比传统的梯度下降法更新效果更好。

如图9 是epoch 选用100,batch 为100,validation split 为0.2 时的训练损失图。从4 种清洗数据集LSTM网络的训练图可见,补全数据集训练收敛最好,大约在80次时,模型已训练到位,清洗完异常数据的数据集表现次之,另外两种数据集由于有异常数据的存在,归一化后导致数据值太小,训练收敛效果比较差。

图9 LSTM网络训练损失图Fig.9 Diagram of LSTM network training loss

4.3 清洗数据集比较分析

4 个清洗过程都对应着不同的清洗数据集,数据集按8∶2 分成训练集与测试集,训练集又按8∶2 分成训练集与验证集,验证集主要是验证超参数设置是否合理,防止过拟合现象。表2 中列出了4 种数据集的数量大小,冗余清洗数据集最大,异常清洗数据集由于剔除了一些离异值,数量最小,补全数据集补全了一些缺失值与改正了一些离异值,数据数量得到了很大提高,与异常清洗相比,补全率达到19%。如图10为4种清洗数据集预测公交到达时间结果比较图

表2 预测公交到达时间结果统计表Table 2 Statistical table of predicted bus arrival time results

图10 预测公交到达时间结果比较图Fig.10 Comparison of predicted bus arrival time results

LSTM网络经过训练后,采用测试集数据进行预测精度分析,表2中,采用了平均绝对误差(mean absolute error,MAE)、余弦相似度(cosign similarity,COS)两个量化指标来量化的评价网络模型。从数据可见,冗余清洗、范围清洗、异常清洗、补全清洗是递次进行的,对异常数据的每一次清洗,都能提高预测数据的精度,COS 描述了预测序列与测试序列的相似度,相似度也是依次递进。

如图11是4种清洗数据测试集的MAE偏差图。棕色的线是MAE 的平值均,可以看出,MAE 的平均值补全数据集是最低的,从散点图也可以看出,补全数据集大部分点都在均值附近,而其他数据集离异值比较多,说明预测精度没有补全数据集高。

图11 清洗测试集预测精度比较Fig.11 Comparison of prediction accuracy of cleaning test sets

如图12 是按照公交站点,统计的每一站点预测值的平方根均方差(RMSE),绿色是补全清洗数据集的结果,在4 个数据集中均方差是最小的,也说明按单个站点,补全数据集的预测精度也是最高的。特别在第25站,由于异常值的存在,导致RMSE很高,通过异常清洗后,在异常清洗数据集与补全清洗数据集上,25站的预测精度得到了明显改善。

图12 站点预测平方根均方差Fig.12 RMSE of site prediction

综上分析,冗余清洗、范围清洗、异常清洗、补全清洗是递次进行的,对异常数据的每一次清洗,都能提高预测数据的精度。补全数据集是在冗余数据集、范围数据集、异常数据集的基础上,最符合客观实际的公交车运行数据,其预测效果也是最好的,这也证明了本文所研究清洗方法的有效性。

5 结论

本文针对公交大数据中的异常数据,分冗余数据、范围异常数据、异常数据、缺失数据四类异常进行特征分析,然后从时间相关性、空间邻近性、时空依赖性分析了公交数据间存在的时空关系,并基于时空关系,采用站点缓冲区完成冗余数据的清洗,路线缓冲区完成范围异常数据的清洗,到达时间四分位数法判断出离异值,完成异常数据的清洗,时间依赖公交网补全缺失数据,完成补全清洗。补全数据集数据数量得到了很大提高,与异常清洗相比,补全率达到19%。最后通过四种清洗阶段生成的数据集,采用LSTM预测公交到达时间的方式,对清洗效果进行了比较分析。结果显示,对异常数据的每一次清洗,都能提高预测数据的精度,补齐数据集是在冗余数据集、范围数据集、异常数据集的基础上,最符合客观实际的公交车运行数据,其预测效果也是最好的,与异常清洗数据集相比MAE 提升了9%,预测值与真实值序列相关性达到95%以上,也证明了本文所研究冗余清洗、范围清洗、异常清洗、补全清洗方法的有效性。

猜你喜欢
缓冲区公交站点
一元公交开进太行深处
基于Web站点的SQL注入分析与防范
串行连续生产线的可用度与缓冲库存控制研究*
等公交
基于ARC的闪存数据库缓冲区算法①
积极开展远程教育示范站点评比活动
怕被人认出
初涉缓冲区
“五星级”站点推动远程教育提质升级
多目标缓冲区生成算法