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

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

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

相关视频

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

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

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

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

PM2.5细颗粒物指环境空气中空气动力学当量直径小于等于2.5微米的颗粒物。数据如下:

5021427c8c536f3c63575fa512c78257.png

它能较长时间悬浮于空气中,其在空气中含量浓度越高,就代表空气污染越严重。与较粗的大气颗粒物相比,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=质量等级)#画出变量相关图

19d129afdccc7e3ec7e503d6da3bf79d.png

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

bc9161a949ba2af740cce4b0d78cc10c.png

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

73f7344815d5092451c0f9d9ca9e08c0.png

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

对数据进行聚类

plot(hc1,main="层次聚类")border = "red")

afde22cee8ba22b599853cedf3433a2e.png

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


点击标题查阅往期内容

36ba783d60448e2a46c1aade79597614.jpeg

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

outside_default.png

左右滑动查看更多

outside_default.png

01

24b6e025b93fbc2d243579cd56127d20.png

02

e1c7d81f3f9bf4cd8f1d1fbd43963c0d.png

03

82563c3ff87cee6b40856002d8fe2eab.png

04

7d236bf8b106a43c60c456ee9827e0a6.png

剔除缺失值

plot(pydat[,8:12],col =km$cluster,main="聚类结果1")

7b56377bcffdaeb247f6cd7c4f1c2292.png

main="聚类结果2")

4ab6ab072abe67d8d0ab8a69318e5f41.png

main="聚类结果3")

4e03af8e7c9432b9d4fcbc2975b1daf4.png

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

#每个类中的空气质量情况par(mfrow=c(3,4))boxplot(pydat[,8]~pydat[,23])#聚类结果和pm2.5的关系

7198f7871f0bbb08ae3f2c03470e53f1.png

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

par(mfrow=c(2,3))hist(as.numeric(pydat[km$cluster==1,6]))

403abc0e6219f7419e746f2be5de625a.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)

5b543c636eb59ef808697ae95fca03b1.png

plot.ts(mynxSMA3)

2eddfd6d5fe6fe78c984b72f08e12306.png

plot.ts(mynxSMA10)

eff41aac442ea5a3090c4ea134c9febb.png

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

#画出原始时间序列和预测的plot(mynxforecasts)mynxforecasts$SSE

4cac9d1b9ad79038463ef4cee79ea5d9.png

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

预测

mynxforecasts2plot.forecast(mynxforecasts2)lines(mynx1)#原始数据预测对比

162f2ac86704e1d6d56bb390d308ba59.png

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

向后预测90天

mynxforecasts2plot.forecast(mynxforecasts2)

1374e7bf7c0e716d1cae1b50f1d98e9f.png

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

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

arima模型

plot(pre)#绘制预测数据prev=train-residuals(fit3)#原始数据pre$mean#每天的预测均值lines(prev,col="red")#拟合原始数据

20a0e7d7f2d004f0d57f1a2999666d62.png

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

数据获取

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

28eb1c05a5bc8673c17abed43768e33f.jpeg

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

fa380e7ee36e9120b162681c725b555e.png

04bcc7d719f0b2da66ad6032b78ff505.png

点击文末“阅读原文”

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

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

064034568a65bd9c2694fd8ded045b7e.jpeg

0d888ed800d142bfda96a1f9c8671b51.png

点击标题查阅往期内容

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神经网络分类

8fcb2d69a779368c01b3156b09e78714.png

d2f2c995d6aa016808d7851a373878ec.jpeg

93f8e2c20511f23f80d0edb75ce64cff.png

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis从基础到进阶篇(四)----性能调优、分布式锁与缓存问题

目录 一、Redis 集群演变 1.1 ReplicationSentinel*高可用 1.2 ProxyReplicationSentinel(仅仅了解) 1.3 Redis Cluster 集群 (重点) 1.3.1 Redis-cluster架构图 1.3.2 工作原理 1.3.3 主从切换 1.3.4 副本漂移 1.3.5 分片漂移 二、Redis版本历史&#xf…

Docker部署RabbitMQ

Docker部署RabbitMQ 介绍 RabbitMQ是一个开源的消息队列系统,它被设计用于在应用程序之间传递消息。它采用了AMQP(高级消息队列协议)作为底层通信协议,这使得它能够在不同的应用程序之间进行可靠的消息传递。 那么,…

JVM----GC(垃圾回收)详解

一、Automatic Garbage Collection(垃圾回收)简介 Automatic Garbage Collection (自动垃圾回收)是JVM的一个特性,JVM会启动相关的线程,该线程会轮训检查heap memeory,并确定哪些是未被引用的(…

保姆级教程——VSCode如何在Mac上配置C++的运行环境

vscode官方下载: 点击官网链接,下载对应的pkg,安装打开; https://code.visualstudio.com/插件安装 点击箭头所指插件商店按钮,yyds; 下载C/C 插件; ![外链图片转存 下载CodeLLDB插件&#x…

【Node.js】—基本知识点总结

【Node.js】—基本知识总结 一、命令行常用操作 二、Node.js注意点 Node.js中不能使用BOM和DOM操作 总结 三、Buffer buffer是一个类似于数组的对象,用于表示固定长度的字节序列buffer的本质是一段内存空间,专门用来处理二进制数据 特点:…

SpringBoot项目--电脑商城【上传头像】

一、易错点 1.错误写法: 把文件存到数据库中,需要图片时访问数据库,数据库将文件解析为字节流返回,最后写到本地的某一个文件.这种方法太耗费资源和时间了 2.正确写法: 将对应的文件保存在操作系统上,然后再把这个文件路径记录下来,因为在记录路径的…

MySQL数据库和表的操作

数据库基础 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 1、文件的安全性问题 2、文件不利于数据查询和管理 3、文件不利于存储海量数据 4、文件在程序中控制不方便 数据库存储介质: 磁盘 内存 为了解决上…

【深入解析spring cloud gateway】08 Reactor 知识扫盲

一、响应式编程概述 1.1 背景知识 为了应对高并发服务器端开发场景,在2009 年,微软提出了一个更优雅地实现异步编程的方式——Reactive Programming,我们称之为响应式编程。随后,Netflix 和LightBend 公司提供了RxJava 和Akka S…

【K 均值聚类】02/5:简介

一、说明 k-mean算法是一种聚类算法,它的主要思想是基于数据点之间的距离进行聚类。K-means聚类是一种无监督的机器学习算法。让我们再解释一下这句话。聚类分析的目标是将数据划分为同类聚类。每个聚类中的点彼此之间比其他聚类中的点更相似。 无监督机器学习是在没…

Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装

注意:nvidia驱动和cuda,cudnn,pytroch,python的对应关系 linux安装pytorch(包括cuda与cudnn)_linux清华园按照pytorch1.12_BryceRui的博客-CSDN博客 安装流程:安装cuda(包括nvidia驱动) cudnn python安装…

【蒸汽冷凝器型号和PI控制】具有PID控制的蒸汽冷凝器的动力学模型(MatlabSimulink)

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

【爬虫】7.4. 字体反爬案例分析与爬取实战

字体反爬案例分析与爬取实战 文章目录 字体反爬案例分析与爬取实战1. 案例介绍2. 案例分析3. 爬取 本节来分析一个反爬案例,该案例将真实的数据隐藏到字体文件里,即使我们获取了页面源代码,也无法直接提取数据的真实值。 1. 案例介绍 案例网…

计算机网络概述

目录 一、计算机网络的作用及互联网概述 1.1计算机网络在信息时代中的作用 1.2基本概念 1.3互联网基础架构发展三个阶段 1.4互联网的标准化工作 二、互联网的组成 2.1互联网组成 2.2互联网的边缘部分 2.3互联网的核心部分 三、计算机网络的类别 3.1计算机网络的定义:…

加强版python连接飞书通知——本地电脑PC端通过网页链接打开本地已安装软件(调用注册表形式,以漏洞扫描工具AppScan为例)

前言 如果你想要通过超链接来打开本地应用,那么你首先你需要将你的应用添入windows注册表中(这样网页就可以通过指定代号来调用程序),由于安全性的原因所以网页无法直接通过输入绝对路径来调用本地文件。 一、通过创建reg文件自动配置注册表 创建文本文档,使用记事本打开…

蓝桥杯打卡Day3

文章目录 吃糖果递推数列 一、吃糖果IO链接 本题思路:本题题意就是斐波那契数列&#xff01; #include <bits/stdc.h>typedef uint64_t i64;i64 f(i64 n) {if(n1) return 1;if(n2) return 2;return f(n-1)f(n-2); }signed main() {std::ios::sync_with_stdio(false);s…

苍穹外卖集成 Apache POI Java实现Excel文件的读写下载

苍穹外卖 day12 Echats 营业台数据可视化整合_软工菜鸡的博客-CSDN博客 Apache POI - the Java API for Microsoft Documents Project News 16 September 2022 - POI 5.2.3 available The Apache POI team is pleased to announce the release of 5.2.3. Several dependencies …

AJAX学习笔记8 跨域问题及解决方案

AJAX学习笔记7 AJAX实现省市联动_biubiubiu0706的博客-CSDN博客 跨域:指一个域名的网页去请求另外一个域名资源.比如百度页面去请求京东页面资源. 同源与不同源三要素:协议,域名,端口 协议一致,域名一致,端口一致.才算是同源.其他一律不同源 新建项目测试: 1.window.open();…

HTML emoji整理 表情符号

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>测试</title></head><body><div style"font-size: 50px;">&#128276</div><script>let count 0d…

Yolov5的tensorRT加速(python)

地址&#xff1a;https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5 下载yolov5代码 方法一&#xff1a;使用torch2trt 安装torch2trt与tensorRT 参考博客&#xff1a;https://blog.csdn.net/dou3516/article/details/124538557 先从github拉取torch2trt源码 ht…

代码随想录算法训练营第二十四天|理论基础 77. 组合

理论基础 其实在讲解二叉树的时候&#xff0c;就给大家介绍过回溯&#xff0c;这次正式开启回溯算法&#xff0c;大家可以先看视频&#xff0c;对回溯算法有一个整体的了解。 题目链接/文章讲解&#xff1a;代码随想录 视频讲解&#xff1a;带你学透回溯算法&#xff08;理论篇…