阶段8机器学习基础●●●●●

Lasso的因子选择陷阱与弹性网络

我的掌握程度:
q-716精讲

先掌握这个答案

Lasso三病:①随机选择:相关组内选谁取决于噪声微扰——重跑换种子,选出的因子变脸(q-713第七信号的合作元凶);②信息浪费:组内其余因子被硬压零——但它们各有增量信息(扔掉可惜);③解释误导:被选中的因子看似"唯一有效"——实际只是"组代表",报告者误以为发现了唯一真理。弹性网络:L1+L2混合惩罚——L2让相关组"共进退"(系数按相关性分摊)、L1保留组间稀疏(组代表外的整组压零)——治三病于一方。稳妥流程(不依赖模型选择):先对因子做相关性聚类(阈值0.7,q-459)→组内等权或IC加权合成「组因子」→组间用Lasso或逐步检验——把「组内选择」这个Lasso的弱项换成确定性的合成。

先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。

从理解到使用

本阶段实战方法 · 把验证流程当作模型的一部分

训练选股模型或使用另类数据时,先保证训练过程没有接触预测时不可得的信息。

  1. 定义每个样本的特征可得时间和标签覆盖区间,再按预测场景设计时间切分。
  2. 归一化、缺失填充、特征选择和调参只在训练集拟合;重叠标签要按实际区间purge。
  3. 用朴素基线和多段滚动样本外比较,报告成本、稳定性、漂移与全部实验次数。

使用边界

  • 排行榜或验证集反复用于挑模型后也会过拟合;留一份最终测试集。
  • 随机切分不是所有问题都禁止,但金融未来预测必须尊重时点和标签重叠,说明验证目标。
背景 · 从一个困惑说起
Lasso看起来很美:自动把弱因子系数压到零——「自动因子选择」。但因子世界有个让Lasso发疯的东西:高相关因子组。当动量的5个变体相关0.9时,Lasso会随机选一个干掉其余——这次选A下次选B——选择不稳定且无意义。
由此产生的问题
Lasso在高相关组上的三种病(随机选择/信息浪费/解释误导)?弹性网络(L1+L2)怎么治?金融因子筛选的稳妥流程(预聚类+组内L2)?
核心概念
Lasso三病:①随机选择:相关组内选谁取决于噪声微扰——重跑换种子,选出的因子变脸(q-713第七信号的合作元凶);②信息浪费:组内其余因子被硬压零——但它们各有增量信息(扔掉可惜);③解释误导:被选中的因子看似"唯一有效"——实际只是"组代表",报告者误以为发现了唯一真理。弹性网络:L1+L2混合惩罚——L2让相关组"共进退"(系数按相关性分摊)、L1保留组间稀疏(组代表外的整组压零)——治三病于一方。稳妥流程(不依赖模型选择):先对因子做相关性聚类(阈值0.7,q-459)→组内等权或IC加权合成「组因子」→组间用Lasso或逐步检验——把「组内选择」这个Lasso的弱项换成确定性的合成。
为什么需要它
①理解"自动选择"的边界:Lasso的选择在高相关设计矩阵下本质不稳定——把选择权交给它是把研究的可复现性交给噪声;②弹性网络的金融适配:因子世界天然成组(一个经济逻辑多个度量)——L2的「组内分摊」恰好匹配这个结构;③筛选流程的确定性原则:重要决策(哪些因子入库)应来自可复现的流程(聚类+合成)而非模型内部的随机仲裁。
实际应用场景
实操:因子筛选用「预聚类+组合成+组间Lasso」三步;若直接用Lasso,至少报告选择稳定性(换10个种子看选择一致性——一致性<50%的相关组改用合成)。
与之前知识的联系
q-459(因子相关性)是三病的土壤;q-715(正则)的进阶专章;选择稳定性检验与q-713(种子敏感信号)同源;q-723(基线文化)中「等权合成」正是组内合成的特例。
⚠ 常见误解
  • Lasso选出的因子=最重要的因子:在高相关组它只是"随机代表"——重要性要按组算(组内合成后的贡献)
  • 弹性网络全面优于Lasso:它的L1部分仍有稀疏性、解依赖两个超参(调参成本翻倍)——组结构明显时才明显占优
  • 筛选一次定终身:因子相关结构会漂移(某组分裂/合并)——季度重聚类,筛选是流程不是事件

🤖 AI导师

导师会先检查你的前置知识(L1/L2正则、因子相关性),再用案例、公式和代码帮助理解。此功能需要先启用服务。