係数をわざと縮める
最小二乗法は学習データに最もよく合う直線を見つけますが、ノイズの多い金融データではノイズにも合わせてしまいます。正則化は係数の大きさに罰則を加え、少しの当てはまりを手放して大きな安定性を得ます。リッジは係数の2乗和に罰則を課し、すべての係数を0に向けて縮めます。ラッソは絶対値に罰則を課し、弱い係数をちょうど0にすることがあり、特徴量の選択になります。強さ α はハイパーパラメータで、α=0 は通常の最小二乗、非常に大きい α は平均を予測する平らなモデルになります。
b^ridge=Sxx+αSxy,b^lasso=Sxx/nmax(ρ−α,0),ρ=nSxy(1) 実際には、罰則がすべての係数を同じに扱うので、パイプラインの中で特徴量を標準化します。α は学習データより時間的に後の検証データで選びます。特徴量が相関し、シグナルが弱いとき(モメンタム、バリュー、クオリティなど)はリッジから始め、特徴量の短いリストが欲しいときはラッソを使います。エラスティックネットは両方の罰則を混ぜます。どれもシグナルを生み出すわけではなく、罰則はモデルをノイズに鈍感にするだけです。
3点と1特徴量x=−1,0,1、
y=−1,0.5,2 とします。
Sxy=3、
Sxx=2、
n=3 です。最小二乗の傾きは
3/2=1.5。リッジは
α=1 で
3/(2+1)=1.0、
α=2 で
3/4=0.75 です。ラッソでは
ρ=1、
Sxx/n=2/3 なので、
α=0.5 で
0.5/(2/3)=0.75、
α=1 でちょうど
0 になります。実際の月次株式パネル(16,470行、標準化した3特徴量)では、
α=1 のリッジ係数はモメンタム約
0.0032、前月約
0.00001、ボラティリティ約
0.0040 です。
Sxx が約
16,000 なので
α=1000 でも係数は約
6% しか縮まず、ウォークフォワードの情報係数は
α=0.01 から
104 まで
0.033 のままです。
- リッジは縮め、ラッソは選ぶ:リッジは全特徴量を小さな重みで残し、ラッソは弱いものを落とせる。
- 強さはトレードオフ:α=0 は最小二乗、巨大な α は平均を予測する。
- 先にスケーリング:罰則はすべての係数を同じに扱うので、特徴量は共通のスケールが必要。
ラボ:採点される内容
- 最小二乗10点
- alpha 1 のリッジ15点
- alpha 2 のリッジ15点
- alpha 0.5 のラッソ15点
- alpha 1 のラッソ10点
- 巨大な罰則10点
- 用語を結び付ける10点
- なぜラッソはちょうど0になれるのか15点