21 votos

Hay circunstancias donde la regresión paso a paso se debe usar?

De regresión paso a paso había sido abusado en muchos biomédica papeles en el pasado, pero este parece estar mejorando con mejor educación de sus muchos problemas. Muchos de los antiguos revisores sin embargo todavía no la pida. ¿Cuáles son las circunstancias en las que de regresión paso a paso tiene un papel y debe ser utilizado, si alguna?

14voto

Björn Puntos 457

Yo no soy consciente de situaciones, en las que de regresión paso a paso sería el enfoque preferido. Podría estar bien (sobre todo en su paso de una versión a partir del modelo completo) con arranque de todo el proceso paso a paso extremadamente grandes conjuntos de datos con $n>>p$. Aquí $n$ es el número de observaciones en un continuo resultado (o el número de registros con un evento en el análisis de supervivencia) $p$ es el número de predictores candidatos, incluyendo a todos en cuenta las interacciones, es decir, cuando cualquiera incluso pequeños efectos quedado muy claro y no importa tanto cómo su hacer de la construcción del modelo (que significaría que $n$ sería mucho más grande de lo $p$ que por mucho más de lo que a veces el citado factor de 20).

Por supuesto, la razón por la mayoría de la gente está tentado a hacer algo como la regresión paso a paso es,

  1. porque no es computacionalmente intensivo (si no el buen arranque, pero luego los resultados son bastante poco fiables),
  2. debido a que proporciona un corte claro "es en el modelo de" versus "no está en el modelo de" declaraciones (que no son muy confiables en el estándar de la regresión paso a paso; algo que el propio arranque de lo claro, de modo que estas declaraciones no suele ser tan clara) y
  3. porque, a menudo, $n$ es menor, cerca o un poco más grande que la de $p$.

I. e. un método como el de regresión paso a paso (si tenía buenas características de funcionamiento) ser especialmente atractivo en esas situaciones, cuando no se tienen buenas características de funcionamiento.

14voto

Cliff AB Puntos 3213

Dos casos en los que no quiero objeto para ver paso a paso la regresión son

1.) Análisis exploratorio de datos

2.) Los modelos de predicción

En tanto estas muy importante de los casos de uso, usted no se preocupan tanto por la inferencia tradicional, por lo que el hecho de que los valores de p, etc., no son válidas, es de poco interés.

Por ejemplo, si un trabajo de investigación, dijo que "En nuestro estudio piloto, se utilizó la regresión escalonada a encontrar 3 interesantes variables de 1000. En un estudio de seguimiento con los nuevos datos, nos mostraron las 3 interesantes variables se correlaciona fuertemente con el resultado de interés", yo no tendría ningún problema con el uso de regresión escalonada. Del mismo modo, "se utilizó la regresión escalonada para construir un modelo predictivo. Esta preformado modelo alternativo X en nuestro sujeción del conjunto de datos en lo que respecta a MSE" es totalmente bien conmigo.

A claro, no estoy diciendo que la regresión escalonada es la mejor manera de abordar estos problemas. Pero es fácil y puede dar soluciones satisfactorias.

EDITAR:

En los comentarios, no es una cuestión de si paulatino de la AIC, en realidad puede ser útil para la predicción. Aquí está una simulación que muestra es mucho mejor de lo que la regresión lineal con todas las covariables, y casi tan bien como la elástica de redes con la pena elegido por validación cruzada.

Yo no tomaría esta simulación como el final de la discusión, no es demasiado difícil llegar a un escenario en el que paso a paso AIC preforma peor. Pero realmente no es un gran escenario, y exactamente el tipo de situación que se elástica redes están diseñadas para (alta correlación de las covariables, con muy pocos efectos)!

> library(leaps)
> library(glmnet)
> nRows <- 1000
> nCols <- 500
> 
> # Seed set For reproducibility. 
> # Try changing for investigation of reliability of results
> set.seed(1)
> 
> # Creating heavily correlated covariates
> x_firstHalf <- matrix(rnorm(nRows * nCols / 2), nrow = nRows)
> x_secondHalf <- x_firstHalf +0.5 * 
+ matrix(rnorm(nRows * nCols / 2), nrow = nRows) 
> x_mat <- cbind(x_firstHalf, x_secondHalf) + rnorm(nRows)
> 
> # Creating beta's. Most will be of very small magnitude
> p_large = 0.01
> betas <- rnorm(nCols, sd = 0.01) + rnorm(nCols, sd = 4) * 
+ rbinom(nCols, size = 1, prob = p_large)
> 
> y <- x_mat %*% betas + rnorm(nRows, sd = 4)
> all_data <- data.frame(y, x_mat)
> colnames(all_data) <- c('y', paste('x', 1:nCols, sep = '_'))
> 
> # Holding out 25% of data for validation
> holdout_index <- 1:(nRows * .25) 
> 
> train_data <- all_data[-holdout_index, ]
> validate_data <- all_data[holdout_index, ]
> 
> mean_fit <- lm(y ~ 0, data = train_data)
> full_fit <- lm(y ~ ., data = train_data)
> step_fit <- step(mean_fit, 
+                  scope = list(lower = mean_fit, upper = full_fit), 
+                  direction = "forward", 
+                  steps = 20, trace = 0)
> 
> glmnet_cvRes <- cv.glmnet(x = as.matrix(train_data[,-1]), 
+ y = as.numeric(train_data$y))
> 
> full_pred <- predict(full_fit, validate_data)
> step_pred <- predict(step_fit, validate_data)
> glmnet_pred <- predict(glmnet_cvRes, as.matrix(validate_data[,-1]), 
+ s = 'lambda.min')
> 
> 
> sd(full_pred - validate_data$y)
[1] 6.426117
> sd(step_pred - validate_data$y)
[1] 4.233672
> sd(glmnet_pred - validate_data$y)
[1] 4.127171
> # Note that stepwise AIC does considerably better than using 
> # all covariates in linear regression
> # And not that much worse than penalized methods 
> # with cross validation!!

Nota al margen:

Yo realmente no soy un fan de regresión paso a paso por muchas, muchas razones, así que me siento un poco incómodo de haber tomado esta postura en defensa de él. Pero yo simplemente creo que es importante ser preciso acerca de exactamente lo que no me gusta de ella.

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