SqlCelPy-因子分析使用说明

一、问题产生背景

在实际应用中,我们往往试图收集很多变量来描述事物,从而达到对事物更全面的了解。变量越多,对事物特征的反应就越完整,但同时也给数据的分析带来一定的困难:大量描述同一事物特征的变量数据叠加在一起可能造成信息严重重复,甚至会掩盖事物内部的真正规律。

因此我们可以从描述事物属性的诸多变量中寻找一些对每个变量都起作用的新的潜在变量(公共因子),用这些潜在变量来解释每一条记录,而其它无法用公共因子解释的部分我们称之为特殊因子。比如,我们对学生的语文、数学与英语成绩进行分析,得知每个科目的成绩和一个变量都相关,我们称这个变量为智力。这个变量是虚构的,不可观测的,即因子。该因子反应了3个科目成绩的变异,因此是一个公共因子。每个科目的成绩除了和智力相关,还可能和其它因素相关,我们将其它因素笼统的用另一个虚拟变量来表示,这个虚拟变量称之为特殊因子。因子分析的目的就是为了找到这些公共因子,并计算每一条观测在公共因子上的得分,从而实现减少变量达到简化分析的目的。

我们在寻找公共因子的同时,也会试图给这个公共因子寻找一个有意义的解释,比如上文提到的“智力”。这对我们对公共因子的理解非常重要。

二、功能按钮说明

软件打开后界面如下:
在这里插入图片描述接下来具体介绍功能的使用:

1 选择数据集

选择的数据集需满足以下条件:
1) 首行是字段,且至少有两个字段
2) 每个字段均为数值型字段。
如下:
在这里插入图片描述

2 因子载荷计算方法

因子载荷矩阵体现了每个变量和因子之间的相关关系,一般因子载荷的值越大,说明对应变量和因子的依存度越高。
在众多计算因子载荷的方法中,哪种方法最有效并无定论。工具中提供了三种常用方法:

  1. 最小残差法:默认方法。对公共因子和特殊因子的分布均无要求。
  2. 最大似然法:要求公共因子和特殊因子服从正态性分布;
  3. 主成分法:首先对数据进行主一次成分分析,将前面的几个主成分作为未旋转的公共因子。使用该方法的优点是对公共因子和特殊因子的分布均无要求,缺点是计算出来的特殊因子之间是相关的。不过当共线性方差较大时,特殊因子之间的相关性是可以忽略的。
    如果公因子满足正态性分布,建议使用最大似然法。因子载荷计算方法的不同对变量的公因子方差估计和因子旋转后的因子模式均有影响。在选择计算方法的时候也要综合考虑这两方面的因素,即平衡公因子方差估计接近1和因子旋转后变量在某一个因子上有较高载荷之间的关系。

3 公共因子个数

控制输出几个公共因子。

4 因子旋转方法

进行因子载荷计算的最终目的不仅在于寻找公共因子,更重要的是对公共因子的意义进行解释。理想情况下我们希望看到变量在某个因子上具有高额载荷,而在其它因子上有较小载荷,这样更有利于我们分析公共因子的实际意义。如果公共因子的实际意义不明显,可以尝试因子旋转。经过旋转,因子的结果会发生变化。值得一提的是,旋转发生了变化不代表先前的因子结构是错误的,二者仅表示看问题的角度不同而已。
因子旋转分为正交旋转和斜交旋转。所谓正交旋转是由初始因子载荷矩阵右乘以正交矩阵。经过正交旋转得到的新的公共因子仍然保持彼此不相关的性质。而斜交旋转则是放松了因子彼此不相关这一限制,因而得到的公共因子可能是相互关联的。
1) promax(斜交旋转)
2) varimax(正交旋转)
3) none(不旋转)

5 因子得分计算

在因子分析中,我们最终感兴趣的可能是因子的得分。因子得分计算就是计算每一条观测在因子上的得分。勾选“因子得分计算”复选框将弹出选择数据集的对话窗口,如下:
在这里插入图片描述

  1. 训练数据集
    使用训练好的模型对训练数据集进行因子得分计算。所谓训练数据集即最开始选择的用于训练模型的数据集。
  2. 新数据集
    使用训练好的模型计算一个新选择的数据集的因子得分。

三、生成图表解释

1、 充分性测试
并不是所有的数据集都具有因子分析的价值。因此在做因子分析之前, 我们需要先做充分性检测,就是检测数据集中能否找到这些公共变量。生成图表如下:
在这里插入图片描述

如果Bartlett’s Test的p值小于0.05说明充分性显著。如果KMO Test的p值大于0.6说明充分性显著。
2、 相关系数矩阵
相关系数矩阵用来观察变量之间的相关性,如下:
在这里插入图片描述

因子分析要求变量之间具有较高的相关性。
3、 特征值
可参考特征值选择合适的因子个数,如下:
在这里插入图片描述

第一个特征值为3.9338解释方差占比78.68%,前2个特征值累积解释变异为89.52%,因此我们可以尝试设定公共因子个数为2个。
4、 旋转前因子模式
旋转前因子模式反应每个变量在因子上的因子载荷。如下:
在这里插入图片描述
我们从因子模式可以看出,除了变量Length,其余变量在两个因子上均具有较高载荷,而且载荷明显。这不利于因子意义的解释,因此可以尝试因子旋转。
5、 每个因子说明的方差
每个因子说明的方差表示每个因子对原始变量的解释能力(方差贡献)的度量。如下:
在这里插入图片描述
6、 最终的公因子方差估计
最终的公因子方差估计越接近1就说明所选择的因子越能解释原始变量。如下:
在这里插入图片描述
7、 旋转后因子模式
经过旋转后因子模式如下:
在这里插入图片描述
从该因子模式可以看出,公共因子Factor1包含三个高载荷的变量Weight、Wheelbase、Length,它们描述的是车型,我们也可以把它解释为“舒适性”。公共因子Factor2包含两个高载荷的变量MPG_City和MPG_Hightway,它们均描述油耗方面的信息,因此可以将公共因子Factor2解释为“油耗”。
8、 因子得分计算
使用训练好的模型计算数据集中每一条记录在因子上的得分。得出结果如下:
在这里插入图片描述

其中Factor1和Factor2是输出的两个因子得分。

下载

sqlcelpy下载地址

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值