RR-Agent洞察 › 因子相关性:共线性诊断与因子去重

因子相关性:共线性诊断与因子去重

你以为有 50 个因子,做相关性矩阵一看——其实只有 3-5 个真实独立维度,剩下的都是近亲。共线性会让模型权重不稳定、回测虚高、组合归因失真。本文讲因子去重的诊断与处理(方法论)。

为什么会有共线性

A股因子大多源自有限的几个底层信号:价格、成交量、资金流、基本面。不同时间窗、不同变换(对数/标准化/排序)做出来的"新因子"往往高度相关——比如 5 日动量、10 日动量、20 日动量,绝对相关性都 0.6+;隐含波动率与历史波动率近乎线性。

如果不去重,看似 50 因子的模型,有效独立维度可能就 5 个,但每个被"复制"了 10 次——模型对那 5 个真实信号过度倚重,且权重在不同 fold 上跳来跳去,极不稳定。

诊断三件套

1. 相关系数矩阵

计算所有因子两两的 Spearman 相关。|ρ| > 0.7 一般视作高度相关。ρ > 0.9 几乎是同一个因子。

2. 层次聚类

按相关性做聚类,把高度相关的因子分簇。每个簇只保留一个代表(典型选 IC 最高的)。

3. VIF (Variance Inflation Factor)

回归 X_i 对其他所有 X 的 R²,VIF = 1/(1-R²)。VIF > 10 视作严重共线。

处理方法

方法 适用
聚类后保留代表 简单粗暴,可解释性好
正交化(PCA / Gram-Schmidt) 用主成分代替原因子,信息损失小但失去经济含义
正则化(Ridge / Lasso) 在模型层面抑制共线性影响,简单有效

残差因子的价值

把因子 B 对因子 A 做回归,残差就是 B 在 A 之外的"增量信息"——如果残差与目标变量仍显著相关,说明 B 有 A 之外的真实信息;否则就是冗余。

这是判断"我加这个新因子有没有意义"的标尺。详见 因子挖掘方法论