关于数据挖掘:数据分享R语言分析上海空气质量指数数据kmean聚类层次聚类时间序列分析arima模型指数平滑法附代码数据

44次阅读

共计 4764 个字符,预计需要花费 12 分钟才能阅读完成。

全文链接: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

失去红色的拟合数据和彩色的原始数据,能够看到模型拟合较好。

预测

mynxforecasts2

plot.forecast(mynxforecasts2)

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

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

向后预测 90 天

mynxforecasts2

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

正文完
 0