龙源期刊网
http://www.qikan.com.cn
基于
Python
的交通流数据清洗
作者:李红梅
唐岚
来源:《电子技术与软件工程》
2016
年第
09
期
【关键词】交通流
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
异常数据的判断与处理
本文异常数据的剔除算法分为两个步骤,第一步是采用阈值法去掉比较明显的错误数据;
第二步是采用交通机理法去掉在数据中隐藏的错误数据。阈值法要求数据取值在一定的区域范
围之内,如果相应的区间内数据超出了这个区域,那么就表示相应的数据为错误数据,需要对