R语言数据分析案例27-使用随机森林模型对家庭资产的回归预测分析

news2024/11/25 0:48:47

一、研究背景及其意义

家庭资产分析在现代经济学中的重要性不仅限于单个家庭的财务健康状况,它还与整个经济体的发展紧密相关。家庭资产的增长通常反映了国家经济的整体增长,而资产分布的不均则暴露了经济不平等的问题。因此,全球视角下的家庭资产分析可以揭示国际经济动态,有助于在全球范围内制定更有效的财富管理和经济政策。

研究的意义在于:政策制定的依据:通过对家庭资产的研究,可以为政府和政策制定者提供关于经济福利和社会公平的深入洞察。这有助于制定更加有效的经济政策,以促进财富的公平分配。经济结构分析。。。。。

二、文献综述研究

近年来,利用人工智能技术进行预测研究掀起了新浪潮。监督机器学习方法可以自动分析和挖掘已知矿床与勘探数据之间的复杂关系,已被广泛的应用于矿产预测建模。然而,在矿产潜力评价实践中,矿床数量的有限使得监督机器学习模型面临着巨大挑战,限制了模型的表现与泛化性。在本研究中,李全可、陈国雄等人聚焦于各种半监督机器学习模型(例如半监督随机森林和半监督支持向量机),利用半监督学习机制解决矿床稀缺带来的挑战,并提出一种基于半监督生成对抗网络的半监督深度学习矿产预测建模方法,以实现更准确的矿产潜力评价。。。。。

下面,我们将详细介绍数据预处理步骤以及随机森林模型的构建和评估方法。随机森林模型的应用不仅能够提高预测准确性,还能提供对特征重要性的深入洞察,帮助我们更好地理解各影响因素如何共同作用于家庭资产的变化。。。

三、基础理论和研究

随机森林就是通过集成学习的Bagging思想将多棵树集成的一种算法:它的基本单元就是决策树。随机森林的名称中有两个关键词,一个是“随机”,一个就是“森林”。“森林”很好理解,一棵叫做树,那么成百上千棵就可以叫做森林了,其实这也是随机森林的主要思想--集成思想的体现。。。。。

随机森林的训练过程可以分为以下几个步骤:

(1)随机选择一部分数据样本,构建决策树。

(2)随机选择一部分特征,构建决策树。

(3)重复上述步骤,构建多个决策树。

(4)通过投票的方式,将多个决策树的预测结果合并为最终结果。。。。

四、实证分析

本文数据选取为美国财富网站家庭资产的数据集,其中特征为familynum、consump_total、income_total、debt,响应变量为asset。

首先读取数据集并且展示数据前五行:

数据和代码

数据代码完整报告

df<- read.csv("data_clean.csv")
df

# 显示数据框的前几行
head(df)
str(df)

接下来查看数据字符类型:

其中familynum:这是一个整数(int)类型的变量,代表家庭成员的数量。consump_total:是一个数值类型的变量,代表家庭的总消费。 

接下来进行数据缺失值查看:

# 绘制热图
ggplot(missing_df, aes(x = row_id, y = variable, fill = value)) +
  geom_tile() +
  scale_fill_manual(values = c("Missing" = "red", "Not Missing" = "gray")) +
  theme_minimal() +
  labs(x = "Row Number", y = "Variable", fill = "Status", title = "Heatmap of Missing Values")

热图中的深色部分表明数据值“不缺失”(Not Missing),而如果存在缺失值,我们通常会看到标记为其他颜色。。。

接下来进行部分数据可视化:

家庭资产(asset):大多数数据集中在较低的资产值,说明在样本中低资产家庭的数量较多。分布的长尾部分表示有少数家庭拥有很高的资产。总消费消费数据似乎也是右偏的 。。。

box_plots <- df %>%
  pivot_longer(cols = everything(), names_to = "variables", values_to = "values") %>%
  ggplot(aes(x = as.factor(variables), y = values)) +
  geom_boxplot() +
  facet_wrap(~variables, scales = 'free') +
  theme_minimal()
print(box_plots)

家庭成员数的分布相对均匀,中位数在2左右,异常值分布在较高的家庭成员数,但这些异常值并不极端。总收入的中位数较低,分布范围相对较广,存在一些高收入的异常值。

 从热力图可知,家庭成员数与其他变量似乎没有显示出很强的相关性。总消费与总收入之间显示出一定的正相关性,这是合理的,因为通常收入水平较高的家庭可能会有更多的消费。。。。

接下来正式进入随机森林建模和预测,这里的训练集和测试集的划分比例为3:7。

# 建立随机森林模型
rf_model <- randomForest(asset ~ ., data = train_data, ntree = 100)
rf_model

从上图可以看得,模型设置了100棵树,并且在每次分裂时尝试了1个变量。 模型中建立了100棵决策树。随机森林是通过结合多棵决策树的预测来提高整体预测准确性和鲁棒性的。平均平方残差约为2.517×10¹²。 

在预测之后对模型进行评价:

表1 随机森林模型预测评价结果

RMSE

 Rsquared

 MAE

1525606.6201528

 0.3679425

792606.7109922

最后可视化一下特征重要性图,在特征中对比一下:

从该图可知,特征按重要性降序排列,具有以下特点:

income_total(总收入): 这个特征在模型中的重要性最高,表现为最长的黄色条形。这意味着总收入在预测家庭资产方面起着最关键的作用。。。。

五、总结与展望

本次实验通过随机森林回归模型分析了影响家庭资产的几个关键变量得到了一些初步的结论

总收入对家庭资产的预测作出了最大的贡献,这表明收入水平是影响家庭资产积累的一个重要因素。总消费也是家庭资产预测的一个重要变量,但其影响力度低于总收入。债务与家庭资产之间存在一定的相关性,尽管其影响不如收入和消费那么显著。。。。

创作不易,希望大家多点赞关注评论!!!(类似代码或报告定制可以私信)

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

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

相关文章

工业园区的弱电智能化总体建设规划

在当今迅速发展的工业环境中&#xff0c;一个高效、智能的工业园区是企业成功的重要基石。随着技术的进步&#xff0c;弱电系统的智能化已不仅仅是便利的象征&#xff0c;更是安全生产和效率提升的必要条件。今天&#xff0c;我们将探讨如何通过弱电智能化系统的总体建设规划来…

小阿轩yx-Apache 网页优化

小阿轩yx-Apache 网页优化 网页压缩与缓存 对Apache服务器优化配置 能让 Apache 发挥出更好的性能 相反&#xff0c;配置糟糕 Apache可能无法正常服务 网页压缩 网站的访问速度是由多个因素所共同决定的 包括应用程序 响应速度网络带宽服务器性能与客户端之间的网络传…

通过语言大模型来学习LLM和LMM(四)

一、大模型学习 新的东西&#xff0c;学习的东西就是多&#xff0c;而且最简单最基础的都需要学习&#xff0c;仿佛一点基础知识都要细嚼慢咽&#xff0c;刨根问底&#xff0c;再加上一顿云里雾里的吹嘘&#xff0c;迷迷糊糊的感觉高大上。其实就是那么一回事。再过一段时日&a…

ASP.NET MVC企业级程序设计(增非空,日期转换,修改)

目录 题目&#xff1a; 实现过程 控制器代码 DAL BLL Index ADD 题目&#xff1a; 实现过程 控制器代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; namespace …

FLAN-T5模型的文本摘要任务

Text Summarization with FLAN-T5 — ROCm Blogs (amd.com) 在这篇博客中&#xff0c;我们展示了如何使用HuggingFace在AMD GPU ROCm系统上对语言模型FLAN-T5进行微调&#xff0c;以执行文本摘要任务。 介绍 FLAN-T5是谷歌发布的一个开源大型语言模型&#xff0c;相较于之前的…

企业化运维(3)_PHP、nginx结合php-fpm、memcache、openresty、goaccess日志可视化

###1.PHP源码编译### 解压PHP压缩包&#xff0c;切入PHP目录&#xff0c;进行configure-->make-->make installd三部曲 [rootserver1 ~]# yum install -y bzip2 systemd-devel libxml2-devel sqlite-devel libpng-devel libcurl-devel ##依赖性 [rootserver1 ~]# yum…

基于Nios-II实现流水灯

基于Nios-II实现流水灯的主要原理 涉及到FPGA&#xff08;现场可编程门阵列&#xff09;上的嵌入式软核处理器Nios II与LED控制逻辑的结合。以下是详细的实现原理&#xff0c;分点表示并归纳&#xff1a; Nios II软核处理器介绍&#xff1a; Nios II是Altera公司推出的一种应用…

Camtasia2024破解永久激活码注册码分享最新

随着数字时代的到来&#xff0c;视频制作已成为许多人日常生活和工作中不可或缺的一部分。而在众多视频编辑软件中&#xff0c;Camtasia凭借其强大的功能和易用性&#xff0c;赢得了广泛的用户喜爱。近期&#xff0c;Camtasia 2024的破解版本在网络上引起了广泛关注。本文旨在为…

外链建设如何进行?

理解dofollow和nofollow链接&#xff0c;所谓dofollow链接&#xff0c;就是可以传递权重到你的网站的链接&#xff0c;这种链接对你的网站排名非常有帮助&#xff0c;这种链接可以推动你的网站在搜索结果中的位置向上爬&#xff0c;但一个网站全是这种有用的链接&#xff0c;反…

scrapy爬取豆瓣书单存入MongoDB数据库

scrapy爬取豆瓣书单存入MongoDB数据库 一、安装scrapy库二、创建scrapy项目三、创建爬虫四、修改settings,设置UA,开启管道五、使用xpath解析数据六、完善items.py七、在douban.py中导入DoubanshudanItem类八、爬取所有页面数据九、管道中存入数据,保存至csv文件十、将数据写…

解决javadoc一直找不到路径的问题

解决javadoc一直找不到路径的问题 出现以上问题就是我们在下载jdk的时候一些运行程序安装在C:\Program Files\Common Files\Oracle\Java\javapath下&#xff1a; 一开始是没有javadoc.exe文件的&#xff0c;我们只需要从jdk的bin目录下找到复制到这个里面&#xff0c;就可以使用…

玄机平台应急响应—MySQL应急

前言 这个是比较简单的&#xff0c;其实和MySQL没啥太大的关系&#xff0c;没涉及太多MySQL的知识。看一下它的flag要求吧。 flag1 它说黑客写入的shell&#xff0c;那我们就去它的网站目录去看看&#xff0c;果然有一个叫sh.php的文件。 flag1{ccfda79e-7aa1-4275-bc26-a61…

excel中按多列进行匹配并对数量进行累加

公司的生产计划是按订单下发&#xff0c;但不同订单的不同产品中可能有用到相同的配件&#xff0c;按单1对1时&#xff0c;对计算机十分友好&#xff0c;但对于在配件库检料的工人来说就比较麻烦&#xff0c;上百条产品里可能会有多条都是相同的产品&#xff0c;首先考虑的办法…

Android采用Scroller实现底部二楼效果

需求 在移动应用开发中&#xff0c;有时我们希望实现一种特殊的布局效果&#xff0c;即“底部二楼”效果。这个效果类似于在列表底部拖动时出现额外的内容区域&#xff0c;用户可以继续向上拖动查看更多内容。这种效果可以用于展示广告、推荐内容或其他信息。 效果 实现后的…

回答网友的一个Delphi问题

网友想在grid 中 加一个水印&#xff0c;俺就给他写了个例子。先靠效果&#xff1a; 这个例子 包含下面几步&#xff1a; 1、创建背景 dg_bmp:Tbitmap.Create; w: Image1.Picture.Bitmap.width; h: Image1.Picture.Bitmap.height; dg_bmp.width: w*2; dg_bmp.height: …

[渗透测试学习] Runner-HackTheBox

Runner-HackTheBox 信息搜集 nmap扫描端口 nmap -sV -v 10.10.11.13扫描结果如下 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.6 (Ubuntu Linux; protocol 2.0) 80/tcp open http nginx 1.18.0 (Ubuntu) 8000…

算法day32

第一题 207. 课程表 步骤一&#xff1a; 通过下图的课程数组,首先画出DAG图&#xff08;有向无环图&#xff09; 步骤二&#xff1a; 其次我们按照DAG图&#xff0c;来构建该图的拓扑排序&#xff0c;等有效的点都按照规则排完序后&#xff0c;观察是否有剩下的点的入度不为0&…

基于VSCode和MinGW-w64搭建LVGL模拟开发环境

目录 概述 1 运行环境 1.1 版本信息 1.2 软件安装 1.2.1 下载安装VS Code 1.2.1.1 下载软件 1.2.1.1 安装软件 1.2.2 下载安装MinGW-w64 1.2.2.1 下载软件 1.2.2.2 安装软件 1.2.3 下载安装SDL 1.2.3.1 下载软件 ​1.2.3.2 安装软件 1.2.4 下载安装CMake 1.2.4.…

微服务链路追踪ELK

微服务链路追踪&ELK 链路追踪概述链路追踪sluthzipkinelk日志管理平台 一 链路追踪 1 概述 1.1 为什么需要链路追踪 ​ 微服务架构是一个分布式架构&#xff0c;它按业务划分服务单元&#xff0c;一个分布式系统往往有很多个服务单元。由于服务单元数量众多&#xff0…