Factor Analysis

本文记录Factor Analysis的笔记

因子分析(factor analysis)

因子分析(factor analysis)是一种用于挖掘我们所感兴趣的变量{$x_1, x_2, \cdots, x_p$}是否可以用更少的$q$个因子{$F_1,F_2,\cdots, F_q$}的线性组合来表示的方法($q\leq p$,且每个因子都是变量)。

$$ x_1 = l_{11}F_1 + \cdots + l_{1q}F_q + \epsilon_1 \\ x_2 = l_{21}F_1 + \cdots + l_{2q}F_q + \epsilon_2 \\ \vdots \\ x_p = l_{p1}F_1 + \cdots + l_{pq}F_q + \epsilon_p. $$

也可以表示为$X = \mathbf{A}S + \epsilon$, 其中$S \in \mathbb{R}^q$的向量称为公共因子(common factors), $A\in \mathbb{R}^{p\times q}$是一个矩阵其中的元素$l_{ij}$称为第i个变量的第j个因子的“loadings”。 $\epsilon_1,\cdots, \epsilon_p$ 是特有的因子(unique factors)。

需要注意的是,在因子分析中转换后的变量是因子,而“loadings”在转换后可以认为是定下来的矩阵。"loadings"表明了每个因子与原变量的相关程度。 举一个应用因子分析的例子,假设我们想要知道学生们的逻辑思维能力和语言表达能力的好坏,然而这两个变量我们并不能直接测量出来。我们可测量的可能是对学生进行数学考试,物理考试,语文考试,英语考试,化学考试。在此场景中,可以认为 {数学考试,物理考试,语文考试,英语考试,化学考试} 为原变量,而 {逻辑思维能力,语言表达能力} 为因子。将原变量进行因子分析,因子的数目定为2,从“loadings”矩阵可能就可以看出逻辑思维能力与 {数学,物理,化学} 高度相关,而语言表达能力和{语文,英语}高度相关。

对于变量 $x_i$ 的方差,我们可以表示为

$$ \begin{array}{rl} Var(x_i) & = l_{i1}^2 Var(F_1) + \cdots + l_{iq}^2 Var(F_q) + Var(\epsilon_i) \\ & = l_{i1}^2 + \cdots + l_{iq}^2 + \sigma_i^2 \end{array} $$

变量 $x_i, x_j$ 之间的协方差为:

$$ \begin{array}{rl} Cov(x_i, x_j) & = l_{i1}l_{j1} Var(F_1) + \cdots + l_{iq}l_{jq} Var(F_q) \\ & = l_{i1}l_{j1} + \cdots + l_{iq}l_{jq} \end{array} $$

注意以上计算,我们假定了$Var(F_i) = 1, Var(\epsilon_i)=\sigma_i^2$。并且我们称 $h_i^2 = l_{i1}^2 + \cdots + l_{iq}^2$ 为$\mathbf{communality}$, $\sigma_i^2$为$\mathbf{specificity}$.

例子:

假定原变量有三个$x_1, x_2, x_3$,我们用两个因子来表示,则原变量的相关矩阵可以表示为如下:

$x_1$ $x_2$ $x_3$
$x_1$ $l_{11}^2 + l_{12}^2 + \sigma_1^2$ $l_{21}l_{11}+l_{22}l_{12}$ $l_{31}l_{11} + l_{32}l_{12}$
$x_2$ $l_{21}l_{11}+l_{22}l_{12}$ $l_{21}^2 + l_{22}^2 + \sigma_{2}^2$ $l_{21}l_{31} + l_{22}l_{32}$
$x_3$ $l_{31}l_{11} + l_{32}l_{12}$ $l_{21}l_{31} + l_{22}l_{32}$ $l_{31}^2 + l_{32}^2 + \sigma_3^2$

即原变量的相关矩阵为$LL^T+diag(\sigma_{1}^2, \cdots, \sigma_{p}^2)$ ($L$为loadings 矩阵)

factor analysis 的假设

  1. 公共因子$F$于特有因子$\epsilon_i$是无关的: $$ Cov(F, e_i) = 0 $$
  2. 特有因子之间是无关的: $$ Cov(e_i, e_j) = 0 $$
  3. 给定公共因子后观测变量之间无关: $$ Cov(x_i, x_j|F) = 0 $$

目地

使用因子分析(factor analysis)我们大部分是为了以下两个目地:

  1. 得到 factor loadings $l_{ij}$
  2. 得到 communalities $h_i^2$

求解因子

  1. 通过相关矩阵(Correlation Matrix)求解:

    • 首先根据输入数据$\mathbf{X}$求得相关矩阵$\mathbf{R}$
    • 因为$\mathbf{R}$是对称矩阵所以可以表示为$R=Q\Lambda Q^T$
    • 已知$\mathbf{R = LL^T + \epsilon}$ ($\mathbf{L}$为loadings 矩阵)
    • 忽略误差$\mathbf{\epsilon}$,可得$\mathbf{L = Q\sqrt{(\Lambda)}}$
  2. 使用PCA的方法求解:

    将PCA中的主成分(principal components) 做为因子(factors)

因子旋转(Factor Rotations)

Varimax rotation

旋转算法过程如下:

第$i$次迭代

  1. 如果截至条件满足,退出迭代
  2. 遍历所有成对的因子(factor)执行以下操作:
    1. 对选中的一对因子进行$\theta$角度的旋转(假定选中的因子为第一个和第二个) $$ (\tilde{F_1}, \tilde{F_2}) = (F_1, F_2) \mathbf{R} $$
    2. 对相应的一对loadings进行$\theta$角度的旋转 $$ (\tilde{l_{\cdot 1}}, \tilde{l_{\cdot 2}}) = (l_{\cdot 1}, l_{\cdot 2}) \mathbf(R) $$

其中旋转矩阵$R$表示如下:

$$ R = \left | \begin{array}{lr} cos(\theta) & -sin(\theta) \\ sin(\theta) & cos(\theta) \end{array} \right| $$

Varimax方法旋转的角度计算如下: $$ \theta = \frac{1}{4} \arctan\frac{2[p\sum_{j=1}^{p}u_jv_j - \sum_{j}^{p}u_j\sum_{j}^{p}v_j]}{p\sum_{j}^{p}(u_j^2 - v_j^2) - [(\sum_j^{p} u_j)^2 - (\sum_j^p v_j)^2]} \ , $$ $$ u_j = (l_{j1}/h_j)^2 - (l_{j2} / h_j)^2, $$ $$ v_j = 2(l_{j1}/h_j)(l_{j2}/h_j) $$ 其中$p$代表原变量的个数,$l_{j1}$所选中的第一个因子(factor)在第$j$个原变量的因子载荷(loadings)。 $h_j$表示第$j$个原变量的共同度(communality)开根号的值。 $$ h_j^2 = l_{j1}^2 + l_{j2}^2 + \cdots + l_{jq}^2 $$ 其中$q$表示设定的公共因子(factor)数量。

截至条件可以是以下条件:

  1. 迭代次数到达上限
  2. 通过计算SV的值,相邻两次迭代中SV值无变化时截至,比如:$SV(i)-SV(i-1) < 10^{-5}$
$$ SV_{i} = \sum_{s=1}^q \{[p\sum_{j=1}^p (l_{js}^2)^2 - (\sum_{j=1}^p l_{js}^2)^2]/p^2\} $$

Steps in Exploratory Factor Analysis

  1. Collect data: choose relevant variables.
  2. Extract initial factors (via principal components)
  3. Choose number of factors to retain
  4. Choose estimation method, estimate model
  5. Rotate and interpret
    • Decide if changes need to be made (e.g. drop item(s), include item(s))
    • repeat (4)-(5)
  6. Construct scales and use in further analysis

参考

  1. 因子分析
  2. THE VARIMAX CRITERION FOR ANALYTIC ROTATION IN FACTOR ANALYSIS
  3. An Easy Guide to Factor Analysis
  4. FACTOR ANALYSIS
  5. Methods of Multivariate Analysis
updatedupdated2021-11-062021-11-06