KDD CUP 2018 | 北京监测站点空气质量可视化分析
2018-05-17 本文已影响83人
Sudden
KDD CUP作为全球顶级数据挖掘竞赛,幸得师弟鼓励拉上本拖油瓶一起参赛~~
5.31日比赛就结束了,这次的kdd cup作为我们的练习赛吧,本来早就要做这个可视化分析的,但是工作太忙,一直抽不出时间,抱歉了,战友们=。=
明确目的
- kdd cup 2018的题目要求:给出北京、伦敦各空气监测站点2017-2018年每天每小时的空气质量监测数据,以及当时附近的环境质量数据,预测未来48小时内北京35个站点的PM2.5,PM10和O3的浓度,以及伦敦13个站点的PM2.5和PM10的浓度,预测数据将与未来的实时数据进行比较,连续21天预测数据的经验风险越小的队伍越流弊。
- 本次可视化分析目的:观察北京监测点的空气质量之间的相关性、与季节的关系、与工作日的关系以及对空气质量参数的时序分析,发现规律,帮助把握数据结构、理清思路,为下一步建模提供支撑
选点探索
- 北京有35个站点的PM2.5、PM10、O3需要预测,这里暂选城区"dongsi_aq"和交通污染监控点"dongsihuan_aq"两个监测点进行探索
- 直觉预测,交通污染监测点的空气质量与工作日与否强相关,各监测点空气质量与季节强相关
- 以下分析仅基于"dongsi_aq"和"dongsihuan_aq"两个监测点
一、数据观察
- info
- describe
观察结果
- 表内容:北京2017-2018年,指定站点在各整点时间的空气质量
- 共有31万条数据,其中PM2.5/No2/O3/SO2缺失2万条数据、CO缺失5万条数据、PM10缺失9万条数据(数据清洗和补全)
- PM2.5均值在59左右,最大值为1004爆表
二、数据清洗和补全
- 通过数据观察,可以看到,6个指标都有不同程度的缺失,需要补全,补全思路是:
- 首先去除异常值,避免异常值对于补全的影响(哪些是异常值?)
- 补全思路1(简单粗暴版):若某个站点在某个时间点的X指标有缺失值,那么结合该站点附近时间点的X指标值进行补全(取前后2小时的均值,但可能存在连续时间段缺失数据的情况)
- 补全思路2(精耕细作版):将站点空气质量和站点附近的环境状况关联起来,用站点附近的与空气质量相关性最高的一两个环境参数作为自变量,简单预测补全空气质量的缺失值(这里其实就是对空气质量的预测了,只是预测很粗糙)
- 数据客观性考虑,下面的可视化探索暂时不补全缺失数据(补全不合理可能误导后面的预测),对于缺失数据选择忽略
- 数据的清洗:定义异常值?需要一定的常识,比如PM10的常识范围是什么,排除掉不在常识范围内的指标值等,这里选择先排除掉常识范围外的指标值,然后在后一步数据规律探索时发现异常并处理
三、时间字段(utc_time)的处理
为了方便下一步探索规律,对时间字段处理如下
- 从utc_time字段处理得到date、month、day、weekday、hour
- month map到season
- weekday map到星期几
四、规律探索(可视化)
分析维度
- 分季节、分星期几查看空气质量参数的统计特征
- 6个空气质量参数的关联性分析(先按季节划分)
- 空气质量参数的时序分析
4.1 分季节、分星期几查看空气质量参数的统计特征
分季节,空气质量参数统计情况分析:
- 冬季的各项指标值(除了O3)都偏大,夏季的各项指标值(除了O3)都偏小,原因可能在于冬季集中供暖,加上气温偏低而夏季气温高便于污染物排出到大气循环中
- PM2.5在春冬季较高,且冬季有大量偏高的离群点,在夏秋季偏低,说明PM2.5浓度与气温气压强相关,高气温低气压有利于PM2.5的向上排出稀释
- PM10在春季最高,这可能归因于北京春季的柳絮、扬尘等自然因素,其次是冬季,冬季还是主要由于集中供暖,夏秋季空气质量较好
- O3浓度和空气污染物浓度呈负相关,O3可能可以净化空气,秋季O3浓度有大量偏高点,这也许也是“秋高气爽”的原因之一
各星期几,空气质量参数统计情况分析:
- 预测情况,工作日与非工作日的空气质量会有较大差异,因为工作日的汽车尾气排放量可能会高于非工作日、工厂可能也会有休息等情况
- 实际情况,工作日与非工作日的空气质量差异不明显,可能是由于展示了全年数据,并没有对季节等情况进行区分,进一步,如果能下沉到具体的日期进行分析,应该可以看到一定的差异,这一点在后续时序分析中进行
- 究其根本,分工作日与否,其实想看的是汽车尾气、工厂排放对空气质量的影响,这一点可以后续结合周围第三方环境数据进行分析
4.2 6个空气质量参数的关联性分析(先按季节划分)
各季节空气质量参数关联性分析:
- 不论什么季节,O3浓度与其余空气质量参数负相关,特别在冬季,负相关程度最大,其中的原因有两种可能:
- O3抑制PM2.5、PM10、NO2、CO、SO2(因果关系,O3净化空气)
- 冬季北京暖气等取暖设备开启,排出PM2.5、PM10、NO2、CO、SO2等污染物,消耗O3(同一因导致的果)
- 冬季,除了O3外的所有空气质量参数呈强正相关,其中的原因可能有两点:
- 北京冬季集中供暖,排出PM2.5、PM10、NO2、CO、SO2等污染物
- 冬季寒冷,污染物下沉在地面附近,难以向上排出稀释
- 夏季,各空气质量参数的相关系数与其他季节相比,都有所减小,其中可能的原因是:
- 夏季气温高,有利于污染物向上排出
- 夏季不需要供暖,污染物源头本来就少于冬季
- 各季节空气质量参数相关性有所不同,但整体趋势一致:
- PM2.5、PM10、CO在各季节都强相关(相关系数一般>0.5)
-
星期几与空气质量关系
- 相关性分析,可以证实,工作日与否与空气质量几乎无关
4.3 空气质量参数的时序分析
- 数据划分原则:
- 根据前面的分析,空气质量具有强烈的季节特征,因此先将数据按季节划分
- 人们的活动具有规律性,与星期几强相关,因此按季节划分数据后,再按星期几划分,对空气质量数据规律进行探索
- 分析维度(仅基于dongsi、dongsihuan)
- 各月,PM2.5/PM10/O3均值的变化
- 各季节、各星期几,PM2.5/PM10/O3均值24小时的变化特征
- 分月,分时间点,PM2.5/PM10/O3均值随日期的变化特征
4.3.1 各月,PM2.5/PM10/O3均值的变化
分析
- dongsihuan6月数据全部缺失
- PM2.5
- 在夏季(678月)陡降,这与高气温低气压、不供暖有关
- 123月浓度最高,与气温气压供暖有关
-
5月出现一个回升:4月浓度以及下降了,为什么5月会有回升?
- 考虑结合5月环境质量参数分析
- PM10
- 在夏季(678月)陡降,这与高气温低气压、不供暖有关
- 1~5月浓度逐渐攀升,5月达到最高点,PM10包含扬尘、粉尘等物质,北京春季扬尘较多,这可能是原因之一
- 夏季进入冬季后,由于供暖烧煤等因素,PM10浓度上升
- O3
- 随着气温升高,浓度逐渐增大
- 夏季O3浓度最大,冬季最小,秋高气爽原因可知一二
4.3.2 各季节、各星期几,PM2.5/PM10/O3均值24小时的变化特征
dongsi监测点PM2.5分析:
- 夏秋季各天各时段的PM2.5数据都比较平稳,夏季差别最小,秋季的周三浓度最低,周五浓度最高
- 冬春季各时段数据波动较大,冬季晚上(睡眠时段)浓度升到最高,可能是睡觉取暖的原因(烧煤、暖气等)
- 春季周四各时段的浓度普遍高于其他日期,值得关注
dongsihuan监测点PM2.5分析:
- 夏季情况和邻近的dongsi站点差别很大,dongsihuan受交通污染影响更大,特别在上下班高峰时段的PM2.5浓度较高,说明汽车尾气对于这类站点监测数据的影响较大,应该纳入建模
- 这里可以看到,周六周天的浓度普遍低于工作日,说明工作日与否对于此类站点监测数据的影响也很大,究其根本,还是汽车尾气对于“交通污染监控点”的数据有影响
对于PM10、O3的分析与PM2.5类似,可视化结果展示在源代码
4.3.3 分月,分时间点,PM2.5/PM10/O3均值随日期的变化特征
dongsi PM2.5分析:
- 一月9点,月初和月末的浓度较高;七月9点缺失数据较多
- 一月各天的19点浓度比较平稳;七月19点,浓度在月初月末较高
- 此分析对于时序分析中的“同一时间点前后两天”的分析有参考价值,对于特别之处的时间点,可以做此分析
- PM10、O3以及dongsihuan监测点情况分析方法类似
五、总结
- 各小结总结点见各小结文字
- 总的分析思路如下,本次可视化分析主要探索北京dongsi、dongsihuan两个监测点的空气质量之间的相关性以及时序分析