数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法...

news2024/11/15 8:44:19

全文链接:http://tecdat.cn/?p=30131

最近我们被客户要求撰写关于上海空气质量指数的研究报告。本文向大家介绍R语言对上海PM2.5等空气质量数据查看文末了解数据免费获取方式间的相关分析和预测分析,主要内容包括其使用实例,具有一定的参考价值,需要的朋友可以参考一下点击文末“阅读原文”获取完整代码数据)。

b608f1e8063ae690658c54c3a96d69cb.png

相关分析(correlation analysis)是研究现象之间是否存在某种依存关系,并对具体有依存关系的现象探讨其相关方向以及相关程度,是研究随机变量之间的相关关系的一种统计方法。分类:

·       线性相关分析:研究两个变量间线性关系的程度,用相关系数r来描述。常用的三种计算方式有Pearson相关系数、Spearman和Kendall相关系数。

·       偏相关分析:当两个变量同时与第三个变量相关时,将第三个变量的影响剔除,只分析另外两个变量之间相关程度的过程。如控制年龄和工作经验的影响,估计工资收入与受教育水平之间的相关关系。

在变量较多的复杂情况下,变量之间的偏相关系数比简单相关系数更加适合于刻画变量之间的相关性。

PM2.5细颗粒物指环境空气中空气动力学当量直径小于等于2.5微米的颗粒物。它能较长时间悬浮于空气中,其在空气中含量浓度越高,就代表空气污染越严重。与较粗的大气颗粒物相比,PM2.5粒径小,面积大,活性强,易附带有毒、有害物质(例如,重金属、微生物等),且在大气中的停留时间长、输送距离远,因而对人体健康和大气环境质量的影响更大。

pydat2=read.csv("上海市_05.csv",header=T)

pydat3=read.csv("上海市_06.csv",header=T)

 

head(pydat)

head(pydat2)

 

attach(pydat)

 

plot(pydat[,c(8:10)],

     col=质量等级)#画出变量相关图

9685b951307f81707d9dbbc69bd55c87.png

col=质量等级)#画出变量相关图

992ec243f059c320311fd9aa0aa52ccb.png

col=质量等级)#画出变量相关图

4af1ecf0c51d85c4d9164bb67824514a.png

上面的图中不同颜色代表不同的空气质量地区,从所有变量的两两关系散点图来看,可以看到pm2.5和pm10的关系图可以比较好的区分出不同空气质量的地区。并且他们之间存在正相关关系。

对数据进行聚类

plot(hc1,

     main="层次聚类")

 

            border = "red")

4894edf317e3ebf258aafd742545ffbe.png

对数据进行层次聚类后,根据谱系图可以发现,所有样本大概可以分成5个类别。因此,后续对数据进行kmean聚类。


点击标题查阅往期内容

edea4afeb06a3613342ec64ac2dc736a.jpeg

R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)

outside_default.png

左右滑动查看更多

outside_default.png

01

6297455ba6d5707e5aded4c6e89ade08.png

02

d42255ea0cc01c87db6319b8a7ab207d.png

03

d4c96263c44792f107e08d468d2b1353.png

04

d577a89d659fb3e45d32bb96e0218606.png

剔除缺失值

plot(pydat[,8:12],

     col =km$cluster,

     main="聚类结果1")

23d8c2bf89f1fe69241dd8df0f5922df.png

main="聚类结果2")

f801daedac65ed4074d385e68a32577a.png

main="聚类结果3")

1d38613b71c11bbdcbc6c1e6f5b3c809.png

通过kmeans的可视化结果来看,kmeans方法比较好的将所有样本点区分开来,其中绿色的样本点各项指标值较低,红色样本点各项指标值较高,蓝色和黑色样本点主要在O3,NO2 等指标上有较明显的区别。为了具体比较每个类的指标,下面对每个类的数据特征进行描述。

#每个类中的空气质量情况

par(mfrow=c(3,4))

 

boxplot(pydat[,8]~pydat[,23])#聚类结果和pm2.5的关系

797ba7733e0699b1c327a0473abc8274.png

从上面的箱线图,可以看到每个类别的特征,第一类O3值较高,第二个类PM2.5的值较高,第三个类pm2.5,NO值较低,第4类O3水平较低,PM10值较高,第五类的各个指标值都相对较低。因此第5个类别空气质量比较好。其他各个类别的地区在不同指标上有不同特征。

par(mfrow=c(2,3))

hist(as.numeric(pydat[km$cluster==1,6]))

5f9b5c92e62bf6ef0fbb6edd4b359ca9.png

再看每个类中空气质量水平的频率,可以看到第一个类的地区空气质量水平大多在良好水平,第二个类地区水平层次不齐,第3个类空气质量水平在4居多,因此空气质量较差,第4个类别2,3居多,因此良好,第5个类大多地区集中在1-3,因此空气质量最好。

unique(pydat[pydat[,23]==5,4])

  unique(pydat[pydat[,23]==1,4])

 [1]                十五厂         虹口           徐汇上师大     杨浦四漂       青浦淀山湖   

 [7] 静安监测站     浦东川沙       浦东新区监测站 浦东张江     

12 Levels:  虹口 静安监测站 美国领事馆 普陀 浦东川沙 浦东新区监测站 浦东张江 ... 杨浦四漂

> unique(pydat[pydat[,23]==2,4])

 [1] 杨浦四漂       浦东新区监测站 徐汇上师大     静安监测站     青浦淀山湖     虹口         

 [7] 十五厂         浦东川沙       浦东张江       普陀                         

12 Levels:  虹口 静安监测站 美国领事馆 普陀 浦东川沙 浦东新区监测站 浦东张江 ... 杨浦四漂

> unique(pydat[pydat[,23]==3,4])

 [1]                十五厂         虹口           徐汇上师大     杨浦四漂       青浦淀山湖   

 [7] 静安监测站     浦东川沙       浦东新区监测站 浦东张江     

12 Levels:  虹口 静安监测站 美国领事馆 普陀 浦东川沙 浦东新区监测站 浦东张江 ... 杨浦四漂

> unique(pydat[pydat[,23]==4,4])

 [1] 虹口           静安监测站     十五厂                        浦东新区监测站 浦东张江     

 [7] 徐汇上师大     青浦淀山湖     杨浦四漂       浦东川沙       普陀         

12 Levels:  虹口 静安监测站 美国领事馆 普陀 浦东川沙 浦东新区监测站 浦东张江 ... 杨浦四漂

> unique(pydat[pydat[,23]==5,4])

[1] 普陀       静安监测站

12 Levels:  虹口 静安监测站 美国领事馆 普陀 浦东川沙 浦东新区监测站 浦东张江 ... 杨浦四漂

时间序列分析

###对AQi值进行时间序列分析

 

plot.ts(mynx1)

指数平滑法

plot.ts(train)

6b8a39bf5eee22ab7421f0625f9b72dd.png

plot.ts(mynxSMA3)

70401e60cebd25825e351b1afa4822a4.png

plot.ts(mynxSMA10)

da15d577099e9807e7068c66f5874d0a.png

对时间序列进行平滑后,可以看到数据有较稳定的波动趋势。

#画出原始时间序列和预测的

plot(mynxforecasts)

mynxforecasts$SSE

fa72e2ea0ddfe5f1f8706b486ea4176e.png

得到红色的拟合数据和黑色的原始数据,可以看到模型拟合较好。

预测

mynxforecasts2

plot.forecast(mynxforecasts2)

lines(mynx1)#原始数据预测对比

ea3839c8d108c4778067468c614a1e68.png

使用该模型对数据进行拟合,可以看到测试集的数据基本上再预测的置信区间之内。

向后预测90天

mynxforecasts2

plot.forecast(mynxforecasts2)

e594ae6fb027549b56ac92cf709cead0.png

然后对未来的数据进行预测额,可以得到预测的区间。

由于后续预测的数值区间较大,因此我们使用arima模型进行拟合,测试效果。

arima模型

plot(pre)#绘制预测数据

prev=train-residuals(fit3)#原始数据

pre$mean#每天的预测均值

lines(prev,col="red")#拟合原始数据

23a26253da8935425723dd9323d2f7fd.png

同样得到拟合和预测的值,红色代表拟合的样本点,黑色代表原始的样本点,后面的代表预测的数据和置信区间,可以看到样本拟合的状况较好,预测的区间比指数平滑法要精确。

数据获取

在公众号后台回复“空气”,可免费获取完整数据。

376a30b9799e30dcdd861cf1771b3e16.jpeg

本文中分析的数据分享到会员群,扫描下面二维码即可加群!

ce2ad49d77ef1b06a220e5898c934b34.png

c21e230280e003a8a11064bae63fe889.png

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法》。

点击标题查阅往期内容

R语言分布滞后非线性模型(DLNM)空气污染研究温度对死亡率影响建模应用

Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测

Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测

数据分享|PYTHON用ARIMA ,ARIMAX预测商店商品销售需求时间序列数据

Python用RNN神经网络:LSTM、GRU、回归和ARIMA对COVID19新冠疫情人数时间序列预测

【视频】Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析|数据分享

深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列

spss modeler用决策树神经网络预测ST的股票

Python中TensorFlow的长短期记忆神经网络(LSTM)、指数移动平均法预测股票市场和可视化

RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测

结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析

深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据

用PyTorch机器学习神经网络分类预测银行客户流失模型

PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据

Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化

R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化

深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据

Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析

R语言深度学习Keras循环神经网络(RNN)模型预测多输出变量时间序列

R语言KERAS用RNN、双向RNNS递归神经网络、LSTM分析预测温度时间序列、 IMDB电影评分情感

Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化

Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析

R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告

R语言深度学习:用keras神经网络回归模型预测时间序列数据

Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类

R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)

MATLAB中用BP神经网络预测人体脂肪百分比数据

Python中用PyTorch机器学习神经网络分类预测银行客户流失模型

R语言实现CNN(卷积神经网络)模型进行回归数据分析

SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型

【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析

Python使用神经网络进行简单文本分类

R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析

R语言基于递归神经网络RNN的温度时间序列预测

R语言神经网络模型预测车辆数量时间序列

R语言中的BP神经网络模型分析学生成绩

matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类

R语言实现拟合神经网络预测和结果可视化

用R语言实现神经网络预测股票实例

使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测

python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译

用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

f244b91505cb743967791478e9930105.png

394638f4138b196bd8fbd139189bda2e.jpeg

17ace3cf91268d581ab0385bb6431103.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/57415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计学习互助辅助系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

菜谱APP源码和设计报告

《移动互联开发》 课程作业 学 院: 班 级: 学 号: 姓 名: 日 期: 设计要求(提交文档时需删除): 1.本课程设计作为《Android 程序设计》的期末考查内容。 2.任务安排: &…

WAVE SUMMIT+2022飞桨平台新升级 全面支撑大模型研发与产业化

11月30日,由深度学习技术及应用国家工程研究中心主办的WAVE SUMMIT 2022深度学习开发者峰会如期举行。峰会上,百度AI技术生态总经理马艳军发布了飞桨深度学习平台的最新技术和生态进展,全新发布飞桨开源框架2.4版本,带来业界首个端…

在Linux中部署运维监控系统WGCLOUD

在公网IP为x.x.x.x,安装CentOS8或Alibaba Cloud Linux 3.2104 LTS 64位系统的服务器(服务端)上,先安装jdk8,然后安装数据库mariadb-10.5,最后进行server安装。 在需要监控的安装CentOS8或Alibaba Cloud L…

基于多时间尺度滚动优化的多能源微网双层调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【Redis】redis的理解与使用、springboot中redis的五种数据类型的相关存取、StringRedisTemplate

文章目录Redis简介:redis的安装与使用:1.启动方式:2.修改密码3. Redis可视化软件4.redis的使用5.有关redis的存储问题springBoot项目使用redis▶jar包:▶示例:1.使用opsForValue操作字符串2.使用opsForList操作List3.使…

智能使得宇宙趋向稳定吗?

——评《智能简史》 最近读完了加拿大工程院院士于非的新著《智能简史》,书中的主要观点是“智能的作用是推动宇宙趋向稳定”。从这个观点出发,万物都有智能,因为它们遵循的规律都具有这个作用。即使是人们认为“无智能”的物理对象&#xff…

vue纯手写思维导图,拒绝插件(cv即用)

vue纯手写思维导图,拒绝插件(cv即用) 已完成功能点:折叠、放大、缩小、移动 后续增加功能点:添加、删除 先看结果: 有这么个需求,按照层级关系,把表格放在思维导图上,我第一时间想到用插件&am…

Android开发JetPack-Databinding组件

DataBinding介绍Android开发JetPack-Databinding组件1. 什么是databinding(1)简介(2)意义2. databinding基本使用(1)启用databinding(2)定义一个布局(3)创建一…

Redis02:企业架构介绍以及redis介绍

企业架构介绍以及redis介绍NoSql概述单机Mysql的演进当今企业架构分析NoSql概述 单机Mysql的演进 1、单机Mysql的年代 90年代一个基本的网站访问量一般不会太大,单个数据库完全足够!那个时候更多的去使用静态html,服务器没有太大的压力。这…

HCIP实验3-1:IBGP与EBGP

实验 3-1 IBGP与EBGP 学习目的 掌握区域内部BGP的配置方法掌握多区域BGP的配置方法观察BGP的邻居表和数据库掌握BGP更新源的配置方法掌握EBGP多跳的配置方法观察IBGP和EBGP中路由的下一跳的变化掌握IBGP中下一跳的配置掌握BGP的Network命令的配置方法 拓扑图 场景 你是公司…

open label file.(This can be normal only if you use MScoco)

E:\yolov4-rubish\darknet\our_data\ImagesAug 把标签的txt文件和Jpg文件放在同一个文件夹

Kafka 入门知识,看这一篇就够了(上)

目录01 初识 Kafka02 topic & partition03 Kafka 分布式最近在学习 Kafka(别问,问就是公司在用 ),将学习过程中的笔记整理出来分享给大家,就当是入入门 01 初识 Kafka Kafka 最早是由 LinkedIn 公司开发的&#x…

python中numpy数组形状和计算

1. numpy数组形状 数组可以理解为是矩阵,所以会涉及几行几列 import numpy as np import randomt1 np.array([[1,2,3],[4,5,6]]) print(t1) print(t1.shape)在这段逻辑里,t1是个数组,输出结果后 (2, 3)表示的就是这个数组是一个2行3列的矩…

计算机系统基础实验——数据的机器级表示(计算浮点数 f 的绝对值[f])

题目要求: 这个函数计算浮点数f的绝对值[f]。如果f是NaN,函数应该简单的返回f。 Unsigned float_abs (unsiged f) { /**************/ return/*******/; } 先分析题目,题目有两个要求: 1.判断f是否是NAN类型,如果是返…

文件管理,给文件名称插入纯数字详细步骤

在日常办公过程中,我们经常会需要对文件名称进行重命名,如何给文件插入纯数字呢?一两个文件还好可以自定义重命名,面对大量文件的时候,怎么在文件名称中插入纯数字呢?一起来看看吧! 第一步&…

这 5 本数据分析书籍,都是经典中的经典

下面要推荐的 5 本数据分析书籍对于数据分析领域而言,经典、经典、还是经典。 强烈建议先收藏,再观看。 《深入浅出数据分析》 数据分析入门第一本。 本书构思跌宕起伏,行文妙趣横生,无论是职场老手,还是业界新人&…

S2SH小区物业管理理系统计算机毕业论文Java项目源码下载

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 计算机毕业设计java毕设之S2SH小区物业系统_哔哩哔哩_bilibili计算机毕业设计java毕设之S2SH小区物业系统共计2条视频,包括&#xff1…

香农-范诺编码(Shannon–Fano Coding)

香农-范诺编码香农-范诺编码简介算法示例香农-范诺编码 简介 香农-范诺编码(Shannon–Fano Coding)是一种基于一组符号集及其出现的或然率(估量或测量所得),从而构建前缀码的技术。 一般过程:符号从最大可…

太强了!GitHub上白嫖的SpringCloud微服务进阶宝典,啃完感觉能吊锤面试官!

自 2014 年起,微服务技术一直火热至今。随着越来越完善的微服务技术栈的发布,以及越来越多的微服务项目实际的落地和上线,使用 Java 技术栈的企业应该都在尝试或者已经落地了各自的微服务项目。同时,通过招聘网站的信息和每次面试…