Me pregunto cómo abordar adecuadamente el entrenamiento y la prueba de un modelo LASSO usando glmnet en R.
- Específicamente, me pregunto cómo hacerlo si la falta de un conjunto de datos de prueba externo requiere el uso de validación cruzada (u otro enfoque similar) para probar mi modelo LASSO.
Déjame analizar mi escenario:
Solo tengo un conjunto de datos para informar y entrenar mi modelo glmnet. Como resultado, tendré que usar la validación cruzada para dividir mis datos para generar también una forma de probar mi modelo.
Ya estoy usando cv.glmnet, que de acuerdo con los detalles del paquete :
Hace k-fold validación cruzada para glmnet, produce un gráfico y devuelve un valor para lambda.
¿La validación cruzada se realiza
cv.glmnetsimplemente para elegir la mejor lambda, o también sirve como un procedimiento de validación cruzada más general?- En otras palabras, ¿todavía necesito hacer otro paso de validación cruzada para "probar" mi modelo?
Estoy trabajando con la suposición de que "sí, lo hago".
Siendo ese el caso, ¿cómo me acerco a la validación cruzada de mi cv.glmnetmodelo?
¿Tengo que hacerlo manualmente o tal vez la
caretfunción sea útil para los modelos glmnet?¿Utilizo dos "bucles" concéntricos de validación cruzada? ... ¿Utilizo un "bucle interno" de CV
cv.glmnetpara determinar el mejor valor lambda dentro de cada uno de los k pliegues de un "bucle externo" del proceso de validación cruzada k-fold ?Si hago una validación cruzada de mi
cv.glmnetmodelo de validación cruzada , ¿cómo aíslo el "mejor" modelo (del "mejor" valor lambda) de cadacv.glmnetmodelo dentro de cada pliegue de mi "lazo externo" de validación cruzada?- Nota: Estoy definiendo el "mejor" modelo como el modelo asociado con una lambda que produce un MSE dentro de 1 SE del mínimo ... este es
$lambda.1seelcv.glmnetmodelo.
- Nota: Estoy definiendo el "mejor" modelo como el modelo asociado con una lambda que produce un MSE dentro de 1 SE del mínimo ... este es
Contexto:
Estoy tratando de predecir la edad del árbol ("edad") en función del diámetro del árbol ("D"), D ^ 2 y la especie ("factor (SPEC)"). [ecuación resultante: Age ~ D + factor(SPEC) + D^2]. Tengo ~ 50K filas de datos, pero los datos son longitudinales (rastrea individuos a lo largo del tiempo) y consta de ~ 65 especies.