【视频】因子分析简介及R语言应用实例:对地区经济研究分析重庆市经济指标

简介: 【视频】因子分析简介及R语言应用实例:对地区经济研究分析重庆市经济指标

全文链接:http://tecdat.cn/?p=32694

分析师:Li Yu


因子分析是指研究从变量群中提取隐藏的具有代表性共性因子的统计技点击文末“阅读原文”获取完整代码数据


进而起到降维的目的,还可检验变量间关系的假设。

最早由英国心理学家C.E.斯皮尔曼提出。他发现学生的各科成绩之间存在着一定的相关性,一科成绩好的学生,往往其他各科成绩也比较好,从而推想是否存在某些潜在的共性因子,或称某些一般智力条件影响着学生的学习成绩。

image.png

因子分析的基本思想


  • 根据相关性大小将原始变量分组,使得同组间的变量相关性较高
  • 每组变量代表一个基本结构,并可用一个不可观测的综合变量表示,称为公共因子
  • 对于某一具体问题,原始变量可分解为两部分,一部分是少数几个不相关公共因子(F、F2…....)的线性函数部分,另一部分是与公共因子无关的特殊因子( ei )

image.png

实现过程及应用场景——以企业招聘为例


有48位应聘者应聘某公司的某职位,公司为这些应聘者的15项指标打分(0-10分),用因子分析的方法对15项指标做分析,并选出6名最优秀的申请者。

image.png

计算结果分析


根据各指标系数绝对值,归纳出下列公共因子:

  • F1∶外露能力
  • F2:经验
  • F3:是否讨人喜欢
  • F4:专业能力
  • F5:外在表现

image.png

计算因子得分筛选应聘者


优化:根据各岗位需求计算相应部分得分筛选应聘者

image.png

点击标题查阅往期内容


数据分享|R语言因子分析、相关性分析大学生兼职现状调查问卷数据可视化报告


01

02

03

04

R语言主成分pca、因子分析、聚类对地区经济研究分析重庆市经济指标


建立重庆市经济指标发展体系,以重庆市一小时经济圈作为样本,运用因子分析方法进行实证分析,在借鉴了相关评价理论和评价方法的基础上,本文提取出经济规模、人均发展水平、经济发展潜力、3个主因子,从2重庆市统计年鉴选取8个如下指标构成的指标体系对重庆市38个区县经济发展基本情况的八项指标进行分析,并基于主因子得分矩阵对重庆市38个区县进行聚类分析。

结果表明:根据综合得分,可以看出各区县社会经济发展水平排前三的是渝中区、渝北区、九龙坡区,得分最低的三个是巫山县、巫溪县、城口县,结合总体的分析可以看出渝中区、九龙坡区在经济总体规模和建筑业方面较好,而重庆周边的地区经济实力较差,投资环境不好,特别是在建筑方面的缺乏,以至于经济发展相对而言薄弱的地区,不论从哪方面来说重庆各区县中渝中区的经济实力是最好的。


评价指标的建立


评价地区的之间的经济发展水平,必须建立适当的指标体系。考虑到地区经济指标的复杂性、多样性和可操作性,本文在此基础上建立了一套较为完整的易于定量分析的地区经济评价指标体系,分别从不同的角度反映地区经济发展特征。

本文所建立的指标体系共包括8个指标,分别从经济规模、人均发展水平、经济发展潜力等方面来反映地区经济发展特征。具体指标如下:

地区生产总值(万元)(X1)              

社会消费品零售总额(万元)(X2)

工业总产值(万元)(X3)

建筑业总产值(万元)(X4)

高技术生产总值(万元)(X5)

全社会固定资产投资(万元)(X6)

人均可支配收入(元)(X7)

人均地区生产总值(元)(X8)


因子分析在地区经济研究中的应用


因子分析模型及其步骤

因子分析是一种数据简化的技术。它通过研究众多变量之间的内部依赖关系,探求观测数据中的基本结构,并用少数几个假想变量来表示其基本的数据结构。这几个假想变量能够反映原来众多变量的主要信息。原始的变量是可观测的显在变量,而假想变量是不可观测的潜在变量,称为因子。设p个变量,则因子分析的数学模型可表示为:

image.png

image.png 为公共因子,是不可观测的变量,他们的系数称为因子载荷。是特殊因子,是不能被前m个公共因子包含的部分。因子分析步骤如下:

(1)将原始数据标准化,仍记为X;(2)建立相关系数矩阵R;(3)解特征方程,计算特征值和特征向量,当累计贡献率不低于85%时,提取k个主成分代替原来的m个指标,计算因子载荷矩阵A;(4)对A进行最大正交旋转交换;(5)对主因子进行命名和解释。如需进行排序,则计算各个主因子的得分,以贡献率为权重,对加权计算综合因子得分。


样本选取及数据来源


本文选取了重庆市38个区县作为样本进行分析,目的在于探索如何基于R统计软件的因子分析和聚类分析方法研究地区经济发展。具体数据如下:

image.png

image.png

数据分析过程


将原始数据录入R软件中,选取地区生产总值(万元)(X1)、社会消费品零售总额(万元)(X2)、工业总产值(万元)(X3)、建筑业总产值(万元)(X4)、高技术生产总值(万元)(X5)、全社会固定资产投资(万元)(X6)、人均可支配收入(元)(X7)、人均地区生产总值(元)(X8)。

在进行因子分析之前,我们通过观察相关系数矩阵,并用KMO and Bartlett’s Test检验一下数据是否适合作因子分析。再做描述性分析Analysis-factor-description得到初始公因子方差、因子、特征值以及由每个因子解释的百分比和累计百分比。分析结果如下:

coebaltt(COR,)#Bartlett球形检

image.png

Bartlett 的球形度检验的p值(显著性概率值sig)<0.05,表明通过检验,分布可以近似为正态分布,由此则可以进行因子分析。

sreeot(PCA,type="lines")

image.png


点击标题查阅往期内容


R语言稀疏主成分分析、因子分析、KMO检验和Bartlett球度检验分析上市公司财务指标数据


01

02

03

04

image.png

image.png

从表可以得出,提取3个因子的累计方差贡献率已经达到89.854%>86%,信息损失仅为10.146%,从第4个因子开始方差贡献率都低于5%,因此选取3个公因子进行因子分析效果较为理想;从图的碎石图可以看出从第4个因子开始,特征值差异变化很小,综上所述:在特征值大于0.5的条件下,所提取的三个因子能通过检验并能很好的描述8个指标,所以提取前3个特征值建立因子载荷矩阵。

image.png

表中为初始因子载荷矩阵表, F1、F2、F3分别作为第一、第二、第三公共因子。建立了因子分析数学目的不仅仅要找出公共因子以及对变量进行分组,更重要的要知道每个公共因子的意义,以便进行进一步的分析,如果每个公共因子的含义不清,则不便于进行实际背景的解释。由于因子载荷阵是不唯一的,所以应该对因子载荷阵进行旋转。目的是使因子载荷阵的结构简化,使载荷矩阵每列或行的元素平方值向0和1两极分化。有三种主要的正交旋转法。四次方最大法、方差最大法和等量最大法。

因此需求进行因子旋转,使得因子对变量的贡献达到极化的效果。为此采用方差最大化的正交旋转方式,使各变量在某个因子上产生较高载荷,而其余因子上载荷较小,从而得到旋转后的因子载荷矩阵,如下表所示:

image.png

   由表和旋转后的因子图可以看出,通过旋转后的公共因子的解释原始数据的能力提高了,表现为公共因子F1在X1(地区生产总值),X6(全社会固定资产投资)和X8(人均地区生产总值)上的载荷值都很大。因此我们可以把第一公共因子确立为综合经济实力因子,宏观上反映了地区经济发展规模的总体情况,在这个因子上的得分越高,说明城市经济发展的总体情况越好。

利用各公共因子方差贡献率计算综合得分,并计算综合得分=因子1的方差贡献率*因子1的得分+因子2的方差贡献率*因子2的得分+因子3的方差贡献率*因子3的得分。将数据按综合得分降序排列,得到部分因子得分和综合得分情况如下图所示:

image.png

image.png

image.png

结果讨论

基于上述因子得分,可以得出2012年重庆38个区县的经济发展状况如下:

1、根据经济实力因子F1得分大于1的依次有渝中区、渝北区、九龙坡区、江北区和万州区,分数分别为4.4211、1.8967、1.7808、1.201、1.2804。说明在经济总体规模和建筑业方面,渝中区、渝北区、九龙坡、江北区和万州区在重庆市的38个区县中是最好的,规模较大,经济实力最强,发展前景很好,经济发展实力雄厚的地区。

2、根据经济发展潜力因子F2得分大于1的有沙坪坝区和渝北区,分数分别为3.7052、3.4396。说明在高技术科技和工业方面比较发达,固定资产投资最大,这两个地区都在主城,对外开放程度高,科技创新方面比较好,有自己的工业发展,已基本形成了自己的产业结构,充分发挥了自己的地理优势和资源环境优势,发展潜力较大。


基于主因子得分的聚类分析


系统聚类分析

聚类分析又称群分析,就是将数据分组成为多个类。在同一个类内对象之间具有较高的相似度,不同类之间的对象差别较大。在社会经济领域中存在着大量分类问题,比如若对某些大城市的物价指数进行考察,而物价指数很多,有农用生产物价指数、服务项目价指数、食品消费物价指数、建材零售价格指数等等。由于要考察的物价指数很多,通常先对这些物价指数进行分类。总之,需要分类的问题很多,因此聚类分析这个有用的工具越来越受到人们的重视,它在许多领域中都得到了广泛的应用。

聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等;最常用最成功的聚类分析为系统聚类法,系统聚类法的基本思想为先将n个样品各自看成一类,然后规定样品之间的“距离”和类与类之间的距离。选择距离最近的两类合并成一个新类,计算新类和其他类(各当前类)的距离,再将距离最近的两类合并。这样,每次合并减少一类,直至所有的样品都归成一类为止。

系统聚类法的基本步骤:

1、计算n个样品两两间的距离。

2、构造n个类,每个类只包含一个样品。

3、合并距离最近的两类为一新类。

4、计算新类与各当前类的距离。

5、重复步骤3、4,合并距离最近的两类为新类,直到所有的类并为一类为止。

6、画聚类谱系图。

7、决定类的个数和类。

系统聚类方法:1、最短距离法;2、最长距离法;3、中间距离法;4、重心法;5、类平均法;6、离差平方和法(Ward法)。

基于主因子得分对重庆市38个区县经济发展分析,采用聚类方法选择组间链接法,计算距离选择平方欧式距离,标准化数据才用标准正太数据化处理。得到如下结果:

rct.st(hc,k = 6, border = "red")

image.png

由树状图可知,可以将重庆各区县按经济中和实力实际情况分为六类:

第一类只包括渝中区,渝中区是重庆市的中心城市,是重庆市的政治经济文化中心、基础教育高地、具有特殊的区位优势和突出的战略地位。产业结构的现状特征是第三产业占绝对优势,其中金融业、商贸业以及中介服务业为主导行业,属于经济发展实力雄厚的地区。

第二类只包括渝北区,渝北区先后启动了总体规划近65平方公里的重庆科技产业园、重庆现代农业园区、渝东开发区等项目,被市政府命名为"重庆农业科技园区",所以该地区在高技术生产总值贡献很大,而且投资环境优越,且大部分地区有个自己中心商业地带,对外开放程度高,区位优势很明显,产业结构合理,属于经济发展较强的地区。

关于分析师

在此对Li Yu对本文所作的贡献表示诚挚感谢,她完成了应用统计学位,擅长MATLAB、R语言、Python相关数据回归分析、多元统计。

相关文章
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
26天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
42 3
|
2月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
6月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
6月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
3月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
3月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
3月前
|
机器学习/深度学习 数据采集
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分类分析预测房价及交叉验证
上述介绍仅为简要概述,每个模型在实施时都需要仔细调整与优化。为了实现高度精确的预测,模型选择与调参是至关重要的步骤,并且交叉验证是提升模型稳健性的有效途径。在真实世界的房价预测问题中,可能还需要结合地域经济、市场趋势等宏观因素进行综合分析。
71 3
|
6月前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
下一篇
无影云桌面