系列文章
〇、前言
最近看了一位学姐的毕业论文,是讲因子分析(factor analysis,FA)的,接下来一系列的因子分析文章当做我的学习笔记,同时也会用自己的话去讲解其中一些网上很多文章没讲清楚的点,帮助大家更帮助我自己理解。疏漏之处恳请大佬指正。
从这篇文章开始,我会从因子分析的数学模型,FA模型的EM算法求解、Gibbs采样算法求解、VB算法求解四篇文章来总结。Let's begin。
一、FA简介
FA是主成分分析(Principal components analysis,PCA)的推广和发展,是多元统计分析中用来做数据降维的一种方法。它通过研究众多变量之间的内部关系,探求观测数据中的基本结构,并用较少的几个假想变量(这就是跟PCA区分开来的一个地方)来表示其基本的数据结构,反映原始数据的大部分信息。FA的主要目的是找到隐藏在一组可观测变量中的一些更基本的,但又无法直接观测到的隐变量(latent variable, latent factor),这些隐变量我们称它为公共因子(common factor)。
最常见也是最好的例子就是一个学生有语数英物化生历政地9门课的考试分数,我们可以找到两个假想的因子:理科成绩和文科成绩,这两部分成绩可以解释这个学生的整体成绩。
因子分析有如下特点:
(1)我们找到的因子是要 互相独立的。
(2)一般情况下,因子变量的维数远小于原始变量的维数,通过使用因子分析技术可以减少后续处理中的计算量。
(3)因子分析技术并不是对原始变量进行取舍,而是根据原始变量的信息进行 重新组构以最大程度的反映原始变量大部分的信息。
二、FA的数学模型建立
因子分析的出发点是用较少的相互独立的因子变量来代替原来变量的大部分信息,可以通过下面的数学模型来表示:
即:
其中, 为D维可观测的随机变量,
为M维与
相对应的不可观测的隐变量或者称为公共因子,即
降维后的形式。
为特殊因子(specific factor),代表原始变量中不能被因子变量解释的部分,相当于多元回归分析中的残差部分,也可以理解为噪声。
为因子载荷(factor loading)矩阵,
是
的均值。
这里拓展说明一下:因子载荷矩阵中的是第
个变量与第
个公共因子的 相关系数,反映第
个变量与第
个公共因子的相关重要性,绝对值越大,相关的密切程度越高。
同时上式还需满足:
当建立起这样一个模型后,我们希望在给出样本集 后,能通过数学的方法得到
矩阵和
所对应的隐变量
,或者说我们希望求出
和
的概率分布。而对于许多我们感兴趣的模型,它们的参数空间的维数较高(模型中的未知参数太多),要直接求出这样的一个后验分布是不可实现的或是计算相当复杂(在求解时需要算梯度,但参数太多的时候算梯度那是非常困难的),或者后验分布有一个非常复杂的形式以至于直接解析地求出变量期望是非常困难的(也就是采样困难)。在这种情况下我们就要去寻找一些近似方案,也就是后面将要介绍的EM算法、Gibbs采样算法和VB算法求解。