R语言数据探索与分析-碳排放分析预测

# 安装和加载需要的包
install.packages("readxl")
install.packages("forecast")
install.packages("ggplot2")
library(readxl)
library(forecast)
library(ggplot2)

# 数据加载和预处理
data <- read_excel("全年数据.xlsx") 
colnames(data) <- c("year", "CO2_Emissions")

# 转换year列为日期类型
data$year <- as.Date(as.character(data$year), format="%Y")

# 时间序列图绘制
ggplot(data, aes(x = year, y = CO2_Emissions)) +
  geom_line() +
  labs(title = "中国工业碳排放量 (年)",
       x = "年份",
       y = "二氧化碳排放量") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

全国碳排放量

这张图表展示了中国碳排放的时间序列数据,横轴标记为“年份”,时间范围从2005年开始一直到2020年结束。纵轴标记为“碳排放”,表示中国每年的碳排放量。从这个图表中,可以观察到以下趋势和特点:碳排放的显著增长:从2005年开始,中国的碳排放量呈现出明显的增长趋势。这可能与中国在这些年中快速发展和工业化过程中的能源需求增加有关。

人口增长趋势:与碳排放趋势相似,中国的人口数量也在这个时期稳步增长。人口增长可能是碳排放增长的一个主要因素,因为更多的人口需要更多的能源和资源。碳排放的高峰:在图表上可以看到,碳排放量在2014年左右达到了一个高峰。这可能是由于中国政府采取了一些政策措施来减少碳排放,或者与工业结构的变化有关。小幅下降或趋于平稳:在高峰之后,碳排放量在2015年左右出现了一些小幅下降或趋于平稳的迹象。这可能是由于能源效率改进、可再生能源使用增加等因素的影响。增长趋势恢复:然而,随着时间的推移,碳排放的增长趋势似乎又恢复。尽管增长速度可能有所放缓,但仍然是一个值得关注的趋势。

总的来说,这张图表提供了关于中国碳排放和人口增长之间关系的见解。它强调了减少碳排放和可持续发展的重要性,以应对气候变化和环境挑战。这也可能促使政府和社会采取更多的措施来降低碳排放并推动可持续发展。

接下来使用模型自动定阶:

Series: data$CO2_Emissions

ARIMA(2,1,0) with drift

Coefficients:

         ar1      ar2     drift

      1.1907  -0.5293  432.6742

s.e.  0.1882   0.1856  109.8183

sigma^2 = 31708:  log likelihood = -124.58

AIC=257.17   AICc=260.02   BIC=260.94

指定的ARIMA模型是(2,1,0)附带漂移项。表示该模型是一个包含两个自回归项(AR)、一次差分(I - 积分)和零个滑动平均项(MA)的ARIMA模型。

其中:ar1 和 ar2 是第一和第二自回归项的系数。ar1的系数是1.1907,标准误为0.1882;ar2的系数是-0.5293,标准误为0.1856。这些系数表明了前一时期(或前几时期)的数据对当前值的影响。漂移(drift)系数是432.6742,标准误为109.8183,表明有一个正向的线性趋势,即CO2排放量随时间呈上升趋势。sigma^2:模型的方差为31708,这是残差的方差,也就是模型未能解释的变动部分。对数似然值(log likelihood):是-124.58,用于衡量模型拟合数据的好坏。AIC(赤池信息准则):是257.17,AICc(校正后的赤池信息准则)是260.02,BIC(贝叶斯信息准则)是260.94。这些准则越低表明模型越好,通常用于比较不同模型的拟合优度。

# 预测模型
model <- auto.arima(data$CO2_Emissions)
model

forecast_data <- forecast(model, h = 5) # 预测未来5年

# 预测结果可视化
plot(forecast_data, main = "碳排放预测")

# 模型检验
checkresiduals(model)

# 预测未来5年的

从预测趋势的角度来看,模型显示中国的碳排放量将继续增长。然而,随着时间的推移,置信区间变得越来越宽,这意味着我们对未来的预测变得越来越不确定。这种不确定性可以由多种因素造成

省碳排放量

这张图提供了关于2015年中国各省一氧化碳排放量的重要信息。一氧化碳是一种对人类健康和环境具有潜在危害的气体,因此对其排放量的监测和理解至关重要。

图是中国各省2021年二氧化碳排放量的泡泡图(气泡图)。这种图通常用于显示三个维度的数据:X轴代表一维,Y轴代表第二维,而气泡的大小代表第三维。在这张图中:X轴表示二氧化碳排放量。Y轴是中国的省份,以纵向形式列出。气泡的大小代表排放量的相对大小。

区域差异分析

# 区域差异分析
ggplot(data_long, aes(x = Province, y = CO2_Emissions)) +
  geom_boxplot() +
  coord_flip() +
  theme(plot.title = element_text(hjust = 0.5))+  # 确保标题居中
  labs(title = "各省份二氧化碳排放量差异", x = "省份", y = "二氧化碳排放量")

图可以看出,不同省份的二氧化碳排放量分布差异较大。一些省份,如北京和天津,显示出较窄的四分位数距,这意味着它们的数据点相对集中。其他一些省份,如山西和河北,四分位数距较宽,表明它们的排放量分布较为分散。

时间趋势分析:

从图表中可以观察到以下几点:大部分省份的二氧化碳排放量在2000年到2020年之间呈现上升趋势。有几条折线显示出异常的急剧增长,尤其是那些在2010年后迅速上升的省份,这可能是由于快速工业化、能源消耗增加或其他因素导致的排放量增加。

从热图上可以看出:大部分省份的二氧化碳排放量在这段时间里都有所增长,特别是在2010年之后,许多省份的排放量显著增加。某些省份,如山西、内蒙古、河北和天津的二氧化碳排放量尤其高,这些地区可能是重工业的集中地。...

代码

# 安装和加载需要的包
install.packages("readxl")
install.packages("forecast")
install.packages("ggplot2")
library(readxl)
library(forecast)
library(ggplot2)

# 数据加载和预处理
data <- read_excel("data.xlsx") 
colnames(data) <- c("year", "CO2_Emissions")

# 转换year列为日期类型
data$year <- as.Date(as.character(data$year), format="%Y")

# 时间序列图绘制
ggplot(data, aes(x = year, y = CO2_Emissions)) +
  geom_line() +
  labs(title = "中国工业碳排放量 (年)",
       x = "年份",
       y = "二氧化碳排放量") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))



# 预测模型
model <- auto.arima(data$CO2_Emissions)
model

forecast_data <- forecast(model, h = 5) # 预测未来5年

# 预测结果可视化
plot(forecast_data, main = "碳排放预测")

# 模型检验
checkresiduals(model)




###个省份数据
# 数据加载和预处理
data <- read_excel("data.xlsx")
colnames(data) <- c("Year", "Beijing", "Tianjin", "Hebei", "Shanxi", "Inner Mongolia", "Liaoning", "Jilin", "Heilongjiang", "Shanghai", "Jiangsu", "Zhejiang", "Anhui", "Fujian", "Jiangxi", "Shandong", "Henan", "Hubei", "Hunan", "Guangdong", "Guangxi", "Hainan", "Chongqing", "Sichuan", "Guizhou", "Yunnan", "Shaanxi", "Gansu", "Qinghai", "Ningxia", "Xinjiang")
data_long <- melt(data, id.vars = "Year", variable.name = "Province", value.name = "CO2_Emissions")

# 空间分布分析
# 比如分析2015年的空间分布
data_2015 <- subset(data_long, Year == 2015)
ggplot(data_2015, aes(x = reorder(Province, CO2_Emissions), y = CO2_Emissions)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  labs(title = "2015年各省二氧化碳排放量", x = "省份", y = "二氧化碳排放量") +
  theme(plot.title = element_text(hjust = 0.5))  # 确保标题居中


# 筛选2021年的数据
data_2021 <- subset(data_long, Year == 2021)
# 检查2021年的数据
print(head(data_2021))
summary(data_2021$CO2_Emissions)

ggplot(data_2021, aes(x = reorder(Province, CO2_Emissions), y = CO2_Emissions, size = CO2_Emissions)) +
  geom_point(aes(color = CO2_Emissions), alpha = 0.7) +  # 添加颜色映射到CO2_Emissions
  scale_color_viridis_c() +  # 使用viridis颜色方案
  scale_size_continuous(range = c(1, 20)) +
  labs(title = "2021年各省二氧化碳排放量气泡图", x = "省份", y = "二氧化碳排放量") +
  theme_minimal() +
  coord_flip() +
  theme(plot.title = element_text(hjust = 0.5))  # 确保标题居中
  theme(legend.position = "bottom")  # 将图例放置在底部



# 区域差异分析
ggplot(data_long, aes(x = Province, y = CO2_Emissions)) +
  geom_boxplot() +
  coord_flip() +
  theme(plot.title = element_text(hjust = 0.5))+  # 确保标题居中
  labs(title = "各省份二氧化碳排放量差异", x = "省份", y = "二氧化碳排放量")

# 时间趋势分析
ggplot(data_long, aes(x = Year, y = CO2_Emissions, group = Province, color = Province)) +
  geom_line() +
  theme(plot.title = element_text(hjust = 0.5))+  # 确保标题居中
  labs(title = "各省份二氧化碳排放量趋势", x = "年份", y = "二氧化碳排放量")

# 转换数据为宽格式(wide format)用于热图分析
data_wide <- dcast(data_long, Year ~ Province, value.var = "CO2_Emissions")

# 检查data_wide的列名
print(colnames(data_wide))
print(head(data_wide))

# 需要将数据重新转换为长格式
data_long_for_heatmap <- melt(data_wide, id.vars = "Year", variable.name = "Province", value.name = "CO2_Emissions")

# 创建热图
ggplot(data_long_for_heatmap, aes(x = Year, y = Province, fill = CO2_Emissions)) +
  geom_tile() +
  scale_fill_gradient(low = "blue", high = "red") +
  theme(plot.title = element_text(hjust = 0.5))+  # 确保标题居中
  labs(title = "各省份二氧化碳排放量热图", x = "年份", y = "省份")

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全新神经网络架构KAN——本文用于学习与探索

论文地址&#xff1a;https://arxiv.org/pdf/2404.19756 Github&#xff1a;GitHub - KindXiaoming/pykan: Kolmogorov Arnold Networks 文档说明&#xff1a;Welcome to Kolmogorov Arnold Network (KAN) documentation! — Kolmogorov Arnold Network documentation 本文仅…

A计算机上的程序与B计算机上部署的vmware上的虚拟机的程序通讯 如何配置?

环境&#xff1a; 在A计算机上运行着Debian11.3 Linux操作系统&#xff1b;在B计算机上运行着Windows10操作系统&#xff0c;并且安装了VMware软件&#xff0c;然后在VMware上创建了虚拟机C并安装了CentOS 6操作系统 需求&#xff1a; 现在A计算机上的程序需要同虚拟机C上的软…

【RAG 论文】Contriever:对比学习来无监督训练文本嵌入模型

论文&#xff1a;Unsupervised Dense Information Retrieval with Contrastive Learning ⭐⭐⭐⭐⭐ Facebook Research, arXiv:2112.09118 Code&#xff1a;github.com/facebookresearch/contriever 一、论文速读 本文使用对比学习的方法来对文本检索模型做无监督学习训练&am…

MySQL-索引篇

文章目录 什么是索引&#xff1f;索引的优缺点索引底层数据结构选型Hash表二叉查找树AVL树红黑树B树&B树 索引类型总结主键索引二级索引聚集索引与非聚集索引聚集索引非聚集索引 覆盖索引与关联索引覆盖索引联合查询最左前缀匹配原则 索引下推如何正确使用索引选择合适的字…

信息检索(35):LEXMAE: LEXICON-BOTTLENECKED PRETRAINING FOR LARGE-SCALE RETRIEVAL

LEXMAE: LEXICON-BOTTLENECKED PRETRAINING FOR LARGE-SCALE RETRIEVAL 标题摘要1 引言2 相关工作3 LEXMAE&#xff1a;词典瓶颈屏蔽自动编码器3.1 语言建模编码器3.2 词典瓶颈模块3.3 弱化掩蔽式解码器3.4 词汇加权检索器的预训练目标和微调 4 实验4.1 主要评估4.2 效率分析与…

「云渲染教程」3D渲染时GPU内存不足怎么解决?

在进行三维场景渲染时&#xff0c;如果遇到模型较为复杂&#xff0c;用户们可能会面临图形处理单元&#xff08;GPU&#xff09;内存不足的挑战。这种情况通常意味着现有的硬件配置不足以满足渲染任务的需求。为了缓解GPU的工作压力&#xff0c;可以采取一些策略来优化资源的分…

如何使用联合体判断一个机器是大端还是小端

如何使用联合体判断一个机器是大端还是小端 #include<iostream> using namespace std; union Checker//联合体中的数据共享内存 {int val;char ch[2]; }; int main() {Checker checker;checker.val 0x1234;if (checker.ch[0] 0x34)//数组中的数据是由低地址往高地址存放…

Arduino-ILI9341驱动开发TFT屏显示任意内容三

Arduino-ILI9341驱动开发TFT屏显示任意内容三 1.概述 这篇文章介绍使用ILI9341驱动提供的函数控制TFT屏显示字符串、图形、符号等等内容的编辑和展示。 2.硬件 2.1.硬件列表 名称数量Arduino Uno12.8" TFT彩色液晶触摸屏模块&#xff08;ILI9431&#xff09;110K 电阻…

什么是web3D?应用场景有哪些?如何实现web3D展示?

Web3D是一种将3D技术与网络技术完美结合的全新领域&#xff0c;它可以实现将数字化的3D模型直接在网络浏览器上运行&#xff0c;从而实现在线交互式的浏览和操作。 Web3D通过将多媒体技术、3D技术、信息网络技术、计算机技术等多种技术融合在一起&#xff0c;实现了它在网络上…

QT6 android程序界面强制横屏显示不旋转

QT6开发的Android程序有时候旋转后程序会变形&#xff0c;比如想让其固定位横屏显示&#xff0c;就需要进行特殊设置&#xff0c;本文提供一种简便的设置方法。 一.AndroidManifest.xml文件介绍 Android的Manifest.xml文件是一个重要的配置文件&#xff0c;用于描述应用程序的…

2024.5.9 关于 SpringCloud —— Nacos 的安装与配置

目录 Windos 安装步骤 docker 启动 nacos Windos 安装步骤 1&#xff09;点击下方链接&#xff0c;进入并访问 nacos 官网 Nacos官网 | Nacos 官方社区 | Nacos 下载 | Nacos 2&#xff09;按照下图箭头指示下载对应版本的压缩包 3&#xff09;此时我们将得到一个压缩包&…

ARM时钟树结构(GD32)

时钟树的简易框图 初始化配置系统时钟 配置系统初始化时钟&#xff08;参考手册&#xff09; 对应hal库函数 使用72MHz的系统时钟 do -----------while&#xff08;0&#xff09;的使用方法 系统时钟 #include <stdint.h> #include "gd32f30x.h"int main(void)…

分布式事务技术方案

什么是分布式事务 一次课程发布操作需要向数据库、redis、elasticsearch、MinIO写四份数据&#xff0c;这里存在分布式事务问题。 什么是分布式事务&#xff1f; 首先理解什么是本地事务&#xff1f; 平常我们在程序中通过spring去控制事务是利用数据库本身的事务特性来实现…

Rancher-Kubewarden-保姆级教学-含Demo测试

一、什么是Kubewarden&#xff1f; What is Kubewarden? | Kubewarden 1、就是容器集群的准入策略引擎。 1、使用的策略其实就是k8s原生的security context. 2、使用WebAssembly来编写策略。 1、WebAssembly&#xff0c;可以使用擅长的开发语言来编写策略。&#xff08;下面的…

shared_ptr 引用计数相关问题

前言 智能指针是 C11 增加的非常重要的特性&#xff0c;并且也是面试的高频考点&#xff0c;本文主要解释以下几个问题&#xff1a; 引用计数是怎么共享的、怎么解决并发问题的资源释放时&#xff0c;控制块的内存释放吗weak_ptr 怎么判断对象是否已经释放 文中源码用的是 L…

CSS的基础语法和常见的语法简单归纳

CSS CSS 是层叠样式表&#xff08;Cascading Style Sheets&#xff09;的缩写。它是一种用来控制网页样式和布局的标记语言。通过 CSS&#xff0c;可以定义网页中的元素&#xff08;如文字、图像、链接等&#xff09;的外观和排版方式&#xff0c;包括字体、颜色、大小、间距、…

【Android】Apk图标的提取、相同目录下相同包名提取的不同图标apk但是提取结果相同的bug解决

一般安卓提取apk图标我们有两种常用方法&#xff1a; 1、如果已经获取到 ApplicationInfo 对象&#xff08;假设名为 appInfo&#xff09;&#xff0c;那么我们获取方法为&#xff1a; appInfo.loadIcon(packageManager)// 返回一个 Drawable 对象2、 如果还没获取到 Applica…

静态分析-RIPS-源码解析记录-01

token流扫描重构部分&#xff0c;这一部分主要利用php的token解析api解析出来的token流&#xff0c;对其中的特定token进行删除、替换、对于特定的语法结构进行重构&#xff0c;保持php语法结构上的一致性 解析主要在lib/scanner.php中通过Tokenizer这个类来实现,也就是在main…

ICode国际青少年编程竞赛- Python-4级训练场-列表综合练习

ICode国际青少年编程竞赛- Python-4级训练场-列表综合练习 1、 Flyer[3].step(1) Flyer[7].step(2) Flyer[11].step(1) for i in range(4):Flyer[i * 2].step(1) Flyer[8].step(3)for i in range(3):Dev.turnRight()Dev.step(-5)2、 for i in range(5):Flyer[i5].step(Flyer[…

git 推送github 选https遇到登录 openSSH问题

使用https需要使用github令牌token作为密码&#xff0c; 使用SSH不需要登录。 还有一个问题&#xff1a; 创建github仓库后没有quick setup页面解决办法 千万不要点击任何多的操作&#xff01;&#xff01;&#xff01;输入仓库名&#xff0c;直接create&#xff01;&#x…