2019年7月25日木曜日

[R] 正則化パラメータの選択

Lasso推定値は正則化パラメータλの値に依存するため,λの値が異なると当然Lasso推定値も異なってきます.
特に,Lasso推定値の違いは変数選択の結果の違いに直接影響してくるため,正則化パラメータの値の選択は重要です.

前回の投稿(アメリカの犯罪例にLassoを適用)ではアメリカの犯罪データにLassoを適用しました.
その続きとして,用意した正則化パラメータの値ごとに10分割交差検証法を用いて得られた結果を図示すると下図のようになります.
上図において,y軸は誤差2乗和(交差検証法の値)で,x軸は正則化パラメータの対数値になります.赤色の点から伸びている帯は,10分割交差検証法で計算された10個の検証誤差の標準誤差を表します.また,縦の破線は,選択された正則化パラメータの位置を表します.

CVの値が最小になる正則化パラメータの値(λ = 3)に対応するモデルを最適なモデルとして選択しています.

上図を表示するには,前回の投稿(こちら)に引き続いて以下のように入力します.

まずはCVを計算します.
> res.cv <- cv.glmnet(x=X, y=y)

続いて,CV値の推移をプロットします.
> plot(res.cv, xlab="Logarithmic value of regularization parameter", ylab="Regression coefficient")

CV値が最小となる正則化パラメータの値を出力します.
> res.cv$lambda.min
[1] 15.15854

1標準誤差ルールにより選択された正則化パラメータの値を出力します.

> res.cv$lambda.1se
[1] 155.1523


0 件のコメント :

コメントを投稿