22 votos

Estabilidad del modelo ante grandes $p$ pequeño $n$ problema

Intro:

Tengo un conjunto de datos con un problema clásico de "p grande, n pequeño". 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, los que son mejores candidatos para explicar el resultado y ayudar a construir una teoría.

Tras investigar sobre este tema, descubrí que LASSO y Elastic Net se utilizan habitualmente para el caso de p grande, n pequeño. Algunos de mis predictores están muy correlacionados y quiero conservar sus agrupaciones en la evaluación de importancia, por lo que opté por Red elástica . Supongo que puedo utilizar los valores absolutos de los coeficientes de regresión como medida de importancia (por favor, corríjanme si me equivoco; mi conjunto de datos está normalizado).

Problema:

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

Mi enfoque actual consiste en 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 una validación cruzada de 10 veces promediando la puntuación MSE. A continuación, entreno el modelo con los mejores parámetros de ajuste en el 90% del conjunto de datos. Soy capaz de evaluar mi modelo utilizando R al cuadrado en el 10% del conjunto de datos (que representa sólo 15 muestras).

Ejecutando repetidamente este procedimiento, encontré una gran varianza en las evaluaciones de R al cuadrado. Además, el número de predictores distintos de cero varía, así como sus coeficientes.

¿Cómo puedo conseguir una evaluación más estable de la importancia de los predictores y una evaluación más estable del rendimiento final del modelo?

¿Puedo ejecutar repetidamente mi procedimiento para crear varios modelos y luego promediar los coeficientes de regresión? ¿O debo utilizar el número de apariciones de un predictor en los modelos como su puntuación de importancia?

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

12voto

David Marshall Puntos 141

" Los algoritmos dispersos no son estables: Un teorema de no almorzar gratis "

Supongo que el título dice mucho, como has señalado.

[...] un algoritmo disperso puede tener mal planteado

Echa un vistazo lazo aleatorio y el conferencia de Peter Buhlmann .

Actualización:

Este documento me ha parecido más fácil de seguir que el de Meinshausen y Buhlmann titulado "Selección de estabilidad".

En " Lazo aleatorio ", los autores consideran los dos inconvenientes importantes del lazo para grandes $p$ pequeño $n$ problemas, eso es,

  1. En el caso de que existan varias variables correlacionadas, lasso sólo escoge una o unas pocas, dando lugar a la inestabilidad de la que hablas
  2. Lasso no puede seleccionar más variables que el tamaño de la muestra $n$ lo que supone un problema para muchos modelos

La idea principal del lazo aleatorio, capaz de resolver los dos inconvenientes del lazo, es la siguiente

Si se generaron varios conjuntos de datos independientes a partir del mismo distribución, esperaríamos que el lazo seleccionara subconjuntos de 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 todas de esas variables importantes altamente correlacionadas tomando una unión de variables seleccionadas de diferentes conjuntos de datos. Este proceso puede producir más de $n$ variables, superando la otra limitación del lazo.

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

Sería estupendo si alguien pudiera elaborar y explicar mejor este algoritmo en las respuestas.

6voto

cbeleites Puntos 12461

Mi enfoque actual consiste en 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 una validación cruzada de 10 veces promediando la puntuación MSE. A continuación, entreno el modelo con los mejores parámetros de ajuste en el 90% del conjunto de datos. Soy capaz de evaluar mi modelo utilizando R al cuadrado en el 10% del conjunto de datos (que representa sólo 15 muestras).

¿Hasta qué punto son estables los parámetros de ajuste?

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

Eso sería un síntoma de sobreajuste:

El problema con la búsqueda en cuadrícula (y muchas otras estrategias de optimización de parámetros) es que básicamente se asume un comportamiento bastante suave de $MSE = f (grid parameters)$ . Pero en el caso de los conjuntos de pruebas pequeños, la varianza debida al pequeño tamaño del conjunto de pruebas (= 135 muestras en total en 10 pliegues de v.c.) puede ser mayor que las diferencias reales de $MSE = f (grid parameters)$ . En ese caso, los parámetros ya son bastante inestables.

¿Puedo ejecutar repetidamente mi procedimiento para crear varios modelos y luego promediar los coeficientes de regresión? ¿O debo utilizar el número de apariciones de un predictor en los modelos como su puntuación de importancia?

Existen varias posibilidades para construir estos modelos agregados:

  • los modelos lineales pueden promediarse calculando la media de los coeficientes
  • En términos más generales, se puede predecir una muestra mediante cada una de las $m$ diferentes modelos, y promediar los $m$ predicciones (también se puede obtener una idea de la incertidumbre observando la distribución de las predicciones).

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

Reflexión al margen: algunos tipos de datos presentan una colinealidad esperable e interpretable que puede hacer que la selección de variables "salte" entre soluciones más o menos iguales.

3voto

mtruesdell Puntos 1639

No hay escapatoria. Como han dicho algunos, los modelos son inestables por naturaleza (si no, no harían falta estadísticas).

Pero la propia inestabilidad aporta información. Así que, en lugar de intentar deshacerme de ella, traté de analizarla.

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

En el caso de la red elástica realizo una prueba de validación cruzada para cada alfa (0..1 por 0.1) con los mismos datos plegados k (se deben comparar las alfas en el mismo conjunto de datos) y selecciono la $\lambda$ / $\alpha$ par asociado con menos error de prueba... Luego lo repito n veces con diferentes datos plegados k seleccionados al azar y elijo el mejor par para cada iteración.

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 este modo puedo utilizar 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 datos nuevos; un predictor que es inestable incluso en sus datos, probablemente sería muy inestable incluso con datos nuevos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X