当前位置:   article > 正文

R语言数据探索与分析-中国GDP回归分析与预测_如何用回归模型预测gdp

如何用回归模型预测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年可能出现了特殊事件或变动(疫情等等),这些是在先前的数据中无法预见的。

本文代码:

  1. # 加载所需的库
  2. library(ggplot2)
  3. library(readr)
  4. library(dplyr)
  5. library(broom)
  6. # 避免科学计数法
  7. options(scipen = 999)
  8. # 读取数据
  9. gdp_data <- read_csv("C:/Users/Administrator/Desktop/GDP.csv")
  10. # 将GDP列转换为常规数字格式
  11. gdp_data$GDP <- format(gdp_data$GDP, scientific = FALSE)
  12. # 再次查看数据
  13. head(gdp_data, 10)
  14. # 可视化GDP数据
  15. # 查看数据结构
  16. # 确保数据类型是正确的
  17. gdp_data$year <- as.numeric(gdp_data$year)
  18. gdp_data$GDP <- as.numeric(gdp_data$GDP)
  19. # 使用plot函数绘制折线图
  20. plot(gdp_data$year, gdp_data$GDP, type = "o", col = "blue",
  21. main = "China GDP from 2002 to 2021",
  22. xlab = "Year", ylab = "GDP (元)",
  23. pch = 16, lty = 1)
  24. # 线性回归分析
  25. gdp_model <- lm(GDP ~ year, data = gdp_data)
  26. # 查看模型摘要
  27. summary(gdp_model)
  28. # 预测2022年的GDP
  29. predicted_2022 <- predict(gdp_model, newdata = data.frame(year = 2022))
  30. # 打印预测值
  31. print(paste("Predicted GDP for 2022: ", predicted_2022))
  32. # 将预测值与实际2022年的GDP进行比较
  33. actual_2022 <- 121020700000000 # 您提供的2022年GDP数据
  34. # 将预测值与实际2022年的GDP进行比较
  35. # 2022年GDP的实际值和预测值
  36. actual_2022 <- 30250000000000
  37. predicted_2022 <- 26538180032062
  38. # 将数值转换为万亿单位
  39. actual_2022_trillion <- actual_2022 / 1e12
  40. predicted_2022_trillion <- predicted_2022 / 1e12
  41. # 创建一个包含这些值的向量
  42. values <- c(predicted_2022_trillion, actual_2022_trillion)
  43. names <- c("Predicted 2022", "Actual 2022")
  44. # 绘制柱状图
  45. barplot(values, names.arg = names, col = c("red", "green"),
  46. main = "Comparison of Predicted and Actual GDP for 2022 (in Trillions)",
  47. ylab = "GDP (Trillions of Yuan)",
  48. xlab = "Year 2022")

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号