建模方法(四)-因子分析定义和应用

版权声明:本文为博主编写文章,未经博主允许转载,转载请注明出处: https://blog.csdn.net/qq_39742013/article/details/81876144

因子分析(factor analysis)也是一种降维、简化数据的技术。 它通过研究众多变量之间的内部依赖关系,使用少数几个“抽象”的变量来表示其基本的 数据结构。这几个抽象的变量被称作“因子”,能反映原来 众多变量的主要信息。原始的变量是可观测的显在变量,而 因子一般是不可观测的潜在变量。 例如:商店的环境、商店 的服务和商品的价格作为因子,这三个方面除了价格外,商店的环境 和服务质量,都是客观存在的、抽象的影响因素,都不便于 直接测量,只能通过其它具体指标进行间接反映。因子分析 就是一种通过显在变量测评潜在变量,通过具体指标测评抽 象因子的统计分析方法。

因子分析类型分为R型因子分析和Q型因子分析。就像聚类分析分为R型和Q型一样,R型的因子分析是对变量作因子分析, Q型因子分析是对样品作因子分析。

下面我们以R型为例,介绍因子分析。

R型因子分析的模型如下所示:

R因子分析中的公共因子是不可直接观测但又客观存在的共 同影响因素,每一个变量都可以表示成公共因子的线性函数 与特殊因子之和,即 

式中的F1 ,F2,...Fm称为公共因子,εi称为 Xi的特殊因子,Xi为可测变量。

模型的矩阵形式如下:

(7.2)

以上式子满足:

(1)式很好理解,因为我们目的是降维所以因子的数量一般都小于变量数量,不然没有任何意义。

(2)式需要概率论基础,Cov表示协方差,相关系数的分子为协方差,而相关系数描述变量间的线性相关性,如果相关系数为0,表示变量线性无关,因为特殊因子如果与公共因子有线性关系,则特殊因子可以合并到公共因子里面。

(3)与(2)类似,从这里可以看出为什么要用因子分析,各个变量相互相关,因子分析就是找出互不相关因子,揭示这些变量数据背后的结构,找出各个变量表达的主要信息。

(4)可以这样理解因为ε是变量的特殊因子,所以只与变量有关。

如果想要理解上诉的公式,可以参考概率论相关章节,如果只想知道如何应用因子分析,不知道概率论公式不影响。

模型中的aij称为因子“载荷”,是第i个变量在第j个因子上 的负荷,因此矩阵 A 称为因子载荷矩阵。注意因子载荷矩阵A不是唯一的,在实际的应用中常常利 用这一点,通过因子的变换,使得新的因子有更好的实际意 义。 实 际上因子载荷矩阵存在明显的统计意义。

aij是 变量Xi和因子Fj的相关系数(需要标准化Xi和Fj得出),它一方面表示Xi对Fj的依赖程度,绝对值 越大,密切程度越高;另一方面也反映了变量Xi对公共因子Fj 的相对重要性。

下面介绍变量的共同度。

设因子载荷矩阵为A,称第i行元素的平方和,即 

为变量Xi的共同度。 
 由因子模型,知 

对Xi做标准化处理后,得:

(7.8)式说明变量Xi的方差由两部分组成: 第一部分为变量Xi的共同度,它描述了全部公共因子对变量Xi 的总方差所作的贡献,反映了公共因子对变量Xi的影响 程度。第二部分为特殊因子εi 对变量Xi的方差的贡献, 通常称为个性方差。

上面是对载荷矩阵A的一行的计算,下面对列计算,即公因子Fj对全部变量的贡献。

设因子载荷矩阵为A,称第j列元素的平方和,即 

为公共因子Fj对所有变量的贡献,即上述结果表示同一公共因子Fj对 各变量所提供的方差贡献之总和,它是衡量每一个公共因子 相对重要性的一个尺度。他对于选择公因子的数量有很大的作用。

求解因子载荷矩阵方法有主成分分析法、主因子法、大似然估计法,下面介绍主成分分析法:

因为因子数<变量数,所以m+1~p是没有任何意义的,即图中红色标记,分解中将红色部分作为特殊因子的方差忽略。在式(7.5)中因随机向量X的协方差矩阵在X标准化以后就是相关矩阵,有如下式子

上述绿色部分的p*m矩阵就是因子载荷矩阵A。

因子旋转用于给各个公因子取一个描述性名字,像之前提到的使用商店的环境、商店 的服务和商品的价格作为描述商品的因子。因为我们得到的载荷矩阵中的因子的系数载荷在各个变量上的值很难看出差异,也就很难看出因子对于哪些变量很重要,也就难以得出因子的含义。而因子旋转使同一列上的载荷尽可能地向靠近 1和靠近0两极分离。这时就突出了每个公共因子和其载荷较 大的那些变量的联系,矛盾的主要方面显现出来了,该公共 因子的含义也就能通过这些载荷较大变量做出合理的说明, 这样也显示了该公共因子的主要性质。 它的原理这里就不给出了,matlab中仅需一行代码就可以得到因子旋转的结果。

matlab命令:rotatefactors(A, 'method', 'varimax')

给出一个例子:

按上述求解因子载荷矩阵的方法确定矩阵,如下

因子载荷矩阵可以看出,除第一因子中所有的变量在公共因子 上有较大的正载荷,可以称为一般运动因子。其他的3个因子不太 容易解释。似乎是跑和投掷的能力对比,似乎是长跑耐力和短跑速 度的对比。于是考虑旋转因子,得下表 

因子得分:根据变量X反过来推出因子的值,因为X的值可观测,最后就得出以因子为指标的结果,可以对结果进行聚类分析等,下面给一个因子分析的完整例子。

因子分析法在环境质量评价中的应用实例
        环境作为人类赖以生存的基础对经济社会的发展起 着巨大的作用。基于国家统计局统计数据库2008年的数 据,采用因子分析法对中国31个省市的环境质量进行了排 序。        分析结果显示,环保建设和环境污染在环境质量评价 中起主要作用,地区在注重保护基础环境的同时更要加强 对环境的补偿。

1 环境质量评价指标体系构建
依据国家统计局统计数据库2008年统计数据,选取 14项具体指标,作为中国区域环境质量评价指标体系。 这些指标分别为:        X1(生活污水排放量)、X2(废水治理设施数)、X3(工 业废气排放量)、X4(工业烟尘排放量)、X5(工业粉尘排 放量)、X6(生活烟尘排放量)、X7(工业废气治理设施数)、 X8(工业固体废弃物排放量)、X9(林业用地面积)、X10(森 林覆盖率)、X11(林业重点工程造林面积)、X12(森林病虫 鼠害防治率)、X13(工业污染治理项目本年投资完成额)、 X14(林业系统营林固定资产投资完成额)。

2 因子分析
    因子分析首先将原始数据标准化处理,建立相关系数矩 阵并计算其特征值和特征向量,接着从中选择特征值大于等 于1的特征值个数为公共因子数,或者根据因子对X的累计贡献 率大于80%来确定公共因子,求得因子载荷矩阵, 后计算公因子得分和综合得分。

这里注意相关系数矩阵为非单位阵,故可实施因子分析,因为因子分析的前提是变量Xi之间存在内部关系,这样才能分解为各因子。

由于初始因子载荷阵结构不够简明,各因子的含义不突出。为此采用方差大正 交旋转变化,使各变量在某个因子上产生较高载荷,而在其余因子上载荷较小, 得到旋转后因子载荷矩阵,如表3所示。

(注:F的表达式里面的-是+,图片有误)

总结:

因子分析通常包括以下五个步骤:

1.选择分析的变量     用定性分析和定量分析的方法选择变量,因子分析的前提条件 是观测变量间有较强的相关性,因为如果变量之间无相关性或相 关性较小的话,他们不会有共享因子,所以原始变量间应该有较强 的相关性。

2.计算所选原始变量的相关系数矩阵   相关系数矩阵描述了原始变量之间的相关关系。可以帮助判 断原始变量之间是否存在相关关系,这对因子分析是非常重要 的,因为如果所选变量之间无关系,做因子分析是不恰当的 并且相关系数矩阵是估计因子结构的基础。 

3.提取公共因子     这一步要确定因子求解的方法和因子的个数,根据相关系数矩阵(协方差矩阵的标准化)来做。需要根据研 究者的设计方案或有关的经验或知识事先确定。因子个数的 确定可以根据因子方差的大小。只取方差大于1(或特征值大 于1)的那些因子,因为方差小于1的因子其贡献可能很小;按 照因子的累计方差贡献率来确定,一般认为要达到70%才能 符合要求; 

4.因子旋转     通过坐标变换使每个原始变量在尽可能少的因子之间有密 切的关系,这样因子解的实际意义更容易解释,并为每个潜在 因子赋予有实际意义的名字。

 5.计算因子得分    求出各样本的因子得分,有了因子得分值,则可以在许多 分析中使用这些因子,例如以因子的得分做聚类分析的变量, 做回归分析中的回归因子。 在数学建模中可以直接使用因子得分公式。

猜你喜欢

转载自blog.csdn.net/qq_39742013/article/details/81876144