全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
阿里云机器学习

雾霾天气预测

更新时间:2018-05-07 13:45:24

背景

如果要人们评选当今最受关注话题的top10榜单,雾霾一定能够入选。如今走在北京街头,随处可见带着厚厚口罩的人在埋头前行,雾霾天气不光影响了人们的出行和娱乐,对于人们的健康也有很大危害。本文通过分析北京一年来的真实天气数据,挖掘出二氧化氮是跟雾霾天气(指PM2.5)相关性最强的污染物,从而为您揭秘形成雾霾的罪魁祸首。

登录阿里云机器学习平台,通过模板创建雾霾天气预测实验。

数据集介绍

数据源:2016全年的北京天气指标。

采集的是从2016年1月1号以来每个小时的空气指标数据,具体字段如下表。

字段名 含义 类型
time 日期,精确到天 string
hour 表示的是时间,第几小时的数据 string
pm2 pm2.5的指标 string
pm10 pm10的指标 string
so2 二氧化硫的指标 string
co 一氧化碳的指标 string
no2 二氧化氮的指标 string

数据探索流程

实验流程如下。

整个实验分为四部分,分别是数据导入及预处理(上图的1)、统计分析(上图的2)、模型训练及预测(上图的3)、模型评估分析(上图的4),详细介绍如下。

1. 数据导入及预处理

  1. 数据导入
    单击数据源,选择创建表,上传的数据支持.txt和.csv文件。

    数据导入后,右键单击组件,选择查看数据,结果如下。

  2. 数据预处理
    通过“类型转换”组件把string类型的数据转换成double类型。
    通过“SQL脚本”组件,将目标列转换成0和1的二值类型。本实验中“pm2”列为目标列,数值超过200的作为重度雾霾天气打标为1,低于200为0,实现的SQL语句如下。

    1. select time,hour,(case when pm2>200 then 1 else 0 end),pm10,so2,co,no2 from ${t1};
  3. 归一化
    归一化的主要作用是去除量纲,即把不同指标的污染物的单位进行统一。

2. 统计分析

  1. 直方图
    通过“直方图”组件可以可视化地查看不同数据在不同区间下的分布。
    本实验通过可视化的展现,直观地看到了每个字段数据的分布情况。如下图,以PM2.5为例,数值区间出现最多的是11.74~15.61,一共出现了430次。

  2. 数据视图
    通过数据视图可以查看不同指标的不同区间对于结果的影响。
    如下图,以no2为例,在112.33~113.9区间产生了7个目标列为0的目标,产生了9个目标列为1的目标。即当no2在112.33~113.9区间的情况下,出现重度雾霾的天气的概率是非常大的。熵和基尼系数表示这个特征区间对于目标值的影响(信息量层面的影响),数值越大影响越大。

3. 模型训练及预测

本案例采用了两种不同的算法对结果进行预测和分析,分别是随机森林和逻辑回归。

随机森林

将数据集拆分,百分之八十用来训练模型,百分之二十用来预测。单击控制台左边的模型,选择已保存模型,右键单击模型,选择查看模型,最终可视化地显示随机森林的树状模型,如下图所示。

预测结果如下图。

上图中的AUC为0.99,说明当有了本文档用到的天气指标数据,就可以预测天气是否雾霾,而且准确率可以达到百分之九十以上。

逻辑回归

使用逻辑回归算法训练得到的是一个线性模型,如下图所示。

预测结果如下图。

上图中的AUC为0.98,比用随机森林计算得到的结果略低一点。如果排除调参对于结果的影响,可以说明针对这个数据集,随机森林的训练效果会更好一些。

模型评估分析

根据上文中的模型和预测结果来分析哪种空气指标对于PM2.5影响最大。

逻辑回归生成的模型如下图所示。

经过归一化计算的逻辑回归算法的模型系数越大,对于结果的影响越大。系数符号为正表示正相关,为负表示负相关。上图中正号系数里pm10和no2最大。

  • pm10和pm2只是颗粒尺寸大小不同,是一个包含关系,可以不考虑。
  • no2(二氧化氮)对于pm2.5的影响最大。查阅相关文档,了解哪些因素会造成no2的大量排放,即可找出影响pm2.5的主要因素。
    通过来自互联网的no2来源文章,说明了no2主要来自汽车尾气。

其它

请进入阿里云数加机器学习平台体验阿里云机器学习产品,并通过云栖社区公众号参与讨论。

本文导读目录