この質問が少し基本的なものに遭遇した場合は申し訳ありません。
Rの多重線形回帰モデルにLASSO変数選択を使用したいと考えています。15の予測変数があり、そのうちの1つがカテゴリカルです(問題が発生しますか?)。とyを設定した後、次のコマンドを使用します。
model = lars(x, y)
coef(model)
私の問題は私が使用するときですcoef(model)
。これにより、15行の行列が返され、毎回1つの追加の予測子が追加されます。ただし、どのモデルを選択するかについての提案はありません。私は何かを見逃しましたか?larsパッケージに「最高の」モデルを1つだけ返す方法はありますか?
glmnet
代わりに使用することを提案する他の投稿がありますが、これはより複雑に思えます。同じとyを使用した試みは次のとおりです。ここで何かを見逃していませんか?:
cv = cv.glmnet(x, y)
model = glmnet(x, y, type.gaussian="covariance", lambda=cv$lambda.min)
predict(model, type="coefficients")
最後のコマンドは、変数のリストを返します。大部分は係数付きですが、一部は= 0です。これはLASSOが選択した「最良の」モデルの正しい選択ですか?次に、係数not=0
を持つすべての変数で線形モデルを近似すると、係数推定値は非常に似ていますが、わずかに異なります。この違いの理由はありますか?LASSOによって選択されたこれらの変数で線形モデルを再調整し、それを最終モデルとして使用することは受け入れられますか?そうでない場合、有意性のp値を確認できません。見逃したことがありますか?
する
type.gaussian="covariance"
それglmnet
が複数の線形回帰を使用していることを確認しますか?
変数の自動正規化は係数にまったく影響しますか?LASSO手順に相互作用用語を含める方法はありますか?
この手順は、重要な推論/予測に何らかの変更が加えられた場合に実際に使用されるモデルよりも、LASSOの使用方法のデモンストレーションとして使用したいと考えています。
これを読んでくれてありがとう。LASSO / lars / glmnetに関する一般的なコメントも歓迎します。