跳到正文
格致开物MATHWIKI

因子分析

因子分析(factor analysis)用少数不可直接观测的共同因子解释多个变量之间的相关,并为每个观测变量保留特有波动。它要回答的是共同变化如何形成协方差,而不只是找一组能压缩数据的坐标。例如,两项测验成绩同时上升,可以由一个共同能力因子解释,但每项测验仍有自己的误差与特有成分。

高斯因子模型

设观测向量 X∈ℝp,共同因子 F∈ℝq,通常 q<p。一种标准模型是 X=μ+ΛF+ε,F∼Nq(0,Iq),ε∼Np(0,Ψ),F⊥ε, 其中 Λ 是 p×q 载荷矩阵,Ψ=diag⁡(ψ1,…,ψp) 且 ψj>0。对角结构表示给定共同因子后,各变量的剩余误差互相独立;若需要相关残差,须明确增加参数,不能仍套用同一简单模型。[1]

由独立性,交叉协方差为零,于是 𝔼[X]=μ,Σ=Cov⁡(X)=ΛΛ𝖳+Ψ. 第 j 个变量的共同度为 hj2=∑kλjk2,特有方差为 ψj;总方差是二者之和。若变量已标准化到单位方差,则 hj2+ψj=1。载荷不自动等于变量与某个现实原因的因果效应。

一个共同因子分别以0.8和0.6载荷影响两个观测,另有独立残差方差0.36和0.64
共同因子贡献观测间的协方差;两项独立残差分别补足各自的方差。箭头表示模型分解,不构成现实因果关系的证据。

由观测反推因子的条件分布

即使模型参数已知,看到一次 X=x 也不能唯一恢复 F,因为误差仍可能解释部分观测。后验密度与 exp⁡[−12{f𝖳f+(x−μ−Λf)𝖳Ψ−1(x−μ−Λf)}] 成比例。把与 f 有关的项展开,记 A=Iq+Λ𝖳Ψ−1Λ,h=Λ𝖳Ψ−1(x−μ). 指数中的二次式是 f𝖳Af−2h𝖳f 加常数。由于 A≻0,配方得 f𝖳Af−2h𝖳f=(f−A−1h)𝖳A(f−A−1h)−h𝖳A−1h. 故 F∣X=x∼Nq(A−1h,A−1). 这同时给出了因子得分的条件均值和剩余不确定性。它与讲义中 Λ𝖳Σ−1(x−μ) 的表达等价,计算中可解线性方程而非显式求逆。[1]

两项指标的可复算例子

取一个因子,μ=0,Λ=(0.8,0.6)𝖳,Ψ=diag⁡(0.36,0.64)。则 Σ=(10.480.481). 两项指标的相关为零点四八,共同度分别是零点六四、零点三六。观察 x=(1,1)𝖳 后, A=1+0.820.36+0.620.64=481144,h=0.80.36+0.60.64=455144. 所以 𝔼[F∣x]=455481=3537≈0.94595,Var⁡(F∣x)=144481≈0.29938. 不能把两项观测均为一直接写成因子值一。载荷、残差可靠程度和先验方差共同决定这个折中。

标准正态因子先验与观测两项指标均为一后得到的均值约0.946方差约0.299的条件密度
观测使因子分布右移并收窄,但没有把它压成一个确定数。图中参数假定已知,不包含估计模型参数的不确定性。

变式。 若观测改为 x=(1,−1)𝖳,h=(320−135)/144=185/144,条件均值为 185/481=5/13≈0.38462,方差仍为 144/481。两个指标意见相反时,残差方差较小的第一项在推断中权重更高。

识别、拟合与主成分的区别

对任意正交矩阵 R,把载荷换成 ΛR、因子换成 R𝖳F,观测分布完全相同,因为 ΛRR𝖳Λ𝖳=ΛΛ𝖳。这称旋转不唯一性。一因子时也至少有整体反号的不唯一。

变量太少时,还可能有超出旋转的不识别。主例若交换载荷为 (0.6,0.8)𝖳,残差方差交换为 (0.64,0.36),仍得到同一个 Σ。因此只有这两个变量的总体协方差,不能辨认哪一项的共同度更高;前面的条件得分计算是在载荷和残差已被指定的条件下进行。

实际拟合通常通过最大似然、EM或其他方法估计载荷与残差,检查残差协方差、共同因子个数和识别约束。若出现负特有方差的无约束解,不能把它解释为真实的负噪声。主成分分析直接分解总协方差以提取最大方差方向;因子分析显式区分共同部分和特有噪声,两者的目标、得分和参数解释不同。

参考文献

  1. ↑ 1.0 1.1 Andrew Ng:CS229 Lecture Notes,Factor analysis,§3因子模型、§4条件因子分布与EM算法。