惩罚、路径与诚实的调参
有六十个带噪声的回归变量时,普通最小二乘会拟合噪声。惩罚给大系数加上价格。Ridge(alpha) 对平方和收费:所有系数都收缩,但没有一个到零。Lasso(alpha) 对绝对值之和收费:alpha 增大时,系数一个接一个精确地变成零,所以套索也在选变量。ElasticNet(alpha, l1_ratio) 把两者混合,当相关的回归变量会让套索随机挑其中一个时很有帮助。只有各列量纲相同,惩罚才公平对待系数,所以要先标准化,并且只用训练集的均值和标准差,否则测试行会泄漏进量纲。遍历一组 alpha,记录有多少系数幸存或岭回归解有多大,就得到了正则化路径。
该用多大的惩罚?不是最能拟合过去的那个,那是接近零的 alpha。用滚动前向测试来选 alpha:每一折用训练行标准化、在其上拟合、预测测试行,并用预测与结果的秩相关(信息系数)评分。如果过大的 alpha 把所有系数置零,预测就是常数,相关系数无定义,此时记 0 分。对于用另外 60 个资产前一日收益解释 SPY 日收益,套索在 α=10⁻⁵ 时保留 57 个系数,10⁻⁴ 时 38 个,3.2×10⁻⁴ 时 15 个,10⁻³ 时 7 个,而岭回归范数从 0.0043 降到 0.0005,没有任何系数变成零。滚动前向 IC 在 α=3.2×10⁻⁴ 时达到峰值约 0.022:这是一个适度而诚实的数字,不带惩罚的拟合永远无法给你。
- 岭回归收缩,套索选择,弹性网两者兼顾:在 alpha 网格上追踪每一种。
- 只用训练行标准化:惩罚依赖量纲,测试行不能决定它。
- 在样本外调 alpha:用滚动前向秩相关评分,把常数预测记为 0。
实验:评分内容
- 不偷看的标准化10 分
- 套索路径15 分
- 岭回归路径10 分
- 滚动前向得分25 分
- 选择 alpha15 分
- 弹性网保留什么10 分
- 完整路径研究15 分