因子分析(Factor Analysis)算法的原理与潜在变量提取过程
字数 1674 2025-11-23 12:34:24
因子分析(Factor Analysis)算法的原理与潜在变量提取过程
题目描述:
因子分析是一种多元统计方法,用于从一组观测变量中提取少数几个潜在的、不可直接测量的公共因子。假设观测变量是由这些公共因子和特殊因子(误差)线性组合而成,目标是找到能解释观测变量间相关性的潜在结构。例如从学生的数学、语文、物理成绩中提取"文科因子"和"理科因子"。
解题过程:
1. 问题建模与基本假设
- 设观测变量向量为 \(x = [x_1, x_2, ..., x_p]^T\),均值为0(已中心化)
- 假设存在 \(m\) 个公共因子 \(f = [f_1, f_2, ..., f_m]^T\)(\(m < p\))
- 建立线性模型:\(x = Λf + ε\)
- \(Λ\) 是 \(p×m\) 的因子载荷矩阵,\(Λ_{ij}\) 表示第 \(i\) 个变量在第 \(j\) 个因子上的载荷
- \(ε\) 是特殊因子向量,代表变量特有部分
- 关键假设:
- \(E[f] = 0\),\(Cov(f) = I\)(因子间不相关)
- \(E[ε] = 0\),\(Cov(ε) = Ψ = diag(ψ_1, ..., ψ_p)\)(特殊因子不相关)
- \(Cov(f, ε) = 0\)(公共因子与特殊因子独立)
2. 协方差结构推导
- 观测变量的协方差矩阵:\(Σ = Cov(x) = E[xx^T]\)
- 代入模型:\(Σ = E[(Λf + ε)(Λf + ε)^T]\)
- 展开得:\(Σ = ΛE[ff^T]Λ^T + ΛE[fε^T] + E[εf^T]Λ^T + E[εε^T]\)
- 根据假设简化为:\(Σ = ΛΛ^T + Ψ\)
- 这意味着观测协方差矩阵可分解为公共因子部分 \(ΛΛ^T\) 和特殊因子部分 \(Ψ\)
3. 参数估计(主成分方法)
- 样本协方差矩阵 \(S\) 作为 \(Σ\) 的估计
- 对 \(S\) 进行特征分解:\(S = ΓΘΓ^T\)
- \(Θ = diag(θ_1, ..., θ_p)\) 是特征值对角矩阵(\(θ_1 ≥ ... ≥ θ_p\))
- \(Γ\) 是特征向量矩阵
- 取前 \(m\) 个主成分,得到因子载荷矩阵的估计:
\(\hat{Λ} = Γ_m(Θ_m - \hat{ψ}I)^{1/2}\)
其中 \(Θ_m\) 是前 \(m\) 个特征值的对角矩阵,\(\hat{ψ}\) 是特殊方差估计 - 特殊方差估计:\(\hat{ψ}_i = s_{ii} - \sum_{j=1}^m \hat{λ}_{ij}^2\)
(\(s_{ii}\) 是 \(S\) 的第 \(i\) 个对角元素)
4. 因子旋转与解释
- 初始因子载荷矩阵通常难以解释,需要进行旋转
- 使用方差最大旋转(Varimax):
- 目标函数:最大化 \(V = \sum_{j=1}^m [\frac{1}{p}\sum_{i=1}^p (λ_{ij}^2/h_i^2)^2 - (\frac{1}{p}\sum_{i=1}^p λ_{ij}^2/h_i^2)^2]\)
- 其中 \(h_i^2 = \sum_{j=1}^m λ_{ij}^2\) 是变量 \(i\) 的共同度
- 通过正交旋转矩阵 \(T\)(\(TT^T = I\))实现:\(Λ^* = ΛT\)
- 旋转后因子结构更清晰:每个变量在少数因子上有高载荷,在其他因子上载荷接近0
5. 因子得分估计
- 使用回归方法估计因子得分:
\(\hat{f} = Λ^T Σ^{-1} x\) - 实际中用样本估计:\(\hat{f} = \hat{Λ}^T S^{-1} x\)
- 因子得分表示每个样本在潜在因子空间中的坐标
6. 模型评估与因子数选择
- 共同度:\(h_i^2 = \sum_{j=1}^m λ_{ij}^2\),反映变量被公共因子解释的程度
- 特征值准则:选择特征值大于1的因子(Kaiser准则)
- 碎石图:寻找特征值下降的"拐点"
- 累计方差贡献率:通常要求达到70%-80%
通过这六个步骤,我们完成了从观测数据中提取潜在因子、估计参数、旋转解释到最终得分的完整因子分析过程。