¿Hay alguna circunstancia en la que deba usarse la regresión gradual?

13

La regresión gradual se había usado en exceso en muchos artículos biomédicos en el pasado, pero esto parece estar mejorando con una mejor educación de sus muchos problemas. Sin embargo, muchos críticos más antiguos todavía lo piden. ¿Cuáles son las circunstancias en las que la regresión gradual tiene un papel y debe usarse, si corresponde?

bobmcpop
fuente
66
A menudo lo uso cuando doy clases para ilustrar la idea de que no debería usarse.
gung - Restablece a Monica
1
(+1) Gracias @gung No soy un estadístico y he encontrado difícil defender esto aunque sé que es correcto. Me resulta particularmente difícil porque: 1) este post muy bueno y muy citada no entrar en muchos detalles y citable .... (CTD)
bobmcpop
2
(ctd) y 2) los críticos de stepwise a menudo parecen hacerlo para seleccionar entre una gran cantidad de variables o minería de datos. En el mundo biomédico, los cálculos del tamaño de la muestra a menudo tienen en cuenta el número de covariables esperadas, de modo que los modelos completos nunca son tan grandes para empezar, y cada var ya tiene alguna razón "biológica" previa para ser incluida. ¿Sientes que no se debe utilizar de manera gradual en estas circunstancias?
bobmcpop
3
Hago consultoría estadística para investigación biomédica. No uso paso a paso. No me han pedido muchas personas (podrían suponer que lo usaría si fuera útil para su proyecto), pero cuando la gente pregunta, les digo que no es válido y les cuento por qué.
gung - Restablece a Monica

Respuestas:

11

No conozco situaciones en las que la regresión gradual sea el enfoque preferido. Puede estar bien (particularmente en su versión descendente a partir del modelo completo) con el arranque de todo el proceso paso a paso en conjuntos de datos extremadamente grandes con . Aquí es el número de observaciones en un resultado continuo (o el número de registros con un evento en el análisis de supervivencia) es el número de predictores candidatos, incluidas todas las interacciones consideradas, es decir, cuando cualquier efecto incluso pequeño se vuelve muy claro y no importa. tanto como construyes tu modelo (eso significaría que sería mucho más grande que que sustancialmente más que el factor a veces citado de 20).n>>pnpnp

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

  1. porque no es computacionalmente intensivo (si no realiza el arranque adecuado, pero sus resultados son bastante poco confiables),
  2. porque proporciona un enunciado claro "está en el modelo" frente a "no está en las declaraciones del modelo" (que son muy poco confiables en la regresión por pasos estándar; algo que el arranque adecuado generalmente dejará en claro para que estas declaraciones usualmente no sean tan claras) y
  3. porque a menudo es más pequeño, cercano o solo un poco más grande que .np

Es decir, un método como la regresión por pasos (si tuviera buenas características operativas) sería especialmente atractivo en esas situaciones, cuando no tiene buenas características operativas.

Björn
fuente
3
(+1) También los métodos escalonados y relacionados pueden ser apropiados para modelos predictivos en situaciones de aguja en un pajar, cuando muchos coeficientes son insignificantes y solo unos pocos grandes en relación con la varianza del error. Vea el Ejemplo 3 de Tibshirani (1996), Regresión contracción y selección a través del Lazo , JRSS B , 58 , 1 , aunque incluso aquí gana la garotte no negativa.
Scortchi - Restablece a Monica
3
No puedo entender el último párrafo. Tal vez podría ser reformulado? Además, ¿qué pasa con 3 .: no veo un argumento directo, tal vez se supone que algo es fácil de inferir allí?
Richard Hardy
1
Para aclarar el último párrafo y (3): las personas usan paso a paso debido a (3) (es decir, para evitar situaciones en las que ajustar el modelo completo es difícil o conduce a ), pero eso es exactamente cuando será un método terrible . Lo usan, porque no es computacionalmente intensivo, pero para obtener algo útil, debe hacer un arranque exhaustivo (por lo que tampoco es una ventaja). Y lo usan, porque parece dar una interpretación clara, pero si se hace correctamente, eso no es tan claro y se ve cuánta incertidumbre del modelo hay (interpretación clara = una ilusión). pn
Björn
11

Dos casos en los que no me opondría a ver una regresión escalonada son

  1. Análisis exploratorio de datos
  2. Modelos predictivos

En estos dos casos de uso muy importantes, no está tan preocupado por la inferencia estadística tradicional, por lo que el hecho de que los valores p, etc., ya no sean válidos es de poca importancia.

Por ejemplo, si un trabajo de investigación decía "En nuestro estudio piloto, usamos la regresión gradual para encontrar 3 variables interesantes de 1000. En un estudio de seguimiento con nuevos datos, mostramos que estas 3 variables interesantes estaban fuertemente correlacionadas con el resultado de interés ", no tendría ningún problema con el uso de la regresión gradual. Del mismo modo, "Utilizamos la regresión por pasos para construir un modelo predictivo. Este modelo alternativo X preformado en nuestro conjunto de datos de retención con respecto a MSE" también está totalmente bien para mí.

Para ser claros, no estoy diciendo que la regresión escalonada sea la mejor manera de abordar estos problemas. Pero es fácil y puede brindarle soluciones satisfactorias.

EDITAR:

En los comentarios, hay una cuestión de si el AIC por pasos puede ser realmente útil para la predicción. Aquí hay una simulación que muestra que funciona mucho mejor que la regresión lineal con todas las covariables, y casi tan bien como las redes elásticas con la penalización elegida por validación cruzada.

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 la AIC escalonada se empeore peor. ¡Pero en realidad no es un escenario irrazonable, y es exactamente el tipo de situación para la que están diseñadas las redes elásticas (alta correlación de covariables con muy pocos efectos grandes)!

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:

Realmente no soy fanático de la regresión gradual por muchas, muchas razones, por lo que me siento un poco incómodo de haber tomado esta postura en defensa de ella. Pero simplemente creo que es importante ser preciso sobre exactamente lo que no me gusta.

Acantilado
fuente
2
¿En qué otros escenarios se usa comúnmente (en la literatura biomédica) excepto esas dos indicaciones? Solo he encontrado su uso para modelos predictivos, sin embargo, no se recomienda, por ejemplo .
bobmcpop
55
@bobmcpop: el gran problema es usar valores p, intervalos de confianza, después de una regresión gradual, como se menciona en el documento que citó. Los modelos utilizados únicamente para la predicción (no solo los modelos con predictores) generalmente no se preocupan por los valores p, sino más bien cuánto se reduce el error fuera de la muestra.
Cliff AB
1
@ Björn: bueno, como dije al final, en general no creo que sea el mejor método para hacerlo. Pero no es inválido, y puede terminar con resultados razonables. Como tal, su fortaleza es realmente lo fácil que es usarlo: si tiene un modelo que toma covariables y devuelve probabilidades, puede hacer AIC por pasos. Es posible que pueda hacerlo mejor con algo como LASSO ... pero no puede hacerlo si se trata de un nuevo modelo elegante o si está utilizando Excel.
Cliff AB
44
(+1) Hubiera dicho que glmnet fue diseñado para tomar este tipo de situación, entre otras, con calma (lo que parece); mientras que los métodos de selección de predictores sin contracción están especialmente adaptados a esto. Puede ser interesante comparar enfoques cuando hay "efectos de disminución" en lugar de unos pocos grandes y muchos pequeños.
Scortchi - Restablece a Monica
2
Edité su código para que sea más fácil de leer y más fácil de copiar y pegar en un archivo de código o consola. Espero que te guste. Si no lo hace, retroceda con mis disculpas.
gung - Restablecer Monica