¿Cómo estimar el parámetro de contracción en Lazo o regresión de cresta con> 50K variables?

36

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)))

ingrese la descripción de la imagen aquí

Mi pregunta es: ¿Cómo sé cuál es mejor para mi modelo?λ

John
fuente
3
El parámetro de suavizado no es estadísticamente estimable, pero se utiliza elegido para maximizar el ajuste fuera de la muestra utilizando, por ejemplo, validación cruzada. Creo que los paquetes estándar para LASSO y Ridge Regression en R han incorporado una funcionalidad para hacer esto por usted, ¿lo ha investigado?
Macro
44
No estoy de acuerdo: puede estimar el parámetro de suavizado utilizando un enfoque de modelo mixto. Existen métodos reml al igual que los métodos bayes jerárquicos. No necesita una validación cruzada costosa.
probabilityislogic
1
@probabilityislogic gracias por la información. Sería genial si hay pocos detalles sobre el guión de cómo podemos hacer esto usando reml
John
2
Para la regresión de crestas, la validación cruzada de dejar uno fuera es esencialmente gratuita (estadística de PRENSA de Allen) y he encontrado que es un método razonablemente bueno. Sin embargo, con tantas características, casi cualquier método que use será inestable y un enfoque completamente bayesiano que marginará tanto los parámetros como los parámetros de regularización es probable que sea una solución más confiable (como creo que sugiere la probabilidad lógica). Si no le gustan los métodos bayesianos, use embolsado y vuelva a estimar lambda cada vez.
Dikran Marsupial
2
@Macro - (nada como una respuesta 18 meses después). En el enfoque de modelo mixto hay dos términos adicionales que dependen solo de pero no de β . Estos son - k log ( λ ) y log | X T X + λ I | donde k es el número de betas y X la matriz predictora. El primer término proviene de β N ( 0 , σ 2 λ - 1 ) donde σ 2λβklog(λ)log|XTX+λI|kβN(0,σ2λ1)σ2es la varianza del error El segundo término es un REML de corrección para tener en cuenta la incertidumbre en enchufar . β=β^
probabilidadislogic

Respuestas:

25

cv.glmnetλ112α

λλcv.glmnetλlambda.minlambda.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.

NRH
fuente
1
cv.glmnetλlambda.minlambda.1se
@chl, gracias por la sugerencia. Debería haber agregado eso.
NRH
15

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

  1. El valor lambda que minimiza el error cuadrático medio validado cruzado
  2. El valor lambda con la mayor cantidad de contracción cuyo CVMSE está dentro de un error estándar del mínimo.

También obtienes un pequeño gráfico que puedes usar para inspeccionar la relación entre lambda y CVMSE

enter image description here

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/

Richard Willey
fuente