Cuando se utiliza el enfoque progresivo hacia adelante para seleccionar variables, ¿se garantiza que el modelo final tenga el más alto posible ? Dicho de otra manera, ¿el enfoque gradual garantiza un óptimo global o solo un óptimo local?
Como ejemplo, si tengo 10 variables para seleccionar y deseo construir un modelo de 5 variables, ¿el resultado final del modelo de 5 variables construido por el enfoque escalonado tendrá el más alto de todos los modelos de 5 variables posibles que podrían ¿han sido construidos?
Tenga en cuenta que esta pregunta es puramente teórica, es decir, no estamos debatiendo si un valor alto es óptimo, si conduce a un sobreajuste, etc.
r-squared
stepwise-regression
zabidlo
fuente
fuente
Respuestas:
No necesariamente obtendrá el R más alto porque solo compara un subconjunto de modelos posibles y puede omitir el que tiene el R más alto que incluiría todas las variables. Para obtener ese modelo, necesitaría observar todos los subconjuntos . Pero el mejor modelo puede no ser el que tiene el R más alto porque puede ser que usted esté demasiado en forma porque incluye todas las variables.2 2 2
fuente
Aquí hay un contraejemplo que usa datos generados aleatoriamente y R:
Whuber quería el proceso de pensamiento: es principalmente un contraste entre la curiosidad y la pereza. La publicación original hablaba de tener 10 variables predictoras, así que eso es lo que usé. La correlación 0.9 fue un buen número redondo con una correlación bastante alta, pero no demasiado alta (si es demasiado alta, entonces probablemente solo recogería 1 o 2 predictores), pensé que la mejor oportunidad de encontrar un contraejemplo incluiría una buena cantidad de colinealidad. Un ejemplo más realista habría tenido varias correlaciones diferentes (pero aún una buena cantidad de colinealidad) y una relación definida entre los predictores (o un subconjunto de ellos) y la variable de respuesta. El tamaño de la muestra de 100 también fue el primero que probé como un buen número redondo (y la regla general dice que debe tener al menos 10 observaciones por predictor). Probé el código anterior con las semillas 1 y 2, luego envolví todo en un bucle y lo hice probar diferentes semillas secuencialmente. En realidad se detuvo en la semilla 3, pero la diferencia enR2 estaba en el decimoquinto punto decimal, así que pensé que era más probable que fuera un error de redondeo y lo reinicié con el primer redondeo de comparación a 5 dígitos. Me sorprendió gratamente que encontrara una diferencia tan pronto como 15. Si no hubiera encontrado un contraejemplo en un tiempo razonable, habría comenzado a ajustar las cosas (la correlación, el tamaño de la muestra, etc.).
fuente
Si realmente quieres llegar a lo más altoR2 tienes que mirar (como dijo @ Michael) en todos los subconjuntos. Con muchas variables, eso a veces no es factible, y existen métodos para acercarse sin probar cada subconjunto. Un método se llama (IIRC) "pasos agigantados" y está en los saltos del paquete R.
Sin embargo, esto arrojará resultados muy sesgados. los valores de p serán demasiado bajos, los coeficientes se desviarán de 0, los errores estándar serán demasiado pequeños; y todo por montos que son imposibles de estimar adecuadamente.
La selección por pasos también tiene este problema.
Recomiendo fuertemente contra cualquier método de selección de variables automatizado, porque lo peor de ellos es que le impida pensar; o, para decirlo de otra manera, un analista de datos que usa métodos automatizados le está diciendo a su jefe que le pague menos.
Si debe utilizar un método automatizado, debe separar sus datos en conjuntos de entrenamiento y prueba, o posiblemente conjuntos de entrenamiento, validación y finales.
fuente