数据降维方法介绍(十)

第六种方法:因子分析(Factor  Analysis)

姓名:何源  学号:21011210073  学院:通信工程学院

转载:因子分析(FA)算法简述

【嵌牛导读】因子分析法简介

【嵌牛鼻子】因子分析法(FA)

【嵌牛提问】因为分析法的概念是什么?因子分析法的原理是什么?

【嵌牛正文】

什么是因子分析法?

因子分析法是指: 研究从变量群中提取共性因子的统计技术,这里的共性因子指的是不同变量之间内在的隐藏因子。例如,一个学生的英语、数据、语文成绩都很好,那么潜在的共性因子可能是智力水平高。因此,因子分析的过程其实是寻找共性因子和个性因子并得到最优解释的过程。

因子分析法基本思想是: 根据相关性大小把变量分组,使得同组内的变量之间相关性较高,但不同组的变量不相关或相关性较低,每组变量代表一个基本结构一即公共因子。

因子分析有两个核心问题: 一是如何构造因子变量,二是如何对因子变量进行命名解释。

因子分析类型: R型因子分析与Q型因子分析,就像聚类分析分为R型和Q型一样,R型的因子分析是对变量作因子分析,Q型因子分析是对样品作因子分析,本文是以R型因子分析展开。

因子分析法的应用背景?

主要应用于以下两种场景:

1.假如有 m 个样本,每个样本的维度是 n, 如果 n » m;这时哪怕拟合出一个高斯模型都很困难,更不用说高斯混合, 为什么呢?其实,这和解多元线性方程组是一样的道理,就是自变量的个数多于非线性相关的方程的个数,这必然导致解的不唯一,虽然在解方程的时候可以随便选一个解满足方程组,但是对于某一实际数据集,往往样本对应的概率分布在客观上都是唯一的,只是我们无法简单地用概率论中的几个典型的分布准确表示出来罢了!

2.m 个样本的维度都较低。用高斯分布对数据建模,用最大似然估计去估计均值(期望)和方差:估计的均值为方差为,其中方差矩阵为奇异矩阵。但是这两项在计算多元高斯分布时,又都是必不可少的。所以,除非 m 比 n 大一定较合适的数值,否则对方差和均值的最大似然估计将会很难找到正确的值。

因子分析法的基本步骤:

应用因子分析算法时,常常有如下几个基本步骤:

1.确定原有若干变量是否适合于因子分析;因子分析的基本逻辑是从原始变量中构造出少数几个具有代表意义的因子变量,这就要求原有变量之间要具有比较强的相关性,否则,因子分析将无法提取变量间的“共性特征”(变量间没有共性还如何提取共性?)。实际应用时,可以使用相关性矩阵进行验证,如果相关系数小于0.3,那么变量间的共性较小,不适合使用因子分析;也可以用KMO 和 Bartlett 的检验来判断是否适合做因子分析,一般来说KMO的值越接近于1越好,大于zhi0.5的话适合做因dao子分析,你的KMO值是0.674大于0.5。Bartlett 的检验主要看Sig.越小越好,你的接近于0.由此可以得出,你的数据适合做因子分析。

2.构造因子变量;因子分析中有多种确定因子变量的方法,如基于主成分模型的主成分分析法和基于因子分析模型的主轴因子法、极大似然法、最小二乘法等。

3.利用旋转使得因子变量更具有可解释性 ;在实际分析工作中,主要是因子分析得到因子和原变量的关系,从而对新的因子能够进行命名和解释,否则其不具有可解释性的前提下对比PCA就没有明显的可解释价值。

4.计算因子变量的得分 。子变量确定以后,对每一样本数据,希望得到它们在不同因子上的具体数据值,这些数值就是因子得分,它和原变量的得分相对应。

具体而言:

(1) 相关性检验,一般采用KMO检验法和Bartlett球形检验法两种方法来对原始变量进行相关性检验;

(2) 输入原始数据Xn*p,计算样本均值和方差,对数据样本进行标准化处理;

(3) 计算样本的相关矩阵R;

(4) 求相关矩阵R的特征根和特征向量;

(5) 根据系统要求的累积贡献率确定公共因子的个数;

(6) 计算因子载荷矩阵A;

(7) 对载荷矩阵进行旋转,以求能更好地解释公共因子;

(8) 确定因子模型;

(9) 根据上述计算结果,求因子得分,对系统进行分析。

你可能感兴趣的:(数据降维方法介绍(十))