回答:
はい、インターセプトはglmnetモデルに含まれていますが、正規化されていません(座標降下による一般化線形モデルの正規化パス、p。13を参照)。実装に関する詳細は、コードを注意深く見ることで確実に得られます(ガウスファミリの場合はelnet()
によって呼び出される関数ですglmnet()
)が、Fortranにあります。
に渡すことでインターセプトを削除できるペナルティ付きパッケージを試すことができます。unpenalized = ~0
penalized()
> x <- matrix(rnorm(100*20),100,20)
> y <- rnorm(100)
> fit1 <- penalized(y, penalized=x, unpenalized=~0,
standardize=TRUE)
> fit2 <- lm(y ~ 0+x)
> plot((coef(fit1) + coef(fit2))/2, coef(fit2)-coef(fit1))
なげなわ正規化を取得するには、次のようなことを試してみてください
> fit1b <- penalized(y, penalized=x, unpenalized=~0,
standardize=TRUE, lambda1=1, steps=20)
> show(fit1b)
> plotpath(fit1b)
次の図に示すように、両方の方法で計算された回帰パラメーターにはほとんど違いがなく(左)、ラッソパスの解を非常に簡単にプロットできます(右)。