首页 > 其他分享 >R语言探索与分析20-北京市气温预测分析

R语言探索与分析20-北京市气温预测分析

时间:2024-06-05 11:32:15浏览次数:14  
标签:分析 20 预测 模型 检验 气温 序列 北京市 数据

一、序言

近年来,人类大量燃烧煤炭、天然气等含碳燃料导致温室气 体过度排放,大量温室气体强烈吸收地面辐射中的红外线,造 成温室效应不断累积,使得地球温度上升,造成全球气候变暖。气象温度的预测一直以来都是天气预测的重点问题,天气 不仅直接影响人们的健康、甚至影响人们的心情;此外,天气变 化还会影响一个国家的经济状况。据美国气候中心报告,美国 每年因为气象灾害的损失要达到 1000 亿美元。短临预报是近 年来的热点问题,其根据大气科学原理,运用统计学知识对未来 变化趋势预测。提高短临预测的准确率和效率,对国民经济有重要指导意义。....

二、研究现状

三、数据和方法说明

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

时间序列是按照统计将某一个事物的统计量发生的先后顺序的值按照统计时间排列的数列。时间序列分析通过已经发生的序列数值规律,来预测未来序列的数值情况,通常应用于连续序列的预测问题。例如:金融领域对下一个交易日大盘点数的预测;未来天气情况的预测;下一个时刻某种商品的销量情况的预测;电影票房变化情况的预测。

.....

四、实证分析 

数据读取和展示

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

library(openxlsx)
# 文件名+sheet的序号
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")

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

时间序列模型的建立

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

#白噪声检验
for(i in 1:3) print(Box.test(AT,type = "Ljung-Box",lag=6*i))

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

滞后期数

卡方统计量

P值

滞后6期P值

808.94

0.000

滞后12期P值

滞后18期P值

1216.9

2387.9

0.000

0.000

随后画出自相关图和偏自相关图查看:

下面进行ADF检验,查看其平稳性:

从ADF检验结果显示,该序列为平稳序列,故不需要差分。随后就进行模型自动定阶:

###自动定阶
auto.arima(AT)
###模型拟合
AT.fit<-auto.arima(AT)

接下来进行模型比较和选择

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

下面进行残差检验:

####残差检验
Box.test(AT.fit$residuals,type = "Ljung-Box")
#模型预测
per_AT<-forecast(AT.fit,h=12)
per_AT
plot(per_AT)

表2  残差纯随机检验

滞后期数

卡方统计量

P值

滞后1期P值

0.0078

0.9293

 随后进行最后一步模型预测:

 五、结论 

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

代码加数据

代码加完整报告

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

标签:分析,20,预测,模型,检验,气温,序列,北京市,数据
From: https://blog.csdn.net/m0_62638421/article/details/139466181

相关文章

  • 基于粒子群算法优化Kmeans聚类的居民用电行为分析研究(Matlb代码实现)
     ......
  • python数据分析案例-研究生成绩分析
    一、简介在本次研究中,我们对2018年硕士生考试成绩数据进行了深入的统计分析。这项分析旨在探索不同因素如性别、生源背景、基因型以及出生月份等对学生成绩的潜在影响。我们使用了一系列的统计方法,包括描述性统计分析、相关性分析、分组分析以及方差分析(ANOVA),以获得对这些数据......
  • etcd-v3.5.9源代码分析
    Github上下载etcdv3.5.9源代码,包含server和client两部分。先放ETCDv3读写流程图镇楼读流程写流程EtcdServerserver->etcdmain->main.go:Main():startEtcdOrProxyV2()->etcd.go:startEtcd()->StartEtcd()->etcdserver目录下server.go:NewServer()初始化该节点为follow,......
  • 抢先看!报表控件Fastreport 全系 .NET 产品更新至 2024.2 版本
    我们很高兴向您介绍整个FastReport.NET组件系列期待已久的更新。在此版本中,您可以期待一个具有AvaloniaUI支持的新报告生成器、数据导出的改进、对FastReport.Core.Skia的HTML插件支持,当然还有对.NETStandard2.0-3.1和.NET5的停止支持。FastReport.NET ......
  • 【git commit错误】error: bad signature 0x00000000 fatal: index file corrupt原因
    解决Git错误:error:badsignature0x00000000fatal:indexfilecorrupt原因分析及解决方案在使用Git进行版本控制时,可能会遇到各种错误。其中之一是关于索引文件(通常为.git/index)损坏的错误,这会导致无法正常提交更改。基础知识Git索引:Git使用一个索引文件来跟踪工作目......
  • 2024.5.21(周二)
    function[x,val,k]=frcg(fun,gfun,x0)%功能:用共轭梯度法求无约束问题minif(x)%输入:fun,gfun分别是目标函数和梯度,x0是初始点%输出:x,val分别是近似最优点和最优值,k表示迭代次数k=0;maxk=5000;rho=0.6;sigma=0.4;e=1e-6;%精度n=length(x0);while(k<maxk)g=feval(gfun......
  • 2024.5.22(周三)
    function[x,val,k]=dampnm(fun,gfun,Hess,x0)%功能:用阻尼牛顿法求解无约束优化问题:minf(x)%输入:x0是初始点,fun,gfun,Hess分别是目标函数和梯度Hess阵函数%输出:x,val分别是近似最优解和近似最优值,k是迭代次数maxk=5000;rho=0.5;sigma=......
  • 2024.5.23(周四)
    function[s,phis,k,G,E]=golds(phi,a,b,delta,epsilon)%输入:phi是目标函数,a,b是搜索区间的两个端点delta,epsilon分别是自变量和函数值的容许误差9%输出:s,phis分别是近似极小点和极小值,G是nx4矩阵。其第k行分别是a,p,q,b的第k次迭代值[ak,pk,qk,bk],E=[ds,dphi],分别是s和phis的误......
  • 2024.5.27(周一)
    function[section]=JinTuiFa(fx,x0,h0,t)%%%输入目标函数x,初始点x0,初始步长h0和加停系数t:%%%采用进退法确定搜索区间ra,bl;输出搜索区间f=inline(fx);h=h0;a=x0;k=0;%k是计数器,同时也做指示器:如果第1次目标函数就没有下降,将%作为反白搜索的指示标记:......
  • P4003 [清华集训 2017] 无限之环 解题报告
    oj:https://gxyzoj.com/d/gxyznoi/p/P93它要判断什么时候不漏水,就是需要建一种图,使得原图的最大流是答案因为是网格图,考虑黑白染色,可以将\((i+j)\)对2取模的结果作为颜色,将所有颜色为1的点向源点连边,颜色为0的点向汇点连边接下来考虑如何判断是否漏水,因为有四个方向,考虑拆点将......