本文主要是介绍R语言数据分析案例32-针对芬兰污染指数的分析与考察,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、 研究背景及意义
近年来,随着我国科技和经济高速发展,人们生活质量也随之显著提高。但是, 环境污染问题也日趋严重,给人们的生活质量和社会生产的各个方面都造成了许多不 利的影响。空气污染作为环境污染主要方面,更是严重危害着人们身体健康,为有效地改善人们生活环境,开展大气污染防治工作刻不容缓。目前,空气质量的监测技术日渐完善,自2012年之后全国大部分城市都已先后建成了联网的空气质量监测站点,监测目标也由原来的三项污染物增加到现在的六项污染物,全覆盖的监测网络已 基本形成,也为大气环境污染防治措施有效制定提供了数据基础。目前,对于空气质 量状况的研究多集中在监测、影响因素研究和预测等方面,尤其是开展大气环境空气 质量预测研究具有重要现实意义。。。
二、研究现状
关于空气质量指数的影响因素,直观上是空气中六种污染物浓度。但是空气污染 是一个复杂的现象,污染物浓度的变化会受到许多因素的影响。一方面是污染物排放 影响,如车辆尾气排放,工业生产中废气排放,垃圾焚烧和居民取暖等。另一方面受 当地地形地貌、人口发展密度及气象条件等影响。相关因素对空气质量影响强度的评估也有许多方法,最常见的有图表相关分析,协方差及协方差矩阵,相关系数及互信 息数等等。
空气质量预测方法有单一模型预测和混合模型预测两种分类,单一模型预测方法 包括线性预测和非线性预测等。主要有自回归模型、移动平均模型和自回归移动平 均模型等。非线性预测方法有模糊逻辑法、空间相关法、人工神经网络等,其中模糊 逻辑法利用大量历史数据和专家经验建立模型逼近非线性动态变化,但该方法学习能 力弱,预测精度不够。空间相关法运用几个监测点历史数据的相关性建立模型进行预测。。。。
三、理论方法
对于时间序列数据,可以拟合多种模型,根据不同的时间序列数据可以拟合不同的模型,以下主要介绍ARIMA模型。对于非平稳序列,一般要进行差分运算,差分运算具有强大的确定性信息提取能力,经过差分运算后的序列会显示出平稳序列的性质,这时称这个非平稳序列称为差分平稳序列。对差分平稳序列可以使用ARIMA模型进行拟合。具有以下结构的模型称为ARIMA模型(自回归移动平均模型),简称为ARIMA(p,d,q)模型。。。。
四、实证分析
本文所运用到的数据来源于全球暖化数据集中世界主要国家空气污染指数表(年)的数据,本文主要是针对芬兰的空气污染指数进行分析和预测,在处理数据时,将特征进行了筛选,最终选择了氮氧化物、PM2.5、PM10等特征,原始数据展示如下:
数据和代码
报告代码和数据
首先,读取数据,查看数据属性:
从图三可以看出,对数据进行了描述性统计,其中氮氧化物的最小值为53.01,最大值为130.93,PM2.5的最小值为55.82,最大值为175.44,PM10指数的最小值为58.25,最大值为175.44。接下来分别画出三个指标的条形图,如下:
###画出柱状图
###氮氧化物
KQWR_Emi<-KQWR_data$EmiIndex_2000
KQWR_Emi
barplot(KQWR_Emi,xlab="年份",ylab="排放指数",col="pink",main="氮氧化物排放指数",border="blue")###PM2.5
PM2.5<-KQWR_data$PM2.5
PM2.5
barplot(PM2.5,xlab="年份",ylab="排放指数",col="red",main="PM2.5排放指数",border="green")
从上面三个指标的条形图可以看出,氮氧化物、PM2.5以及PM10随着时间的变化但是在逐步下降,这也归功于世界各地的节能减排措施的执行,虽然PM2.5和PM10在后几年有小幅的上升但是总体趋势还是逐渐下降的。随后画出氮氧化物的时序图,如下:
从上面的氮氧化物排放指数时序图可以看出,仅氮氧化物这一单单指标的趋势是大幅下降的,从1990年的125下降到2017年的60以下。在可视化之后,随后进行模型的构建,但是在构建模型之前,还需要对序列数据进行纯随机性检验,具体结果如下:
#白噪声检验
for(i in 1:3) print(Box.test(TS_KQWR_Emi,type = "Ljung-Box",lag=6*i))###非白噪声,可建模#绘制自相关图和偏自相关图
par(mfrow=c(1,2))
acf(TS_KQWR_Emi,lag=12)
pacf(TS_KQWR_Emi,lag=12)
从以上结果可以看出,无论是6阶、12阶还是18阶的P值均很小很小,故我们有理由在5%的显著性水平下,拒接原假设。。。
首先画出该序列的自相关和偏自相关图:
随后进行ADF检验具体准确的查看其平稳程度
随后进行定阶处理下面进行自动定阶的函数,计算得到模型应该采用ARIMA(0,1,1),拟合得到模型系数:
# 差分后的自相关和偏自相关图
par(mfrow=c(1,2))
acf(diff.TS_KQWR_Emi,main='差分后acf',lag.max = 12)
pacf(diff.TS_KQWR_Emi,main='差分后pacf',lag.max = 12)###自动定阶
auto.arima(TS_KQWR_Emi)###模型拟合
TS_KQWR_Emi.fit<-auto.arima(TS_KQWR_Emi)
TS_KQWR_Emi.fit
在模型定阶和拟合之后,继续模型选择:
随后查看序列的正态分布情况
下面进行模型的残差检验:
###残差检验
Box.test(TS_KQWR_Emi.fit $residuals,type = "Ljung-Box")
从残差结果显示,P值为0.8188,显然大于0.05,故在显著性水平5%下,没有理由拒绝原假设。。。。接下来进行最终的预测,本文预测h=5,表明预测5年芬兰的空气污染指数(氮氧化物)的污染指数,具体结果如下:
#模型预测
per_TS_KQWR_Emi<-forecast(TS_KQWR_Emi.fit ,h=5)
per_TS_KQWR_Emi
plot(per_TS_KQWR_Emi)
无论是从上面的具体结果还是可视化图像,都可以看出,其预测的结果随着时间的变化是逐渐下降的,最终在2022年氮氧化物的污染指数为38.577
五、结论
本文对数据进行了预处理以及相关分析。首先,对数据进行了数据指标的整合处理,保证模型可以更好地对数据进行学习。其次,对原始数据进行可视化并分析其趋势,随后在建模前进行相应的检验工作,最终进行建模分析,发现RIMA模型对于单一序列的线性拟合效果较好。。。。。
- 杨宁,李双金,王明毅,冀德刚.基于ARIMA模型的PM_(10)的预测与分析[J].农业灾害研究,2015,5(07):34-35+39.DOI:10.19383/j.cnki.nyzhyj.2015.07.015.
- 饶运章,徐水太,熊灵燕.基于ARIMA模型的矿区重金属污染时间序列预测[J].金属矿山,2010(06):142-146.
创作不易,希望大家多点赞关注评论!!!(类似代码或报告定制可以私信)
这篇关于R语言数据分析案例32-针对芬兰污染指数的分析与考察的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!