R语言数据探索与分析-运用时间序列预测模型对成都市API进行预测分析

一、研究背景

“绿水青山就是金山银山,要让绿水青山变成金山银山”让人们深刻的意识到环境的重要性。与此同时,由于现代生活水平的不断提高,所带来的环境污染也不断增多,空气以及环境的污染带来了越来越多的疾病,深刻的影响着人们的身体健康。

成都作为四川的省会城市,宜居性是外来人口及本地人口决定是否留下的最重要的因素之一。宜居性除了物价、房价等经济影响因素之外,还有十分重要的一项就是环境,即空气质量的好坏。但是由于给定的数据集中,针对2000-2004年该城市每日的评价空气质量的评价指标只有API(空气污染指数Air Pollution Index,2012年上半年出台规定,将用空气质量指数(AQI)替代原有的空气污染指数(API))。

故本文根据成都市2000-2004年的成都市空气质量指数API构建了相应的ARIMA模型对成都市API进行预测,一方面能够给人们提供宜居性的参考,另一方面也能够对于政府治理环境提供一定依据与环境治理方向。

二、实证分析

本次数据分析的数据来源于全球暖化数据集中的中国城市空气质量日报表(日)的数据,得到数据后,对数据进行了相应的筛选,其数据展示如下:

1 成都市2000-2004年的API历史数据

Data

AirQualityLevel

AQI

2000-6-5

83

2000-6-6

56

2000-6-7

72

……

……

……

2004-1-9

90

API的描述性统计分析

表3  API的描述性统计

Min.

1stQu.

Median

Mean

3rdQu.

Max.

22.00

71.00

84.00

83.36

94.00

198.00

从表3可以看出,对成都市API进行了描述性统计,得到了最大最小值,均值以及1/4分位数和3/4分位数。且下图1画出了四川省成都市2000-6-5至2004-1-9的API的时序图。

library(aTSA)
library(forecast)
library(openxlsx)
library(lmtest)
library(zoo)data<- read.xlsx("成都市API .xlsx", sheet = 1)
datasummary(API)
plot(API,main = "成都市2000-2004年API指数",xlab = "日期",ylab="API")

ARIMA模型的构建

进行ARIMA模型构建之前,要对时间序列数据纯随机性和平稳性检验。可以判断数据是否具有建模的价值以及是否适合ARIMA模型。下面对天气质量指数AQI进行纯随机性检验和平稳性检验结果如下表2和表3:

表4  纯随机检验

滞后期数

卡方统计量

P值

滞后6期P值

1158.9

0.000

滞后12期P值

1526.3

0.000

表5  平稳性检验

检验形式

no drift no trend

with drift no trend

with drift and trend

ADF统计量

-2.26

-6.28

-6.65

对应P值

0.02

0.01

0.01

#白噪声检验
for(i in 1:2) print(Box.test(API,type = "Ljung-Box",lag=6*i))#绘制自相关图和偏自相关图
acf(API)
pacf(API)adf.test(API,3)

画出API的自相关图和偏自相关图:

下面进行自动定阶的函数,计算得到模型应该采用ARIMA(2,0,0),拟合得到模型系数:

表  模型拟合系数

Coefficients:

ar1

ar2

intercept

0.7613

-0.1172

93.5098

s.e.

0.1041

0.1236

6.6908

sigma^2 estimated as  527.9:log likelihood=--423.79 , aic=855.59

对模型的系数进行检验:

表7 模型系数检验

系数

ar1

ar2

p值

0.00

0.00

在0.01 的显著性水平下,所有系数都通过了检验,下面进行残差检验:

表8  残差纯随机检验

滞后期数

卡方统计量

P值

滞后6期P值

7.8853

0.2466

滞后12期P值

26.286

0.0098

在0.05的显著性水平下,可以看出滞后6期的残差均是白噪音,说明模型拟合的效果良好。

最后进行预测,预测30期,即未来一个月的空气质量数据,得到的整体拟合和预测图如下:

#个性化输出预测图
L1<-x.fore$fitted-1.96*sqrt(x.fit$sigma2)
U1<-x.fore$fitted+1.96*sqrt(x.fit$sigma2)
L2<-ts(x.fore$lower[,2])
U2<-ts(x.fore$upper[,2])
c1<-min(API,L1,L2)
c2<-max(API,L2,U2)
plot(API,type = "p",pch=8,ylim = c(c1,c2))
lines(x.fore$fitted,col=2,lwd=2)
lines(x.fore$mean,col=2,lwd=2)
lines(L1,col=4,lty=2)
lines(L2,col=4,lty=2)
lines(U1,col=4,lty=2)
lines(U2,col=4,lty=2)

三、结论

就我国随着经济发展与工业化发展所带来的空气质量污染问题本文通过ARIMA预测模型对空气质量指数进行分析和预测研究在进行空气质量指数预测时我们发现通过ARIMA模型可以对其进行较为良好的预测

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

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

相关文章

分享四种免费获取SSL的方式

SSL证书目前需要部署安装的网站很多&#xff0c;主要还是基于国内目前对证书的需求度在不断的升高&#xff0c;网站多了、服务器多了之后。网络安全问题就成为了大家不得不面对的一个重要的问题了。SSL证书的作用有很多&#xff0c;这里就不一一详述了&#xff0c;本期作品主要…

华为 Huawei 交换机 配置 Dot1q 终结子接口实现同设备 VLAN 间通信示例

组网需求 企业的不同部门拥有相同的业务&#xff0c;如上网、 VoIP 等业务&#xff0c;且各个部门中的用户位于不同的网段。目前存在不同的部门中相同的业务所属的VLAN 不相同&#xff0c;现需要实现不同VLAN中的用户相互通信。 如 图 7-7 所示&#xff0c;部门 1 和部门 2 中…

SQL——高级教程【菜鸟教程】

SQL连接 左连接&#xff1a;SQL LEFT JOIN 关键字 左表相当于主表&#xff0c;不管与右表匹不匹配都会显示所有数据 右表就只会显示和左表匹配的内容。 //例显示&#xff1a;左表的name&#xff0c;有表的总数&#xff0c;时间 SELECT Websites.name, access_log.count, acc…

yum方式删除openjdk17和openjdk18

在用虚拟机安装jdk之前其他的教程中经常会有让你java -version查看是否有安装过的jdk 我相信很多新手小白和我一样经常会遇到查出来有openjdk17和openjdk18的情况 所以这个应该怎么卸载呢,看我来操作 我用的是基于centos7的linux虚拟机 我选择用yum卸载openjdk 查看已安装…

ComfyUI中图像亮度/对比度/饱和度处理

用上面这个节点可以同时设置图片的亮度、对比度和饱和度。 【保姆级教程】一口气分享在ComfyUI中常用的30多种基本图像处理方式 更多好玩且实用AIGC工作流和节点 星球号&#xff1a;32767063 本期资料链接 往期学习资料 整理AI学习资料库

springboot lua检查redis库存

需求 最近需求需要实现检查多个马戏场次下的座位等席对应库存渠道的库存余量&#xff0c;考虑到性能&#xff0c;决定采用Lua脚本实现库存检查。 数据结构 库存层级结构 redis库存hash类型结构 实现 lua脚本 --- 字符串分割为数组 local function split(str, char)local…

【强训笔记】day17

NO.1 思路&#xff1a;用一个字符串实现&#xff0c;stoi函数可以转化为数字并且去除前导0。 代码实现&#xff1a; #include <iostream> #include<string> using namespace std;string s;int main() {cin>>s;for(int i0;i<s.size();i){if(s[i]%20) s[…

【云原生】Docker 实践(五):搭建私有镜像 Harbor

【Docker 实践】系列共包含以下几篇文章&#xff1a; Docker 实践&#xff08;一&#xff09;&#xff1a;在 Docker 中部署第一个应用Docker 实践&#xff08;二&#xff09;&#xff1a;什么是 Docker 的镜像Docker 实践&#xff08;三&#xff09;&#xff1a;使用 Dockerf…

【教程向】从零开始创建浏览器插件(二)深入理解 Chrome 扩展的 manifest.json 配置文件

第二步&#xff1a;深入理解 Chrome 扩展的 manifest.json 配置文件 上一次我们已经着手完成了一个自己的浏览器插件&#xff0c;链接在这里&#xff1a;我是链接 在本篇博客中&#xff0c;我们将更详细地探讨 Chrome 扩展中的 manifest.json 文件。这个文件是每个浏览器扩展…

如何爱上写项目、写好项目,不妨看看我的做法

开篇 爱上写项目真的很简单&#xff01;在大学期间的我&#xff0c;其实不能说不爱写项目&#xff0c;但是总是写出屎山代码、写出自己都不愿维护的代码。我写过很多项目包括尚硅谷的、黑马的、微信小程序的、接单的。但是这些项目都有一些共同点&#xff01;再次看它我不愿维…

五、Redis五种常用数据结构-SET

Redis的Set结构存储的数据和Java中的HashSet类似&#xff0c;都是无序且不重复的。其底层的数据结构有两种&#xff0c;一是当value为整数时&#xff0c;且数据量不大时采用intset来存储。其他情况使用dict字典存储。集合中最多存储232-1(40多亿)个数据。 1、常用命令 sadd k…

PyTorch 图像篇

计算机视觉技术是一门包括计算机科学与工程、神经生理学、物理学、信号处理、认知科学、应用数学与统计等多学科的综合性科学技术&#xff0c; 是人工智能的一个重要分支&#xff0c; 目前在智能安防、自动驾驶汽车、医疗保健、生成制造等领域具有重要的应用价值。 计算机视觉…

Python | Leetcode Python题解之第75题颜色分类

题目&#xff1a; 题解&#xff1a; class Solution:def sortColors(self, nums: List[int]) -> None:n len(nums)p0, p2 0, n - 1i 0while i < p2:while i < p2 and nums[i] 2:nums[i], nums[p2] nums[p2], nums[i]p2 - 1if nums[i] 0:nums[i], nums[p0] num…

C++数据结构——AVL树

前言&#xff1a;本篇文章将紧随二叉搜索树的节奏&#xff0c;分享一个新的数据结构——AVL树。 目录 一.AVL树概念 二.AVL树插入规则 三.AVL树实现 1.基本框架 2.插入 3.旋转 1&#xff09;左\右单旋 2&#xff09;左右/右左双旋 4.遍历 5.求树高度 6.判断平衡 7.…

图片过大怎么处理变小?在线编辑图片工具推荐

在各种平台进行图片上传时&#xff0c;经常会遇到由于图片过大而无法成功上传的问题&#xff0c;为了顺利进行下一步操作&#xff0c;我们需要将图片进行缩小处理&#xff0c;通常情况下&#xff0c;我们可以使用各种软件工具来对图片进行缩小&#xff0c;如何快速有效地调整图…

Babylon.js 7.0开发入门教程

Babylon.js 是一个功能强大的开源 3D 引擎&#xff0c;能够使用 JavaScript 渲染交互式 3D 和 2D 图形。它是为 Web 甚至 VR 创建游戏、演示、可视化和其他 3D 应用程序的绝佳选择。Babylon.js最新版本是7.0。 Babylon.js 是免费、开源和跨平台的&#xff0c;是 Unity 和 Unre…

软件开发故事 - 我对 CTO 撒谎并挽救了项目

原文&#xff1a;GrumpyOldDev - 2024.04.18 这是几年前的事情了。还记得在我职业生涯的初期&#xff0c;父亲曾告诉我&#xff0c;做好工作往往意味着要在上司的阻碍下做好需要做的事情。他的意思是&#xff0c;你可以让上司成功并感到快乐&#xff1b;也可以让上司做每一个决…

面试算法之哈希专题

赎金信 class Solution { public:bool canConstruct(string ransomNote, string magazine) {// 小写字母int r_cnt[26];int m_cnt[26];for(int i 0; i< magazine.size(); i) {m_cnt[magazine[i]-a]; // 统计}// 对比for(int i 0; i< ransomNote.size(); i) {if(m_cnt[r…

树与二叉树之间的转换

树转化成二叉树&#xff1a;兄弟相连留长子 1.加线&#xff1a;在兄弟之间加一条线 2.抹线&#xff1a;对每个结点&#xff0c;除了其左孩子外&#xff0c;去除其与其余孩子之间的关系 3.旋转&#xff1a;以树的根结点为轴心&#xff0c;将整树顺时针转45 二叉树转化成为树…

Day65:代码随想录训练营总结

两个月的算法训练营之旅圆满落幕&#xff0c;回首这段时光&#xff0c;我深感自己错过了许多早日成长的机会&#xff0c;如今不禁懊悔没有更早地报名参与。 这段充实的日子里&#xff0c;我遵循着训练营精心设计的计划&#xff0c;攻克了上百道力扣题目。从最初对编程语法的生…