【2022BI数据分析大赛】深圳市街道实时交通指数分析
一、选手简介
1、选手介绍
个人选手版
· 个人介绍:huangzhuying(uid:226358),目前就职于**科技有限公司,数据工程师岗位。因项目原因接触帆软,历时一年陆续获得FCRP、FCRP-D、FCBP帆软职业资格认证。
· 个人照片:
2、参赛初衷
· 希望通过比赛实践提升BI工具的使用方法和技巧
· 希望可以得到评审老师认可,最好得到大赛奖励
二、作品介绍
1、业务背景/需求痛点
· 业务背景
一个城市的交通拥堵情况会影响市民的出行,如果可以从城市的街道交通数据中分析挖掘出各街道各时期/时点的交通情况规则,将给市民的出行带来极大便利,合理规划将大大减少“路上时间”。
· 需求痛点
分析挖掘出各街道交通情况规则,为市民出行提供意见,减少出行时间。
2、数据来源
· 自选数据:
本作品以“深圳市街道实时数据&站点能见度探测数据”为基础进行可视化展示和数据挖掘分析工作,数据来源为:深圳市政府数据开放平台(https://opendata.sz.gov.cn/)。
由于FineBI的json数据集插件不支持翻页功能,故无法利用接口对接的方式获取网站的实时全量数据,故本作品的数据获取方式为:利用Python程序调取数据接口获取数据后存为excel,数据量达5,546,456余条。但是为解决制作面板过程中数据加载慢并增强数据可视化效果,进行了时间筛选、时间片筛减等处理。
源街道实时数据集包括以下7个字段:时间、交通指数、时间片(一个时间片为5分钟)、通过样本总行驶长度(m)、街道ID、平均行程车速(km/h)、通过样本总行程时间(s)。此数据集为本作品的数据分析挖掘主体即街道实时交通指数分析。
源站点能见度探测数据集包括以下7个字段:数据时间、站号、能见度(0.1米)、站名、本小时最低能见度(0.1米)、本小时最低能见度出现时间(本小时的分钟)、十分钟能见度(0.1米)。此数据集主要是辅助展示各站点的能见度信息。采用跑马灯的展示方式,FineBI不支持直接实现跑马灯效果,故先在FineReport中采用cpt基础模板实现后再嵌入到FineBI面板中。
本作品无法使用真实的当前实时数据,选用数据集中的区间日期为例进行可视化展示、数据分析挖掘。
3、分析思路
本作品基于深圳市政府数据开放平台,对相关数据(街道实时数据、能见度探测数据)进行采集、整理、分析挖掘、可视化展示。作品整体为总分结构,首先通过指标卡展示深圳市街道的总体交通情况(交通指数、平均速度),同时,跑马灯滚动展示“站点能见度数据“为出行人提供相应信息。之后分三个部分:“24小时交通指数变化”、“近7天交通指数‘峰值’变化”、“各街道交通占比情况”进行后续的数据可视化分析工作。由于分析主体的交通指数区域颜色包含绿、黄、红三个色系,为避免颜色杂乱等仪表盘底色采用深蓝色。本作品整体风格、配色等保持一致,前后呼应,如:小标题形式、各图表颜色搭配、组件边框、重点文字突出等等。
本作品可视化分析逻辑是比较清晰的,分析角度依次为:“各街道当前时间24小时”时点维度→“各街道近7天”日期维度→“各街道交通占比”街道维度。①“24小时交通指数变化”,将各街道各时点的交通情况利用“96时点*74街道”矩形方块图整体铺开展示,便于横向各街道、纵向时点序列分析;②“近7天交通指数‘峰值’变化”,利用周情况柱形图、街道时点交通情况表展示近7天对应日期及上周同期的交通情况,可进行作日及休息日交通指数峰值分析、当前日期交通指数和平均时速信息分析,过滤组件组合筛选分析;③“各街道交通占比情况”,采用各街道交通占比情况表、街道*交通占比情况饼图展示各街道交通情况时点占比情况。
本作品“深圳市街道实时交通指数分析”主要从时点、日期、街道这三个维度,采用合适的、可读性强的图表将数据进行可视化展示,进而分析挖掘蕴含在其中的信息,个人认为是比较丰富全面的。当然,希望各位评审老师提出宝贵意见进而不断改进!
4、数据处理
本作品基于源数据集新建了多个自助数据集,各数据集的详细处理步骤不再赘述,下面罗列几点数据集关键操作:
1)为防止有重复数据首先对“街道实时数据”进行去重,利用分组汇总实现。
2)将日期转化为周*,新增列采用weekday()函数及if函数进行转换。
3)获取上周同期数据,新建相同数据集并新建列“后7天日期”,再通过左右合并获取上周同期数据。
4)将(60/5)*24=288个时间片处理为(60/15)*24=96个时间点,即将5分钟一个时点变为15分钟一个时点,再将其转化为“*时*分”的格式。主要通过增加列、过滤等操作完成。将时间片转化为24H时点→判断是否为15分钟节点→过滤→新增列,写公式将24H列转换为“*时*分”格式。
5)获取交通指数各时间段最大值数据(早高峰、晚高峰、非高峰时段),利用分组汇总实现。
6)各交通情况占比数据行列转换,主要利用新增列、分组汇总实现。
5、可视化报告
1 总体概况
采用左中右结构,左侧指标卡展示深圳市街道的总体交通情况(交通指数、平均速度),指标的数值颜色会随着交通指数的数值区间而变化。右侧跑马灯滚动展示“站点能见度数据”为出行人提供相应信息(FineBI不支持直接实现跑马灯效果,故先在FineReport中采用cpt基础模板实现后再嵌入到FineBI面板中)。中间文本展示本作品的一些介绍说明信息。表头下方附交通指数说明、日期时间筛选组件。
跑马灯滚动展示“站点能见度数据”动态效果图:
2.1 分析模块一,24小时交通指数变化
采用“96时点*74街道”方块矩阵图清晰地展示了深圳市当前日期各街道的24小时交通指数变化,制作该图表时为增强可视化效果将(60/5)*24=288个时间片处理为(60/15)*24=96个时间点,采用交通指数颜色(浅绿、深绿、黄、浅红、深红)区分交通拥堵情况。通过方块矩阵图可知各街道的交通情况,轻易地获取到各街道各时间点的具体信息(当前交通指数、上周同期交通指数)、横向的各街道对比信息、纵向的时点序列情况信息。如:当前时间2018-08-28,横向对比可知:街道6、7、8、9、11、13、14、67、68、69全天拥堵时间较多且大致都集中在13时至21;纵向对比可知:街道16、32、34、36、56、59、60、73全天交通较顺畅没有出现拥堵情况。
2.2 分析模块二,近7天交通指数“峰值”变化
采用左右结构,左侧“周情况柱形图”展示了深圳市各街道近7天交通指数“峰值变化”,利用tab组件展示全天、早高峰、晚高峰、非高峰时段四个维度的交通指数最大值情况(含对应日期&上周同期,即展示了14天的交通指数峰值情况)。近7天必定包含完整的周星期数(周一至周日),便于分析各街道工作日及休息日交通指数峰值的变化、近14天指数峰值出现时段,观察当前日期2018-08-28近7天交通指数峰值柱形图可知:①据全天tab可知,街道22、36交通状况一直比较良好、街道1、3、4、10、16、21、34、36等在休息日交通情况良好,其交通指数峰值不会出现拥堵情况;而街道7、8、11、13、17、19、25等在休息日其交通指数峰值仍会出现拥堵的情况,市民休息日出行时需要规划好路线。②对比分析全天、早高峰、晚高峰、非高峰时段tab可知,全天交通指数峰值大多出现在晚高峰时段,个别街道的峰值出现在早高峰时段及非高峰时段如:街道15。
右侧“ 街道时点交通情况表 ”展示了当前日期2018-08-28各街道各时点的交通详细情况,包含对应日期&上周同期的交通指数和平均时速信息。
右侧表格下方的过滤组件可对其上方表格的街道名称和时点进行筛选后查看,另外“街道名称”过滤组件同时控制左侧的“周情况柱形图”,通过过滤组件的灵活使用,可以更清晰便捷的查看并发现图表所包含的信息如:①街道名称组件选定“街道*”、时点组件为空,左侧柱形图展示街道*近7天交通指数峰值情况,右侧展示当前时间街道*的各时点交通指数和平均时速详情,总分结构使得数据展示更清晰明了,同时右侧表格指标列的升降序操作可以快速找到交通指数等最大最小的时刻。②街道名称组件为空、时点组件选定“*时*分”,右侧表格可上下对比各街道“*时*分”的交通指数和平均时速。
2.3 分析模块三,各街道交通占比情况
采用左右结构,左侧“各街道交通占比情况表”展示了当前时间2018-08-28各街道的交通情况(顺畅、基本顺畅、缓行、较拥堵、拥堵)时点占比分布,为加强视觉直观效果,各交通情况列开启了数据条,且数据条颜色采用与整体报告一致的交通指数区域颜色,因此可以直观的看出各街道各交通占比情况于所有街道中的排序,通过各列升降序操作,可快速找到全天整体最顺畅或最拥堵等情况的街道如:街道73是全天顺畅时点占比最多的街道、街道17是全天拥堵时点占比最多的街道、街道10、12、14、16、1、20等全天时点均未出现过拥堵情况。
右侧“ 街道*交通占比情况图 ”采用饼图的方式更直观地展示了当前日期2018-08-28街道*各交通情况的占比,相较于左侧列表罗列的各交通情况占比数值,该图更具有视觉冲击力。左侧情况表联动右侧的情况饼图,点击左侧表格任一单元格,右侧饼图展示“表单元格”所对应街道的交通情况占比。
4 作品小结
报告末尾附小结。
5 最终结果呈现的页面布局(全局导出PDF文件后转成jpg图片)
因为FineReport嵌入至FineBI的cpt内容,在仪表板导出PDF时该cpt的内容无法导出,因此“站点能见度”展示效果详见“总体概览,跑马灯滚动展示“站点能见度数据”动态效果图”。
三、参赛总结
1、FineBI工具
1)FineBI工具看法
FineBI与其他商用BI工具(如Tableau)或开源BI工具(如Superset)功能上是类似的,基本使用思路均是:数据准备及处理→各组件制作→面板制作。但是,相较与Tableau,FineBI更适用于中国企业;相较于Superset,FineBI不存在开源工具所存在的功能不全面、技术支持缺乏、对使用者代码开发能力要求高等问题。因此,个人觉得FineBI还是一款功能较全面且上手较快的BI工具,能满足企业日常数据分析需求。
2)FineBI亮点&不足
使用FineBI进行数据集处理时,工具所包含的处理方式是有限的,如:过滤、分组、新增列、左右合并等,单纯一种方式处理可能不能达到我们所需要的效果,但是可以通过各处理方式的结合来解决众多问题,个人认为这个过程就是用FineBI的功能实现“SQL处理数据”。如:本作品中取上周同期数据、时间片处理、行列转换等。
但是,该工具也存在需要不断完善以满足更多需求的地方,如:①本作品中曾尝试json数据集插件,它可以对接json格式的数据,但无法实现对接数据接口后通过翻页来获取全量数据,最多仅能获取到前一万条数据。②当数据过多时,图形横轴不能展示所有数据,如本作品分析模块1中的“96时点*74街道”方块矩阵图,在制作该图时是将街道分为两组分别做图再合并展示。③FineReport嵌入至FineBI的cpt内容,在仪表板导出PDF时该cpt的内容无法导出。
3)对数据分析的思考
数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。数据分析中挖掘出来的信息可以给个人或企业带来指导、提高效率。而数据可视化可以帮助更有效的数据分析,它是关于数据视觉表现形式的科学技术研究,将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。
2、参赛总结
在作品制作过程中,我收获良多,更深刻地明白:事情的完成不是一蹴而就的,当遇到问题时我们需要积极寻找解决办法并不断尝试,只要肯学习、肯专研,问题就一定会解决,俗话说“办法总比困难多”这句话说得一点儿没错!