Creo que al tratar de interpretar estos gráficos de coeficientes por $\lambda$ , $\log(\lambda)$ o $\sum_i | \beta_i |$ es muy útil saber cómo se ven en algunos casos sencillos. En particular, cómo se ven cuando la matriz de diseño del modelo no está correlacionada, frente a cuando hay correlación en el diseño.
Para ello, he creado algunos datos correlacionados y no correlacionados para demostrarlo:
x_uncorr <- matrix(runif(30000), nrow=10000)
y_uncorr <- 1 + 2*x_uncorr[,1] - x_uncorr[,2] + .5*x_uncorr[,3]
sigma <- matrix(c( 1, -.5, 0,
-.5, 1, -.5,
0, -.5, 1), nrow=3, byrow=TRUE
)
x_corr <- x_uncorr %*% sqrtm(sigma)
y_corr <- y_uncorr <- 1 + 2*x_corr[,1] - x_corr[,2] + .5*x_corr[,3]
Los datos x_uncorr
tiene columnas no correlacionadas
> round(cor(x_uncorr), 2)
[,1] [,2] [,3]
[1,] 1.00 0.01 0.00
[2,] 0.01 1.00 -0.01
[3,] 0.00 -0.01 1.00
mientras que x_corr
tiene una correlación preestablecida entre las columnas
> round(cor(x_corr), 2)
[,1] [,2] [,3]
[1,] 1.00 -0.49 0.00
[2,] -0.49 1.00 -0.51
[3,] 0.00 -0.51 1.00
Veamos ahora los gráficos de lazo para ambos casos. En primer lugar, los datos no correlacionados
gnet_uncorr <- glmnet(x_uncorr, y_uncorr)
plot(gnet_uncorr)
![enter image description here]()
Destacan un par de características
- Los predictores entran en el modelo en el orden de su magnitud de coeficiente de regresión lineal verdadero.
- La trayectoria del coeficiente de cada característica es una línea (con respecto a $\sum_i | \beta_i |$ ) es lineal a trozos y sólo cambia cuando entra un nuevo predictor en el modelo. Esto sólo es cierto para el gráfico con respecto a $\sum_i | \beta_i |$ y es una buena razón para preferirla a las demás.
- Cuando un nuevo predictor entra en el modelo, afecta a la pendiente de la trayectoria del coeficiente de todos los predictores que ya están en el modelo de forma determinista. Por ejemplo, cuando el segundo predictor entra en el modelo, la pendiente de la trayectoria del coeficiente del primero se reduce a la mitad. Cuando el tercer predictor entra en el modelo, la pendiente de la trayectoria del coeficiente es un tercio de su valor original.
Todos estos son hechos generales que se aplican a la regresión lasso con datos no correlacionados, y todos ellos se pueden demostrar a mano (¡buen ejercicio!) o encontrar en la literatura.
Ahora vamos a hacer datos correlacionados
gnet_corr <- glmnet(x_corr, y_corr)
plot(gnet_corr)
![enter image description here]()
Se pueden sacar algunas conclusiones de este gráfico comparándolo con el caso no correlacionado
- Las trayectorias del primer y segundo predictor tienen la misma estructura que en el caso no correlacionado hasta que el tercer predictor entra en el modelo, aunque estén correlacionados. Esta es una característica especial del caso de dos predictores, que puedo explicar en otra respuesta si hay interés, me llevaría un poco lejos de la discusión actual.
- Por otra parte, una vez que el tercer predictor entra en el modelo, observamos desviaciones de la imagen que esperaríamos si las tres características no estuvieran correlacionadas. El coeficiente de la segunda característica se aplana y el de la tercera aumenta hasta su valor final. Obsérvese que la pendiente de la primera característica no se ve afectada, como cabría esperar. no ¡anticiparse si no hubiera correlaciones! Esencialmente, los recursos gastados en los coeficientes dentro de un grupo de tres o más pueden ser "intercambiados" hasta que la asignación de mínimo $\sum | \beta_i |$ se encuentra.
Veamos ahora tu gráfico del conjunto de datos de coches y leamos algunas cosas interesantes (he reproducido aquí tu gráfico para que esta discusión sea más fácil de leer):
Advertencia : Escribí el siguiente análisis partiendo de la base de que las curvas muestran la estandarizado coeficientes, en este ejemplo no. Los coeficientes no normalizados no son adimensionales ni comparables, por lo que no se pueden extraer conclusiones sobre su importancia predictiva. Para que el análisis siguiente sea válido, haga como si el gráfico fuera de coeficientes estandarizados y realice su propio análisis de trayectorias de coeficientes estandarizados.
![enter image description here]()
- Como usted dice, el
wt
predictor parece muy importante. Entra primero en el modelo y desciende lenta y constantemente hasta su valor final. Tiene algunas correlaciones que lo hacen un poco irregular, am
en particular parece tener un efecto drástico cuando entra.
am
también es importante. Aparece más tarde y está correlacionado con wt
ya que afecta a la pendiente de wt
de forma violenta. También se correlaciona con carb
y qsec
porque no vemos el previsible ablandamiento de la pendiente cuando esos entran. Sin embargo, una vez introducidas estas cuatro variables do ver el patrón no correlacionado agradable, por lo que parece no estar correlacionado con todos los predictores al final.
- Algo entra alrededor de 2,25 en el eje x, pero su trayectoria en sí es imperceptible, sólo se puede detectar por su afectación al
cyl
y wt
parámetros.
cyl
es bastante fascinante. Entra en segundo lugar, por lo que es importante para los modelos pequeños. Después de otras variables, y especialmente am
entrar, ya no es tan importante, y su tendencia se invierte, llegando a desaparecer por completo. Parece que el efecto de cyl
puede ser completamente capturado por las variables que entran al final del proceso. Si es más apropiado utilizar cyl
o el grupo complementario de variables, depende realmente del equilibrio entre sesgo y varianza. Incluir el grupo en el modelo final aumentaría su varianza de forma significativa, pero puede darse el caso de que el menor sesgo lo compense.
Es una pequeña introducción a cómo he aprendido a leer la información de estas tramas. Creo que son muy divertidas.
Gracias por un gran análisis. Para informar en términos simples, ¿diría usted que wt, am y cyl son 3 predictores más importantes de mpg. Además, si quieres crear un modelo de predicción, ¿cuáles incluirías basándote en esta cifra: peso, am y cilindrada? O alguna otra combinación. Además, no parece que necesite el mejor lambda para el análisis. ¿No es importante como en la regresión ridge?
Yo diría que el caso de wt
y am
son claras, son importantes. cyl
es mucho más sutil, es importante en un modelo pequeño, pero nada relevante en uno grande.
Yo no sería capaz de hacer una determinación de lo que debe incluir basándose sólo en la figura, que realmente debe ser respondida el contexto de lo que está haciendo. Podrías decir que si quieres un modelo de tres predictores, entonces wt
, am
y cyl
son buenas elecciones, ya que son relevantes en el gran esquema de las cosas, y deberían acabar teniendo tamaños de efecto razonables en un modelo pequeño. Sin embargo, esto se basa en la suposición de que usted tiene alguna razón externa para desear un modelo pequeño de tres predictores.
Es cierto, este tipo de análisis abarca todo el espectro de lambdas y permite seleccionar relaciones en una gama de complejidades del modelo. Dicho esto, para un modelo final, creo que afinar una lambda óptima es muy importante. En ausencia de otras restricciones, sin duda utilizaría la validación cruzada para encontrar en qué parte de este espectro se encuentra la lambda más predictiva, y luego utilizaría esa lambda para un modelo final. final y un análisis final.
La razón por la que recomiendo esto tiene más que ver con la parte derecha del gráfico que con la izquierda. Para algunas de las lambdas más grandes, podría darse el caso de que el modelo se ajuste demasiado a los datos de entrenamiento. En este caso, cualquier cosa que deduzcas del gráfico en este régimen serían propiedades del ruido en el conjunto de datos en lugar de la estructura del propio proceso estadístico. Una vez que tenga una estimación de la $\lambda$ tienes una idea de hasta qué punto se puede confiar en la trama.
Por otro lado, a veces existen limitaciones externas en cuanto a la complejidad de un modelo (costes de implementación, sistemas heredados, minimalismo explicativo, interpretabilidad empresarial, patrimonio estético) y este tipo de inspección puede ayudarle a comprender la forma de sus datos y las ventajas y desventajas de elegir un modelo inferior al óptimo.