# 正交因子模型 (Orthogonal Factor Model)

因子分析是一种降维技术,旨在通过识别一组潜在的、不可观测的“因子”来解释观测变量之间的协方差关系。正交因子模型是最基本的因子分析模型之一。

# 模型定义与假设

  • 模型公式:将 pp 个观测变量 XX 表示为 mm 个公因子 FFpp 个特殊因子 ε\varepsilon 的线性组合。

    X(p×1)μ(p×1)=L(p×m)F(m×1)+ε(p×1)X_{(p\times 1)}-\mu_{(p\times 1)}=L_{(p\times m)}F_{(m\times 1)}+\varepsilon_{(p\times 1)}

    其中:

    • pp 是变量数,mm 是因子数。
    • XX 是观测变量向量,μ\mu 是其均值向量。
    • FF 是公因子向量,代表所有变量共享的潜在因子。
    • ε\varepsilon 是特殊因子向量,代表每个变量独有的、不能被公因子解释的部分。
    • LL 是因子载荷矩阵,其元素 lijl_{ij} 表示第 ii 个变量在第 jj 个公因子上的载荷。
  • 模型假设

    • 公因子的均值为 0,协方差矩阵为单位矩阵,表明公因子是独立的、无相关的标准正态分布。

      E[F]=0, Cov(F)=E[FFT]=I(m×m)E[F]=0,\ Cov(F)=E[FF^T]=I_{(m\times m)}

    • 特殊因子的均值为 0,协方差矩阵为对角矩阵,表明特殊因子之间是独立的、无相关的。

      E[ε]=0, Cov(ε)=E[εεT]=Ψ(p×p), Ψ=diag(ψ1,...,ψp)E[\varepsilon]=0,\ Cov(\varepsilon)=E[\varepsilon\varepsilon^T]=\Psi_{(p\times p)},\ \Psi=diag(\psi_1,...,\psi_p)

    • 公因子与特殊因子之间相互独立。

      Cov(ε,F)=E[εFT]=0(p×m)Cov(\varepsilon,F)=E[\varepsilon F^T]=0_{(p\times m)}

# 协方差矩阵关系与模型性质

  • 变量协方差矩阵:变量 XX 的协方差矩阵 Σ\Sigma 可以分解为公因子部分和特殊因子部分。

    Σ=LLT+Ψ\Sigma = LL^T+\Psi

  • 变量方差分解:每个变量的方差 σii\sigma_{ii} 可以分解为公因子方差 (Communality) hi2h_i^2特殊方差 ψi\psi_i

    σii=hi2+ψi, 1ip\sigma_{ii}=h_i^2+\psi_i,\ 1\le i\le p

    其中,公因子方差 hi2=j=1mlij2h_i^2 = \sum_{j=1}^m l_{ij}^2,表示公因子能解释的第 ii 个变量的方差比例。
  • 变量间协方差:任意两个变量 iikk 之间的协方差由公因子共同解释。

    σik=j=1mlijlkj\sigma_{ik}=\sum_{j=1}^m l_{ij}l_{kj}

  • 变量与公因子协方差

    Cov(X,F)=LCov(X,F)=L

  • 模型局限性
    • 当公因子数量 mm 远小于变量数量 pp 时,模型参数(LLΨ\Psi)数量远少于协方差矩阵 Σ\Sigma 的参数数量,此时因子模型可能不存在唯一解。
    • 有时即使存在数值解,也可能没有实际意义,例如当特殊方差 ψi\psi_i 估计值为负时。
  • 模型不唯一性:正交因子模型不唯一。如果 TT 是一个正交矩阵 (TTT=ITT^T=I),那么 L=LTL^* = LTF=TTFF^* = T^T F 构成的模型与原模型等价,即:

    Xμ=LF+ε=L(TTT)F+ε=(LT)(TTF)+ε=LF+εX-\mu=LF+\varepsilon=L(TT^T)F+\varepsilon=(LT)(T^TF)+\varepsilon=L^*F^*+\varepsilon

    这意味着可以对因子载荷矩阵进行旋转 (Rotation),找到更具可解释性的解。
  • 尺度不变性:对变量进行尺度变换不影响因子分析的本质。设 C=diag(c1,...,cp)C=diag(c_1,...,c_p) 是一个对角矩阵,那么 Y=CXY=CX 依然可以被因子模型表示。

    Y=CX=C(μ+LF+ε)=μc+LcF+εcY=CX=C(\mu+LF+\varepsilon)=\mu_c+L_cF+\varepsilon_c


# 参数估计方法

# 主成分法 (Principal Component Method)

该方法通过对样本协方差矩阵 SS 进行特征值分解来估计因子载荷矩阵 LL 和特殊方差矩阵 Ψ\Psi

  • 待解方程

    S=L^L^T+Ψ^S = \hat L\hat L^T+\hat \Psi

  • 估计步骤
    • 对协方差矩阵 SS 进行特征值分解:S=PΛPTS=P\Lambda P^T,其中 Λ=diag(λ1,,λp)\Lambda = diag(\lambda_1, \dots, \lambda_p) 是特征值矩阵,且 λ1λ2λp\lambda_1 \ge \lambda_2 \ge \dots \ge \lambda_p
    • 取前 mm 个最大特征值和对应的特征向量,构建初始的因子载荷矩阵 LmL_m

    Lm=[ λ1e1  λ2e2  ... λmem ]L_m=[\ \sqrt{\lambda_1}e_1\ |\ \sqrt{\lambda_2}e_2\ |\ ...\ |\sqrt{\lambda_m}e_m\ ]

    • Ψ\Psi 的估计值 Ψ^=SL^mL^mT\hat{\Psi} = S - \hat{L}_m \hat{L}_m^T 不一定是对角矩阵,通常需要将非对角元素置为 0。
  • 因子个数 mm 的选择:可以通过考察残差矩阵 Res=S(L^L^T+Ψ^)Res = S - (\hat{L}\hat{L}^T+\hat{\Psi}) 来确定,通常残差的范数应小于未解释的特征值平方和:

    ResFi=m+1pλi2||Res||_F \le \sum_{i=m+1}^p\lambda_i^2

  • 拟合程度:被模型解释的方差占比可以衡量拟合优度。\eta=\frac{\sum_{i=1}^m\lambda_i^2}{\tr(S)}

# 最大似然法 (Maximum Likelihood Method, MLE)

该方法基于变量和因子服从多元正态分布的假设,通过最大化似然函数来估计模型参数。

  • 模型假设:公因子 FF 和特殊因子 ε\varepsilon 服从联合正态分布,且相互独立。

    FNm(0,I), εNp(0,Ψ), FεF\sim N_m(0,I),\ \varepsilon\sim N_p(0,\Psi),\ F\perp\varepsilon

  • 附加条件:为了保证解的唯一性,通常会增加一个正交性条件。

    LTΨ1L=Δ=diag(δ1,...,δm)L^T\Psi^{-1}L=\Delta=diag(\delta_1,...,\delta_m)

  • 单个因子解释方差占比:第 jj 个因子对所有变量总方差的贡献可以表示为:

    ηj=i=1plij2i=1psii\eta'_j=\frac{\sum_{i=1}^p l_{ij}^2}{\sum_{i=1}^p s_{ii}}

  • 标准化:通常会先对数据进行标准化(将均值变为 0,方差变为 1),使协方差矩阵变为相关矩阵 RR

    Z=V12(Xμ), V=diag(Σ)Z=V^{-\frac12}(X-\mu),\ V=diag(\Sigma)

    相应的因子模型和参数也随之变换。

    Z=LzF+εz, Lz=V12L, Ψz=V12ΨV12Z=L_zF+\varepsilon_z,\ L_z=V^{-\frac12}L,\ \Psi_z=V^{-\frac12}\Psi V^{-\frac12}


# 参数选择:因子载荷的旋转 (Factor Rotation)

由于因子载荷矩阵 LL 不唯一,需要通过旋转来得到一个更易于解释的解。

# 正交旋转 (Orthogonal Rotation)

正交旋转保持公因子相互独立,通过寻找一个正交矩阵 TT 来变换 LL

  • 最大方差准则 (Varimax)

    • 目标:增加每个公因子的可解释性。
    • 方法:最大化每个因子(列)的载荷平方的方差之和。这使得每个因子在一些变量上具有高载荷,在其他变量上具有接近 0 的载荷,从而使因子的作用更清晰。
    • 表达式

      (l~ij)2=(l^ij)2h^i2argmaxV=1pj=1m{i=1p(l~ij)4[i=1p(l~ij)2]2/p}(\widetilde l^*_{ij})^2=\frac{(\widehat l^*_{ij})^2}{\hat h_i^2} \\ \arg\max V=\frac1p\sum_{j=1}^m\{\sum_{i=1}^p (\widetilde l^*_{ij})^4-[\sum_{i=1}^p(\widetilde l^*_{ij})^2]^2/p \}

  • 四方最大准则 (Quartimax)

    • 目标:增加每个变量的可解释性。
    • 方法:最大化每个变量(行)的载荷平方的方差之和。这使得每个变量在一个因子上具有高载荷,在其他因子上具有接近 0 的载荷,从而使变量的归属更清晰。

# 斜旋转 (Oblique Rotation)

斜旋转允许公因子之间存在相关性,从而可能提供更符合现实情况的解。

  • 常用方法:包括 Oblimin、Promax、Target matrix 等。
  • 输出矩阵:斜旋转通常会输出两个矩阵:
    • Pattern Matrix:表示变量对因子的载荷(类似于正交旋转中的载荷矩阵)。
    • Structure Matrix:表示变量和因子之间的相关性。

# 公因子得分的估计 (Factor Score Estimation)

公因子得分是每个样本在公因子上的具体取值,需要通过观测数据进行估计。

# 普通最小二乘法 (Ordinary Least Squares, OLS)

该方法通过最小化特殊因子 ε\varepsilon 的残差平方和来估计公因子得分。

  • 应用场景:通常用于主成分法得到的参数。
  • 目标函数

    mini=1pεi2=min(XμLF)T(XμLF)\min\sum_{i=1}^p\varepsilon_i^2=\min(X-\mu-LF)^T(X-\mu-LF)

  • 估计结果

    f^=(LTL)1LT(Xμ)\hat f=(L^TL)^{-1}L^T(X-\mu)

    f^i=1λieiT(xμ)=1λiyi\hat f_i=\frac{1}{\sqrt{\lambda_i}}e^T_i(x-\mu)=\frac{1}{\sqrt{\lambda_i}}y_i

# 加权最小二乘法 (Weighted Least Squares, WLS)

该方法通过对特殊因子残差进行加权,以最小化加权后的残差平方和。

  • 目标函数

    mini=1pεi2ψi=min(XμLF)TΨ1(XμLF)\min\sum_{i=1}^p\frac{\varepsilon_i^2}{\psi_i}=\min(X-\mu-LF)^T\Psi^{-1}(X-\mu-LF)

  • 估计结果

    f^=(LTΨ1L)1LTΨ1(Xμ)\hat f=(L^T\Psi^{-1}L)^{-1}L^T\Psi^{-1}(X-\mu)

    该得分也被称为 Bartlett Score

# 回归方法 (Regression Method)

该方法基于公因子和观测变量的联合正态分布,通过条件期望来估计公因子得分。

  • 联合分布

    (XμF)Np+m(0,[ΣLLTIm])\begin{pmatrix}X-\mu\\F \end{pmatrix}\sim N_{p+m}(0,\begin{bmatrix}\Sigma&L\\L^T&I_m \end{bmatrix})

  • 基于条件期望的估计

    f^=E[Fx]=LTΣ1(xμ)\hat f = E[F|x]=L^T\Sigma^{-1}(x-\mu)

    Σ\Sigma 替换为样本估计量 SS 或模型估计量 (L^L^T+Ψ^)(\hat{L}\hat{L}^T+\hat{\Psi})

    f^=L^T(L^L^T+Ψ^)1(xxˉ)f^=L^TS1(xxˉ)\hat f=\hat L^T(\hat L\hat L^T+\hat \Psi)^{-1}(x-\bar x) \quad \text{或} \quad \hat f=\hat L^TS^{-1}(x-\bar x)

    在标准化数据 zz 下,因子得分的估计为:

    f^=L^zTR^1z\hat f=\hat L_z^T\hat R^{-1}z

  • 与主成分得分的关系

    f^=Λm12PmT(xxˉ)=Λm12{PC score}\hat f=\Lambda_m^{-\frac12}P^T_m(x-\bar x)=\Lambda_m^{-\frac12} \{PC\ score \}

  • S 与 L^L^T+Ψ^\hat{L}\hat{L}^T+\hat{\Psi} 的区别
    • 当使用最大似然法估计参数时,两者一致。
    • 当使用主成分法估计参数时,两者不一致。R 语言默认使用近似回归法,即用 SS 作为 Σ\Sigma 的估计。

# 不同估计方法的比较

  • 回归方法与 WLS 方法的关系

    f^WLS=(I+(LTΨ1L)1)f^R\hat f^{WLS}=(I+(L^T\Psi^{-1}L)^{-1})\hat f^R

  • 偏性:WLS 方法是无偏的,而回归方法是有偏的。

    E[f^WLSF]=FE[f^RF]=((I+(LTΨ1L)1))1FE[\hat f^{WLS}|F]=F \quad \text{而} \quad E[\hat f^{R}|F]=((I+(L^T\Psi^{-1}L)^{-1}))^{-1}F

  • 平均误差:回归方法的平均误差更小,WLS 方法更大。

    E[(f^RF)(f^RF)T]=(I+LTΨ1L)1<E[(f^WLSF)(f^WLSF)T]=(LTΨ1L)1E[(\hat f^{R}-F)(\hat f^{R}-F)^T]=(I+L^T\Psi^{-1}L)^{-1} < E[(\hat f^{WLS}-F)(\hat f^{WLS}-F)^T]=(L^T\Psi^{-1}L)^{-1}

  • 因子旋转的影响:两种方法的因子得分都会随因子载荷的旋转而相应旋转。

    L=LT    (f^WLS)=TTf^WLS(f^R)=TTf^RL^*=LT \implies (\hat f^{WLS})^*=T^T\hat f^{WLS} \quad \text{和} \quad (\hat f^{R})^*=T^T\hat f^{R}


# 因子分析实战策略

执行因子分析通常遵循以下步骤,并且需要反复迭代以得到最佳结果。

  1. 数据准备:进行数据收集、清理、标准化等预处理工作。
  2. 确定因子数量:通过特征值、平行分析、碎石图等方法初步确定要提取的公因子数量 mm
  3. 提取初始因子
    • 选择主成分法最大似然法等方法来提取初始的因子载荷矩阵 LL
    • 对于大型数据集,可以将其分成两半,分别进行因子分析,以验证结果的一致性。
  4. 因子旋转:选择合适的旋转方法(正交或斜旋转),以获得更易于解释的因子结构。
  5. 模型诊断与细化
    • 检查模型的拟合优度,例如残差矩阵。
    • 检查特殊方差 ψi\psi_i 是否为负值,以确保解的合理性。
    • 对不同的因子数量 mm 和不同的估计方法进行比较,以选择最佳模型。
  6. 因子得分推导:基于最终确定的模型,估计每个样本的公因子得分,用于后续分析(如聚类、回归等)。