[上分指南] 2020华为云大数据挑战赛热身赛 如何做好交通流数据可视化分析?Data Visualization思路分享第三弹

[上分指南] 2020中国高校计算机大赛&华为云大数据挑战赛热身赛 如何做好交通流数据可视化分析?Data Visualization 思路分享第三弹[6.1更新!!]

在这里插入图片描述

引子: 一叶知秋
《淮南子·说山训》:“见一叶落而知岁之将暮。”
宋唐庚《文录》:“唐人有诗云:‘山僧不解数甲子,一叶落知天下秋。’

古语有云“一叶知秋”,一片叶子的落下可知岁月之更迭。数据亦如是。通过一个清晰直观的数据可视化分析(Data Visualization Analysis)可以让我们窥见既有数据的分布与变化,进而对新数据更好地进行预测。

下面,JerryX就将简单介绍一下自己在热身赛前期做的一点数据可视化分析,讲一讲自己的思考,也希望能够给大家带来一点启发!!如果大家觉得不错,也欢迎大家点赞关注,支持一下哈~有什么问题也欢迎大家及时指出,谢谢!!

0. Background Review

在这里插入图片描述
首先,在进行数据可视化之前,我们先来回顾一下大赛所给的数据集内容

数据说明 本次比赛提供4周(2019.1.12 – 2019.2.8)深圳龙岗区坂田街道交通流量历史数据。车流数据格式如下: 在这里插入图片描述
其中,time为上述格式时间字符串,cross为路口名,direction为车流起始方向,leftFlow是左转车流,straightFlow是直行车流。
说明:

(1) 十字路口包含四个方向车流数据,此处未全部列出。
(2) 路口名称分别为:五和路、张衡路、稼先路、隆平路、冲之大道。
(3) 因为右转车流不受信号灯控制,因此未做统计

我们在看这一部分的数据说明时,需要注意的是:
1.大赛所给的数据每条代表的是每个时间片内,每个交通路口的每某一方向的左转或者直行的车流量,而我们需要预测的对象是某个路口某一时间片内的所有方向的流量和(右转车辆不考虑)。这里呼应了【上分指南】系列文章第一篇关于baseline分析中提到的一个上分点。官方baseline中仅考虑一个路口的各个方向的车流量均值显然是不太合理的。

2.本次比赛的交通流数据的数据集比较特殊,它的时间范围是19春节假期前的一段时间,所要预测的对象是春节假期后的一段时间内的时间点(20190211与20190214)。所以说无疑是给本次比赛的预测带来了很多的挑战性和随机性。此外测试集时间段并没有给其他的数据,那么我们可以将本次赛题的目标理解为:先用已给的历史数据拟合211与214两天的历史趋势数据,再同时考虑利用一些规则进行历史趋势数据的修正。

1. 交通流时间序列数据总览

进一步的,透过数据可视化的结果,我们可以很清晰地了解到本次比赛交通流数据具有着强周期性与分布的规律性(如下图所示)。同时直观的,我们可以推测这种规律性与每日的早晚高峰时间是否是周末是否是春节假期期间具有强关联性。
在这里插入图片描述

2. 交通流时间序列分解可视化

2.1 交通流时间序列分解说明

我们知道时间序列可以拆分为四部分长期趋势变动T、季节变动S(显式周期,固定幅度、长度的周期波动)、循环变动C(隐式周期,周期长不具严格规则的波动)和不规则变动L
那么考虑到我们实际的交通流量预测的问题,长期的趋势变动T与循环变动C可以通过历史数据提取出来。但是我们又要注意到本次比赛的数据集较小,而所包含的数据又具有着不同的attribute:如:是否是每日的早晚高峰时间是否是周末是否是春节假期期间等。那么为了更精确地预测211与214的测试日期的交通流数据,我们就需要构造更具有代表性的数据集来训练我们的预测模型,以更好地减小历史数据中所包含的不规则变动L的影响。

2.2 交通流时间序列分解可视化

在这里插入图片描述

下面我们借助statsmodels工具包,对于不同周次的目标预测路口的交通流量和进行一定的时间序列分解可视化如下:
其中:original是原始时间序列数据,trend是提取的趋势项,Seasonality是指季节性项,residual指的是残差项。

部分代码如下:

import statsmodels.api as sm
import matplotlib.pyplot as plt
import pandas as pd

selected_fea=["weekday","timeindex","east_leftFlow","north_leftFlow","south_leftFlow","west_leftFlow",\
 "east_straightFlow","north_straightFlow","south_straightFlow","west_straightFlow","sumFlow","norm_sumFlow"]
weather_dict = {
   1: "一", 2: "二", 3: "三",4: "四",5: "五",6: "六",7: "日",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值