La estabilidad del modelo cuando se trata de grandes

22

Introducción:

Tengo un conjunto de datos con un clásico "problema grande p, pequeño n". El número de muestras disponibles n = 150, mientras que el número de posibles predictores p = 400. El resultado es una variable continua.

Quiero encontrar los descriptores más "importantes", es decir, aquellos que son los mejores candidatos para explicar el resultado y ayudar a construir una teoría.

Después de investigar sobre este tema, descubrí que LASSO y Elastic Net se usan comúnmente para el caso de p grande, n pequeña. Algunos de mis predictores están altamente correlacionados y quiero preservar sus agrupaciones en la evaluación de importancia, por lo tanto, opté por Elastic Net . Supongo que puedo usar valores absolutos de coeficientes de regresión como una medida de importancia (corríjame si estoy equivocado; mi conjunto de datos está estandarizado).

Problema:

Como mi número de muestras es pequeño, ¿cómo puedo lograr un modelo estable?

Mi enfoque actual es encontrar los mejores parámetros de ajuste (lambda y alfa) en una búsqueda de cuadrícula en el 90% del conjunto de datos con un promedio de validación cruzada de MSE de 10 veces. Luego entreno el modelo con los mejores parámetros de ajuste en todo el 90% del conjunto de datos. Puedo evaluar mi modelo usando R al cuadrado en el 10% del conjunto de datos (que representan solo 15 muestras).

Al ejecutar repetidamente este procedimiento, encontré una gran variación en las evaluaciones R al cuadrado. Además, el número de predictores no puestos a cero varía, así como sus coeficientes.

¿Cómo puedo obtener una evaluación más estable de la importancia de los predictores y una evaluación más estable del desempeño del modelo final?

¿Puedo ejecutar repetidamente mi procedimiento para crear una serie de modelos y luego coeficientes de regresión promedio? ¿O debería usar el número de ocurrencias de un predictor en los modelos como su puntaje de importancia?

Actualmente, obtengo alrededor de 40-50 predictores no cero. ¿Debería penalizar más el número de predictores para una mejor estabilidad?

dimi
fuente
1
¿Quizás la regresión regularizada no es suficiente? ¿Has probado algún enfoque de aprendizaje automático?
¿Qué enfoques de ML adecuados para la variable dependiente continua u ordinal sugeriría?
dimi
2
Bosque aleatorio, SVR ... Para la selección de características, puede probar algún método relevante (debería ser más estable) como ACE o Boruta.

Respuestas:

11

"Los algoritmos dispersos no son estables: un teorema de no almuerzo gratis "

Supongo que el título dice mucho, como usted señaló.

[...] un algoritmo disperso puede tener soluciones óptimas no únicas y, por lo tanto, está mal planteado

Echa un vistazo al lazo aleatorio y la charla de Peter Buhlmann .

Actualizar:

Encontré este documento más fácil de seguir que el documento de Meinshausen y Buhlmann llamado "Selección de estabilidad".

En " Random Lasso ", los autores consideran los dos inconvenientes importantes del lazo para problemas grandes , pequeños , es decir,npn

  1. En el caso de que existan varias variables correlacionadas, lazo solo elige una o unas pocas, lo que conduce a la inestabilidad de la que habla
  2. Lasso no puede seleccionar más variables que el tamaño de muestra cual es un problema para muchos modelosn

La idea principal para el lazo aleatorio, que es capaz de lidiar con ambos inconvenientes del lazo es la siguiente

Si se generaron varios conjuntos de datos independientes a partir de la misma distribución, entonces esperaríamos que el lazo seleccione subconjuntos no idénticos de esas variables importantes altamente correlacionadas de diferentes conjuntos de datos, y nuestra colección final puede ser la mayoría, o quizás incluso todos, de aquellos altamente correlacionados variables tomando una unión de variables seleccionadas de diferentes conjuntos de datos. Tal proceso puede producir más de variables, superando la otra limitación del lazo.n

Las muestras de Bootstrap se dibujan para simular múltiples conjuntos de datos. Los coeficientes finales se obtienen promediando los resultados de cada muestra de arranque.

Sería genial si alguien pudiera dar más detalles y explicar este algoritmo en las respuestas.

Pardis
fuente
1
Buenos enlaces (+1).
jbowman
Gracias por tus comentarios. También he considerado un lazo aleatorio, pero ¿ sería adecuado en caso de colinealidad ?
dimi
2
¿Qué sucede bajo una colinealidad aproximada entre las variables explicativas? En el algoritmo convencional de búsqueda hacia adelante en el análisis de regresión, a menudo nos enfrentamos a la situación en la que dos variables x1 y x2 tienen un poder explicativo similar. Si x1 está en el modelo, entonces no hay necesidad de incluir x2; por el contrario, si x2 está en el modelo, no es necesario incluir x1. Si entiendo su procedimiento correctamente, tenderá a incluir x1 la mitad del tiempo y x2 la mitad del tiempo, lo que generará probabilidades de estabilidad de aproximadamente el 50% cada una. Si es así, podría concluir falsamente que no se necesita ninguna variable.
dimi
Me imagino que, de manera similar, puedo usar una red elástica aleatoria en este caso.
dimi
He agregado otro enlace que creo que responde mejor a su pregunta.
Pardis
6

Mi enfoque actual es encontrar los mejores parámetros de ajuste (lambda y alfa) en una búsqueda de cuadrícula en el 90% del conjunto de datos con un promedio de validación cruzada de MSE de 10 veces. Luego entreno el modelo con los mejores parámetros de ajuste en todo el 90% del conjunto de datos. Puedo evaluar mi modelo usando R al cuadrado en el 10% del conjunto de datos (que representan solo 15 muestras).

¿Qué tan estables son los parámetros de ajuste?

¿Ve grandes diferencias entre la bondad de ajuste (p. Ej., MSE de la validación cruzada del parámetro óptimo) y el rendimiento de prueba independiente del 10%?

Eso sería un síntoma de sobreajuste:

MSE=f(gridparameters)MSE=f(gridparameters)

¿Puedo ejecutar repetidamente mi procedimiento para crear una serie de modelos y luego coeficientes de regresión promedio? ¿O debería usar el número de ocurrencias de un predictor en los modelos como su puntaje de importancia?

Hay varias posibilidades para construir tales modelos agregados:

  • los modelos lineales se pueden promediar promediando los coeficientes
  • mm

Los términos de búsqueda serían "modelos agregados", "agregación de bootstrap", "embolsado".

Pensamiento secundario: algunos tipos de datos tienen una colinealidad esperada e interpretable que puede hacer que la selección de variables "salte" entre soluciones más o menos iguales.

cbeleites apoya a Monica
fuente
3

No hay forma de salir de eso. Como algunos dijeron, los modelos son inestables por naturaleza (de lo contrario, no se necesitarían estadísticas).

Pero la inestabilidad en sí misma trae información. Entonces, en lugar de tratar de deshacerme de él, traté de analizarlo.

Ejecuto simulaciones de validación cruzada muchas veces y luego obtengo los coeficientes para los mejores parámetros seleccionados en cada ejecución y los combino.

λα

Luego extraigo los coeficientes de regresión para cada par de parámetros y esto me da una distribución de valores para cada parámetro. De esta manera puedo usar el valor medio / mediano para describir la fuerza del predictor y su desviación estándar / IQR para describir su variabilidad, es decir, su estabilidad.

Un predictor muy estable significa que puede esperar que su efecto sea similar también con los nuevos datos; un predictor que es inestable incluso en sus datos, probablemente sería muy inestable incluso con datos nuevos.

Bakaburg
fuente