R语言数据探索与分析-中国GDP回归分析与预测

首先读取数据:

将GDP列转换为常规数字格式

可视化GDP数据

查看数据结构

确保数据类型是正确的

第一张图片展示了中国2002年到2021年间的GDP增长趋势,这是一个时间序列图,其中横轴表示年份,纵轴表示GDP(单位未标明,但通常是本国货币或美元)。从图中可以看出,这20年间,中国的GDP呈现出了显著的上升趋势,且增长速率在整个时间段内似乎是加速的,这可以从曲线的斜率增加看出。具体来看,GDP的增长不是线性的,而是有着一定的曲率,表明每年的增长量不是恒定的,而是随着时间的推移而增加。在2002年,GDP的值接近于图表纵轴的最低点,而到了2021年,它已经增长到接近顶部的位置。这种曲线上升的形态,特别是在后半段,可能表明经济增长的加速,可能是由于各种内外部因素的影响,如工业化进程加快、出口增加、内需扩大等。

进行线性回归分析

模型的公式是 GDP对年份(year)的线性回归,即 GDP ~ year。系数中,截距(Intercept)是负的,而年份(year)的系数是正的。年份的系数大约是11585326939,这意味着模型预测每过去一年,GDP平均增加约11585亿。标准误差(Std. Error)告诉我们每个系数估计值的精确度。在这里,年份的标准误差相对较小,表明估计值相当精确。t 值(t value)是系数除以标准误差得到的,用于测试每个系数的统计显著性。年份的t值非常高,表明年份对GDP的影响是统计上显著的。p 值(p-value)用于测试假设(在这个模型中是年份对GDP有影响)。年份的p值非常小,远小于0.05的常用显著性水平,这意味着年份的效果是非常显著的。残差标准误差(Residual standard error)表明实际数据点与拟合线的平均偏差大约是66820000000,这个数值的大小需要结合GDP的实际数值来看,但看起来误差相对于GDP的量级是较小的。拟合优度(R-squared)和调整后的拟合优度(Adjusted R-squared)分别是0.9911和0.9906,都非常接近1,这表明模型对数据的拟合度非常高,几乎所有的变异都可以由年份来解释。

总结来说,线性回归模型表明从2002年到2021年,中国GDP的增长与年份有着非常强的线性关系,模型的拟合度非常高。

随后预测2022年的GDP

"Predicted GDP for 2022: 26538180032062"

将预测值与实际2022年的GDP进行比较,2022年的为30250000000000

这张图展示了2022年中国GDP的预测值与实际值的对比。图中有两个柱状图,分别代表预测的GDP(红色)和实际的GDP(绿色),单位是万亿元人民币。

从图中可以看出,预测的GDP还是比较接近实际的GDP。但是有些些许的差距:

这种差异可能由多种因素造成,包括:

预测模型可能没有考虑某些重要的经济增长驱动因素。

模型可能未能捕捉到的非线性趋势或结构性变化。

2022年可能出现了特殊事件或变动(疫情等等),这些是在先前的数据中无法预见的。

本文代码:

R 复制代码
# 加载所需的库
library(ggplot2)
library(readr)
library(dplyr)
library(broom)

# 避免科学计数法
options(scipen = 999)
# 读取数据
gdp_data <- read_csv("C:/Users/Administrator/Desktop/GDP.csv")

# 将GDP列转换为常规数字格式
gdp_data$GDP <- format(gdp_data$GDP, scientific = FALSE)

# 再次查看数据
head(gdp_data, 10)

# 可视化GDP数据
# 查看数据结构
# 确保数据类型是正确的
gdp_data$year <- as.numeric(gdp_data$year)
gdp_data$GDP <- as.numeric(gdp_data$GDP)

# 使用plot函数绘制折线图
plot(gdp_data$year, gdp_data$GDP, type = "o", col = "blue",
     main = "China GDP from 2002 to 2021",
     xlab = "Year", ylab = "GDP (元)",
     pch = 16, lty = 1)



# 线性回归分析
gdp_model <- lm(GDP ~ year, data = gdp_data)

# 查看模型摘要
summary(gdp_model)

# 预测2022年的GDP
predicted_2022 <- predict(gdp_model, newdata = data.frame(year = 2022))

# 打印预测值
print(paste("Predicted GDP for 2022: ", predicted_2022))

# 将预测值与实际2022年的GDP进行比较
actual_2022 <- 121020700000000  # 您提供的2022年GDP数据
# 将预测值与实际2022年的GDP进行比较

# 2022年GDP的实际值和预测值
actual_2022 <- 30250000000000
predicted_2022 <- 26538180032062

# 将数值转换为万亿单位
actual_2022_trillion <- actual_2022 / 1e12
predicted_2022_trillion <- predicted_2022 / 1e12

# 创建一个包含这些值的向量
values <- c(predicted_2022_trillion, actual_2022_trillion)
names <- c("Predicted 2022", "Actual 2022")

# 绘制柱状图
barplot(values, names.arg = names, col = c("red", "green"),
        main = "Comparison of Predicted and Actual GDP for 2022 (in Trillions)",
        ylab = "GDP (Trillions of Yuan)",
        xlab = "Year 2022")
相关推荐
珠海新立电子科技有限公司1 小时前
FPC柔性线路板与智能生活的融合
人工智能·生活·制造
IT古董2 小时前
【机器学习】机器学习中用到的高等数学知识-8. 图论 (Graph Theory)
人工智能·机器学习·图论
曼城周杰伦2 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
山海青风2 小时前
使用 OpenAI 进行数据探索性分析(EDA)
信息可视化·数据挖掘·数据分析
余炜yw3 小时前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐3 小时前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
如若1233 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr3 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络
ChaseDreamRunner4 小时前
迁移学习理论与应用
人工智能·机器学习·迁移学习
Guofu_Liao4 小时前
大语言模型---梯度的简单介绍;梯度的定义;梯度计算的方法
人工智能·语言模型·矩阵·llama