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

news2024/11/18 0:24:31
# 安装和加载需要的包
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 = "省份")

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有哪些是618必买的数码好物,这几款千万别错过

备受瞩目的618购物节即将拉开帷幕&#xff0c;身为数码领域的资深发烧友&#xff0c;我迫不及待地要为大家呈现一系列精心挑选的数码产品。无论您是热衷于追求科技尖端的先锋者&#xff0c;还是希望用智能设备为生活增添一抹亮色的品味人士&#xff0c;这里总有一款能让您心动的…

【python】python中的argparse模块,教你如何自定义命令行参数

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

ARM基于DWT实现硬件延时(GD32)

软件延时的缺点 软件延时的精度差&#xff0c;受系统主频影响&#xff0c;调教困难 硬件延时 DWT数据跟踪监视点单元硬件延时 硬件延时实现代码 delay.c #include <stdint.h> #include "gd32f30x.h"/** *****************************************************…

【算法入门赛】A.坐标变换(推荐学习)C++题解与代码

比赛链接&#xff1a;https://www.starrycoding.com/contest/8 题目描述 武汉市可以看做一个二维地图。 牢 e e e掌握了一项特异功能&#xff0c;他可以“瞬移”&#xff0c;每次瞬移需要分别设定 x x x和 y y y的偏移量 d x dx dx和 d y dy dy&#xff0c;瞬移完成后位置会…

JMeter 如何应用于 WebSocket 接口测试

WebSocket: 实时双向通信的探索及利用 JMeter 进行应用性能测试 WebSocket 是一项使客户端与服务器之间可以进行双向通信的技术&#xff0c;适用于需要实时数据交换的应用。为了衡量和改进其性能&#xff0c;可以通过工具如 JMeter 进行测试&#xff0c;但需要先对其进行适配以…

出差行程到底怎么管?这个“高分指南”划重点来了!

在日常商旅过程中&#xff0c;出差行程计划是必不可少的环节。公司需要以此为依据判断行程是否有必要、是否合理&#xff0c;确保出差行程与公司的业务需求相符。 通过胜意费控云&#xff0c;员工填写出差申请时&#xff0c;行程计划智能生成&#xff0c;平台自动匹配并带出差标…

EasyRecovery(易恢复) 使用测试及详细使用方法

你有没有因为数据丢失懊悔不已&#xff0c;EasyRecovery&#xff08;易恢复&#xff09;&#xff0c;来自美国拥有38年数据恢复的软件&#xff0c;只有收费版&#xff0c;重要事情说三遍&#xff0c;EasyRecovery 没有免费版&#xff0c;可以成功找回删除的部分文件&#xff0c…

歌手舞台再掀风云

《歌手》舞台再掀风云&#xff0c;重磅消息来袭——国际巨星亚当兰伯特空降踢馆&#xff0c;一场音乐盛宴即将点燃激情&#xff01;消息一出&#xff0c;粉丝欢呼&#xff0c;热议如潮。亚当兰伯特&#xff0c;这位曾让世界为之倾倒的音乐天才&#xff0c;如今即将登陆《歌手》…

工业中常见大数据技术组件

随着大数据技术在各行各业的广泛应用&#xff0c;数据产品经理的角色也变得越来越重要。了解常见的大数据技术组件对于数据产品经理来说至关重要&#xff0c;因为这有助于他们更好地设计产品架构和功能模块&#xff0c;满足数据处理和分析的需求。在处理海量数据的产品中&#…

keep健身小程序基于FastAdmin+ThinkPHP+UniApp(源码搭建/上线/运营/售后/更新)

基于FastAdminThinkPHPUniApp&#xff08;目前仅支持微信小程序和公众号&#xff09; 开发的健身相关行业微信小程序&#xff0c;程序适用于健身房、瑜伽馆、游泳馆、篮球馆等健身培训场所。平台拥有课程售卖、课程预约、多门店管理、私教预约、教练端、会员卡办理、在线商城、…

el-checkbox选中后的值为id,组件显示为label中文

直接上代码 方法一 <el-checkbox v-for"item in list" :key"item.id" :label"item.id">{{中文}} </el-checkbox> 方法二 <el-checkbox-group class"flex_check" v-model"rkStatusList" v-for"item…

Python可以自学但是千万不要乱学,避免“埋头苦学”的陷阱!

前言 Python可以自学但是千万不要乱学&#xff01; 归根结底因为学习是个反人性的过程&#xff01; 复盘没学下去的网课&#xff0c;都有以下特点&#xff1a; &#x1f605; 臣妾听不懂啊&#xff01; 初次接触编程遇到太多抽象高深的概念&#xff0c;不了解老师口中的一个…

队列 + 宽搜(BFS)

目录 leetcode题目 一、二叉树的层序遍历 二、二叉树的层序遍历 II 三、N叉树的层序遍历 四、二叉树的锯齿形层序遍历 五、二叉树最大宽度 六、在每个树行中找最大值 七、二叉树的层平均值 八、最大层内元素和 九、二叉树的第K大层和 十、反转二叉树的奇数层 leetco…

mac第三方软件怎么删除 MacBook卸载第三方应用程序 mac第三方恶意软件删除不了怎么办呢

Mac是一款优秀的个人电脑&#xff0c;它拥有流畅的操作系统、强大的性能和丰富的应用程序。但是&#xff0c;随着使用时间的增加&#xff0c;你可能会发现你的Mac上安装了一些不需要或者不喜欢的第三方软件&#xff0c;这些软件可能会占用你的空间、影响你的速度或者带来安全风…

Android 简单的下拉选择框实现

要实现这种效果,目前知道的方法有以下两种,Spinner 和 ListPopupWindow,当然肯定还有很多别的方法,这里我们先尝试使用ListPopupWindow来实现这个效果; 以下是一个简单的demo: public class MainActivity extends AppCompatActivity {private List<String> dataList;pr…

DDM-MIMO-FMCW雷达MATLAB仿真

本文在前期TDM和BPM体制的基础上&#xff0c;仿真DDM体制下的调制解调和信号处理测距、测速、测角流程。 TDM和BPM相关可以看这两篇博文TDM(BPM)-MIMO-FMCW雷达仿真-CSDN博客&#xff0c;确定性最大似然&#xff08;DML&#xff09;估计测角-CSDN博客TDM(BPM)-MIMO-FMCW雷达仿真…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷3(私有云)

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包…

Python中tkinter编程入门3

在使用tkinter创建了窗口之后&#xff0c;可以将一些控件“放置”到窗口中。这些控件包括标签、按键以及输入框等。 1 在窗口中“放置”标签 在窗口中“放置”标签主要有两个步骤&#xff0c;一是创建标签控件&#xff0c;二是将创建好的标签“放置”到窗口上。 1.1 创建标签…

[数据集][目标检测]管道焊缝质量检测数据集VOC+YOLO格式1134张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1134 标注数量(xml文件个数)&#xff1a;1134 标注数量(txt文件个数)&#xff1a;1134 标注…

【pandas】库中的apply(lambda function ,arix)

pandas.apply() 遍历DataFrame的元素&#xff08;一行或者一列数据&#xff09; 行遍历&#xff1a;axis 1 列遍历&#xff1a;axis 0 基础信息 pandas的apply()方法是用来调用一个lambda函数&#xff0c;让函数对数据对象具有批处理的特性。 pandas支持apply()调用…