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

本文代码:

# 加载所需的库
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")

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

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

相关文章

idea提示 CreateProcess error=206, 文件名或扩展名太长有哪些具体的解决方法

背景&#xff1a; 项目启动后提示CreateProcess error206&#xff0c;通常我本地是将shorten command line改成如下就可以解决&#xff0c;但是今天遇到一个&#xff0c;无论这里怎么设置都是启动提示扩展名太长&#xff0c;经过一番处理问题终于解决&#xff0c;特此记录一下。…

stm32之hal库spi驱动封装(实现阻塞,中断,dma三种方式)

前言 配置功能参考rt-thread驱动代码将中断配置和dma配置单独分开管理 代码 中断管理 头文件 /** Copyright (c) 2024-2024,shchl** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date Author Notes* 2024-5-3 shchl first version*/#ifnd…

有哪些软件可以使用云渲染?

随着技术的发展&#xff0c;云渲染已成为动画制作人员与设计师重要的渲染助手。它可结合云端强大的计算机能力&#xff0c;帮助渲染人员高速的完成渲染任务&#xff0c;大幅度节省时间和本地计算资源。它们以用户友好的界面、强大灵活的渲染能力&#xff0c;满足了各类专业渲染…

ESP8266固件烧写

概述 因为手上有块闲置的ESP8266开发板&#xff0c;想着拿来倒腾一下WIFI探针&#xff0c;倒腾了一阵测试成功&#xff0c;博文记录用以备忘 硬件 ESP8266 NodeMCU 环境 Windows 11 步骤 1.下载esp32_win32_msys2_environment_and_toolchain-20181001.zip 2.下载xtensa…

Facebook革命:数字社交的全新篇章

随着互联网的不断普及和科技的飞速发展&#xff0c;社交媒体已经成为现代社会不可或缺的一部分。在众多社交媒体平台中&#xff0c;Facebook以其广泛的用户群体和强大的功能而备受瞩目。然而&#xff0c;Facebook并非止步于现状&#xff0c;而是正在掀起一场数字社交的革命&…

Kafka应用Demo:按主题订阅消费消息

安装环境 Kafka安装可参考官方网站的指导(https://kafka.apache.org/quickstart), 按步骤解压压缩包&#xff0c;修改配置。然后再启动zookeeper和kafka-server即可。 需要注意的一点&#xff1a;如果是在VMware虚拟机上启动的kafka, 需要修改一下server.properties配置文件&am…

vue组件传参数

在使用vue3进行开发的时候&#xff0c;我们一定绕不开的一个技术栈&#xff0c;就是组件传参。接下来我将介绍在vue3中如何运用这项技术。 在组件传参数中&#xff0c;分为两类&#xff0c;父传子参&#xff0c;或子传父参。需要了解的两个方法就是defineProps和defineEmits。…

【快捷部署】022_ZooKeeper(3.5.8)

&#x1f4e3;【快捷部署系列】022期信息 编号选型版本操作系统部署形式部署模式复检时间022ZooKeeper3.5.8Ubuntu 20.04tar包单机2024-05-07 一、快捷部署 #!/bin/bash ################################################################################# # 作者&#xff…

【Linux 命令操作】如何在 Linux 中使用多行注释呢?

文章目录 1. 给代码进行多行注释2. 给代码取消多行注释 1. 给代码进行多行注释 &#x1f427;① 首先用 vim 打开代码&#xff0c;按 Esc进入命令模式(Normal mode)&#xff1b; &#x1f427;② 然后按住 ctrl v 进入列模式&#xff1b; &#x1f427;③ 再通过按 h(左)、j(…

牛客网刷题 | BC80 奇偶统计

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 任意输入一个正整数…

Databend 开源周报第 143 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 了解 Databend …

后端开发面经系列 -- 滴滴C++一面面经

滴滴C一面面经 公众号&#xff1a;阿Q技术站 来源&#xff1a;https://www.nowcoder.com/feed/main/detail/38cf9704ef084e27903d2204352835ef 1、const在C和C区别&#xff0c;const定义的类成员变量如何初始化&#xff1f; 区别 C中的const&#xff1a; 在C中&#xff0c;c…

STM32单片机ADC功能详解

文章目录 1. ADC概述 2. ADC结构图 3. 引脚定义 4. 转换模式 5. 数据对齐 6. 转换时间 7. 硬件电路 8. STM32使用ADC单/多通道检测数据 1. ADC概述 功能&#xff1a;ADC是一个将模拟信号&#xff08;如电压&#xff09;转换为数字信号的设备。在微控制器中&#xff0c…

Vitis HLS 学习笔记--理解串流Stream(1)

目录 1. 介绍 2. 示例 2.1 代码解析 2.2 串流数据类型 2.3 综合报告 3. 总结 1. 介绍 在Vitis HLS中&#xff0c;hls::stream是一个用于在C/C中进行高级合成的关键数据结构。它类似于C标准库中的std::stream&#xff0c;但是专门设计用于硬件描述语言&#xff08;如Veri…

六级段落匹配

一个段落最多匹配2个句子 一个段落对应&#xff1a;0-2 适当放题 找到三个对应点就可以选 每看三个句子划关键词之后再自己回忆一遍关键词&#xff0c;看了36 37 38 就复述一遍关键词看了39 40 41就又从36开始复述关键词&#xff08;334&#xff09;看到最后一句话就又从头…

Linux实操之常用指令详解

文章目录 vi 和 vimvi 和 vim 基本使用 开机、重启和用户登录注销关机&重启命令用户登录和注销 用户管理基本介绍基本语法细节说明修改密码删除用户查询用户信息指令切换用户查看当前用户/登录用户用户组 实用指令指定运行级别帮助指令文件目录类时间和日期类搜索查找类压缩…

Python | Leetcode Python题解之第74题搜索二维矩阵

题目&#xff1a; 题解&#xff1a; class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:row,col len(matrix),len(matrix[0])row_l,row_r 0,row-1while row_l < row_r:m (row_lrow_r)//2if target < matrix[m][0]:row_r m-1…

ICode国际青少年编程竞赛- Python-1级训练场-变量练习

ICode国际青少年编程竞赛- Python-1级训练场-变量练习 1、 a 8 for i in range(8):Dev.step(a)Dev.turnRight()a - 12、 a 3 for i in range(4):Dev.step(a)Dev.turnRight()a a 1 Dev.step(5)3、 a 4 for i in range(4):Dev.step(2)Dev.step(-5)Dev.step(3)Spaceship.…

JVM学习笔记【基础篇:垃圾回收】

自动垃圾回收 C/C的内存管理 ⚫ 在C/C这类没有自动垃圾回收机制的语言中&#xff0c;一个对象如果不再使用&#xff0c;需要手动释放&#xff0c;否则就会出现 内存泄漏。我们称这种释放对象的过程为垃圾回收&#xff0c;而需要程序员编写代码进行回收的方式为手动回收。 ⚫ …

ue引擎游戏开发笔记(34)——建立射击映射,并添加特效

1.需求分析&#xff1a; 准备处理射击系统&#xff0c;首先角色需要能射击&#xff0c;有反馈&#xff0c;先建立角色与控制器之间的映射&#xff0c;并添加简单特效&#xff0c;证明映射已经建立。 2.操作实现&#xff1a; 1.首先常规建立映射流程&#xff0c;具体可参考笔记…
最新文章