精华内容
下载资源
问答
  • 做因子分析的目的
    千次阅读
    2019-09-02 17:00:18

    https://www.jianshu.com/p/bd6a6ed29f9f

    系统聚类分析可以对变量进行分类,但是难以判断变量分类结果的合理性。另外,如果要衡量每个变量对类别的贡献,也难以通过聚类分析来实现。这个时候就要采用因子分析来实现了。因子分析就是找出隐藏在变量背后具有共性的因子。

    因子分析是通过研究变量间的相关系数矩阵,把这些变量间错综复杂的关系归结成少数几个综合因子,并据此对变量进行分类的一种统计分析方法。由于归结出的因子个数少于原始变量的个数,但是它们又包含原始变量的信息,所以,这一分析过程也称为降维。

    因子分析的主要目的有以下三个:

    (1)探索结构:在变量之间存在高度相关性的时候我们希望用较少的因子来概括其信息;

    (2)简化数据:把原始变量转化为因子得分后,使用因子得分进行其他分析,比如聚类分析、回归分析等;

    (3)综合评价:通过每个因子得分计算出综合得分,对分析对象进行综合评价。

    因子分析就是将原始变量转变为新的因子,这些因子之间的相关性较低,而因子内部的变量相关程度较高。

    (1)因子载荷

    因子载荷就是每个原始变量和每个因子之间的相关系数,它反映了变量对因子的重要性。通过因子载荷值的高低,我们能知道变量在对应因子中的重要性大小,这样能够帮助我们发现因子的实际含义,有利于因子的命名。当有多个因子的时候,因子载荷将构成一个矩阵,称为因子载荷矩阵。

    (2)变量共同度

    变量共同度就是每个变量所包含的信息能够被因子所解释的程度,其取值范围介于0和1之间,取值越大,说明该变量能被因子解释的程度越高。

    (3)因子旋转

    因子分析的结果需要每个因子都要有实际意义,有时,原始变量和因子之间的相关系数可能无法明显地表达出因子的含义,为了使这些相关系数更加显著,可以对因子载荷矩阵进行旋转,使原始变量和因子之间的关系更为突出,从而对因子的解释更加容易。旋转方法一般采用最大方差法,该方法能够使每个变量尽可能在一个因子上有较高载荷,在其余的因子上载荷较小,从而方便对因子进行解释。

    (4)因子得分

    因子得分可以用来评价每个个案在每个因子上的分值,该分值包含了原始变量的信息,可以用于代替原始变量进行其他统计分析,比如回归分析,可以考虑将因子得分作为自变量,与对应的因变量进行回归。

    原始变量的数值是可以直接观测到的,而因子得分只能通过原始变量和因子之间的关系计算得到,并且因子得分是经过标准化之后的数值,各个因子得分之间不受量纲的影响。

    因子分析步骤:

    (1)判断数据是否适合因子分析;

             因子分析的变量要求是连续变量,分类变量不适合直接进行因子分析;建议个案个数是变量个数的5倍以上,这只是一个参考依据,并不是绝对的标准;KMO检验统计量在0.5以下,不适合因子分析,在0.7以上时,数据较适合因子分析,在0.8以上时,说明数据极其适合因子分析。

    (2)构造因子变量;

    (3)利用因子旋转方法使得因子更具有实际意义;

    (4)计算每个个案因子得分;

    确定提取因子个数的标准:

    (1)初始特征值大于1的因子个数;

    (2)累积方差贡献率达到一定水平(60%)的因子个数;

    (3)碎石图中处于较陡峭曲线上所对应的因子个数;

    (4)依据对研究事物的理解而指定因子个数;

     

    更多相关内容
  • 统计分析-因子分析

    2017-12-28 16:45:56
    因子分析的基本目的就是用少数几个因子去描述许多指标或因素之间的联系,即将相关比较密切的几个变量归在同一类中,每一类变量就成为一个因子,以较少的几个因子反映原资料的大部分信息。运用这种研究技术,我们可以...
  • 因子分析后如何进行聚类分析?

    千次阅读 2022-05-31 18:19:54
    想要根据短视频平台调查的数据进行聚类分析,由于分析项过多,所以先进行因子分析,将得到的因子得分进行聚类分析后进行命名,以及和其他基本个体特征比如性别进行交叉分析最终得到结论。 二、SPSSAU操作 因..

    一、案例说明

    1.案例背景

    研究短视频平台用户行为的分类情况,调查搜集了200份数据其中20项可分为品牌活动,品牌代言人,社会责任感,品牌赞助和购买意愿品牌五个维度。案例数据中还包括基本个体特征比如性别、年龄,学历,月收入等。以及短视频平台观看情况和消费情况。数据样本为200个。

    2.分析目的

    想要根据短视频平台调查的数据进行聚类分析,由于分析项过多,所以先进行因子分析,将得到的因子得分进行聚类分析后进行命名,以及和其他基本个体特征比如性别进行交叉分析最终得到结论。

    二、SPSSAU操作

    因为案例的预设维度为5所以将分析项拖拽到右侧分析框后,下拉选择因子个数为5并勾选因子得分。

    三、因子分析结果

    1.前提条件

    KMO值与Bartlete球形检验

    分析结果来源于SPSSAU

    使用因子分析进行信息浓缩研究,首先分析研究数据是否适合进行因子分析,从上表可以看出:KMO值为0.929,大于0.6,满足因子分析的前提要求,意味着数据可用于因子分析研究。以及数据通过Bartlett 球形度检验(p<0.05),说明研究数据适合进行因子分析。接下来查看分析项是否需要调整。

    2.因子与测量项之间的关系

    因子分析进行因子浓缩时,通常会经历多个重复循环,删除不合理项,并且重复多次循环,最终得到合理结果。一般出现的情形我们分为两种,一种为“张冠李戴”,一种为“纠缠不清”,具体描述如下。

    (1)“张冠李戴”

    一般情况下,如果20项与5个因子之间的对应关系情况,与专业知识情况不符合,比如第一项本该属于第二个因子但是被划分到了第一个因子下面,此时则说明可能该项应该被删除处理,其出现了‘张冠李戴’现象。例如案例中的“购买意愿1”和“购买意愿4”。

    (2)“纠缠不清”

    除了“张冠李戴”现象,有时候会出现‘纠缠不清’现象,比如案例中的“品牌赞助4”可归属为因子2,同时也可归属到因子4,这种情况较为正常(称作‘纠缠不清’),需要结合实际情况处理即可,可将该项删除,也可不删除,这时,分析带有一定主观性。

    Step1: 第一次分析

    本例子中共20个分析项,此20个分析项共分为5个维度,因此在分析前可主动告诉SPSSAU,此20项是五个因子,否则SPSSAU会自动判断多少个因子(通常软件自动判断与实际情况有很大出入,所以建议主动设置因子个数)。如下图:

    从上图中可以看出:

    品牌活动1-4这4项,它们全部对应着因子1,因子载荷系数值均高于0.4,说明此4项应该同属于一个维度,即逻辑上品牌活动1-4这4项,并没有出现 “张冠李戴”现象。4个分析项值隶属于因子1一个维度也没有出现“纠缠不清”的情况。

    品牌代言人1-4共4项,它们全部对应着因子1,但是品牌代言人3、品牌代言人4同时又属于因子3,属于“纠缠不清”,暂不处理。

    “社会责任感1-4”共4项,此4项均对应着因子1或因子3,此3项并没有出现‘张冠李戴’问题,但是出现了“纠缠不清”。

    “品牌赞助1-4”共4项,它们全部对应着因子2,“品牌赞助4”既对应因子2又对应因子4出现了“纠缠不清”,应该给予关注。

    “购买意愿1-4”共四项,当他们对应因子4则“购买意愿1”出现“张冠李戴”若对应因子5则“购买意愿4”出现“张冠李戴”。

    总结上述分析可知:“购买意愿1”或者“购买意愿4”这两项出现“张冠李戴”,应该首先将此两项中的一项删除;而其他出现“纠缠不清”现象的,暂时不处理(进行关注即可)。此次将“购买意愿1”进行删除后重新分析(将“购买意愿4”删除也是可以的,由研究者自己决定)。

    Step2: 第二次分析

    将“购买意愿1”这项删除后,进行第二次分析。结果如下:

    分析结果来源于SPSSAU

    从上图可知“品牌代言人3”、“品牌代言人4”出现‘张冠李戴’现象,应该删除,以及“品牌活动1-4”、“品牌代言人1-2”等出现‘纠缠不清’现象,暂不处理,但应该给予关注。总结可知:应该将“品牌代言人3”、“品牌代言人4”先删除后再次进行第3次分析。

    Step3: 第三次分析

    将“品牌代言人3”、“品牌代言人4”删除后再次分析结果如下:

    分析结果来源于SPSSAU

    从上图可知“品牌代言人1-2”可同时出现在因子1和因子5下面,但考虑到因子5当前仅余下2项,因而表示可以接受,以及“社会责任感1-4”是一样的,最终找出五个因子,它们分别与项之间的对应关系良好。因子分析结束。

    3.调整因子后的结果

    (1)KMO 和 Bartlett 的检验

    分析结果来源于SPSSAU

    使用因子分析进行信息浓缩研究,首先分析研究数据是否适合进行因子分析,从上表可以看出:KMO值为0.915,大于0.6,满足因子分析的前提要求,意味着数据可用于因子分析研究。以及数据通过Bartlett 球形度检验(p<0.05),说明研究数据适合进行因子分析。

    (2)因子载荷系数表

    分析结果来源于SPSSAU

    从上图可知“品牌代言人1-2”可同时出现在因子1和因子5下面,但考虑到因子5当前仅余下2项,因而表示可以接受,以及“社会责任感1-4”是一样的,最终找出五个因子,它们分别与项之间的对应关系良好。分析项不需要进一步调整,接下来进行查看因子的提取个数以及信息浓缩情况。

    4.因子提取

    (1)方差解释率

    方差解释率可以说明因子包含原数据信息的多少,方差解释率越大说明因子包含的信息越多。因子分析中,主要关注旋转后的数据部分。由上图可以显示17个指标中,五个因子方差解释率分别为26.400%、21.703%、19.013%、15.359%以及7.087%,累积方差解释率由五项相加为89.563%,累积方差解释率这个值没有固定标准,一般超过60%都可以接受。特征根对于因子的提取有什么作用,以下展开来说。

    (2)特征根

    特征根一般是指标旋转前每个因子的贡献程度。此值的总和与项目数匹配,此值越大,代表因子贡献越大。当然因子分析通常需要综合自己的专业知识综合判断,即使是特征根值小于1,也一样可以提取因子。在进行因子分析时,研究者没有预设因子数,系统就会以特征根“大于1”为标准进行划分。因为此案例在分析前的预设因子个数为4所以也同样可以进行分析。除了特征根之外SPSSAU还提供了更加直观的碎石图帮助判断。

    (3)碎石图

    分析结果来源于SPSSAU

    从图中可以看出,横轴表示指标数,纵轴表示特征根值,当提取前5个因子时,特征根值变化较明显,对解释原有变量的贡献较大;当提取5个以后的因子时,特征根变化也相对平稳,对原有变量贡献相对较小,由此可见提取前5个因子对原变量有的显著作用。碎石图仅辅助决策因子个数,如果由此图分析三个因子也是可以的。

    此案例按专业知识来看提取5个因子,如果没有预设因子个数也可以默认让系统进行决策。提取后要观察因子的信息浓缩程度。

    5.信息浓缩

    旋转后因子载荷系数表

    旋转后因子载荷系数可以用于判断因子与题项之间的对应关系,如果出现“张冠李戴”或者“纠缠不清”的情况需要关注,上述结果已经是处理后的结果,以及各个题项的共同度。如果某分析项对应的多个因子载荷系数绝对值均低于0.4,可考虑删除该项。上图分析中均大于0.4。所以不用删除调整。

    从结果中可以看出,使用因子分析对14个项进行浓缩处理,浓缩为四个因子。因子与题项对应关系如下:

    其中品牌活动1-4在因子1上有较高的载荷,说明因子1可以解释这几个分析项,它们主要反映了短视频平台进行品牌传播中的品牌活动;品牌赞助1-4在因子2上有较高的载荷,它们主要反映了短视频平台进行品牌传播中的品牌赞助活动;社会责任感1-4在因子3上有较高的载荷,它们主要反映了短视频平台进行品牌传播的社会责任等;购买意愿2-4在因子4上有较高的载荷,它们主要反映了短视频平台某品牌用户的购买意愿,品牌代言人1-2在因子5上有较高的载荷,它们主要反映了短视频平台某品牌用的代言人受众情况。

    从上表可知:所有研究项对应的共同度值均高于0.4,意味着研究项和因子之间有着较强的关联性,因子可以有效的提取出信息。因为本篇案例是想得到因子得分后进行聚类分析进行命名得到有效结论用于公司决策。所以对于因子分析权重方面不进行赘述,如想了解,可以点击文末链接进行查看。

    6.因子得分

    因子分析往往是预处理步骤,后续还需要结合具体研究目的进行分析,如回归分析、聚类分析等。此时,可能需要用到因子得分,返回分析页面勾选[因子得分]即可生成因子得分。因为本篇案例的研究目的是利用因子得分进行聚类分析,所以需要勾选[因子得分],以及对因子得分进行命名。

    5个维度命名分别为品牌活动、品牌赞助、社会责任感、购买意愿以及品牌代言人如下:

    接下来利用因子得分进行聚类分析,聚类分析将从,聚类基本情况,方差分析,聚类效果的图示化以及聚类命名来说明。

    四、聚类分析结果

    首先要查看数据分布是否均匀,一般来说,每个类别的样本比例应分布均匀,如果出现某一类占比过大或过小,可以考虑重新设置聚类类别个数。

    1.聚类基本情况

    分析结果来源于SPSSAU

    使用聚类分析对样本进行分类,使用Kmeans聚类分析方法,从上表可以看出:最终聚类得到3类群体,此3类群体的占比分别是42.50%, 14.50%, 43.00%。整体来看,3类人群分布较为均匀,整体说明聚类效果较好。

    2.方差分析

    分析结果来源于SPSSAU

    聚类类别与聚类分析项进行交叉分析,如果呈现出显著性(p<0.05),意味着聚类得到的不同类别样本,在相同指标上有明显的差异。这说明参与聚类分析的5个变量能够很好的区分类别,类间差异足够大,其中p值越小说明明类别之间的差异越大。

    对不同类别进行均值比较除了可以查看方差分析还可以进行查看聚类项重要性对比。

    分析结果来源于SPSSAU

    如果某个指标重要性较低,考虑移出该指标。从上述结果看,所有研究项均呈现出显著性,说明不同类别之间的特征有明显的区别,聚类的效果较好。

    3.聚类效果的图示化

    可通过散点图直观展示聚类效果,使用任意两个聚类指标进行散点图绘制(可视化模块里面的散点图),并且在‘颜色区分(定类)[可选]框中放入‘聚类类别’项,以查看不同类别时,两两指标的散点效果。

    分析结果来源于SPSSAU

    从图中可以发现各个类别之间有明显的区别,聚类的效果较好。其中发现第一个类别品牌活动与品牌代言人都比较大,建议研究时可以更加关注。

    4.聚类类别命名

    研究者也可以观察折线图趋势进行命名。参考如下:

    分析结果来源于SPSSAU

    通过上图可知,第一类人群在每个指标上的得分都比较高,可以命名为旅“品牌发烧友”。第二类人群在社会责任感、购买意愿得分较高,品牌代言人、品牌赞助得分较低,品牌活动介于二者之间,可命名为“品牌从众友”。第三类各项得分都较低,命名为“品牌冷淡者”。

    将三类命名:SPSSAU‘数据处理’- ‘数据标签’。

    5.聚类后的差异分析

    得到聚类类别之后,接着需要对比不同类别群体的差异性;如在“性别”、“年龄”上的差异性。最常见与个人信息情况做交叉分析,可以得到不同类型的人群分布情况便于结合不同群体提出针对性的建议措施。本次案例将聚类类别与“年龄”进行交叉分析,如下进行阐述。

    从上表可知,利用卡方检验(交叉分析)去研究年龄对于聚类类别共1项的差异关系,从上表可以看出:不同年龄样本对于聚类类别共1项呈现出显著性(p<0.05),意味着不同年龄样本对于聚类类别共1项均呈现出差异性,具体建议可结合括号内百分比进行差异对比。
    年龄对于聚类类别呈现出0.05水平显著性(chi=14.335, p=0.026<0.05),通过百分比对比差异可知,26-30岁选择品牌发烧友的比例49.21%,会明显高于平均水平42.50%。20-25岁选择品牌从众者的比例26.23%,会明显高于平均水平14.50%。36-40岁选择品牌冷淡者的比例53.33%,会明显高于平均水平43.00%。31-35岁选择品牌冷淡者的比例49.18%,会明显高于平均水平43.00%。可以根据数据结果进一步决策。也可以和“性别”、“学历”等进行交叉分析。这里不进行过多描述。

    五、其它

    1.聚类中心

    整体说明聚类效果较好

    上表为经过迭代后类中心的变化,数据是经过标准化后的,至于数据是否需要标准化,聚类算法是根据距离进行判断类别,因此一般需要在聚类之前进行标准化处理,SPSSAU默认是选中进行标准化处理。数据标准化之后,数据的相对大小意义还在(比如数字越大GDP越高),但是实际意义消失了。

    2.SSE

    对于聚类中心的SSE指标说明如下:

    在进行Kmeans聚类分析时SPSSAU默认输出误差平方和SSE值,该值可用于测量各点与中心点的距离情况,理论上是希望越小越好,而且如果同样的数据,聚类类别越多则SSE值会越小(但聚类类别过多则不便于分析)。SSE指标可用于辅助判断聚类类别个数,建议在不同聚类类别数量情况下记录下SSE值,然后分析SSE值的减少幅度情况,如果发现比如从2个聚类到3个6类别时SSE值减少幅度明显很大,那么此时选择3个聚类类别较好。比如该案例若聚类数为2,此时SSE值为872.226,但是当聚类数为3时此时SSE值为779.077,发现SSE减少幅度较大。所以可以看出选择3个聚类类别较好。

    六、总结

    本篇案例结合了线性回归与聚类分析,由于分析项过多,先进行因子分析,通过因子分析发现存在“张冠李戴”的情况,需要调整因子,调整因子后分析因子提取、信息浓缩情况,并且得到因子得分,进一步进行聚类分析,发现初步结果较好,将结果进行图示化展示,可以看出各个类别之间有明显的区别,将类别命名后,进行交叉分析,发现类别与年龄之间存在差异,并且具体描述,对公司或者平台对后续决策中提供有效结论。


    更多干货请登录SPSSAU官方网站查看。

    展开全文
  • 因子分析用Python怎么

    千次阅读 2021-05-13 00:26:18
    大家好,我是小z数据分析中,主成分分析(PCA)是被大家熟知的数据降维方法。而因子分析和主成分分析是非常相似的两种方法,他们都属于多元统计分析里的降维方法。但因子分析最大的优点就是:对新的...

    大家好,我是小z

    数据分析中,主成分分析(PCA)是被大家熟知的数据降维方法。而因子分析和主成分分析是非常相似的两种方法,他们都属于多元统计分析里的降维方法。但因子分析最大的优点就是:对新的因子能够进行命名和解释,使因子具有可解释性因此,因子分析可以作为「需要满足可解释性数据建模」的前期数据降维的方法。下文会介绍因子分析的原理逻辑、用途以及Python代码的实现过程。

    01

    什么是因子分析?

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

    因子分析在经济学、心理学、语言学和社会学等领域经常被用到,一般会探索出背后的影响因素如:语言能力、智力、理解力等。这些因素都是无法直接计算,而是基于背后的调研数据所推算出的公共因子。

    因此概括下,因子分析就是将存在某些相关性的变量提炼为较少的几个因子,用这几个因子去表示原本的变量,也可以根据因子对变量进行分类

    【举个例子】:学生有语文、英语、历史、数学、物理、化学六门成绩,通过因子分析会发现这六门课由两个公共因子驱动,前三门是由“文科”因子,后三门是“理科”因子;从而可以计算每个学生的文科得分和理科得分来评估他在两个方面的表现。

    02

    因子分析可以解决什么问题?

    1、在多变量场景下,挖掘背后影响因子

    比如在企业和品牌调研中,消费者会调查很多问题来评估企业品牌;对这些问题通过因子分析可以刻画出背后少量的潜在影响因素。比如:服务质量、商品质量等等。

    2、用于数学建模前的降维

    因子分析和主成分分析都可用于降维;但因子分析的优点是:因子作为新的解释变量去建模,有更好的解释性。

    因此对于有些需要业务解释的数据建模,可以在建模前通过因子分析提取关键因子,再用因子得分为解释变量,通过回归或者决策树等分类模型去建模。

    03

    算法实现步骤

    首先需要注意的是,和主成分分析一样,两种方法的目的都是降维,所以两种方法的前提假设都是:特征之间不是完全互相交互。

    因子分析是寻找不线性相关的“变量”的线性组合来表示原始变量,这些“变量”称为因子,如下图中的F就是因子,X是原始变量,eps是原始变量不可被公共因子表示的部分。

    以上的公式还需要满足:

    • 要求因子的数据小于原始变量的数量,即m≤p

    • 因子F之间是相互独立且方差为1

    • 因子F和eps之间的相关性为0,eps之间相关性为0

    因此,因子分析的过程就是实现以下几个目的的过程:

    1)求解方程中的因子F的系数

    2)给予因子F实际的解释

    3)展示原始特征和公共因子之间的关系,从而实现降维和特征分类等目的

    求解方程的过程,就是分析变量的相关系数矩阵,从而找到少数几个随机变量去描述所有变量;又因为求解的不唯一性,最后通常会对因子的载荷矩阵做一次正交旋转,目的是为了:方便理解每个因子的意义。

    汇总一下:对于因子分析的实操可以提炼为以下几个步骤:

    1)充分性检验

    目的:检验变量之间是否存在相关性,从而判断是否适合做因子分析

    方法:抽样适合性检验(KMO检验)或者 巴特利特检验(Bartlett’s Test)

    2)选择因子个数

    目的:通过数据定义最合适的潜在公共因子个数,这个决定后面的因子分析效果

    方法:Kaiser"s准则 或者 累积贡献率原则

    3)提取公共因子并做因子旋转

    提取公共因子就是上面提到的求解函数的过程,一般求解方法有:主成分法、最大似然法、残差最小法等等;

    因子旋转的原因是提取公共因子的解有很多,而因子旋转后因子载荷矩阵将得到重新分配,可以使得旋转后的因子更容易解释。常用的方法是:方差最大法。

    4)对因子做解释和命名

    目的:解释和命名其实是对潜在因子理解的过程;这一步非常关键,需要非常了解业务才可。这也是我们使用因子分析的主要原因。

    方法:根据因子载荷矩阵发现因子的特点

    5)计算因子得分

    对每一样本数据,得到它们在不同因子上的具体数据值,这些数值就是因子得分。

    04

    案例讲解

    数据集介绍:

    美国洛杉矶2000年街区普查数据,共有110个街区,15个变量,变量具体情况见下表;想分析影响不同街区下人口分布的潜在因子。

    第一步:数据预处理和分析:

    新增“人口密度”特征,删除特征人口量、面积、经度和维度。

    import pandas as pd 
    import numpy as np
    LA_data = pd.read_csv('LA.Neighborhoods.csv')
    # 新增人口密度,去掉人口量、面积、经度和维度
    LA_data['density'] = LA_data['Population']/LA_data['Area']
    LA_data_final = LA_data.drop(['Population','Area','Longitude','Latitude'],axis=1)
    LA_data_final_feat = LA_data_final.drop(['LA_Nbhd'],axis=1)
    

    第二步:因子分析——充分性检验

    巴特利特P值小于0.01,KMO值大于0.6;说明此数据适合做因子分析。

    # 计算巴特利特P值
    from factor_analyzer.factor_analyzer import calculate_bartlett_sphericity
    chi_square_value,p_value=calculate_bartlett_sphericity(LA_data_final_feat)
    chi_square_value, p_value  
    # 计算KMO值 
    from factor_analyzer.factor_analyzer import calculate_kmo
    kmo_all,kmo_model=calculate_kmo(LA_data_final_feat)
    print(kmo_model)
    

    第三步:因子个数确定

    特征值大于1的因子数有2个,且两个因子的累计方差有68%;因此确定因子个数为2个。

    # Create factor analysis object and perform factor analysis
    from factor_analyzer import FactorAnalyzer
    fa = FactorAnalyzer(LA_data_final_feat.shape[1]+1, rotation=None)
    fa.fit(LA_data_final_feat)
    ev, v = fa.get_eigenvalues() # 计算特征值和特征向量
    var = fa.get_factor_variance()#给出方差贡献率
    

    第四步:做因子分析

    调用因子分析函数,并得到因子载荷矩阵;从载荷矩阵可以看到,第一个因子和收入、有房家庭比例、复员军人比例及欧裔比例成正相关;第二个因子和非裔比例成正相关,反而和收入及有房比例等成负相关。

    fa = FactorAnalyzer(2, rotation="varimax")
    fa.fit(LA_data_final_feat)
    # 输出载荷矩阵
    df_loading = pd.DataFrame(fa.loadings_,index=LA_data_final_feat.columns.tolist())
    df_loading
    

    第五步:计算因子得分

    其中因子1得分越大表示:收入、有房家庭比例、复员军人比例及欧裔比例更高;因子2得分高表示:非裔人群比例更高。

    #计算因子得分
    LA_data_trans = pd.DataFrame(fa.transform(LA_data_final_feat),index=LA_data_final['LA_Nbhd'])
    
    
    #以散点图的形式呈现
    plt.figure(figsize=(10,4), dpi= 80)
    plt.subplot(1,2,1)
    plt.scatter(LA_data_trans.loc[:,0],LA_data_trans.loc[:,1])
    plt.title('Scree Plot')
    plt.xlabel('Factor1')
    plt.ylabel('Factor2')
    plt.grid()
    


    综上,以上就是本文要介绍的全部内容;因子分析在互联网数据分析场景下用到的比较少,主要原因就是很多人不知道怎么用?不知道用到哪里?希望看完文章的你能初步了解因子分析,能知道下面几个问题的答案(不记得就回头看上面的介绍分享哦)。

    1. 什么是因子分析?

    2. 因子分析可以解决什么问题?

    3. 因子分析的算法逻辑和分析流程是什么?

    4. Python代码如何实现?

    展开全文
  • 想要根据短视频平台调查的数据进行因子分析,判断因子与测量项之间的关系得到相应维度,对于二级指标使用熵值法进行求取权重,一级指标由因子分析得到的相应维度进行计算权重,最后汇总总结。因为案例的预设维度为5...

    一、案例说明

    案例背景与研究目的

    研究短视频平台不同维度所占权重情况,调查搜集了200份数据其中20项可分为品牌活动,品牌代言人,社会责任感,品牌赞助和购买意愿品牌五个维度。案例数据中还包括基本个体特征比如性别、年龄,学历,月收入等。以及短视频平台观看情况和消费情况。数据样本为200个。

    想要根据短视频平台调查的数据进行因子分析,判断因子与测量项之间的关系得到相应维度,对于二级指标使用熵值法进行求取权重,一级指标由因子分析得到的相应维度进行计算权重,最后汇总总结。

    二、SPSSAU操作

    因为案例的预设维度为5所以将分析项拖拽到右侧分析框后,下拉选择因子个数为5。此次案例利用因子分析计算权重,所以不需要勾选“因子分析”与“综合得分”。

    SPSSAU

    三、因子分析结果

    1.KMO值与Bartlete球形检验

    使用因子分析进行信息浓缩研究,首先分析研究数据是否适合进行因子分析,从上表可以看出:KMO值为0.929,大于0.6,满足因子分析的前提要求,意味着数据可用于因子分析研究。以及数据通过Bartlett 球形度检验(p<0.05),说明研究数据适合进行因子分析。接下来查看分析项是否需要调整。

    2.因子与测量项之间的关系

    因子分析进行因子浓缩时,通常会经历多个重复循环,删除不合理项,并且重复多次循环,最终得到合理结果。一般出现的情形我们分为两种,一种为“张冠李戴”,一种为“纠缠不清”,具体描述如下。

    (1)“张冠李戴”

    一般情况下,如果20项与5个因子之间的对应关系情况,与专业知识情况不符合,比如第一项本该属于第二个因子但是被划分到了第一个因子下面,此时则说明可能该项应该被删除处理,其出现了‘张冠李戴’现象。例如案例中的“购买意愿1”和“购买意愿4”。

    (2)“纠缠不清”

    除了“张冠李戴”现象,有时候会出现‘纠缠不清’现象,比如案例中的“品牌赞助4”可归属为因子2,同时也可归属到因子4,这种情况较为正常(称作‘纠缠不清’),需要结合实际情况处理即可,可将该项删除,也可不删除,这时,分析带有一定主观性。

    Step1: 第一次分析

    本例子中共20个分析项,此20个分析项共分为5个维度,因此在分析前可主动告诉SPSSAU,此20项是五个因子,否则SPSSAU会自动判断多少个因子(通常软件自动判断与实际情况有很大出入,所以建议主动设置因子个数)。如下图:

    从上图中可以看出:

    品牌活动1-4这4项,它们全部对应着因子1,因子载荷系数值均高于0.4,说明此4项应该同属于一个维度,即逻辑上品牌活动1-4这4项,并没有出现 “张冠李戴”现象。4个分析项值隶属于因子1一个维度也没有出现“纠缠不清”的情况。

    品牌代言人1-4共4项,它们全部对应着因子1,但是品牌代言人3、品牌代言人4同时又属于因子3,属于“纠缠不清”,暂不处理。

    “社会责任感1-4”共4项,此4项均对应着因子1或因子3,此3项并没有出现‘张冠李戴’问题,但是出现了“纠缠不清”。

    “品牌赞助1-4”共4项,它们全部对应着因子2,“品牌赞助4”既对应因子2又对应因子4出现了“纠缠不清”,应该给予关注。

    “购买意愿1-4”共四项,当他们对应因子4则“购买意愿1”出现“张冠李戴”若对应因子5则“购买意愿4”出现“张冠李戴”。

    总结上述分析可知:“购买意愿1”或者“购买意愿4”这两项出现“张冠李戴”,应该首先将此两项中的一项删除;而其他出现“纠缠不清”现象的,暂时不处理(进行关注即可)。此次将“购买意愿1”进行删除后重新分析(将“购买意愿4”删除也是可以的,由研究者自己决定)。

    Step2: 第二次分析

    将“购买意愿1”这项删除后,进行第二次分析。结果如下:

    从上图可知 “品牌代言人3”、“品牌代言人4”出现‘张冠李戴’现象,应该删除,以及“品牌活动1-4”、“品牌代言人1-2”等出现‘纠缠不清’现象,暂不处理,但应该给予关注。总结可知:应该将“品牌代言人3”、“品牌代言人4”先删除后再次进行第3次分析。

    Step3: 第三次分析

    将“品牌代言人3”、“品牌代言人4”删除后再次分析结果如下:

    从上图可知

    “品牌代言人1-2”可同时出现在因子1和因子5下面,但考虑到因子5当前仅余下2项,因而表示可以接受,以及“社会责任感1-4”是一样的,最终找出五个因子,它们分别与项之间的对应关系良好。因子分析结束。

    3.调整因子后的结果

    由于此次案例分析着重描述利用因子分析计算权重所以对于因子提取、信息浓缩结果将简单进行描述,如果想要详细的分析结果请登录SPSSAU上传数据进行分析。

    4.因子提取与信息浓缩

    (1)因子提取

    上表格针对因子提取情况,以及因子提取信息量情况进行分析,从上表可知:因子分析一共提取出5个因子,此5个因子旋转后的方差解释率分别是26.400%,21.703%,19.013%,15.359%,7.087%,旋转后累积方差解释率为89.563%。累积方差解释率这个值没有固定标准,一般超过60%都可以接受。

    (2)信息浓缩

    旋转后因子载荷系数表

    因子1品牌活动;因子2品牌赞助;因子3社会责任感;因子4购买意愿,因子5上有较高的载荷,它们主要反映了短视频平台某品牌用的代言人受众情况为品牌代言人。利用旋转后的方差解释率计算五个一级指标的权重:

    利用旋转后的方差解释率归一化得到各个维度的权重:因子1权重:0.264/0.896=0.295 因子2权重:0.217/0.896=0.242:因子3权重:0.190/0.896=0.212,因子4权重0.154/0.896=0.172,因子5权重0.071/0.896=0.079。

    到此,因子分析结束,上述因子分析的目的是进行判断因子与测量项之间关系,进行重复分析,删除不满足分析的分析项,描述相应的五个维度,利用旋转后的方差解释率计算五个一级指标的权重。接下来利用SPSSAU熵值法计算二级指标权重得到权重后进行最后的权重计算。

    四、二级指标权重计算

    1.二级指标权重结果

    将因子分析确定的最终17个二级指标利用SPSSAU进行熵值法,因为17项是五个维度下的指标所以重复进行五次熵值法分析,得到品牌活动二级指标的权重如下:

    使用熵值法对品牌活动1等总共4项进行权重计算,从上表可以看出:品牌活动1, 品牌活动2, 品牌活动3, 品牌活动4总共4项,它们的权重值分别是0.247, 0.266, 0.235, 0.252。并且各项间的权重相对较为均匀,均在0.250附近。

    品牌赞助二级指标的权重如下:

    使用熵值法对品牌赞助1等总共4项进行权重计算,从上表可以看出:品牌赞助1, 品牌赞助2, 品牌赞助3, 品牌赞助4总共4项,它们的权重值分别是0.225, 0.237, 0.271, 0.267。并且各项间的权重相对较为均匀,均在0.250附近。

    社会责任感二级指标的权重如下:

    分析结果来源于SPSSAU

    使用熵值法对社会责任感1等总共4项进行权重计算,从上表可以看出:社会责任感1, 社会责任感2, 社会责任感3, 社会责任感4总共4项,它们的权重值分别是0.254, 0.256, 0.224, 0.265。并且各项间的权重相对较为均匀,均在0.250附近。

    品牌代言人二级指标的权重如下:

    使用熵值法对品牌代言人1等总共2项进行权重计算,从上表可以看出:品牌代言人1, 品牌代言人2总共2项,它们的权重值分别是0.490, 0.510。并且各项间的权重相对较为均匀,均在0.500附近。

    购买意愿二级指标的权重如下:

    分析结果来源于SPSSAU

    使用熵值法对购买意愿2等总共3项进行权重计算,从上表可以看出:购买意愿2, 购买意愿3, 购买意愿4总共3项,它们的权重值分别是0.327, 0.340, 0.332。并且各项间的权重相对较为均匀,均在0.333附近。

    综上所述可以得到品牌赞助、社会责任感、品牌代言人、品牌活动以及购买意愿的权重分别为0.242、0.212、0.079、0.295以及0.172。将一级指标二级指标整理如下并计算相应的最终权重。

    2.最终权重结果

    比如,计算出一级指标权重分别为0.242、0.212、0.079、0.295以及0.172。二级指标购买意愿2权重为0.327,则购买意愿2最终权重值为0.172*0.327=0.06。根据权重结果可以发现各个一级指标的权重分布均匀,对于平台短视频也可以关注下用户的“品牌活动”。

    五、总结

    本次案例主要利用SPSSAU进行分析计算权重,使用的方法包括因子分析与熵值法组合,因为此次案例利用因子分析计算权重,所以不需要勾选“因子分析”与“综合得分”。通过因子与测量项之间的关系对相应的分析项进行调整,调整后得到因子分析结果,对于无关权重的结果不进行赘述,最终得到相应维度下的分析项以及一级指标的权重,计算二级指标的权重使用熵值法,因为分析得到的五个维度所以重复进行五次熵值法分析,利用因子分析与熵值法的权重结果得到各项的最终权重。

    展开全文
  • 将图1所示的因子模型推广至一般意义上的因子模型后,各观测变量x_i与m个公共因子ξ1,ξ2,...,ξm之间的关系可以用数学模型表示如下:x1=λ11ξ1+λ12ξ2+ ... +λ1mξm+δ1......xk=λk1ξ1+λk2ξ2+ ... +λkmξm+...
  • 因子分析全流程汇总

    千次阅读 2022-04-02 17:23:11
    因子分析(探索性因子分析)用于探索分析项(定量数据)应该分成几个因子(变量),比如20个量表题项应该分成几个方面较为合适;用户可自行设置因子个数,如果不设置,系统会以特征根值大于1作为判定标准设定因子个数。 二、...
  • 因子分析目的是根据一些称为因子的潜在且不可观察的随机量来尽可能描述许多变量之间的协方差关系。 它可以被认为是主成分分析的扩展,但它的近似更精细。 因子模型假设具有 p 个分量的 X 可观察随机向量线性依赖...
  • 因子分析后如何进行回归分析?

    千次阅读 2022-05-31 18:36:40
    先通过因子分析,用少量因子反映分析题目的信息,从而达到降低维度,便于分析的目的,然后对因子命名用于回归分析。研究品牌四个维度对于购买意愿的影响,最终得到结论。 二、SPSSAU操作 因为案例的预设维度为4...
  • 本文基于广东省21个城市的数据,运用因子分析法构建了评价指标体系,得出了各地区在旅游目的地综合竞争力中的排名。 根据旅游综合能力得分,通过聚类分析对21个城市的竞争力进行了分类。 本文主要从旅游竞争力现实...
  • 主成分分析 与 因子分析

    千次阅读 2022-03-28 16:36:13
    一、 主成分分析二、因子分析 结论: 因子分析与主成分分析是包含与扩展的关系。 为了能够充分有效的利用数据,化繁为简是一项必的工作,希望将原来繁多的描述变量浓缩成少数几个新指标,同时尽可能多的保存旧变量...
  • 因子分析——python

    千次阅读 多人点赞 2022-01-18 19:13:23
    四、因子分析步骤 五、factor_analyzer库 四、实例详解 1.导入库 2.读取数据 3.充分性检测 3.1Bartlett's球状检验 3.2KMO检验 4.选择因子个数 4.1特征值和特征向量 4.2可视化展示 4.3 可视化中显示中文不报错 5....
  • python实战因子分析和主成分分析

    千次阅读 2021-05-28 20:00:52
    因子分析基础概念 因子分析是一种统计方法,可用于描述观察到的相关变量之间的变异性,即潜在的未观察到的变量数量可能更少(称为因子)。例如,六个观察变量的变化可能主要反映了两个未观察(基础)变量的变化。...
  • 基于R语言的因子分析

    千次阅读 多人点赞 2021-10-26 20:46:38
    1.1因子分析的基本思想 1.2因子分析模型 1.3因子分析的基本步骤 2.因子载荷求解 2.1极大似然法 2.2主成分法 2.3主成分方差最大化正交因子旋转法 2.4绘制因子载荷图 2.5绘制每个学生因子得分图 1.基本...
  • 探索性因子分析(EFA)因子分析的实用介绍:探索性因子分析目的:介绍1. 一个小案例(SAQ:SPSS Anxiety Questionnaire)2. 皮尔逊相关公式3. 因子分析的方差划分因子提取1. 主成份分析(PCA)2. 共同因子分析(CFA)a. ...
  • 因子分析(FA)算法简述

    万次阅读 多人点赞 2020-10-16 15:29:53
    在学习数据降维时,了解到因子分析(FA)算法是其中的一种方式,因此,在这里对因子分析算法一个简要的归纳、梳理,后续会对数据降维的几种方式个总结,感兴趣的朋友,可以持续关注。 一、什么是因子分析因子...
  • 因子分析

    千次阅读 2021-04-02 22:57:56
    因子分析法 今天博主想介绍一个很经典的降维方法因子分析法,很多人可能降维第一想到的是主成分分析法,确实主成分分析法是很经典的, 因子分析是指研究从变量群中提取共性因子的统计技术。最早由英国心理学家C.E....
  • 一、效度分析
  • SPSS 那么简单还免费,为什么还要用 Python 做因子分析(factor analysis)呢?工作狗表示,建模的目的是要卖钱的,也就是要嵌入到公司开发的产品上去,用 Python 写因子分析(factor analysis),总比找SPSS的接口...
  • 因子分析法之因子旋转

    万次阅读 2020-12-22 21:26:14
    建立因子分析模型的目的不仅是要找出公因子以及对变量进行分组,更重要的是要知道每个公因子的意义,以便对实际问题做出科学分析。因子旋转即对因子载荷矩阵A,用一个正交矩阵T右乘A实现对因子载荷矩阵的旋转(一次...
  • 文章目录因子分析基本理论因子载荷的求解因子旋转因子得分主成分分析与因子分析的区别因子分析的步骤与逻辑框图步骤逻辑框图 因子分析 因子分析( factor analysis)模型是主成分分析的推广。它也是利用降维的思想...
  • 因子分析——附数据下载

    千次阅读 热门讨论 2021-10-02 17:08:42
    因子分析的主要目的是用来描述隐藏在一组测量到的变量中的一些更基本的,但又无法直接测量到的隐性变量 。与主成分分析相似,因子分析也具有降维的功能,但与主成分分析不同之处在于,因子分析是对主成分分析的扩展...
  • 因子分析——matlab

    千次阅读 多人点赞 2022-01-18 15:03:55
    因子分析——matlab
  • 因子分析原理及结果解析

    千次阅读 2022-05-23 08:43:15
    因子分析及用SPSS做因子分析的步骤 因子分析的起源: 1904年英国的一个心理学家发现学生的英语、法语和古典语成绩非常有相关性,他认为这三门课程背后有一个共同的因素驱动,最后将这个因素定义为“语言能力”。基于...
  • 实用干货!因子分析超全步骤总结

    万次阅读 多人点赞 2020-07-13 12:15:18
    希望通过因子分析,用少量因子反映14个题目的信息,从而达到降低维度,便于分析的目的,并对因子命名用于后续分析。 二、分析步骤 Step1数据准备: 依据研究目的,收集相关数据。本例中就是我们收集得到...
  • Python——因子分析

    千次阅读 2020-12-22 04:03:39
    python-----因子分析因子分析用Python的一个典型例子一、实验目的采用合适的数据分析方法对下面的题进行解答二、实验要求采用因子分析方法,根据48位应聘者的15项指标得分,选出6名最优秀的应聘者。三、代码...
  • 8、spss做因子分析及主成分分析

    万次阅读 2015-04-15 15:34:21
    在之前关于相关的内容里,我们就说过,相关,回归等分析的时候,消除多重共线性是一个很复杂很复杂的问题,一次数据分析的变量多达三四十个是很正常的情况,这个时候调整变量的效果往往微乎其微,因此就需要用到一...
  • 主成分和因子分析原理及比较

    千次阅读 2021-02-05 03:43:06
    一、主成分分析原理主成分分析试图在力保数据信息丢失最少的原则下,对多个变量进行最佳综合简化,即对高维变量空间进行降维处理。假设原来有p个变量(或称指标),通常的做法是将原来p个变量(指标)作线性组合,以此新...
  • 希望通过因子分析,用少量因子反映14个题目的信息,从而达到降低维度,便于分析的目的,并对因子命名用于后续分析。 2分析步骤 Step1数据准备:依据研究目的,收集相关数据。本例中就是我们收集得到的14个问题的有关...
  • 数据分析之因子分析

    千次阅读 2020-12-20 20:21:25
    一、因子分析因子分析是通过研究变量间的相关...因子分析的主要目的有以下三个:1.探索结构:在变量之间存在高度相关性的时候我们希望用较少的因子来概括其信息;2.简化数据:把原始变量转化为因子得分后,使用因子...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,816
精华内容 19,926
热门标签
关键字:

做因子分析的目的