Quiero usar Lazo o regresión de cresta para un modelo con más de 50,000 variables. Quiero hacerlo usando el paquete de software en R. ¿Cómo puedo estimar el parámetro de contracción ( )?
Ediciones:
Este es el punto al que me levanté:
set.seed (123)
Y <- runif (1000)
Xv <- sample(c(1,0), size= 1000*1000, replace = T)
X <- matrix(Xv, nrow = 1000, ncol = 1000)
mydf <- data.frame(Y, X)
require(MASS)
lm.ridge(Y ~ ., mydf)
plot(lm.ridge(Y ~ ., mydf,
lambda = seq(0,0.1,0.001)))
Mi pregunta es: ¿Cómo sé cuál es mejor para mi modelo?
Respuestas:
cv.glmnet
cv.glmnet
lambda.min
lambda.1se
type.measure
Alternativamente, el paquete R mgcv contiene amplias posibilidades de estimación con penalización cuadrática, incluida la selección automática de los parámetros de penalización. Los métodos implementados incluyen validación cruzada generalizada y REML, como se menciona en un comentario. Se pueden encontrar más detalles en el libro de autores del paquete: Wood, SN (2006) Generalized Additive Models: una introducción con R, CRC.
fuente
cv.glmnet
lambda.min
lambda.1se
Esta respuesta es específica de MATLAB, sin embargo, los conceptos básicos deberían ser bastante similares a lo que estás acostumbrado con R ...
En el caso de MATLAB, tiene la opción de ejecutar el lazo con la validación cruzada habilitada.
Si lo hace, la función de lazo informará dos valores de parámetros críticos
También obtienes un pequeño gráfico que puedes usar para inspeccionar la relación entre lambda y CVMSE
En general, elegirá un valor de lambda que se encuentre entre la línea azul y la línea verde.
La siguiente publicación de blog incluye algunos códigos de demostración basados en algunos ejemplos en
Tibshirani, R. (1996). Contracción de la regresión y selección a través del lazo. J. Royal. Estadístico. Soc B., vol. 58, N ° 1, páginas 267-288).
http://blogs.mathworks.com/loren/2011/11/29/subset-selection-and-regularization-part-2/
fuente
rms
rms
pentrace
fuente