因子分析原理及结果解析

因子分析原理及结果解析

因子分析的起源:

1904年英国的一个心理学家发现学生的英语、法语和古典语成绩非常有相关性,他认为这三门课程背后有一个共同的因素驱动,最后将这个因素定义为“语言能力”。基于这个想法,发现很多相关性很高的因素背后有共同的因子驱动,从而定义了因子分析。

主要思想:

因子分析主要基于降维的思想,通过探索变量之间的相关系数矩阵, 根据变量的相关性大小对变量进行分组,使同组内变量间的相关性较高,不同组变量的相关性较 低,而代表每组数据基本结构的新变量称为公共因子。也就是说,因子分析就是在尽可能不损失或
者少损失原始数据信息的情况下,将错综复杂的众多变量聚合成少数几个独立的公共因子,这几个 公共因子可以反映原来众多变量的主要信息,在减少变量个数的同时,又反映了变量之间的内在联 系。比如衡量某地区综合发展情况,我们可以通过因子分析,将六个指标(变量)聚合为两三个公共因子。

分类:

根据分析目的的不同,我们可以将因子分析分为探索性因子分析和验证性因子分析
探索性因子分析:将众多变量聚合为少数几个的公共因子,揭示观测变量之间的内在数据结构。
验证性因子分析:验证已分类的维度是否符合数据情况,是否有效。

用SPSS做因子分析的步骤:

1)充分性验证

充分性验证

2)选择因子变量提取方法

常用主成分分析法来提取公共因子变量,特征值>1、累计方差贡献率>80%时即可提取公共因子变量。但当指标比较多时,提取的因子可能不是很明显,因此这时候就需要旋转因子。

3)旋转因子

旋转因子是为了能对各原始变量更好地分类,常用最大方差法来旋转,旋转次数可以自己规定。

4)对因子做解释和命名

解释和命名是对潜在因子理解的过程,这一步非常关键,需要非常理解业务才行,这也是我们做因子分析的主要原因。

5)计算公共因子得分

对每一样本数据,得到他们在不同因子上的具体数据值,这些数值就是因子得分。
因子得分有助于之后的分析中将公共因子当作分析变量,而不再分析降维前的原始变量。

示范

spss操作步骤:

1):操作路径:工具栏【分析-降维-因子分析】将要进行分析的六个变量“人均GDP、固定资产投资、社会消费品零售总额、农村人均纯收入、科研机构数量、卫生机构数量”添加【变量】窗口中。
2):单击【描述】,打开【因子分析:描述】对话框,选择【原始分析结果】和【KMO和巴特利特的
球形度检验】,用于生成评估变量是否适合做因子分析的统计指标。
3):单击【抽取】,打开【因子分析:抽取】对话框,在【方法】下拉框中选择【主成分】,这是最常用的用于提取因子的方法;选择【碎石图】,用于辅助判断因子个数,其他保持系统默认状态。
4):单击【旋转】,弹出【因子分析:旋转】对话框,在旋转【最大方差法】,这是最常用的因子旋转的方法,该方法可以使每个变量尽可能在一个因子上有较高的载荷,而在其他的因子上载荷较小,
从而因子更好地解释因子所包含的意义。其他的项目保持系统默认。
5):单击【得分】,打开【因子分析:因子得分】对话框,选择【保存为变量】和【回归】,用于保存计算得到的因子得分

结果解析

在这里插入图片描述
“KMO和巴特利特检验”主要用于评估数据是否适合做因子分析。我们主要看KM0统计量和巴特
利特的概率P值。KMO统计量为0.635,大于0.6,说明本数据集还算适合做因子分析;Bartiett球
度检验的概率值为0,小于显著性水平(0.01),即说明所分析的变量之间存在相关关系,有相关性则适合做因子分析。
在这里插入图片描述
从结果来看,表中6个变量的共性方差均大于0.7,表示所有原始变量被公共因子解释的程度均超过
了0.7,即提取的公共因子能够反映各原始变量70%以上的信息。说明提取的公共因子能够很好的反映原始变量的信息。
在这里插入图片描述
表中内容包含6个变量初始特征值及方差贡献率、提取两个公共因子后的特征值及方差贡献率、旋转后的两个公共因子后的特征值及方差贡献率。第一成分的初始特征值为3.327,远大于1;第二成分的初始特征值为1.786,大于1;从第三成分开始,其初始特征值均小于1,故因此选择两个公共因子便可以得到85.2%的累计贡献率,即表示两个公共因子可以解释约85%的总方差,结果理想。
在这里插入图片描述
碎石图中明显发现第一个公因子和第二个公因子变化最大,其累计贡献率达到85%,这就说明从6个变量提取的两个公因子可以表达足够的原始信息。
在这里插入图片描述
成分矩阵:上表表示用主成分的提取方法得到旋转前的因子负荷矩阵,根据0.5的原则,因子1在前5个变量都有很大的负荷。因子2在后两个变量上有较大的负荷。“科研机构数量”这个变量在两个因子中的载荷比较接近,难以对因子进行明确定义,即难以判断该变量应该由哪个因子进行解释。因此需要进行因子旋转。
旋转成分矩阵:经过四次方最大旋转后,得到旋转后的因子负荷矩阵。同样根据0.5原则可知,因子1可以支配农村人均纯收入、人均GDP、社会消费品零售总额三个变量,反映的是社会经济情况。因子2可以支配卫生机构数量、科研机构数量、固定资产投资三个变量,反映的是产业结构因子。这个与上面没有旋转的第二公共因子包含的内容略有差别,这说明该旋转对因子负荷起到了明显的作用。故可以得到旋转后的因子分析模型为:
农村人均纯收入 = 0.961 * F1 + 0.196 * F2
人均GDP= 0.96 * F1 + 0.091 * F2
社会消费品零售总额 = 0.885 * F1 + 0.109 * F2
卫生机构数量= -0.098 * F1 + 0.922 * F2
科研机构数量= 0.207 * F1 + 0.897 * F2
固定资产投资= 0.34 * F1 + 0.778 * F2
在这里插入图片描述
采用回归法计算因子得分系数如上表所示,故可以得到因子得分函数为:
F1 = 人均GDP0.363 + 固定资产投资0.037+社会消费品零售总额 * 0.332 + 农村人均纯收入 * 0.35

  • 科研机构数量0.03 - 卫生机构数量 * 0.152
    F2 = - 人均GDP
    0.075 + 固定资产投资*0.324-社会消费品零售总额 * 0.058 - 农村人均纯收入 * 0.26
  • 科研机构数量*0.396 + 卫生机构数量 * 0.446
    根据上述得出的因子得分函数,并构造社会发展水平评估函数,由方差贡献率求城市化进程评估函数:
    Zi = (0.46605 * F1 + 0.38614 * F2)/ 0.85220

在这里插入图片描述

FAC1_2 FAC2_2 是spss软件自己算的F1 F2得分
score是我根据 Zi = (0.46605 * F1 + 0.38614 * F2)/ 0.85220 得出的综合得分。

特别说明:
在本次的计算中,spss默认为将数据进行了标准化处理。
在SPSS中,默认的标准化方法就是Z-score标准化法。
经过Z-score标准化后,数据将符合标准正态分布,即将有约一半观察值的数值小于0,另一半观察值的数值大于0,变量的均值为0,标准差为1,变化范围为-1≤X’≤1。

  • 33
    点赞
  • 368
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
因子分析是一种多变量统计方法,旨在找到多个观测变量之间的共同因素。它的基本思想是将多个观测变量表示为少数几个潜在因素的线性组合,通过这种方式来简化数据集并揭示变量之间的关系。 在因子分析中,我们假设每个观测变量都与若干个潜在因素有关,每个潜在因素又对应着一组权重,这些权重用来表示潜在因素对观测变量的影响。因子分析的目标是找到这些潜在因素和权重,使得它们能够最好地解释观测变量之间的关系。 下面是因子分析算法的一般步骤: 1. 收集数据并确定需要进行因子分析的变量。 2. 确定因子数量,即要分析的潜在因素的数量。 3. 选择合适的因子提取方法,如主成分分析法或最大似然估计法。 4. 计算因子载荷,即每个变量与每个因子之间的关系强度。 5. 旋转因子载荷,以更好地解释变量之间的关系。 6. 解释因子,确定每个因子代表的含义。 7. 计算因子得分,以便将数据转换为因子空间中的坐标。 下面是使用Python实现因子分析的示例代码: ```python import pandas as pd from factor_analyzer import FactorAnalyzer # 读取数据 data = pd.read_csv('data.csv') # 创建因子分析对象,并指定因子数量 fa = FactorAnalyzer(n_factors=3, rotation='varimax') # 使用最大似然估计方法进行因子提取 fa.fit(data) # 显示因子载荷 print(fa.loadings_) # 显示因子方差贡献率 print(fa.get_factor_variance()) # 显示因子得分 print(fa.transform(data)) ``` 在上面的代码中,我们使用了`pandas`库来读取数据,然后使用`factor_analyzer`库中的`FactorAnalyzer`类来进行因子分析。我们指定了要分析的因子数量为3,并使用了最大似然估计方法进行因子提取。最后,我们显示了因子载荷、因子方差贡献率和因子得分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值