EM Algorithm for Factor Models (因子模型的 EM 算法)
大白话:因子模型里「因子收益」是看不见的,所以没法直接算「参数最可能是什么」。EM 算法的办法是先猜因子收益是多少(E 步),再按这个猜测去调参数(M 步),反复来回,每一轮都让「参数解释数据」的可能性变得更高。
定义。 期望-极大化 (EM) 算法在带潜因子收益的因子模型上的应用。 当因子收益 f_t 不可观测时,直接最大化边际对数似然 p(r_t \mid \theta) 是不可行的, 但完全数据对数似然 p(r_t, f_t \mid \theta) 是高斯的,且条件期望有闭式解。 反复迭代 E 步(计算 f_t 的后验)与 M 步(最大化期望完全数据对数似然), 可使边际似然单调改进。
一般配方
给定观测收益 r_t 与潜因子收益 f_t,模型为:
r_t \mid f_t \sim \mathcal{N}(B f_t, D), \quad f_t \sim \mathcal{N}(0, F)
参数 \theta = \{B, F, D\}。E 步:
p(f_t \mid r_t, \theta^{\text{old}}) = \mathcal{N}(\mu_{f \mid r}, \Sigma_{f \mid r})
其中
\Sigma_{f \mid r}^{-1} = F^{-1} + B^\top D^{-1} B, \quad \mu_{f \mid r} = \Sigma_{f \mid r} B^\top D^{-1} r_t
M 步:最大化
Q(\theta, \theta^{\text{old}}) = \mathbb{E}_{f_t \mid r_t, \theta^{\text{old}}}[\log p(r_t, f_t \mid \theta)]
对高斯模型,这给出 B、F、D 的闭式更新,所用的加权充分统计量为 E[r_t r_t^\top]、E[r_t f_t^\top]、E[f_t f_t^\top]。
为什么因子模型适合用 EM
- 潜变量 f_t 是天然的(因子收益除了通过回归之外无法直接观测)。
- 完全数据似然简单:高斯 \Rightarrow 有闭式解。
- 收敛保证:边际对数似然非递减。
- 缺失数据免费处理:用同一个后验把缺失的 r_{i,t} 边缘化即可。
增强风险模型中的闭式 M 步(Tzikas 等, 2026)
对固定基础载荷 B 与学习得到的瞬态载荷 X 所构成的增强模型, X 的 M 步化归为一个分块矩阵公式:
X = (S_{rg}^\top - B S_{fg}^\top) (S_{gg} - S_{fg} \Sigma_F^{-1} S_{fg}^\top + \Sigma_F^{-1})^{-1}
其中 S_{rg}、S_{fg}、S_{gg} 是 E 步得到的加权交叉矩矩阵。 \Sigma_B 与 D 的完整更新同样是闭式的。 论文报告在 Barra USE4 + 870 只股票的问题上,20–30 次迭代即收敛。
初始化策略
对瞬态因子增强模型:
- 在 EWMA 权重下把 r_t 对 B 做回归 → 残差 e_t。
- 对 e_t 的 EWMA 协方差做特征分解 → 前 k 个特征向量构成初始 X。
- 初始化 D,使之与 EWMA 样本协方差的对角一致。
失效模式与补救
| 失效模式 | 修复方式 |
|---|---|
| D_{ii} \to 0(似然发散) | 每次 M 步后施加逐元素下界 \varepsilon > 0。 |
| 收敛慢 | Anderson 加速、SQUAREM,或在边际似然上做部分拟牛顿法。 |
| 局部极大值 | 多次随机重启;从 PCA 解热启动。 |
| 因子退化(X 秩亏) | \ell_2 惩罚,或显式的低秩参数化。 |
关联页面
- Risk Model Enhancement via Transient Statistical Factors —— 主要应用。
- 高斯潜变量模型 —— 这里 EM 所作用的模型族。
- 最大似然估计 —— EM 所优化的目标函数。
参考文献
Tzikas 等 (2026),见 summaries/202606-mle-transient-factor-mining/202606-mle-transient-factor-mining。