r语言数据分析案例-北京市气温预测分析与研究

2024-05-12 10:04

本文主要是介绍r语言数据分析案例-北京市气温预测分析与研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、选题背景

近年来,人类大量燃烧煤炭、天然气等含碳燃料导致温室气 体过度排放,大量温室气体强烈吸收地面辐射中的红外线,造 成温室效应不断累积,使得地球温度上升,造成全球气候变暖。

气象温度的预测一直以来都是天气预测的重点问题,天气 不仅直接影响人们的健康、甚至影响人们的心情;此外,天气变 化还会影响一个国家的经济状况。....

二、方案论证(设计理念)

时间序列是按照统计将某一个事物的统计量发生的先后顺序的值按照统计时间排列的数列。时间序列分析通过已经发生的序列数值规律,来预测未来序列的数值情况,通常应用于连续序列的预测问题。例如:金融领域对下一个交易日大盘点数的预测;未来天气情况的预测;下一个时刻某种商品的销量情况的预测;电影票房变化情况的预测。简而言之,时间序列就是我们在不同时间点或者时间段上的对于某一种现象或行为观察得到的一组序列。

过程论述

数据来源为全球暖化数据集,在其中本文选取了中国主要城市天气状况表(月)该数据集,其中选择了北京市的数据情况,具体情况如下:

首先进行数据的读取和相应的展示:

描述性统计分析

接下来进行数据的可视化展示:

从上面四幅图可以看出,特别是最后一图,北京市1996-2019年的气温图,气温图有着极强的周期性、季节性。随后画出北京市1996-2019年的气温时序图。

结果分析

进行模型构建前,要对序列数据纯随机性检验。可以判断数据是否具有建模的条件,如果没有,则没有意义建模。

表1  时间序列数据纯随机检验

滞后期数

卡方统计量

P值

滞后6期P值

808.94

0.000

滞后12期P值

滞后18期P值

1216.9

2387.9

0.000

0.000

从上表结果可以看出,其p值均小于0.05,即在显著性水平为5%情况下,拒绝原假设,则可以进行建模

下面进行ADF检验,查看其平稳性,随后就进行模型自动定阶:

随后展示序列状态分布的qq图,情况如下:

模型预测

五、课程设计总结

在本研究中,选取了北京市1996-1至2019-12的数据进行研究,首先查看数据的具体情况,随后进行可视化,画出了其他变量的直方图,如气温、降水量、日照量等等,随后针对气温进行建模和分析,在建模前进行了一系列的检验,针对具有极强的季节性和周期性数据,本文最终的模型选择为ARIMA(0,0,1)(1,1,0)[12],最终预测了12其,即2020年全年的气温变化,直观的看,模型预测的较好,都较好的抓取了前面数据的特征,预测的结果也较符合客观规律。

代码:

library(openxlsx)
dataset<- read.xlsx("气温.xlsx", sheet = 1)
#View(dataset)
dataset
summary(dataset)#####描述性统计分析
###画出柱状图
###相对湿度
AverageRelativeHumidity<-dataset$AverageRelativeHumidity
AverageRelativeHumidity
barplot(AverageTemperature,xlab="时间",ylab="湿度",col="blue",main="平均相对湿度",border="blue")
###Precipitation降水量
Precipitation<-dataset$Precipitation
Precipitation
barplot(Precipitation,xlab="时间",ylab="Precipitation",col="blue",main="Precipitation降水量",border="green")
##月日照SunshineHours
SunshineHours<-dataset$SunshineHours
SunshineHours
barplot(SunshineHours,xlab="时间",ylab="SunshineHours",col="blue",main="月日照小时",border="yellow")
##平均气温
AverageTemperature<-dataset$AverageTemperature
AverageTemperature
barplot(AverageTemperature,xlab="时间",ylab="气温",col="blue",main="平均气温",border="red")###北京气温时间序列图
AverageTemperature
AT<-ts(AverageTemperature,start=c(1996),frequency=12)
AT
plot(AT,type="o",pch=20,main="1996年-2019年北京气温时间序列图",xlab = "年份/Y",ylab="气温",col = "pink")
#白噪声检验
for(i in 1:3) print(Box.test(AT,type = "Ljung-Box",lag=6*i))
###非白噪声,可建模###自动定阶
auto.arima(AT)
###模型拟合
AT.fit<-auto.arima(AT)
AT.fit 
##模型评判选择
arima<-auto.arima(AT,trace=T)
accuracy(AT.fit)#模型预测
per_AT<-forecast(AT.fit,h=12)
per_AT
plot(per_AT)

创作不易,希望大家多多点赞收藏和评论!

这篇关于r语言数据分析案例-北京市气温预测分析与研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/982319

相关文章

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置