数据分析与知识发现
    主页 > 综合新闻 >

数据分析——因子分析怎么用?

编辑导语:作为多元统计分析里的降维方法之一,因子分析可以应用于多个场景、如调研、数据建模等场景之中。本篇文章里,作者就对因子分析做了详细介绍,对其原理逻辑、用途及代码实现过程进行了相关展示,让我们来看一下。
数据分析中,主成分分析(PCA)是被大家熟知的数据降维方法。而因子分析和主成分分析是非常相似的两种方法,他们都属于多元统计分析里的降维方法。但因子分析最大的优点就是:对新的因子能够进行命名和解释,使因子具有可解释性
因此,因子分析可以作为「需要满足可解释性数据建模」的前期数据降维的方法。下文会介绍因子分析的原理逻辑、用途以及Python代码的实现过程。
一、什么是因子分析?
因子分析的起源是这样的,1904年英国的一个心理学家发现学生的英语、法语和古典语成绩非常有相关性,他认为这三门课程背后有一个共同的因素驱动,最后将这个因素定义为“语言能力”。基于这个想法,发现很多相关性很高的因素背后有共同的因子驱动,从而定义了因子分析。
因子分析在经济学、心理学、语言学和社会学等领域经常被用到,一般会探索出背后的影响因素如:语言能力、智力、理解力等。这些因素都是无法直接计算,而是基于背后的调研数据所推算出的公共因子。
因此概括下,因子分析就是将存在某些相关性的变量提炼为较少的几个因子,用这几个因子去表示原本的变量,也可以根据因子对变量进行分类
举个例子。学生有语文、英语、历史、数学、物理、化学六门成绩,通过因子分析会发现这六门课由两个公共因子驱动,前三门是由“文科”因子,后三门是“理科”因子;从而可以计算每个学生的文科得分和理科得分来评估他在两个方面的表现。
二、因子分析可以解决什么问题?
1. 在多变量场景下,挖掘背后影响因子
比如在企业和品牌调研中,消费者会调查很多问题来评估企业品牌。对这些问题通过因子分析可以刻画出背后少量的潜在影响因素,比如服务质量、商品质量等等。
2. 用于数学建模前的降维
因子分析和主成分分析都可用于降维。但因子分析的优点是,因子作为新的解释变量去建模,有更好的解释性。
因此对于有些需要业务解释的数据建模,可以在建模前通过因子分析提取关键因子,再用因子得分为解释变量,通过回归或者决策树等分类模型去建模。
三、算法实现步骤
首先需要注意的是,和主成分分析一样,两种方法的目的都是降维,所以两种方法的前提假设都是:特征之间不是完全互相交互。
因子分析是寻找不线性相关的“变量”的线性组合来表示原始变量,这些“变量”称为因子,如下图中的F就是因子,X是原始变量,eps是原始变量不可被公共因子表示的部分。
以上的公式还需要满足:
要求因子的数据小于原始变量的数量,即m≤p;因子F之间是相互独立且方差为1;因子F和eps之间的相关性为0,eps之间相关性为0。因此,因子分析的过程就是实现以下几个目的的过程:
求解方程中的因子F的系数;给予因子F实际的解释;展示原始特征和公共因子之间的关系,从而实现降维和特征分类等目的。求解方程的过程,就是分析变量的相关系数矩阵,从而找到少数几个随机变量去描述所有变量。又因为求解的不唯一性,最后通常会对因子的载荷矩阵做一次正交旋转,目的是为了方便理解每个因子的意义。
汇总一下:对于因子分析的实操可以提炼为以下几个步骤。
1)充分性检验
目的:检验变量之间是否存在相关性,从而判断是否适合做因子分析;方法:抽样适合性检验(KMO检验)或者 巴特利特检验(Bartlett's Test)。