【FA】理论与实现



2017年10月13日    Author:Guofei

文章归类: 0x31_降维    文章编号: 322

版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2017/10/13/factor.html


因子分析(factor analysis)包括两种:R型因子分析,Q型因子分析。一般讨论R型因子分析

数学模型

R型因子分析

$X=AF+\epsilon$

其中,
\(A=\left (\begin{array}{} a_{11}&a_{12}...&a_{1m}\\ a_{21}&a_{22}...&a_{2m}\\ ...\\ a_{p1}&a_{p2}...&a_{pm} \end{array}\right)=(A_1,A_2,...A_m)\)

\[X=\left (\begin{array}{} X_1\\X_2\\...\\X_p \end{array}\right), F=\left (\begin{array}{} F_1\\F_2\\...\\F_p \end{array}\right), \epsilon=\left (\begin{array}{} \epsilon_1\\\epsilon_2\\...\\\epsilon_p \end{array}\right)\]

并且满足:

  1. $m \leq p$
  2. $Cov(F,\epsilon)=0$,即公共因子和特殊因子不相关
  3. \(D(F)=\left (\begin{array}{} 1\\&1\\&&...\\&&&1 \end{array}\right)\),即公共因子之间不相关且方差为1
  4. \(D(\epsilon)=\left (\begin{array}{} \sigma_1^2\\&\sigma_2^2\\&&...\\&&&\sigma_p^2 \end{array}\right)\),即特殊因子不相关,但方差不要求相等

模型中的$a_{ij}$称为 载荷

Q型因子分析

$X_i=a_{i1}F_1+a_{i2}F_2+…+a_{im}F_m +\epsilon_i,i=1,2,…n$
与R型不同的是,这里的$X_i$表示一个样本。

性质

性质1

$cov(X_i,F_j)=a_{ij}$ 如果X做过标准化,那么:
相关系数为$\rho(X_i,F_j)=a_{ij}$

性质2

记$h_i^2=\sum\limits_{j=1}^m a_{ij}^2$
得到$D(X_i)=h_i^2+\sigma_i^2$
如果X做过标准化,那么$1=h_i^2+\sigma_i^2$

也就是说,$X_i$的方差有两部分组成:共同度 $h_i^2$,个性方差 $\sigma_i^2$

性质3

$g_j^2=\sum_{i=1}^p a_{ij}^2$称为公共因子$F_j$对$X$的贡献,
其意义是公共因子$F_j$对X各个变量所提供的方差贡献的总和, 它是衡量一个公共因子相对重要性的一个尺度

因子旋转

$\Gamma $是正交阵,那么对$A \Gamma$, 对应的公共因子是$\Gamma^T F$

这样的$\Gamma$可以有很多种,我们选用最大方差旋转法

Python实现

大图见于这里

大图见于这里


您的支持将鼓励我继续创作!