7 votos

¿Cuáles son las limitaciones del software en todos los posibles subconjuntos de selección en la regresión?

Si tengo una variable dependiente y $N$ variables predictoras y quería que mis stats de software para examinar todos los modelos posibles, no sería $2^N$ posible ecuaciones resultantes.

Tengo curiosidad por averiguar lo que las limitaciones son con respecto a $N$ por mayor/popular estadística de software, ya que como $N$ se hace grande hay una explosión combinatoria.

He clavado en torno a las distintas páginas web de los paquetes, pero no ha sido capaz de encontrar esta información. Yo sospecho que un valor de 10 - 20 para $N$?

Si alguien sabe (y enlaces) yo estaría muy agradecido por esta información.

Aparte de R, Minitab, no puedo pensar de estos paquetes SAS, SPPS, Stata, Matlab, Excel(?), cualquier otro de los paquetes que debo tener en cuenta?

12voto

giulio Puntos 166

Sospecho 30--60 es la mejor que vas a conseguir. El método estándar es el de que los saltos y los límites algoritmo, el cual no requiere de ajuste de cada modelo. En $R$, los saltos paquete es una implementación.

La documentación de la regsubsets función en los saltos paquete afirma que será capaz de manejar hasta 50 variables sin quejarse. Puede ser "obligado" a hacer más de 50 estableciendo el correspondiente indicador booleano.

Usted podría hacer un poco mejor, con algunos de paralelización de la técnica, pero el número total de modelos que usted puede considerar la voluntad (casi sin duda) sólo se escala linealmente con el número de núcleos de CPU disponibles para usted. Así, si el 50 variables es el límite superior de un solo núcleo, y tiene 1000 núcleos a tu disposición, que pudiera golpear a alrededor de 60 variables.

11voto

Steve Scheffler Puntos 1166

Yo era capaz de generar todos los posibles subconjuntos con 50 variables en SAS. Yo no creo que haya ninguna limitación otros que la memoria y la velocidad de la CPU.

Editar

Me genera los 2 mejores modelos para N=1 a 50 variables de 5000 observaciones.

@levon9 - No, este corrió en menos de 10 segundos. Me genera 50 variables aleatorias a partir de (0,1)

-Ralph Inviernos

10voto

John Richardson Puntos 1197

Sólo una advertencia, pero la selección de características es un negocio riesgoso, y las características más tienes, más grados de libertad que tiene con que para optimizar la función de criterio de selección, y por lo tanto mayor es el riesgo de sobre-ajuste de la función de criterio de selección y, al hacerlo, obtener un modelo con una mala generalización de la capacidad. Es posible que con un algoritmo eficiente y cuidadoso de codificación se puede realizar todos los subconjuntos de selección con un gran número de características, que no significa que sea una buena idea hacerlo, especialmente si usted tiene relativamente pocas observaciones. Si usted hace uso de todos los subconjuntos de selección, es de vital importancia correctamente cruz-validar el modelo completo procedimiento de ajuste (por lo que todo subconjunto de selección se realiza de forma independiente en cada pliegue de la validación cruzada). En la práctica, la regresión ridge con ninguna selección de características a menudo se realiza fuera de regresión lineal con función de selección (que se da consejo Millar en la monografía de la selección de características).

3voto

patfla Puntos 1

Como $N$ pasa en grande, la capacidad de utilizar las matemáticas es absolutamente crucial. "ineficiente" las matemáticas va a costar en el PC. El límite superior depende de lo que la ecuación que se está resolviendo. Evitar la matriz inversa o determinante de los cálculos es una gran ventaja.

Una manera de ayudar a aumentar el límite es el uso de los teoremas de descomposición de una gran matriz inversa de a menor tamaño de la matriz de matrices inversas. Esto a menudo significa la diferencia entre viable y no viable. Pero esto implica un poco de trabajo duro, y a menudo bastante complicada manipulación matemática! Pero es por lo general vale la pena el tiempo. Hacer las matemáticas o hacer el tiempo!

Bayesiano métodos podría ser capaz de dar una forma alternativa de conseguir el resultado podría ser más rápido, lo que significa que su "límite superior" va a aumentar (aunque sólo sea porque le da dos alternativas para el cálculo de la misma respuesta: la más pequeña de las dos, siempre será más pequeño que uno de ellos!).

Si se puede calcular un coeficiente de regresión sin invertir una matriz, entonces usted probablemente va a ahorrar un montón de tiempo. Esto puede ser particularmente útil en el caso Bayesiano, porque "dentro" de una normal marginación integral, el $X^{T}X$ matriz no necesita ser invertida, que acaba de calcular una suma de cuadrados. Además, el determinante de la matriz se forma parte de la normalización de la constante. Por lo que "en teoría" se podría utilizar técnicas de muestreo para evaluar numéricamente la integral (incluso a pesar de que tiene una expresión analítica), que será eones más rápido que tratar de evaluar la "combinatorical explosión" de la matriz inversas y determinantes. (que seguirá siendo un "combinatorical explosión" de integraciones numéricas, pero esto puede ser más rápido).

Esta sugerencia es un poco de un "pensamiento burbuja" de la mina. De hecho, quiero probarlo, a ver si es bueno. Creo que sería (de 5.000 simulaciones + calcular exp(suma de cuadrados) + calcular el promedio ponderado de la beta debería ser más rápido que la inversión de matrices para una gran matriz suficiente.)

El costo es aproximado en lugar de cifras exactas. No hay nada que te impida usar el mismo conjunto de números pseudo-aleatorios para evaluar numéricamente la integral, que de nuevo, le ahorrará una gran cantidad de tiempo.

También hay nada que te impida el uso de una combinación de cualquiera de estas técnicas. El uso exacto cuando las matrices son pequeñas, el uso de la simulación cuando son grandes. Esto es debido a que en esta parte del análisis. Es sólo diferentes técnicas numéricas - acaba de elegir la técnica que es el más rápido!

Por supuesto, esto es sólo un poco de "mano ondulado" argumentos, no sé exactamente de los mejores paquetes de software a utilizar - y peor aún, tratando de averiguar lo que los algoritmos que utilizan realmente.

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