抱歉,这个问题有点基本。
我正在寻找在R中的多元线性回归模型中使用LASSO变量选择的方法。我有15个预测变量,其中之一是分类的(会引起问题吗?)。设置好和我使用以下命令:ÿ
model = lars(x, y)
coef(model)
我的问题是我何时使用coef(model)
。这将返回一个包含15行的矩阵,每次添加一个额外的预测变量。但是,没有建议选择哪种模型。我错过了什么吗?有没有办法让我的lars包返回一个“ 最佳 ”模型?
还有其他文章建议使用glmnet
代替,但这似乎更复杂。尝试如下,使用相同的和。我在这里错过了什么吗?: ÿ
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的任何一般性评论也将不胜感激。