【关键词】交通流 Python 数据清洗
1 引言
随着交通检测技术和智能交通系统的发展,交通管理者能够获得海量的交通数据。但是现实中,往往由于各种因素如环境、道路突发事件、采集设备故障等导致采集的数据存在缺失、异常、冗余等现象,这会降低智能交通系统分析和诱导能力。因此,如何将获取“脏数据”进行科学合理的清洗是各国学者亟待解决的问题。
2 交通原始数据的选取
本文中使用的数据为四川省某市2014年8月6日的交通流数据,这个数据中有很多路段信息,并且数据采集设备的采集数据周期为5min,相应的信息可以从图1中看出。
每条交通数据都有唯一的VID_LANE_ID号与之对应。而VID_LANE_ID前四位指代某路段的某一具体设备。TRAFFICDATA代表采集数据的时间。DIRECTION为方向编码,代表车辆行驶的方向,TRAFFICDATA_ID记录时间间隔为5分钟,这个时间段非常适合数据分析与预测建模。对于VOL为该路段在5分钟内所经过的车辆总数;SPEED为在观测时间内所有车辆的速度平均值;OCC为占有率,指检测时间周期内有车辆经过的时间总和与检测总时间的之比(本文采集数据OCC省略了百分数)。
3 交通流数据清洗
采集到的真实的交通流数据往往会由于诸如信息传输、设备自身故障、突发交通事故等因素影响会导致其包含有真实数据和不真实的数据。为了使数据分析或者数据预测工作具有科学性和可靠性,往往不能直接使用这些“脏数据”,在这之前需要对这些采集到的原始的交通流数据进行降低甚至消除噪声、简约冗余数据、对异常错误数据进行修正、对缺失数据进行填补等工作,用以提高数据质量,通常称这一过程为数据清洗。
一般说来,脏数据主要存在异常、缺失和冗余这三类。
3.1 异常数据的判断与处理
本文异常