961 字
5 分钟
第 3~4 章:距离度量与最优聚类——让数据自己分组
相关系数是量化研究的通用语言,但它只会说”线性”这一种方言。这两章先换一把能量出非线性关系的尺子(信息论距离),再回答一个人人都在拍脑袋的问题:到底该分几组。
第 3 章:相关系数的三宗罪
- 只测线性:Y = X² 的完美函数关系,相关系数可以是 0——非线性依赖它整个瞎;
- 不是合格的距离:数学上”距离”要满足三角不等式等公理,相关系数本身不满足;好在有标准改造:
d = √(½(1−ρ)),这个 d 是合格度量,聚类算法才能放心用; - 对分布敏感:厚尾、异常值都会扭曲它——而金融收益全是厚尾。
换尺子:信息论三件套
作者的替代方案来自信息论,核心是三个概念:
- 熵 H(X):一个变量的不确定性总量;
- 互信息 I(X;Y):知道 Y 之后,X 的不确定性减少了多少——它能捕捉任意形式的依赖,线性非线性通吃;Y = X² 的例子里相关系数为 0,互信息很大;
- 变差信息 VI(X,Y) = H(X)+H(Y)−2I(X;Y):互信息的”距离化”版本,满足全部度量公理——两个变量共享的信息越多,VI 越小。
实践细节:连续变量需要先分箱(离散化)才能估熵,箱数有基于样本量的最优公式,不必拍脑袋。代价是需要更多样本,所以日常粗筛可以用相关距离,怀疑有非线性结构时上 VI 验证。
第 4 章:分几组,让轮廓系数说话
聚类在金融里到处要用(资产分组、因子分组、特征分组),但 K-means 的 K 一直是玄学。作者的 ONC(Optimal Number of Clusters) 算法把它变成一个可优化的问题:
- 把相关矩阵转成距离矩阵(用上面的合格度量),每只资产用”它到所有资产的距离”这一行向量来表征;
- 对每个候选 K、每次随机初始化跑 K-means,用轮廓系数(每个样本”和本组多像 / 和邻组多像”的打分)评估分组质量;
- 取质量分 q = 轮廓均值 ÷ 轮廓标准差最高的方案;
- 递归修补:找出质量低于平均的组,把它们的成员拿出来重新聚一遍,直到不再改善。
输出是”数据自己认的”分组数和成员表——不需要预先给 K,也不需要行业分类表。
聚类在全书的三次出场
这不是孤立技巧,后面每把刀都用它打底:
- 第 6 章:特征先聚类再算重要性,解决共线特征互相分功劳的问题;
- 第 7 章:NCO 组合优化先聚类、再在组内组外分别优化;
- 配合去调(第 2 页):抽掉市场成分后再聚类,分出来的才是真实结构。
对应到本平台
拿你在 factor_value 里积累的因子做一次实验:算因子收益的相关距离矩阵,跑一次层次聚类或 ONC。如果 reversal_5 和你新写的某个”量价背离”因子被分进同一组,它们大概率在赚同一份钱——这比看单个相关系数可靠,因为聚类看的是整体结构。
本页带走的三句话
- 相关系数只会量线性关系,且不是合格距离——聚类前先换成 √(½(1−ρ)) 或变差信息;
- 互信息捕捉任意形式的依赖,变差信息是它的合格距离版——非线性世界的通用尺子;
- 分几组不该拍脑袋:ONC 用轮廓系数打分 + 递归修补,让数据自己报出分组数。