知方号

知方号

R语言与因子分析

R语言与因子分析

因子分析 因子分析概述 因子分析时降维的一种方法,是主成分分析的推广和发展因子分析时分析隐藏在表面现象背后的因子作用的统计模型。试图用最少个数的不可测的公共因子的线性函数与特殊因子之和来描述原来观测的每一个分量因子分析时研究相关阵或协方差阵的内部依赖关系,它将多个变量综合为少数几个因子,以再现原始变量与因子之间的相关关系。 因子分析的主要用途 较少分析变量的个数通过对变量间相关关系的探测,将原始变量分组,即将相关性高的变量分为一组,用共性因子来代替该变量是问题背后的业务因素的意义更加清晰呈现 因子分析与主成分分析的区别

主成分分析侧重“变异量”,通过转换原始变量为新的组合变量使到数据的“变异量”最大,从而能把样本个体之间的差异最大化,但得出来的主成分往往从业务场景的角度难以解释

因子分析更重视相关变量的“共变异量”,组合的是相关性较强的原始变量,目的是找到背后起作用的少量关键因子,因子分析的结果往往更容易用业务知识取加以解释。

因子载荷矩阵和特殊方差矩阵的估计方法

主成分法主因子法极大似然法 因子模型

因子分析的一般模型为:

其中F=(f1 + f2 +…+ fm)T为公共因子向量,为特殊因子向量,为因子载荷矩阵。

因子载荷矩阵的统计意义

参数估计

为了建立因子模型,我们首先要估计因子载荷矩阵A和特殊方差矩阵D,常用的参数估计方法有下面三种:

主成分法主因子法极大似然法

例 9.7 对55个国家和地区的男子竞赛记录做统计,每位运动员记录8项指标:100米跑(X1),200米跑(X2),400米跑(X3),800米跑(X4),1500米跑(X5),5000米跑(X6),10000米跑(X7),马拉松(X8)。8项指标的相关矩阵R如表9.4所示。取m=2,使用主成分法估计因子载荷和共性方差等指标。

因子分析的计算函数

在R中使用factanal()函数对数据进行因子分析,它可以从样本数据、样本的方差矩阵和相关矩阵出发对数据做因子分析,并可以直接给出方差最大的载荷因子矩阵。

函数factanal()采用极大似然法估计参数,其使用格式为:

其中:

x是数据的公式,或者是由数据(每个样本按行输入)构成的矩阵,或者是数据框factors是因子的个数data是数据框,当x由公式形式给出时使用covmat是样本的协方差矩阵或样本的相关矩阵,此时不需要输入变量xscores表示因子得分的方法,scores=“regression”表示用回归方法计算因子得分,当参数为scores=”Bartlett”,表示用Bartlett方法计算因子得分。缺省值为none,即不计算因子得分。rotation表示旋转,缺省值为方法最大旋转,当rotation=”none”时,不做旋转变换。

例 9.11 取m=2,用factanal()函数估计例 9.7因子载荷和共性方差等指标,参数选择方差最大。

输入数据样本的相关矩阵:

进行因子分析(极大似然法进行参数估计),首先不进行方差最大的旋转变换:

进行方差最大的旋转变换:

在上述信息中:

call表示调用函数的方法uniqueness是特殊方差,即的值。loadings是因子载荷矩阵,其中Factor1,Factor2是因子,X1, X2, …, X8是对应的变量SS loadings是公共因子fj对变量X1, X2,…, Xp的总方差贡献,即:Proportaion Var是方差贡献率,即:Cumulative Var是累计方差贡献率,即:

在计算结果中,因子f1后几个变量(X6,X7,X8)的载荷因子接近于1,这些变量设计的是长跑,因此可以称f1为耐力因子。而因子f2中前几个变量(X1, X2)接近于1,涉及的是短跑,因此可称f2是速度因子。

以上从计算结果中得到的因子信息,在未做方差最大的旋转变换时,是很难再计算结果中发现的业务意义,这也说明了在因子分析中,对结果进行旋转变换的重要意义。这也是因子分析与主成分分析区别中的优势:可以更加清晰的刻画分析结果的潜在的业务意义。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。