故意收缩系数
普通最小二乘找到最贴合训练数据的直线,而在有噪声的金融数据上,它也会贴合噪声。正则化对系数的大小加一个惩罚,让模型放弃一点拟合以换取更多稳定性。Ridge 惩罚系数的平方和,把所有系数都向零收缩;Lasso 惩罚系数的绝对值,可以把较弱的系数恰好压到零,从而选出特征。强度 α 是超参数:α=0 就是普通最小二乘,非常大的 α 给出只预测均值的平坦模型。
b^ridge=Sxx+αSxy,b^lasso=Sxx/nmax(ρ−α,0),ρ=nSxy(1) 实际操作中,要在管道内部标准化特征,因为惩罚对所有系数一视同仁;α 要在时间上晚于训练数据的验证数据上选择。特征相关且信号较弱时(如动量、价值、质量评分)先用 ridge,想得到一份简短的特征清单时用 lasso,弹性网则混合了两种惩罚。它们都不会凭空创造信号:惩罚只能让模型对噪声不那么敏感。
三个点和一个特征取
x=−1,0,1、
y=−1,0.5,2,则
Sxy=3、
Sxx=2、
n=3。最小二乘的斜率是
3/2=1.5。
α=1 的 ridge 给出
3/(2+1)=1.0,
α=2 给出
3/4=0.75。对 lasso,
ρ=1,
Sxx/n=2/3,所以
α=0.5 给出
0.5/(2/3)=0.75,
α=1 恰好给出
0。在真实的月度股票面板上(16,470 行、三个标准化特征),
α=1 时 ridge 的系数约为:动量
0.0032、上月
0.00001、波动率
0.0040。因为
Sxx 接近
16,000,即使
α=1000 也只把系数收缩约
6%,从
0.01 到
104 的每个
α 下滚动前向信息系数都保持在
0.033。
- Ridge 收缩,Lasso 选择:Ridge 保留所有特征但权重变小,Lasso 可以丢掉较弱的特征。
- 强度是一种取舍:α=0 是最小二乘,巨大的 α 只预测均值。
- 先做缩放:惩罚对所有系数一视同仁,所以特征必须在同一尺度上。
实验:评分内容
- 最小二乘10 分
- alpha 为 1 的 ridge15 分
- alpha 为 2 的 ridge15 分
- alpha 为 0.5 的 lasso15 分
- alpha 为 1 的 lasso10 分
- 巨大的惩罚10 分
- 配对术语10 分
- 为什么 lasso 能给出恰好为零的系数15 分