因子分析
FactorAnalysis的目的是从多个高度相关的观测变量中提取出少数几个LatentFactor,这些因子代表了变量背后的共通结构,从而实现降维并提升可解释性。
假设对一组学生进行了以下六门课程的测试:语文、英语、数学、物理、化学、生物,发现语文和英语成绩之间高度相关,数学、物理、化学、生物也彼此高度相关。此时可以猜测:这些成绩可能是由两个更基本的“能力”决定的,比如语言能力和理科能力。通过因子分析就可以提取出这两个潜在因子,并发现语文和英语主要由“语言能力”因子决定,理科四门主要由“理科能力”因子解释。这样就可以用两个因子有效地概括了六个变量的结构,同时让模型更易解释、更简洁。
设 ‘ X ‘ `\mathbf{X}` ‘X‘是一个可观测的 ‘ m ‘ `m` ‘m‘维随机向量, ‘ E ( X ) = μ , Cov ( X ) = Σ = ( σ i j ) ‘ `\operatorname{E}(\mathbf{X})=\boldsymbol{\mu},\;\operatorname{Cov}(\mathbf{X})=\Sigma=(\sigma_{ij})` ‘E(X)=μ,Cov(X)=Σ=(σij)‘。因子分析的数学模型为:
X = μ + A F + ε { E ( F ) = 0 , Cov ( F ) = I n E ( ε ) = 0 , Cov ( ε ) = D = diag { σ 1 2 , … , σ m 2 } Cov ( F , ε ) = 0 \begin{gathered} \mathbf{X}=\boldsymbol{\mu}+AF+\varepsilon \\ \begin{cases} \operatorname{E}(F)=\mathbf{0},\;\operatorname{Cov}(F)=I_n \\ \operatorname{E}(\varepsilon)=\mathbf{0},\;\operatorname{Cov}(\varepsilon)=D=\operatorname{diag}\{\sigma_1^2,\dots,\sigma_m^2\} \\ \operatorname{Cov}(F,\varepsilon)=\mathbf{0} \end{cases} \end{gathered} X=μ+AF+ε⎩
⎨
⎧E(F)=0,Cov(F)=InE(ε)=0,Cov(ε)=D=diag{σ12,…,σm2}Cov(F,ε)=0
其中 ‘ F = ( f 1 , … , f n ) T ‘ `F=(f_1,\dots,f_n)^T` ‘F=(f1,…,fn)T‘是不可观测的 ‘ n ‘ `n` ‘n‘维随机变量, ‘ ε ‘ `\varepsilon` ‘ε‘是不可观测的 ‘ m ‘ `m` ‘m‘维随机变量,分别称 ‘ F ‘ `F` ‘F‘和 ‘ ε ‘ `\varepsilon` ‘ε‘为CommonFactor和SpecificFactor。 ‘ A = ( a i j ) ‘ `A=(a_{ij})` ‘A=(aij)‘是一个非随机矩阵, ‘ a i j ‘ `a_{ij}` ‘aij‘表示公共因子 ‘ f j ‘ `f_j` ‘fj‘、随机变量 ‘ X i ‘ `\mathbf{X}_i` ‘Xi‘的因子载荷。 ‘ a 1 j , a 2 j , … , a i j ‘ `a_{1j},a_{2j},\dots,a_{ij}` ‘a1j,a2j,…,aij‘中至少有两个不为 ‘ 0 ‘ `0` ‘0‘,否则可将 ‘ f i ‘ `f_i` ‘fi‘并入到 ‘ ε i ‘ `\varepsilon_i` ‘εi‘中去; ‘ ε i ‘ `\varepsilon_i` ‘εi‘也仅出现在 ‘ X i ‘ `\mathbf{X}_i` ‘Xi‘的表达式中。
上述因子分析模型具有如下性质:
‘ Σ = A A T + D ‘ `\Sigma=AA^T+D` ‘Σ=AAT+D‘;
若 ‘ X ∗ = C X ‘ `\mathbf{X}^*=C\mathbf{X}` ‘X∗=CX‘,则有:
Y = C μ + C A F + C ε = μ ∗ + A ∗ F + ε ∗ \mathbf{Y}=C\boldsymbol{\mu}+CAF+C\varepsilon=\boldsymbol{\mu}^*+A^*F+\varepsilon^* Y=Cμ+CAF+Cε=μ∗+A∗F+ε∗因子载荷不唯一;
‘ Cov ( X , F ) = A ‘ `\operatorname{Cov}(\mathbf{X},F)=A` ‘Cov(X,F)=A‘,即 ‘ Cov ( X i , F j ) = a i j ‘ `\operatorname{Cov}(\mathbf{X}_i,F_j)=a_{ij}` ‘Cov(Xi,Fj)=aij‘
令 ‘ h i 2 = ∑ j = 1 n a i j 2 ‘ `h_i^2=\sum\limits_{j=1}^{n}a_{ij}^2` ‘hi2=j=1∑naij2‘,则有:
Var ( X i ) = σ i i = ∑ j = 1 n a i j 2 + σ i 2 = h i 2 + σ i 2 , i = 1 , 2 , … , m \operatorname{Var}(\mathbf{X}_i)=\sigma_{ii}=\sum_{j=1}^{n}a_{ij}^2+\sigma_i^2=h_i^2+\sigma_i^2,\;i=1,2,\dots,m Var(Xi)=σii=j=1∑naij2+σi2=hi2+σi2,i=1,2,…,m令 ‘ g j 2 = ∑ i = 1 m a i j 2 ‘ `g_j^2=\sum\limits_{i=1}^{m}a_{ij}^2` ‘gj2=i=1∑maij2‘,则有:
∑ i = 1 m Var ( X i ) = ∑ j = 1 n g j 2 + ∑ i = 1 n σ i 2 \sum_{i=1}^{m}\operatorname{Var}(\mathbf{X}_i)=\sum_{j=1}^{n}g_j^2+\sum_{i=1}^{n}\sigma_i^2 i=1∑mVar(Xi)=j=1∑ngj2+i=1∑nσi2
Proof. (1)由[prop:CovMat](3)(4)(5)可得:
Σ = Cov ( X ) = Cov ( μ + A F + ε , μ + A F + ε ) = Cov ( μ , μ + A F + ε ) + Cov ( A F , μ + A F + ε ) + Cov ( ε , μ + A F + ε ) = Cov ( A F , μ ) + Cov ( A F ) + Cov ( A F , ε ) + Cov ( ε , μ ) + Cov ( ε , A F ) + Cov ( ε ) = A Cov ( F ) A T + A Cov ( F , ε ) + Cov ( ε , F ) A T + D = A A T + D \begin{aligned} \Sigma&=\operatorname{Cov}(\mathbf{X})=\operatorname{Cov}(\boldsymbol{\mu}+AF+\varepsilon,\boldsymbol{\mu}+AF+\varepsilon) \\ &=\operatorname{Cov}(\boldsymbol{\mu},\boldsymbol{\mu}+AF+\varepsilon)+\operatorname{Cov}(AF,\boldsymbol{\mu}+AF+\varepsilon)+\operatorname{Cov}(\varepsilon,\boldsymbol{\mu}+AF+\varepsilon) \\ &=\operatorname{Cov}(AF,\boldsymbol{\mu})+\operatorname{Cov}(AF)+\operatorname{Cov}(AF,\varepsilon)+\operatorname{Cov}(\mathbf{\varepsilon},\boldsymbol{\mu})+\operatorname{Cov}(\varepsilon,AF)+\operatorname{Cov}(\varepsilon) \\ &=A\operatorname{Cov}(F)A^T+A\operatorname{Cov}(F,\varepsilon)+\operatorname{Cov}(\varepsilon,F)A^T+D \\ &=AA^T+D \end{aligned} Σ=Cov(X)=Cov(μ+AF+ε,μ+AF+ε)=Cov(μ,μ+AF+ε)+Cov(AF,μ+AF+ε)+Cov(ε,μ+AF+ε)=Cov(AF,μ)+Cov(AF)+Cov(AF,ε)+Cov(ε,μ)+Cov(ε,AF)+Cov(ε)=ACov(F)AT+ACov(F,ε)+Cov(ε,F)AT+D=AAT+D
(2)显然。
(3)取正交矩阵 ‘ Q ‘ `Q` ‘Q‘,令 ‘ A ∗ = A Q ‘ `A^*=AQ` ‘A∗=AQ‘, ‘ F ∗ = Q T F ‘ `F^*=Q^TF` ‘F∗=QTF‘,则依然有:
E ( F ∗ ) = Q T E ( F ) = 0 , Cov ( F ∗ ) = Q T Cov ( F ) Q = I n , X = μ + A ∗ F ∗ + ε \operatorname{E}(F^*)=Q^T\operatorname{E}(F)=\mathbf{0},\;\operatorname{Cov}(F^*)=Q^T\operatorname{Cov}(F)Q=I_n,\;\mathbf{X}=\boldsymbol{\mu}+A^*F^*+\varepsilon E(F∗)=QTE(F)=0,Cov(F∗)=QTCov(F)Q=In,X=μ+A∗F∗+ε
(4)由[prop:CovMat](3)(4)(5)可得:
Cov ( X , F ) = Cov ( μ + A F + ε , F ) = Cov ( μ , F ) + Cov ( A F , F ) + Cov ( ε , F ) = A \operatorname{Cov}(\mathbf{X},F)=\operatorname{Cov}(\boldsymbol{\mu}+AF+\varepsilon,F)=\operatorname{Cov}(\boldsymbol{\mu},F)+\operatorname{Cov}(AF,F)+\operatorname{Cov}(\varepsilon,F)=A Cov(X,F)=Cov(μ+AF+ε,F)=Cov(μ,F)+Cov(AF,F)+Cov(ε,F)=A
(5)由(1)即可得到结论。
(6)由(1)可得:
∑ i = 1 m Var ( X i ) = tr [ Cov ( X ) ] = tr ( A A T + D ) = ∑ i = 1 m ∑ j = 1 n a i j 2 + ∑ i = 1 n σ i 2 = ∑ j = 1 n ∑ i = 1 m a i j 2 + ∑ i = 1 n σ i 2 = ∑ j = 1 n g j 2 + ∑ i = 1 n σ i 2 \begin{aligned} \sum_{i=1}^{m}\operatorname{Var}(\mathbf{X}_i)&=\operatorname{tr}[\operatorname{Cov}(\mathbf{X})]=\operatorname{tr}(AA^T+D)=\sum_{i=1}^{m}\sum_{j=1}^{n}a_{ij}^2+\sum_{i=1}^{n}\sigma_i^2 \\ &=\sum_{j=1}^{n}\sum_{i=1}^{m}a_{ij}^2+\sum_{i=1}^{n}\sigma_i^2=\sum_{j=1}^{n}g_j^2+\sum_{i=1}^{n}\sigma_i^2 \end{aligned} i=1∑mVar(Xi)=tr[Cov(X)]=tr(AAT+D)=i=1∑mj=1∑naij2+i=1∑nσi2=j=1∑ni=1∑maij2+i=1∑nσi2=j=1∑ngj2+i=1∑nσi2
◻
称 ‘ h i 2 ‘ `h_i^2` ‘hi2‘为变量 ‘ X i ‘ `\mathbf{X}_i` ‘Xi‘的CommonVariance,它反映了公共因子对 ‘ X i ‘ `\mathbf{X}_i` ‘Xi‘的方差贡献度。称 ‘ σ i 2 ‘ `\sigma_i^2` ‘σi2‘为 ‘ X i ‘ `\mathbf{X}_i` ‘Xi‘的SpecificVariance,它反映了特殊因子 ‘ ε i ‘ `\varepsilon_i` ‘εi‘对 ‘ X i ‘ `\mathbf{X}_i` ‘Xi‘的方差贡献度。 ‘ g j 2 ‘ `g_j^2` ‘gj2‘可视为公共因子 ‘ f j ‘ `f_j` ‘fj‘对 ‘ X 1 , … , X m ‘ `\mathbf{X}_1,\dots,\mathbf{X}_m` ‘X1,…,Xm‘的总方差贡献度。
参数估计方法
主成分法
设观测变量 ‘ X ‘ `\mathbf{X}` ‘X‘的协方差矩阵 ‘ Σ ‘ `\Sigma` ‘Σ‘,它的特征值从大到小依次为 ‘ λ 1 , … , λ m ‘ `\lambda_1,\dots,\lambda_m` ‘λ1,…,λm‘,对应的单位正交特征向量分别为 ‘ l 1 , … , l m ‘ `l_1,\dots,l_m` ‘l1,…,lm‘。于是 ‘ Σ ‘ `\Sigma` ‘Σ‘有分解式:
Σ = ( l 1 l 2 ⋯ l m ) ( λ 1 0 ⋯ 0 0 λ 2 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ λ m ) ( l 1 T l 2 T ⋮ l m T ) = ∑ i = 1 m λ i l i l i T \Sigma= \begin{pmatrix} l_1 & l_2 & \cdots &l_m \end{pmatrix} \begin{pmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_m \end{pmatrix} \begin{pmatrix} l_1^T \\ l_2^T \\ \vdots \\ l_m^T \end{pmatrix} =\sum_{i=1}^{m}\lambda_il_il_i^T Σ=(l1l2⋯lm)
λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λm
l1Tl2T⋮lmT
=i=1∑mλililiT
由[prop:CovMat](2)和[theo:PositiveSemidefinite](3)的第五条可知 ‘ λ m ⩾ 0 ‘ `\lambda_m\geqslant0` ‘λm⩾0‘。当最后 ‘ m − n ‘ `m-n` ‘m−n‘个特征值较小时, ‘ Σ ‘ `\Sigma` ‘Σ‘有如下近似:
Σ = ∑ i = 1 m λ i l i l i T ≈ ∑ i = 1 n λ i l i l i T + D = A A T + D \Sigma=\sum_{i=1}^{m}\lambda_il_il_i^T\approx\sum_{i=1}^{n}\lambda_il_il_i^T+D=AA^T+D Σ=i=1∑mλililiT≈i=1∑nλililiT+D=AAT+D
其中:
A = ( λ 1 l 1 ⋯ λ n l n ) , D = diag { σ 1 2 , … , σ m 2 } , σ i 2 = σ i i − h i 2 A= \begin{pmatrix} \sqrt{\lambda_1}l_1 & \cdots & \sqrt{\lambda_n}l_n \end{pmatrix},\; D=\operatorname{diag}\{\sigma_1^2,\dots,\sigma_m^2\},\; \sigma_i^2=\sigma_{ii}-h_i^2 A=(λ1l1⋯λnln),D=diag{σ12,…,σm2},σi2=σii−hi2
与PCA一样,一般通过使 ‘ ( ∑ i = 1 n λ i ) / ( ∑ i = 1 m λ i ) ‘ `\left(\sum\limits_{i=1}^{n}\lambda_i\right)/\left(\sum\limits_{i=1}^{m}\lambda_i\right)` ‘(i=1∑nλi)/(i=1∑mλi)‘大于一定比例来选择 ‘ n ‘ `n` ‘n‘的具体值。
主因子法
令 ‘ A A T = Σ − D ‘ `AA^T=\Sigma-D` ‘AAT=Σ−D‘。取 ‘ σ ^ 1 2 , … , σ ^ m 2 ‘ `\hat{\sigma}_1^2,\dots,\hat{\sigma}_m^2` ‘σ^12,…,σ^m2‘为特殊方差的合理初始估计((1)全零,(2)取 ‘ max j ≠ i σ i j ‘ `\max\limits_{j\ne i}\sigma_{ij}` ‘j=imaxσij‘),则有:
A A T ^ = ( σ 11 − σ ^ 1 2 σ 12 ⋯ σ 1 m σ 21 σ 22 − σ ^ 2 2 ⋯ σ 2 m ⋮ ⋮ ⋱ ⋮ σ m 1 σ m 2 ⋯ σ m m − σ ^ m 2 ) \widehat{AA^T}= \begin{pmatrix} \sigma_{11}-\hat{\sigma}_1^2 & \sigma_{12} & \cdots & \sigma_{1m} \\ \sigma_{21} & \sigma_{22}-\hat{\sigma}_2^2 & \cdots & \sigma_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ \sigma_{m1} & \sigma_{m2} & \cdots & \sigma_{mm}-\hat{\sigma}_m^2 \end{pmatrix} AAT
=
σ11−σ^12σ21⋮σm1σ12σ22−σ^22⋮σm2⋯⋯⋱⋯σ1mσ2m⋮σmm−σ^m2
取 ‘ A A T ^ ‘ `\widehat{AA^T}` ‘AAT
‘前 ‘ n ‘ `n` ‘n‘个大于 ‘ 0 ‘ `0` ‘0‘的特征值,从大到小依次为 ‘ λ ^ 1 , … , λ ^ n ‘ `\hat{\lambda}_1,\dots,\hat{\lambda}_n` ‘λ^1,…,λ^n‘,对应的单位正交特征向量为 ‘ l ^ 1 , … , l ^ n ‘ `\hat{l}_1,\dots,\hat{l}_n` ‘l^1,…,l^n‘,则有近似的:
A ^ = ( λ ^ 1 l ^ 1 ⋯ λ ^ n l ^ n ) \hat{A}= \begin{pmatrix} \sqrt{\hat{\lambda}_1}\hat{l}_1 & \cdots & \sqrt{\hat{\lambda}_n}\hat{l}_n \end{pmatrix} A^=(λ^1l^1⋯λ^nl^n)
令 ‘ σ ^ i 2 = σ i i − h ^ i 2 ‘ `\hat{\sigma}_i^2=\sigma_{ii}-\hat{h}_i^2` ‘σ^i2=σii−h^i2‘,继续上面的迭代过程以得到稳定的近似解。
Input: 协方差矩阵 ‘ Σ ‘ `\Sigma` ‘Σ‘,初始特殊方差估计
‘ σ ^ 1 2 , … , σ ^ m 2 ‘ `\hat{\sigma}^2_1, \ldots, \hat{\sigma}^2_m` ‘σ^12,…,σ^m2‘,目标因子数 ‘ n ‘ `n` ‘n‘
Output: 因子载荷矩阵估计 ‘ A ^ ‘ `\hat{A}` ‘A^‘,特殊方差估计
‘ σ ^ i 2 ‘ `\hat{\sigma}_i^2` ‘σ^i2‘
初始化 ‘ σ ^ i 2 ‘ `\hat{\sigma}_i^2` ‘σ^i2‘ 为合理值 构造矩阵
‘ A A T ^ = Σ − diag ( σ ^ 1 2 , … , σ ^ m 2 ) ‘ `\widehat{AA^T} = \Sigma - \operatorname{diag}(\hat{\sigma}_1^2, \ldots, \hat{\sigma}_m^2)` ‘AAT
=Σ−diag(σ^12,…,σ^m2)‘
对 ‘ A A T ^ ‘ `\widehat{AA^T}` ‘AAT
‘ 做特征值分解,得到部分特征值
‘ λ ^ 1 ⩾ ⋯ ⩾ λ ^ n ‘ `\hat{\lambda}_1 \geqslant \cdots \geqslant \hat{\lambda}_n` ‘λ^1⩾⋯⩾λ^n‘,及对应单位正交特征向量
‘ l ^ 1 , … , l ^ n ‘ `\hat{l}_1, \ldots, \hat{l}_n` ‘l^1,…,l^n‘ 构造因子载荷矩阵估计:
‘ A ^ = ( a ^ i j ) = ( λ ^ 1 l ^ 1 ⋯ λ ^ n l ^ n ) ‘ `\hat{A}=(\hat{a}_{ij}) = \begin{pmatrix} \sqrt{\hat{\lambda}_1} \hat{l}_1 & \cdots & \sqrt{\hat{\lambda}_n} \hat{l}_n \end{pmatrix}` ‘A^=(a^ij)=(λ^1l^1⋯λ^nl^n)‘ 令
‘ h ^ i 2 = ∑ j = 1 n a ^ i j 2 ‘ `\hat{h}_i^2 = \sum\limits_{j=1}^n \hat{a}_{ij}^2` ‘h^i2=j=1∑na^ij2‘,更新
‘ σ ^ i 2 = σ i i − h ^ i 2 , i = 1 , 2 , … , m ‘ `\hat{\sigma}_i^2 = \sigma_{ii} - \hat{h}_i^2,\;i=1,2,\dots,m` ‘σ^i2=σii−h^i2,i=1,2,…,m‘
因子旋转
为了提高因子的可解释性,我们希望每个因子对观测变量的影响是集中且明显的,即一个因子主要对少数几个变量有显著影响,对其余变量几乎没有作用。这种结构反映在因子载荷矩阵 ‘ A ‘ `A` ‘A‘上即为 ‘ A ‘ `A` ‘A‘每一列的元素 ‘ a i j , i = 1 , 2 , … , m ‘ `a_{ij},\;i=1,2,\dots,m` ‘aij,i=1,2,…,m‘不是均匀地分布在中间水平,而是趋于两极分化:其绝对值要么接近于 ‘ 0 ‘ `0` ‘0‘,要么较大。这样可以使得每个因子更容易被识别和解释——因为它只与一小组变量高度相关。这种结构等价于希望载荷矩阵 ‘ A ‘ `A` ‘A‘的每一列具有稀疏性,从而便于赋予因子明确的语义标签。
由[prop:FactorAnalysis](3)可知在初步求得因子载荷矩阵 ‘ A ‘ `A` ‘A‘后,可以使用一个正交矩阵右乘 ‘ A ‘ `A` ‘A‘,此时仍能得到一个因子模型。使用正交矩阵来右乘 ‘ A ‘ `A` ‘A‘相当于是对因子 ‘ F ‘ `F` ‘F‘进行旋转变换,我们可以通过不断旋转 ‘ F ‘ `F` ‘F‘来得到更加稀疏的因子载荷矩阵,从而提高因子的可解释性。
如何旋转?怎么衡量旋转后因子载荷矩阵的优良性?
令:
d i j 2 = a i j 2 h i 2 , i = 1 , 2 , … , m , j = 1 , 2 , … , n d_{ij}^2=\frac{a_{ij}^2}{h_i^2},\quad i=1,2,\dots,m,\;j=1,2,\dots,n dij2=hi2aij2,i=1,2,…,m,j=1,2,…,n
‘ d i j 2 ‘ `d_{ij}^2` ‘dij2‘衡量了因子 ‘ j ‘ `j` ‘j‘对观测变量 ‘ X i ‘ `\mathbf{X}_i` ‘Xi‘的影响,且消除了 ‘ a i j ‘ `a_{ij}` ‘aij‘的正负号带来的差异和各观测变量在因子载荷大小上的不同带来的差异。定义第 ‘ j ‘ `j` ‘j‘列 ‘ p ‘ `p` ‘p‘个数据 ‘ d i j 2 , i = 1 , 2 , … , m ‘ `d_{ij}^2,\;i=1,2,\dots,m` ‘dij2,i=1,2,…,m‘的方差为:
V j = 1 m ∑ i = 1 m ( d i j 2 − d ˉ j ) 2 = 1 m ∑ i = 1 m ( d i j 2 − 1 p ∑ i = 1 m d i j 2 ) = 1 m [ ∑ i = 1 m d i j 4 − m 1 m 2 ( ∑ i = 1 m d i j 2 ) 2 ] = 1 m 2 [ m ∑ i = 1 m d i j 4 − 1 m ( ∑ i = 1 m d i j 2 ) 2 ] = 1 m 2 [ m ∑ i = 1 m a i j 4 h i 4 − 1 m ( ∑ i = 1 m a i j 2 h i 2 ) 2 ] \begin{aligned} V_j&=\frac{1}{m}\sum_{i=1}^{m}(d_{ij}^2-\bar{d}_j)^2=\frac{1}{m}\sum_{i=1}^{m}\left(d_{ij}^2-\frac{1}{p}\sum_{i=1}^{m}d_{ij}^2\right) \\ &=\frac{1}{m}\left[\sum_{i=1}^{m}d_{ij}^4-m\frac{1}{m^2}\left(\sum_{i=1}^{m}d_{ij}^2\right)^2\right] \\ &=\frac{1}{m^2}\left[m\sum_{i=1}^{m}d_{ij}^4-\frac{1}{m}\left(\sum_{i=1}^{m}d_{ij}^2\right)^2\right] \\ &=\frac{1}{m^2}\left[m\sum_{i=1}^{m}\frac{a_{ij}^4}{h_i^4}-\frac{1}{m}\left(\sum_{i=1}^{m}\frac{a_{ij}^2}{h_i^2}\right)^2\right] \end{aligned} Vj=m1i=1∑m(dij2−dˉj)2=m1i=1∑m(dij2−p1i=1∑mdij2)=m1
i=1∑mdij4−mm21(i=1∑mdij2)2
=m21
mi=1∑mdij4−m1(i=1∑mdij2)2
=m21
mi=1∑mhi4aij4−m1(i=1∑mhi2aij2)2
若 ‘ V j ‘ `V_j` ‘Vj‘越大,则第 ‘ j ‘ `j` ‘j‘个因子对观测变量的影响越集中。定义因子载荷矩阵 ‘ A ‘ `A` ‘A‘的方差为:
V = ∑ j = 1 n V j = 1 m 2 { ∑ j = 1 n [ m ∑ i = 1 m a i j 4 h i 4 − 1 m ( ∑ i = 1 m a i j 2 h i 2 ) 2 ] } V=\sum_{j=1}^{n}V_j=\frac{1}{m^2}\left\{\sum_{j=1}^{n}\left[m\sum_{i=1}^{m}\frac{a_{ij}^4}{h_i^4}-\frac{1}{m}\left(\sum_{i=1}^{m}\frac{a_{ij}^2}{h_i^2}\right)^2\right]\right\} V=j=1∑nVj=m21⎩
⎨
⎧j=1∑n
mi=1∑mhi4aij4−m1(i=1∑mhi2aij2)2
⎭
⎬
⎫
若 ‘ V ‘ `V` ‘V‘越大,则表明因子对观测变量的影响越集中。
综上,我们只需使得旋转后得到的因子载荷矩阵 ‘ A ‘ `A` ‘A‘的方差 ‘ V ‘ `V` ‘V‘达到最大即可。
代码实现
R语言中使用Factanal函数进行因子分析,注意它使用极大似然估计法进行参数估计。
Reference
1.薛毅,统计建模与R软件