LASSO con términos de interacción: ¿está bien si los efectos principales se reducen a cero?

25

La regresión de LASSO reduce los coeficientes hacia cero, proporcionando así una selección de modelo efectiva. Creo que en mis datos hay interacciones significativas entre covariables nominales y continuas. No necesariamente, sin embargo, son los 'efectos principales' del verdadero modelo significativo (distinto de cero). Por supuesto, no sé esto ya que el verdadero modelo es desconocido. Mis objetivos son encontrar el modelo verdadero y predecir el resultado lo más cerca posible.

Aprendí que el enfoque clásico para la construcción de modelos siempre incluiría un efecto principal antes de incluir una interacción. Por lo tanto, no puede haber un modelo sin un efecto principal de dos covariables y si hay una interacción de las covariables en el mismo modelo. En consecuencia, la función selecciona cuidadosamente los términos del modelo (por ejemplo, basados ​​en AIC hacia atrás o hacia adelante) de acuerdo con esta regla.XZXZstepR

LASSO parece funcionar de manera diferente. Dado que todos los parámetros están penalizados, sin duda puede suceder que un efecto principal se reduzca a cero, mientras que la interacción del mejor modelo (por ejemplo, con validación cruzada) no es cero. Esto lo encuentro en particular para mis datos cuando uso Rel glmnetpaquete.

Recibí críticas basadas en la primera regla citada anteriormente, es decir, mi modelo Lasso final con validación cruzada no incluye los términos de efecto principal correspondientes de alguna interacción distinta de cero. Sin embargo, esta regla parece algo extraña en este contexto. A lo que se reduce es a la pregunta de si el parámetro en el modelo verdadero es cero. Supongamos que sí, pero la interacción no es cero, entonces LASSO lo identificará quizás, encontrando así el modelo correcto. De hecho, parece que las predicciones de este modelo serán más precisas porque el modelo no contiene el efecto principal de cero verdadero, que es efectivamente una variable de ruido.

¿Puedo refutar las críticas basadas en este motivo o debo tomar precauciones de alguna manera para que LASSO incluya el efecto principal antes del término de interacción?

tomka
fuente
2
Alguien rechazó esto. Me interesaría por qué ...
Tomka
1
¿Su objetivo es la predicción, la inferencia o alguna otra cosa todos juntos?
Andrew M
@ Andrew M Quiero estimar el modelo verdadero lo mejor posible, interpretar las variables que causan las variables dependientes y también usar los valores pronosticados.
tomka
2
Para su primer objetivo, tenga en cuenta que la validación cruzada es inconsistente para la selección del modelo. De hecho, se ha demostrado que el modelo de que el modelo "verdadero" tiende a ser un subconjunto del que maximiza nuestra estimación del rendimiento predictivo. Para su segundo objetivo, tenga en cuenta que el lazo proporciona estimaciones muy sesgadas. Así que creo que debe decidir cuál es su objetivo principal y editar su pregunta para aclararla antes de poder ofrecerle consejos útiles.
Andrew M
@AndrewM mi pregunta es: ¿debería incluirse el efecto principal en el modelo cuando se usa LASSO? Esta pregunta puede ser respondida para mis dos objetivos por separado. No creo que la pregunta necesite más enmiendas, pero es importante señalar estos objetivos, ver edición en el primer párrafo.
tomka

Respuestas:

10

Una dificultad para responder esta pregunta es que es difícil conciliar LASSO con la idea de un modelo "verdadero" en la mayoría de las aplicaciones del mundo real, que generalmente tienen correlaciones no despreciables entre las variables predictoras. En ese caso, como con cualquier técnica de selección variable, los predictores particulares devueltos con coeficientes distintos de cero por LASSO dependerán de los caprichos del muestreo de la población subyacente. Puede verificar esto realizando LASSO en múltiples muestras de bootstrap del mismo conjunto de datos y comparando los conjuntos de variables predictoras que se devuelven.

Además, como señaló @AndrewM en un comentario, el sesgo de las estimaciones proporcionadas por LASSO significa que no va a predecir los resultados "lo más cerca posible". Por el contrario, está prediciendo resultados que se basan en una elección particular de la compensación inevitable de sesgo-varianza.

Entonces, dadas esas dificultades, espero que desee saber por sí mismo, no solo para satisfacer a un crítico, las magnitudes de los efectos principales de las variables que contribuyen a la interacción. Hay un paquete disponible en R, glinternet , que parece hacer exactamente lo que necesita (aunque no tengo experiencia con él):

Grupo-Lazo INTERacción-NET. Se adapta a modelos lineales de interacción por pares que satisfacen una jerarquía fuerte: si se estima que un coeficiente de interacción es distinto de cero, entonces sus dos efectos principales asociados también tienen coeficientes estimados distintos de cero. Acomoda variables categóricas (factores) con números arbitrarios de niveles, variables continuas y combinaciones de los mismos.

Alternativamente, si no tiene demasiados predictores, puede considerar la regresión de crestas, que devolverá coeficientes para todas las variables que pueden ser mucho menos dependientes de los caprichos de su muestra de datos en particular.

EdM
fuente
9

Llego tarde a una fiesta, pero aquí están algunos de mis pensamientos sobre su problema.

  1. lazo selecciona lo que es informativo. Consideremos el lazo como un método para obtener el mayor rendimiento predictivo con el menor número de características. Está totalmente bien que, en algunos casos, el lazo seleccione la interacción y no los efectos principales. Simplemente significa que los efectos principales no son informativos, pero las interacciones sí.

  2. Solo informa, lo que descubrió. Usaste algún método y produjo algunos resultados. Lo informa de una manera transparente que permite la reproducibilidad. En mi opinión, tu trabajo está hecho. Los resultados son objetivos, usted encontró lo que encontró y no es su trabajo justificar, por qué no encontró otra cosa.

  3. Todas las unidades son arbitrarias. Las interacciones son solo unidades. Digamos que estudias los colores. Los colores se pueden incluir en su modelo como una longitud de onda, o una longitud de onda logarítmica, o como 3 variables RGB, o como una interacción de un tono y tinte, etc. No existe una representación inherentemente correcta o incorrecta de los colores. Elegirás el que tenga más sentido para tu problema. Las interacciones también son solo unidades que puede usar arbitrariamente. Área de una ventana, es solo interacción de su altura y ancho, ¿debe incluir la altura y el ancho de una ventana en su modelo? La velocidad es solo interacción de masa y velocidad. Y la velocidad es solo interacción de tiempo y distancia. Manhours es solo interacción de tiempo y cantidad de personas trabajando. Matemáticamente, la dosis de tratamiento * edad es igual a la altura * ancho. El dicho "siempre debes incluir los efectos principales" está sobrevalorado.

  4. el lazo no se aproxima al modelo real, no es para inferencia y las variables seleccionadas son inestables. Si tiene predictores informativos correlacionados, el lazo tiende a elegir uno y empuja los otros a 0, por lo tanto, su modelo omitirá una proporción significativa de variables informativas. Además, como se señaló en los comentarios, si encuentra la mejor lambda en validación cruzada, el lazo elegirá más variables que un modelo real. Otro problema es que las selecciones del lazo son inestables. Entonces, si ejecuta el lazo nuevamente en una muestra diferente de una población, terminará con un conjunto diferente de variables seleccionadas. Por lo tanto, no ponga mucho peso en qué variables se seleccionan. Además, las betas están sesgadas y, por lo tanto, no se pueden usar para una prueba de hipótesis paramétrica clásica. Sin embargo, hay formas de evitarlo (siguiente punto)

  5. inferencia con el lazo. Lasso se puede usar para hacer una inferencia sobre predictores. La manera más simple es arrancarlo y contar cuántas veces se selecciona cada variable, dividir por el número de resamples, y usted tiene sus valores p. P en ese caso es una probabilidad de que una variable sea seleccionada por lazo. Todavía puede terminar con efectos de interacción significativos y efectos principales insignificantes, pero eso no es un problema, también puede suceder con las pruebas de hipótesis normales. El gran tratamiento de este tema se encuentra en Hastie et. Alabama. libro gratis: Aprendizaje estadístico con la dispersión, capítulo 6 http://web.stanford.edu/~hastie/StatLearnSparsity/La rutina de arranque se puede realizar para todo el rango de valores lambda, lo que dará como resultado una ruta de estabilidad para todas las variables. Esto puede extenderse con un enfoque de selección de estabilidad para encontrar un conjunto de variables significativas corregidas por error familiar. http://onlinelibrary.wiley.com/doi/10.1111/j.1467-9868.2010.00740.x/abstract También hay algunos otros métodos de inferencia con el lazo, que podrían ser útiles. Es decir, lazo adaptable o lazo desesperado. La revisión con la implementación R está aquí DOI: 10.1214 / 15-STS527 o la explicación más accesible de la OMI en el libro de Buhlmanm, van de Geer: Estadísticas de datos de alta dimensión http://www.springer.com/la/book/9783642201912

  6. Otras cosas relacionadas con el lazo a tener en cuenta. Hasta donde yo sé, la cresta o la red elástica tienden a superar el lazo. Si hay un conocimiento de dominio sobre las variables, se puede usar el lazo de grupo o el lazo de grupo disperso para obligar al lazo a mantener o descartar todo el grupo de predictores en lugar de tratarlos individualmente (por ejemplo, rutas de genes, variable de factor codificado ficticio). Para datos espaciales u ordenados se puede usar un lazo fusionado. Lazo aleatorio, introducido en el documento de selección de estabilidad mencionado anteriormente, tiende a producir modelos más dispersos con el mismo rendimiento que un lazo estándar.

rep_ho
fuente
1
realmente me gustó # 3
user4581
0

Tengo una aplicación donde específicamente quiero que no se penalice un pequeño número de efectos principales. Deje Y = X.principal beta + X.inter beta.inter + eps

a) fit.Y = OLS (X.main, Y). Deje tilde.Y = Y - prediga (fit.Y, X.main) b) fit [, j] = OLS (X.main, X.inter [, j]) para j = 1 ... k. Deje tilde.X.inter [, j] = X.inter [, j] - predecir (fit.j, X.main) c) fit = Lasso (tilde.X.inter, tilde.y). El coeficiente del efecto principal es igual a fit.Y - coef (fit) * fit [, 1: dim (X.inter) [2]]. El coeficiente sobre el efecto de interacción es igual a coef (ajuste)

En los pasos ayb, no es necesario dividir la muestra. ¡Funciona para mi!

Vira
fuente