数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法...
全文链接:http://tecdat.cn/?p=30131
最近我们被客户要求撰写关于上海空气质量指数的研究报告。本文向大家介绍R语言对上海PM2.5等空气质量数据(查看文末了解数据免费获取方式)间的相关分析和预测分析,主要内容包括其使用实例,具有一定的参考价值,需要的朋友可以参考一下(点击文末“阅读原文”获取完整代码数据)。
相关视频
相关分析(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=质量等级)#画出变量相关图
col=质量等级)#画出变量相关图
col=质量等级)#画出变量相关图
上面的图中不同颜色代表不同的空气质量地区,从所有变量的两两关系散点图来看,可以看到pm2.5和pm10的关系图可以比较好的区分出不同空气质量的地区。并且他们之间存在正相关关系。
对数据进行聚类
plot(hc1,main="层次聚类")border = "red")
对数据进行层次聚类后,根据谱系图可以发现,所有样本大概可以分成5个类别。因此,后续对数据进行kmean聚类。
点击标题查阅往期内容
R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)
左右滑动查看更多
01
02
03
04
剔除缺失值
plot(pydat[,8:12],col =km$cluster,main="聚类结果1")
main="聚类结果2")
main="聚类结果3")
通过kmeans的可视化结果来看,kmeans方法比较好的将所有样本点区分开来,其中绿色的样本点各项指标值较低,红色样本点各项指标值较高,蓝色和黑色样本点主要在O3,NO2 等指标上有较明显的区别。为了具体比较每个类的指标,下面对每个类的数据特征进行描述。
#每个类中的空气质量情况par(mfrow=c(3,4))boxplot(pydat[,8]~pydat[,23])#聚类结果和pm2.5的关系
从上面的箱线图,可以看到每个类别的特征,第一类O3值较高,第二个类PM2.5的值较高,第三个类pm2.5,NO值较低,第4类O3水平较低,PM10值较高,第五类的各个指标值都相对较低。因此第5个类别空气质量比较好。其他各个类别的地区在不同指标上有不同特征。
par(mfrow=c(2,3))hist(as.numeric(pydat[km$cluster==1,6]))
再看每个类中空气质量水平的频率,可以看到第一个类的地区空气质量水平大多在良好水平,第二个类地区水平层次不齐,第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)
plot.ts(mynxSMA3)
plot.ts(mynxSMA10)
对时间序列进行平滑后,可以看到数据有较稳定的波动趋势。
#画出原始时间序列和预测的plot(mynxforecasts)mynxforecasts$SSE
得到红色的拟合数据和黑色的原始数据,可以看到模型拟合较好。
预测
mynxforecasts2plot.forecast(mynxforecasts2)lines(mynx1)#原始数据预测对比
使用该模型对数据进行拟合,可以看到测试集的数据基本上再预测的置信区间之内。
向后预测90天
mynxforecasts2plot.forecast(mynxforecasts2)
然后对未来的数据进行预测额,可以得到预测的区间。
由于后续预测的数值区间较大,因此我们使用arima模型进行拟合,测试效果。
arima模型
plot(pre)#绘制预测数据prev=train-residuals(fit3)#原始数据pre$mean#每天的预测均值lines(prev,col="red")#拟合原始数据
同样得到拟合和预测的值,红色代表拟合的样本点,黑色代表原始的样本点,后面的代表预测的数据和置信区间,可以看到样本拟合的状况较好,预测的区间比指数平滑法要精确。
数据获取
在公众号后台回复“空气数据”,可免费获取完整数据。
本文中分析的数据分享到会员群,扫描下面二维码即可加群!
点击文末“阅读原文”
获取全文完整代码数据资料。
本文选自《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神经网络分类
相关文章:

数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法...
全文链接:http://tecdat.cn/?p30131 最近我们被客户要求撰写关于上海空气质量指数的研究报告。本文向大家介绍R语言对上海PM2.5等空气质量数据(查看文末了解数据免费获取方式)间的相关分析和预测分析,主要内容包括其使用实例&…...

MySQL 8.0.34安装教程
一、下载MySQL 1.官网下载 MySQL官网下载地址: MySQL :: MySQL Downloads ,选择下载社区版(平时项目开发足够了) 2.点击下载MySQL Installer for Windows 3.选择版本8.0.34,并根据自己需求,选择下载全社区安…...

用通俗易懂的方式讲解大模型分布式训练并行技术:概述
近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。 而利用AI集群&a…...
NodeJS入门以及文件模块fs模块
NodeJS入门以及文件模块fs模块,本章节会详细带大家进入NodeJS开发,了解什么是模块化、文件系统 模块化的详解什么是模块什么是模块化ESM模块化开发CommonJS模块化操作 模块的分类内置模块 一个小知识Buffer的使用buffer常见的方法 事件监听模块events常用…...
springboot集成Elasticsearch7.16,使用https方式连接并忽略SSL证书
千万万苦利用科学上网找到了,记录一下 package com.warn.config.baseconfig;import co.elastic.clients.elasticsearch.ElasticsearchClient; import co.elastic.clients.json.jackson.JacksonJsonpMapper; import co.elastic.clients.transport.ElasticsearchTran…...

【已解决】pycharm 突然每次点击都开新页面,关不掉怎么办?
今天在 pycharm 中写代码,突然发现,新开的文件不再原来的页面上,而是新增了页面,导致整个屏幕全都是新开的页面,最难受的是,关不掉! 无奈,我只能关闭 pycharm,重新双击…...

AndroidStudio最下方显示不出来Terminal等插件
File->Settings->Plugins 然后在上面的输入框中输入Terminal,并将最右侧的对勾打上即可。 安装即可...
python基础操作笔记
一,pickle读写json格式文件pkl k Out[15]: {k1: 2, k3: 4}with open("test822.pkl","wb") as f:pickle.dump(k,f,) with open("test822.pkl","rb") as f:kk=pickle.load(f)kk==k Out[20]: True 二、docker删除image docker rmi …...
c++ 学习 之 指针常量 和 常量指针
前言 在 C 中,指针常量(constant pointer)和常量指针(pointer to constant)是两种不同类型的指针,它们具有不同的含义和用途。 正文 指针常量(constant pointer): 指针…...

Redis未授权访问漏洞实战
文章目录 概述Redis概述Redis 介绍Redis 简单使用Redis未授权漏洞危害 漏洞复现启动靶场环境POC漏洞验证EXP漏洞利用 总结 本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责! 概述 本文章主要是针对于vulh…...

【web开发】2、css基础
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、CSS是什么?二、使用步骤2.1.css的存放位置2.2.选择器2.3.常用CSS样式介绍与示例 一、CSS是什么? 层叠样式表(英文全称:Casc…...

循迹小车原理介绍和代码示例
目录 循迹小车 1. 循迹模块使用 2. 循迹小车原理 3. 循迹小车开发和调试代码 循迹小车 1. 循迹模块使用 TCRT5000传感器的红外发射二极管不断发射红外线当发射出的红外线没有被反射回来或被反射回来但强度不够大时红外接收管一直处于关断状态,此时模块的输出…...

redis未授权访问
文章目录 搭建环境漏洞复现安装Exlopit并使用 前提条件: 1.安装docker docker pull medicean/vulapps:j_joomla_22.安装docker-compose docker run -d -p 8000:80 medicean/vulapps:j_joomla_23.下载vulhub 搭建环境 输入下面命令,来到Redis的路径下&am…...

【数学建模竞赛】优化类赛题常用算法解析
优化类建模 问题理解和建模:首先,需要深入理解问题,并将问题抽象为数学模型。这包括确定问题的目标函数、约束条件和决策变量。 模型分析和求解方法选择:对建立的数学模型进行分析,可以使用数学工具和方法,…...

Python实现SSA智能麻雀搜索算法优化LightGBM回归模型(LGBMRegressor算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出&a…...

OpenCV(二十一):椒盐噪声和高斯噪声的产生
目录 1.图像噪声介绍 2.椒盐噪声的产生 3.高斯噪声的产生 1.图像噪声介绍 噪声介绍 图像噪声是指在图像中存在的不期望的、随机的像素值变化,这些变化来源于多种因素。噪声可能导致图像细节模糊、失真或难以分辨。 以下是几种常见的图像噪声类型: 1…...

【设计模式】Head First 设计模式——构建器模式 C++实现
设计模式最大的作用就是在变化和稳定中间寻找隔离点,然后分离它们,从而管理变化。将变化像小兔子一样关到笼子里,让它在笼子里随便跳,而不至于跳出来把你整个房间给污染掉。 设计思想 将一个复杂对象的构建与其表示相分离&…...
基于Python+Django深度学习的身份证识别考勤系统设计与实现
摘 要 我们的生活都是由信息技术在潜移默化的改变着,那么早先改变校园生活的是校园信息化,改变社会人生活是各种应用软件。出行我们依靠的是滴滴,外卖我们依靠的是美团等等。从信息技术的发展至今,各色各样的技术能够满足各类人群…...
Unity控制程序退出
大家好,我是阿赵。 最近把公司的游戏发布到各种PC的游戏大厅,遇到了挺多奇怪的需求。之前介绍了一些Unity发布PC端控制窗口最大最小化、修改exe信息等问题,这次来探讨一下退出游戏的问题。 一、收到奇怪的需求 某游戏大厅要求࿰…...
C++ using的多种用法
1、引入命名空间 using namespace std; using std::cout; 2、引入基类成员 class Base{ public:void func(){cout << "Base::func()" << endl;} }; class Derived : public Base{ public:using Base::func;void func(int x){cout << "Deriv…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...

Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...