Lo siento si esta pregunta es un poco básica.
Estoy buscando utilizar la selección de variables LASSO para un modelo de regresión lineal múltiple en R. Tengo 15 predictores, uno de los cuales es categórico (¿eso causará un problema?). Después de configurar mi e utilizo los siguientes comandos:
model = lars(x, y)
coef(model)
Mi problema es cuando lo uso coef(model)
. Esto devuelve una matriz con 15 filas, con un predictor adicional agregado cada vez. Sin embargo, no hay sugerencias sobre qué modelo elegir. ¿Me he perdido algo? ¿Hay alguna manera de que pueda obtener el paquete lars para devolver solo un " mejor " modelo?
Hay otras publicaciones que sugieren usar en su glmnet
lugar, pero esto parece más complicado. Un intento es el siguiente, utilizando los mismos e . ¿Me he perdido algo aquí ?:
cv = cv.glmnet(x, y)
model = glmnet(x, y, type.gaussian="covariance", lambda=cv$lambda.min)
predict(model, type="coefficients")
El comando final devuelve una lista de mis variables, la mayoría con un coeficiente, aunque algunas son = 0. ¿Es esta la elección correcta del " mejor " modelo seleccionado por LASSO? Si luego ajusto un modelo lineal con todas mis variables que tienen coeficientes not=0
, obtengo estimaciones de coeficientes muy similares, pero ligeramente diferentes. ¿Hay alguna razón para esta diferencia? ¿Sería aceptable reajustar el modelo lineal con estas variables elegidas por LASSO y tomarlo como mi modelo final? De lo contrario, no puedo ver ningún valor p de importancia. ¿Me he perdido algo?
Hace
type.gaussian="covariance"
¿Asegúrate de que glmnet
usa regresión lineal múltiple?
¿La normalización automática de las variables afecta a los coeficientes? ¿Hay alguna manera de incluir términos de interacción en un procedimiento LASSO?
Estoy buscando usar este procedimiento más como una demostración de cómo se puede usar LASSO que para cualquier modelo que realmente se usará para cualquier inferencia / predicción importante si eso cambia algo.
Gracias por tomarse el tiempo de leer esto. Cualquier comentario general sobre LASSO / lars / glmnet también sería muy apreciado.