1. 什么是因子模型
因子模型(Factor Model)与主成分分析(PCA)类似,其核心思想是将多个变量所包含的信息压缩到少数几个变量中,压缩的结果称为“因子”。因子模型是一类重要的统计降维方法。
它的基本假设是:高维观测数据 Y ∈ R D Y \in \mathbb{R}^{D} Y ∈ R D 可以由少数几个不可直接观测的潜在因子(Latent Factors)F ∈ R K F \in \mathbb{R}^{K} F ∈ R K 所解释 ,其中 K ≪ D K \ll D K ≪ D 。
根据压缩方式的不同,因子模型可分为两类:
R型因子分析 :把多个变量压缩成因子,保持数据集观测个数不变,变量个数降维。
Q型因子分析 :保持数据集变量个数不变,把观测个数降维。
2. 经典线性因子模型
2.1 模型形式
设 X = ( X 1 , X 2 , ⋯ , X p ) ⊤ X = (X_1, X_2, \cdots, X_p)^\top X = ( X 1 , X 2 , ⋯ , X p ) ⊤ 是一个 p p p 维随机向量,且 E [ X ] = μ \mathbb{E}[X] = \mu E [ X ] = μ ,Var ( X ) = Σ \text{Var}(X) = \Sigma Var ( X ) = Σ 。假设 X X X 可以用少数几个不可观测的随机变量 F 1 , F 2 , ⋯ , F m F_1, F_2, \cdots, F_m F 1 , F 2 , ⋯ , F m (m < p m < p m < p )进行较好的线性近似,则有以下回归形式的因子模型:
X 1 = μ 1 + a 11 F 1 + a 12 F 2 + ⋯ + a 1 m F m + ε 1 , X 2 = μ 2 + a 21 F 1 + a 22 F 2 + ⋯ + a 2 m F m + ε 2 , ⋮ X p = μ p + a p 1 F 1 + a p 2 F 2 + ⋯ + a p m F m + ε p , \begin{aligned}
X_1 &= \mu_1 + a_{11}F_1 + a_{12}F_2 + \cdots + a_{1m}F_m + \varepsilon_1, \\
X_2 &= \mu_2 + a_{21}F_1 + a_{22}F_2 + \cdots + a_{2m}F_m + \varepsilon_2, \\
&\vdots \\
X_p &= \mu_p + a_{p1}F_1 + a_{p2}F_2 + \cdots + a_{pm}F_m + \varepsilon_p,
\end{aligned} X 1 X 2 X p = μ 1 + a 11 F 1 + a 12 F 2 + ⋯ + a 1 m F m + ε 1 , = μ 2 + a 21 F 1 + a 22 F 2 + ⋯ + a 2 m F m + ε 2 , ⋮ = μ p + a p 1 F 1 + a p 2 F 2 + ⋯ + a p m F m + ε p ,
其中:
F 1 , F 2 , ⋯ , F m F_1, F_2, \cdots, F_m F 1 , F 2 , ⋯ , F m 称为 公共因子 (Common Factors);
ε 1 , ε 2 , ⋯ , ε p \varepsilon_1, \varepsilon_2, \cdots, \varepsilon_p ε 1 , ε 2 , ⋯ , ε p 称为 特殊因子 (Specific Factors),仅影响对应的单个变量;
a i j a_{ij} a ij 称为第 i i i 个变量在第 j j j 个因子上的 载荷 (Loading);
矩阵 A = ( a i j ) p × m A = (a_{ij})_{p \times m} A = ( a ij ) p × m 称为 载荷矩阵 。
记 F = ( F 1 , F 2 , ⋯ , F m ) ⊤ F = (F_1, F_2, \cdots, F_m)^\top F = ( F 1 , F 2 , ⋯ , F m ) ⊤ ,ε = ( ε 1 , ε 2 , ⋯ , ε p ) ⊤ \varepsilon = (\varepsilon_1, \varepsilon_2, \cdots, \varepsilon_p)^\top ε = ( ε 1 , ε 2 , ⋯ , ε p ) ⊤ ,则因子模型可以写成如下矩阵形式:
X = μ + A F + ε . X = \mu + AF + \varepsilon. X = μ + A F + ε .
具体例子:学生成绩的因子模型
我们用一个实际的例子来直观理解上述公式。假设班级上有 50 名同学,共开设了 6 门课程(语文、英语、数学、物理、化学、生物)。我们将所有同学的这 6 门课成绩记录为一个矩阵:
X = ( x i j ) i ∈ [ 50 ] , j ∈ [ 6 ] , X = (x_{ij})_{i \in [50], \; j \in [6]}, X = ( x ij ) i ∈ [ 50 ] , j ∈ [ 6 ] ,
其中 x i j x_{ij} x ij 代表同学 i i i 在课程 j j j 上的得分。我们的目标是探究这 6 门看似不同的课程成绩背后,是否隐藏着更本质的“潜在能力”(即公共因子 F F F )。例如,我们可以设想存在 m = 2 m=2 m = 2 个公共因子:
F 1 F_1 F 1 :语言与人文素养能力。
F 2 F_2 F 2 :数理逻辑与科学推理能力。
那么,对于第 i i i 位同学的语文成绩(j = 1 j=1 j = 1 ),可以用如下方程近似表示:
x i 1 ⏟ 语文成绩 = μ 1 ⏟ 平均分 + a 11 ⏟ 语文对语言能力的依赖 × F i 1 ⏟ 语言能力 + a 12 ⏟ 语文对数理能力的依赖 × F i 2 ⏟ 数理能力 + ε i 1 ⏟ 特殊因子 . \underbrace{x_{i1}}_{\text{语文成绩}} = \underbrace{\mu_1}_{\text{平均分}} + \underbrace{a_{11}}_{\text{语文对语言能力的依赖}} \times \underbrace{F_{i1}}_{\text{语言能力}} + \underbrace{a_{12}}_{\text{语文对数理能力的依赖}} \times \underbrace{F_{i2}}_{\text{数理能力}} + \underbrace{\varepsilon_{i1}}_{\text{特殊因子}}. 语文成绩 x i 1 = 平均分 μ 1 + 语文对语言能力的依赖 a 11 × 语言能力 F i 1 + 语文对数理能力的依赖 a 12 × 数理能力 F i 2 + 特殊因子 ε i 1 .
在这个模型中:
X X X 是观测数据 :50 名同学在 6 门课上的成绩单,共 50 × 6 50 \times 6 50 × 6 个已知数值。
F F F 是潜在能力 :每个同学都有自身在语言能力(F 1 F_1 F 1 )和数理能力(F 2 F_2 F 2 )上的水平,这些值不可直接观测,是我们希望从成绩中反推的“本质”。
A A A 是科目与能力的映射关系 :载荷矩阵 A A A 的每一行对应一门课程,其数值表示这门课程在多大程度上“考查”了某种能力。例如,语文对语言能力的载荷(a 11 a_{11} a 11 )会很高,对数理能力的载荷(a 12 a_{12} a 12 )会很低;而数学则正好相反。这个矩阵对全班同学是统一的。
ε \varepsilon ε 是随机波动 :代表无法用两个核心能力解释的、与考试题目随机性相关的微小偏差。
2.2 因子模型与线性模型的比较
维度 线性模型 因子模型 公式形式 Y = M β + ε Y = M\beta + \varepsilon Y = M β + ε X = μ + A F + ε X = \mu + AF + \varepsilon X = μ + A F + ε 左边变量 Y Y Y (因变量,预测结果,如房价)X X X (观测变量,如多门课程成绩)右边变量 M M M (自变量,完全已知的特征)F F F (因子,完全未知的潜变量)因果方向 M → Y M \to Y M → Y (自变量导致因变量)F → X F \to X F → X (潜在因子导致观测数据)待求参数 β \beta β (回归系数,变量关系强度)A A A (载荷矩阵)和 F F F (因子得分)数据类型 有监督学习(有输入 X X X 和输出 Y Y Y ) 无监督学习(仅有输入 X X X ,无标签)
2.3 模型假设
对公共因子和特殊因子,我们做如下假设:
E ( F ) = 0 , Var ( F ) = I , E ( ε ) = 0 , Var ( ε ) = diag ( ϕ 1 , ϕ 2 , ⋯ , ϕ p ) , Cov ( F , ε ) = E ( F ε ⊤ ) = 0. \begin{aligned}
\mathbb{E}(F) &= 0, & \text{Var}(F) &= I, \\
\mathbb{E}(\varepsilon) &= 0, & \text{Var}(\varepsilon) &= \text{diag}(\phi_1, \phi_2, \cdots, \phi_p), \\
\text{Cov}(F, \varepsilon) &= \mathbb{E}(F\varepsilon^\top) = 0.
\end{aligned} E ( F ) E ( ε ) Cov ( F , ε ) = 0 , = 0 , = E ( F ε ⊤ ) = 0. Var ( F ) Var ( ε ) = I , = diag ( ϕ 1 , ϕ 2 , ⋯ , ϕ p ) ,
这些假设的含义:
公共因子和特殊因子的均值为零 :在因子模型中,均值 μ \mu μ 已经代表了各门课程的平均分。剩余部分(即公共因子 F F F 和特殊因子 ε \varepsilon ε )自然应该围绕零点波动,所以期望为零是合理的。这解释了为什么因子模型只研究变量的协方差结构,与原始变量的均值无关。
各公共因子不相关,各特殊因子不相关,公共因子与特殊因子也不相关 :我们期望提取出的核心能力(如语言能力、数理能力)之间是彼此独立的,不希望出现交叉重叠。特殊因子代表每门课独有的随机误差,它们之间通常也是独立的。公共因子和特殊因子之间的独立性意味着,核心能力不仅决定了成绩,而且与考试当天的随机波动无关。
公共因子的方差为单位方差 :这是保证载荷系数唯一确定的关键。如果不固定公共因子的方差,那么模型会出现“缩放不确定性”。举个例子:
假设我们将公共因子 F F F 的数值全部扩大 2 倍(即 F ′ = 2 F F' = 2F F ′ = 2 F ),同时将载荷矩阵 A A A 的对应列缩小 2 倍(即 A ′ = A / 2 A' = A/2 A ′ = A /2 ),那么最终 X = μ + A ′ F ′ + ε X = \mu + A'F' + \varepsilon X = μ + A ′ F ′ + ε 仍然与原始的 X = μ + A F + ε X = \mu + AF + \varepsilon X = μ + A F + ε 完全相等。这意味着,如果不固定 F F F 的方差,我们无法区分“是学生的能力很强”还是“是这门课对能力的依赖度很高”。因此,我们强制 Var ( F ) = I \text{Var}(F) = I Var ( F ) = I ,消除这种不确定性,使载荷系数 a i j a_{ij} a ij 具有唯一确定的数值。
p p p 个特殊因子可以有自己的单独方差 :特殊因子 ε \varepsilon ε 代表每门课程独有的、无法被公共因子解释的随机波动。例如,某次数学考试正好赶上一场雷雨天气,导致大家发挥失常,成绩波动较大,这部分波动就由数学的特殊因子方差 ϕ 数学 \phi_{\text{数学}} ϕ 数学 来捕捉;而语文考试当天大家心平气和,成绩稳定,其特殊因子方差 ϕ 语文 \phi_{\text{语文}} ϕ 语文 就会较小。因此,每门课允许有自己的特殊方差是符合实际情况的。
满足上述假设的因子模型称为 正交因子模型 。如果允许公共因子之间相关,则称为 斜交因子模型 。
3. 正交因子模型的协方差结构
在正交因子模型的假设下,X X X 的协方差矩阵可以分解为:
Σ = Var ( X ) = E [ ( X − μ ) ( X − μ ) ⊤ ] = E [ ( A F + ε ) ( A F + ε ) ⊤ ] = A E ( F F ⊤ ) A ⊤ + E ( ε F ⊤ ) A ⊤ + A E ( F ε ⊤ ) + E ( ε ε ⊤ ) = A A ⊤ + Φ , \begin{aligned}
\Sigma &= \text{Var}(X) = \mathbb{E}[(X-\mu)(X-\mu)^\top] \\
&= \mathbb{E}[(AF+\varepsilon)(AF+\varepsilon)^\top] \\
&= A\mathbb{E}(FF^\top)A^\top + \mathbb{E}(\varepsilon F^\top)A^\top + A\mathbb{E}(F\varepsilon^\top) + \mathbb{E}(\varepsilon\varepsilon^\top) \\
&= AA^\top + \Phi,
\end{aligned} Σ = Var ( X ) = E [( X − μ ) ( X − μ ) ⊤ ] = E [( A F + ε ) ( A F + ε ) ⊤ ] = A E ( F F ⊤ ) A ⊤ + E ( ε F ⊤ ) A ⊤ + A E ( F ε ⊤ ) + E ( ε ε ⊤ ) = A A ⊤ + Φ ,
其中 Φ = diag ( ϕ 1 , ϕ 2 , ⋯ , ϕ p ) \Phi = \text{diag}(\phi_1, \phi_2, \cdots, \phi_p) Φ = diag ( ϕ 1 , ϕ 2 , ⋯ , ϕ p ) 是特殊因子的方差矩阵。
此外,还有以下重要性质:
协方差结构 :Cov ( X , F ) = A \text{Cov}(X, F) = A Cov ( X , F ) = A 。
变量的方差分解 :
Var ( X i ) : = σ i i = a i 1 2 + a i 2 2 + ⋯ + a i m 2 + ϕ i . \text{Var}(X_i) := \sigma_{ii} = a_{i1}^2 + a_{i2}^2 + \cdots + a_{im}^2 + \phi_i. Var ( X i ) := σ ii = a i 1 2 + a i 2 2 + ⋯ + a im 2 + ϕ i .
共同度与特殊度 :
记 h i 2 = a i 1 2 + a i 2 2 + ⋯ + a i m 2 h_i^2 = a_{i1}^2 + a_{i2}^2 + \cdots + a_{im}^2 h i 2 = a i 1 2 + a i 2 2 + ⋯ + a im 2 ,表示 m m m 个公共因子对原始变量 X i X_i X i 的方差贡献,称为第 i i i 个变量的 共同度 (Communality),它是载荷矩阵 A A A 第 i i i 行的平方和。ϕ i \phi_i ϕ i 称为第 i i i 个变量的 特殊度 (Specific Variance)。
变量间的协方差 :由于 Φ \Phi Φ 是对角阵,两个变量 X i X_i X i 和 X j X_j X j 的协方差为:
Cov ( X i , X j ) = ∑ l = 1 m a i l a j l . \text{Cov}(X_i, X_j) = \sum_{l=1}^m a_{il}a_{jl}. Cov ( X i , X j ) = l = 1 ∑ m a i l a j l .
可见,变量间的协方差仅由公共因子决定,不含特殊因子。
因子载荷的含义 :
Cov ( X i , F j ) = a i j , i = 1 , 2 , ⋯ , p ; j = 1 , 2 , ⋯ , m . \text{Cov}(X_i, F_j) = a_{ij}, \quad i=1,2,\cdots,p; \; j=1,2,\cdots,m. Cov ( X i , F j ) = a ij , i = 1 , 2 , ⋯ , p ; j = 1 , 2 , ⋯ , m .
即 a i j a_{ij} a ij 是原始变量 X i X_i X i 与公共因子 F j F_j F j 的协方差。
因子的重要性 :考虑单个公共因子 F j F_j F j 对所有原始变量的影响,令
b j 2 = a 1 j 2 + a 2 j 2 + ⋯ + a p j 2 . b_j^2 = a_{1j}^2 + a_{2j}^2 + \cdots + a_{pj}^2. b j 2 = a 1 j 2 + a 2 j 2 + ⋯ + a p j 2 .
b j 2 b_j^2 b j 2 越大,第 j j j 个因子的影响也越大。b j 2 b_j^2 b j 2 正是载荷矩阵 A A A 第 j j j 列的平方和。
4. 模型的重要性质
4.1 伸缩不变性
设 C C C 为对角阵,对 X X X 做伸缩变换 C X CX C X ,有:
C X = C A F + C ε . CX = CAF + C\varepsilon. C X = C A F + C ε .
令 Y = C X Y = CX Y = C X ,A ~ = C A \tilde{A} = CA A ~ = C A ,ε ~ = C ε \tilde{\varepsilon} = C\varepsilon ε ~ = C ε ,则 Y Y Y 仍服从正交因子模型,且公共因子 F F F 不变。载荷矩阵仅每行乘以不同系数,特殊因子的方差相应变化。
于是令 C = diag ( σ i i − 1 / 2 , i = 1 , ⋯ , p ) C = \text{diag}(\sigma_{ii}^{-1/2}, i=1,\cdots,p) C = diag ( σ ii − 1/2 , i = 1 , ⋯ , p ) ,则 Y Y Y 的协方差阵即 X X X 的相关阵。因此,正交因子分析从 X X X 的协方差阵或相关阵出发计算,得到的公共因子相同。而在主成分分析(PCA)中,从协方差阵出发和从相关阵出发得到的主成分是不同的。
4.2 因子表示的不唯一性
设 T m × m T_{m \times m} T m × m 满足 T ⊤ T = T T ⊤ = I m T^\top T = T T^\top = I_m T ⊤ T = T T ⊤ = I m ,则:
X = μ + A F + ε = μ + A T T ⊤ F + ε . X = \mu + AF + \varepsilon = \mu + A T T^\top F + \varepsilon. X = μ + A F + ε = μ + A T T ⊤ F + ε .
记 A ~ = A T \tilde{A} = AT A ~ = A T ,F ~ = T ⊤ F \tilde{F} = T^\top F F ~ = T ⊤ F ,则因子模型变为:
X = μ + A ~ F ~ + ε . X = \mu + \tilde{A} \tilde{F} + \varepsilon. X = μ + A ~ F ~ + ε .
其中 F ~ \tilde{F} F ~ 仍然满足:E ( F ~ ) = 0 \mathbb{E}(\tilde{F}) = 0 E ( F ~ ) = 0 ,Var ( F ~ ) = I \text{Var}(\tilde{F}) = I Var ( F ~ ) = I ,Cov ( F ~ , ε ) = 0 \text{Cov}(\tilde{F}, \varepsilon) = 0 Cov ( F ~ , ε ) = 0 。新的公共因子具有相同的方差结构:Σ = A ~ A ~ ⊤ + Φ \Sigma = \tilde{A} \tilde{A}^\top + \Phi Σ = A ~ A ~ ⊤ + Φ 。共同度也不变。
这意味着因子载荷矩阵和因子得分在正交旋转下具有内在的不确定性,这既是因子模型的灵活性,也带来了因子解释的挑战。
4.3 因子模型的估计
在正交因子模型中,未知的参数是载荷矩阵 A A A 和特殊方差 ϕ i \phi_i ϕ i (i = 1 , 2 , ⋯ , p i=1,2,\cdots,p i = 1 , 2 , ⋯ , p )。常用的估计方法有 主成分法(Principal Component Method) 、极大似然法(Maximum Likelihood Method) 和 主因子法(Principal Factor Method) 。
4.3.1 主成分法
核心思想 :利用样本协方差阵 S S S 或样本相关阵 R R R 的特征值和特征向量来构造载荷矩阵。这是最常用的初始估计方法,无需迭代,计算速度快。
算法步骤 :
计算样本协方差阵 S S S (或样本相关阵 R R R )。如果变量的量纲差异较大,通常使用 R R R 。
对 S S S 进行特征值分解:S = V Λ V ⊤ S = V \Lambda V^\top S = V Λ V ⊤ ,其中 Λ = diag ( λ 1 , λ 2 , ⋯ , λ p ) \Lambda = \text{diag}(\lambda_1, \lambda_2, \cdots, \lambda_p) Λ = diag ( λ 1 , λ 2 , ⋯ , λ p ) 是特征值按从大到小排列的对角阵,V = ( v 1 , v 2 , ⋯ , v p ) V = (v_1, v_2, \cdots, v_p) V = ( v 1 , v 2 , ⋯ , v p ) 是对应的正交特征向量矩阵。
选择前 m m m 个特征值 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ m > 0 \lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_m > 0 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ m > 0 及其对应的特征向量 v 1 , v 2 , ⋯ , v m v_1, v_2, \cdots, v_m v 1 , v 2 , ⋯ , v m 。
计算载荷矩阵的估计值:
A ^ = ( λ 1 v 1 , λ 2 v 2 , ⋯ , λ m v m ) . \hat{A} = \left( \sqrt{\lambda_1}v_1, \sqrt{\lambda_2}v_2, \cdots, \sqrt{\lambda_m}v_m \right). A ^ = ( λ 1 v 1 , λ 2 v 2 , ⋯ , λ m v m ) .
即 A ^ \hat{A} A ^ 的第 j j j 列为 λ j v j \sqrt{\lambda_j}v_j λ j v j 。
估计特殊方差:
ϕ ^ i = s i i − ∑ j = 1 m a ^ i j 2 , i = 1 , ⋯ , p . \hat{\phi}_i = s_{ii} - \sum_{j=1}^m \hat{a}_{ij}^2, \quad i=1,\cdots,p. ϕ ^ i = s ii − j = 1 ∑ m a ^ ij 2 , i = 1 , ⋯ , p .
其中 s i i s_{ii} s ii 是 S S S 的对角元。
优点 :无需迭代,计算简单,且估计结果与主成分分析紧密相关。
缺点 :可能会导致 ϕ ^ i \hat{\phi}_i ϕ ^ i 存在负值,这时可以采用主因子法:可以从相关系数矩阵出发,把对角元素1替换为共同度,得到修正的 R ∗ R^* R ∗ ,重新计算得到载荷矩阵 A A A ,又得到新的共同度,替换后得到新的 R ∗ R^* R ∗ ,一直重复直到收敛;当 p p p 较大、变量间相关性较弱时,估计效果可能不理想。
4.3.2 极大似然法
核心思想 :假设观测数据 X 1 , X 2 , ⋯ , X n X_1, X_2, \cdots, X_n X 1 , X 2 , ⋯ , X n 独立同分布于 p p p 维正态分布 N p ( μ , Σ ) N_p(\mu, \Sigma) N p ( μ , Σ ) ,且 Σ = A A ⊤ + Φ \Sigma = AA^\top + \Phi Σ = A A ⊤ + Φ 。通过最大化对数似然函数来估计 A A A 和 Φ \Phi Φ 。
算法步骤 :
写出对数似然函数:
ℓ ( A , Φ ) = − n 2 [ log ∣ Σ ∣ + tr ( Σ − 1 S ) ] + 常数 , \ell(A, \Phi) = -\frac{n}{2} \left[ \log |\Sigma| + \text{tr}(\Sigma^{-1} S) \right] + \text{常数}, ℓ ( A , Φ ) = − 2 n [ log ∣Σ∣ + tr ( Σ − 1 S ) ] + 常数 ,
其中 S = 1 n ∑ i = 1 n ( X i − X ˉ ) ( X i − X ˉ ) ⊤ S = \frac{1}{n} \sum_{i=1}^n (X_i - \bar{X})(X_i - \bar{X})^\top S = n 1 ∑ i = 1 n ( X i − X ˉ ) ( X i − X ˉ ) ⊤ 。
在约束 Σ = A A ⊤ + Φ \Sigma = AA^\top + \Phi Σ = A A ⊤ + Φ 下,最大化 ℓ ( A , Φ ) \ell(A, \Phi) ℓ ( A , Φ ) 。由于参数存在旋转不变性,通常添加唯一性约束(如 A ⊤ Φ − 1 A A^\top \Phi^{-1} A A ⊤ Φ − 1 A 为对角阵)。
采用迭代算法(如 EM 算法 或 Newton-Raphson 方法 )求解:
E步 :给定当前的 A A A 和 Φ \Phi Φ ,计算公共因子的条件期望和条件协方差。
M步 :利用 E 步的结果更新 A A A 和 Φ \Phi Φ 。
迭代直至收敛,得到 A ^ \hat{A} A ^ 和 Φ ^ \hat{\Phi} Φ ^ 。
优点 :在正态假设下具有最优的统计性质,如渐近有效性和一致性。
缺点 :需要假设正态分布,且迭代计算量较大,对初始值敏感。
4.3.3 主因子法
核心思想 :主因子法是一种迭代方法,它不要求分布假设,但需要先估计共同度 h i 2 = 1 − ϕ i h_i^2 = 1 - \phi_i h i 2 = 1 − ϕ i 。由于 ϕ i \phi_i ϕ i 未知,通常先给出初始估计值,然后通过迭代逐步优化。
算法步骤 :
初始共同度估计 :常用方法有:
使用样本相关阵 R R R 的最大绝对值作为初始共同度 h i 2 h_i^2 h i 2 ;
使用样本相关阵 R R R 的行均值的最大值作为初始值;
使用主成分法中得到的共同度作为初始值。
构造缩减相关阵 :
R ∗ = R − Φ , R^* = R - \Phi, R ∗ = R − Φ ,
其中 Φ = diag ( ϕ 1 , ⋯ , ϕ p ) \Phi = \text{diag}(\phi_1, \cdots, \phi_p) Φ = diag ( ϕ 1 , ⋯ , ϕ p ) ,ϕ i = 1 − h i 2 \phi_i = 1 - h_i^2 ϕ i = 1 − h i 2 。
特征值分解 :对 R ∗ R^* R ∗ 进行特征值分解,取前 m m m 个正特征值对应的特征向量,按主成分法构造载荷矩阵 A ^ \hat{A} A ^ 。
更新共同度 :利用 A ^ \hat{A} A ^ 重新计算共同度 h i 2 = ∑ j = 1 m a ^ i j 2 h_i^2 = \sum_{j=1}^m \hat{a}_{ij}^2 h i 2 = ∑ j = 1 m a ^ ij 2 ,从而得到新的 Φ \Phi Φ 。
重复步骤2-4 ,直到相邻两次的共同度估计值之差小于预设的阈值。
优点 :通过迭代不断修正共同度,估计精度通常优于主成分法;无需正态分布假设。
缺点 :迭代过程可能不收敛或收敛缓慢,对初始值的选择较为敏感。
4.3.4 总结对比
方法 是否需要迭代 分布假设 优缺点 主成分法 否 无 快速,适合初始化,但可能不精确 极大似然法 是 正态分布 统计性质最优,但计算量大 主因子法 是 无 迭代稳定,精度较高,但依赖初始值
在实际应用中,通常会先用主成分法获得一个初始估计,再用主因子法或极大似然法进行精修。
5. 广义因子模型
在上一节介绍的经典正交因子模型中,我们的观测数据可以表示为一个矩阵 X N × p X_{N \times p} X N × p ,其中 N N N 表示样本量(例如学生人数),p p p 表示特征维度(例如科目数)。在经典设定中,我们通常假设 N → ∞ N \to \infty N → ∞ ,但 p p p 往往是一个固定的、不会趋于无穷的常数(例如学生人数很多,但学科总数是有限的)。
5.1 从经典模型到广义模型
5.1.1 经典模型中 F F F 的随机性
在经典因子模型 X = μ + A F + ε X = \mu + AF + \varepsilon X = μ + A F + ε 中,我们通常将公共因子 F F F 视为 随机变量 ,而不是固定参数。这背后有一个非常关键的统计原因:
如果把 F F F 当作固定参数,我们无法得到渐近统计性质。
为什么?因为对于每一个学生 i i i ,观测向量 X i X_i X i 的维度是固定的 p p p (比如 6 门课)。如果我们把 F i F_i F i 当作一个未知的固定参数,那么我们要估计的参数总数为 N × m N \times m N × m (每个学生有一个 m m m 维的 F i F_i F i )。当 N → ∞ N \to \infty N → ∞ 时,未知参数的数量也会趋于无穷。这意味着随着样本量的增加,我们需要估计的参数数量也在无限增加。在经典统计学中,这种设定下我们通常无法获得一致估计量,也无法推导出渐近正态的分布性质。
因此,在 p p p 固定的情况下,把 F F F 视为从一个公共分布(如 F ∼ N ( 0 , I ) F \sim \mathcal{N}(0, I) F ∼ N ( 0 , I ) )中随机抽取的变量,是获得良好统计性质(如一致性和渐近正态性)的关键。
5.1.2 引入广义模型的必要性
虽然经典模型在 p p p 固定的设定下通过将 F F F 视为随机变量很好地工作,但在现代数据中,我们常常遇到更复杂的情况:
数据类型的混合 :观测 X X X 可能包含二值(如及格/不及格)、计数(如错题数)或有序分类。这些数据不服从正态分布,基于协方差矩阵的方法会失效。
非线性关系 :有时我们不能假设 X X X 与 F F F 之间是简单的线性关系。
维度的变化 :在某些现代应用中,不仅 N N N 会很大,p p p 也可以非常大,甚至允许 p p p 和 N N N 同时趋于无穷。在这种设定下,我们甚至可以将 F F F 视为固定的参数来研究。
为了应对这些更复杂的情形,广义因子模型(Generalized Factor Model) 应运而生。
5.2 建模形式与假设
广义因子模型的核心思想仍然是:把高维观测 X X X 压缩为低维潜在因子 F F F 。它的典型形式仍然是:
X = μ + A F + ε , X = \mu + A F + \varepsilon, X = μ + A F + ε ,
但在广义因子模型中,我们不再要求 ε \varepsilon ε 服从同方差的正态分布,而是允许 X i j X_{ij} X ij 在给定 F i F_i F i 的条件下服从 指数族分布 (如 Bernoulli、Poisson、Binomial 等)。具体而言,对于每个观测 X i j X_{ij} X ij ,其条件期望由链接函数 g ( ⋅ ) g(\cdot) g ( ⋅ ) 决定:
E [ X i j ∣ F i ] = g − 1 ( μ j + a j ⊤ F i ) , \mathbb{E}[X_{ij} \mid F_i] = g^{-1}(\mu_j + a_j^\top F_i), E [ X ij ∣ F i ] = g − 1 ( μ j + a j ⊤ F i ) ,
其中:
g ( ⋅ ) g(\cdot) g ( ⋅ ) 称为链接函数(例如 logit 用于二值数据,log 用于计数数据);
F i F_i F i 既可以视为随机变量(通常假设 F i ∼ N ( 0 , I ) F_i \sim \mathcal{N}(0, I) F i ∼ N ( 0 , I ) ),也可以在某些设定下(如当 p → ∞ p \to \infty p → ∞ 时)视为固定的参数。
a j a_j a j 是载荷向量(A A A 的对应行)。
5.3 传统方法的局限性
在经典因子模型中,由于假设线性且高斯,我们可以通过样本协方差阵 S S S 的特征值分解来估计载荷矩阵 A A A 。但在广义因子模型中,这种基于协方差结构的方法不再适用。
非线性不可逆 :非线性链接函数 g ( ⋅ ) g(\cdot) g ( ⋅ ) 使得 X X X 和 F F F 之间的关系不再是简单的线性叠加,因此 Var ( X ) = A A ⊤ + Φ \text{Var}(X) = AA^\top + \Phi Var ( X ) = A A ⊤ + Φ 不再成立。
数据并非连续 :对于二值、计数等离散数据,样本协方差阵无法完整地捕捉分布信息,基于协方差的分析会损失大量信息。
5.4 估计方法:极大似然与 EM 算法
为了克服上述困难,广义因子模型通常采用 极大似然估计(MLE) 与 EM 算法 迭代求解。
为什么需要 EM 算法? 因为我们需要对隐变量 F F F 积分:
L ( A , μ ∣ X ) = ∫ p ( X ∣ F , A , μ ) p ( F ) d F . L(A, \mu \mid X) = \int p(X \mid F, A, \mu) \, p(F) \, dF. L ( A , μ ∣ X ) = ∫ p ( X ∣ F , A , μ ) p ( F ) d F .
由于 p ( X ∣ F ) p(X \mid F) p ( X ∣ F ) 是指数族分布,且 p ( F ) p(F) p ( F ) 通常假定为多元正态分布,这个积分在高维情形下没有解析解。EM 算法通过引入隐变量的后验分布,将积分问题转化为迭代优化问题:
E步(期望步) :在当前参数估计值 A ^ ( t ) , μ ^ ( t ) \hat{A}^{(t)}, \hat{\mu}^{(t)} A ^ ( t ) , μ ^ ( t ) 下,计算每个因子得分 F i F_i F i 的后验分布(或条件期望):
F ^ i ( t + 1 ) ≈ E [ F i ∣ X i , A ^ ( t ) , μ ^ ( t ) ] . \hat{F}_i^{(t+1)} \approx \mathbb{E}[F_i \mid X_i, \hat{A}^{(t)}, \hat{\mu}^{(t)}]. F ^ i ( t + 1 ) ≈ E [ F i ∣ X i , A ^ ( t ) , μ ^ ( t ) ] .
M步(最大化步) :利用当前得到的因子得分估计值 F ^ i \hat{F}_i F ^ i ,更新载荷矩阵 A A A 和其他参数,使其最大化完全数据的对数似然:
A ^ ( t + 1 ) = arg max A ∑ i = 1 n log p ( X i ∣ F ^ i ( t ) , A , μ ) . \hat{A}^{(t+1)} = \arg\max_A \sum_{i=1}^n \log p(X_i \mid \hat{F}_i^{(t)}, A, \mu). A ^ ( t + 1 ) = arg A max i = 1 ∑ n log p ( X i ∣ F ^ i ( t ) , A , μ ) .
通过迭代 E 步和 M 步,算法将在参数空间收敛到一个局部最优解。这就是广义因子模型处理非线性、高维、混合类型数据的标准求解框架。
5.5 与经典因子模型的对比
维度 经典因子模型(第2-4节) 广义因子模型(本节) 因子 F F F 的处理 视为随机变量(当 p p p 固定时) 可视为随机变量,也可视为固定参数(当 p → ∞ p \to \infty p → ∞ 时) p p p 的渐近性固定,N → ∞ N \to \infty N → ∞ 可以固定,也可以 p → ∞ p \to \infty p → ∞ 数据类型 连续正态分布 指数族分布(二值、计数、有序等) 关系假设 线性(X = μ + A F + ε X = \mu + AF + \varepsilon X = μ + A F + ε ) 线性 + 非线性链接函数 估计方法 矩估计/协方差分解/主成分法 极大似然 + EM 算法(迭代) 适用场景 标准化测验、心理测量 推荐系统、基因表达、文本挖掘
5.6 总结
概括来说,在观测矩阵 X N × p X_{N \times p} X N × p 且 p p p 固定的情况下,把公共因子 F F F 当作随机变量来建模是获得渐近统计性质的唯一正确途径 。广义因子模型则是这一思想的自然延伸,它引入链接函数来应对非线性、非正态数据,并通过 EM 算法来处理随机因子的积分问题。这使得我们能够从复杂的、混合类型的数据中,提取出清晰的潜在结构,解决实际问题。
重点参考文献
Bartholomew, D. J., Knott, M., & Moustaki, I. (2011). Latent Variable Models and Factor Analysis: A Unified Approach . Wiley.
Johnson, R. A., & Wichern, D. W. (2007). Applied Multivariate Statistical Analysis (6th ed.). Pearson.