因子分析(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%

通过这六个步骤,我们完成了从观测数据中提取潜在因子、估计参数、旋转解释到最终得分的完整因子分析过程。

因子分析(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% 通过这六个步骤,我们完成了从观测数据中提取潜在因子、估计参数、旋转解释到最终得分的完整因子分析过程。