¿La regresión gradual proporciona una estimación sesgada de la población r-cuadrado?

14

En psicología y otros campos, a menudo se emplea una forma de regresión gradual que implica lo siguiente:

  1. Observe los predictores restantes (al principio no hay ninguno en el modelo) e identifique el predictor que resulta en el mayor cambio de r-cuadrado;
  2. Si el valor p del cambio de r-cuadrado es menor que alfa (típicamente .05), entonces incluya ese predictor y regrese al paso 1, de lo contrario deténgase.

Por ejemplo, vea este procedimiento en SPSS .

El procedimiento se critica habitualmente por una amplia gama de razones (consulte esta discusión en el sitio web de Stata con referencias ).

En particular, el sitio web de Stata resume varios comentarios de Frank Harrell. Estoy interesado en el reclamo:

[regresión por pasos] produce valores de R cuadrado que están muy sesgados para ser altos.

Específicamente, parte de mi investigación actual se enfoca en estimar el r-cuadrado de la población . Por población r-cuadrado me refiero al porcentaje de varianza explicado por la ecuación de generación de datos de población en la población. Gran parte de la literatura existente que estoy revisando ha utilizado procedimientos de regresión gradual y quiero saber si las estimaciones proporcionadas están sesgadas y, en caso afirmativo, en qué medida. En particular, un estudio típico tendría 30 predictores, n = 200, alfa de entrada de .05 y estimaciones de r-cuadrado alrededor de .50.

Lo que sí sé

  • Asintóticamente, cualquier predictor con un coeficiente distinto de cero sería un predictor estadísticamente significativo, y r-cuadrado sería igual a r-cuadrado ajustado. Por lo tanto, la regresión escalonada asintóticamente debería estimar la ecuación de regresión verdadera y la verdadera r-cuadrado de la población.
  • Con tamaños de muestra más pequeños, la posible omisión de algunos predictores dará como resultado un r-cuadrado más pequeño que si se hubieran incluido todos los predictores en el modelo. Pero también el sesgo habitual de r-cuadrado para muestrear datos aumentaría el r-cuadrado. Por lo tanto, mi ingenuo pensamiento es que, potencialmente, estas dos fuerzas opuestas podrían, bajo ciertas condiciones, dar como resultado un r-cuadrado imparcial. Y de manera más general, la dirección del sesgo dependería de varias características de los datos y los criterios de inclusión alfa.
  • Establecer un criterio de inclusión alfa más estricto (p. Ej., .01, .001, etc.) debería reducir el r-cuadrado estimado esperado porque la probabilidad de incluir cualquier predictor en cualquier generación de datos será menor.
  • En general, r-cuadrado es una estimación sesgada hacia arriba de la población de r-cuadrado y el grado de este sesgo aumenta con más predictores y tamaños de muestra más pequeños.

Pregunta

Entonces, finalmente, mi pregunta:

  • ¿En qué medida el r-cuadrado de la regresión gradual da como resultado una estimación sesgada de la población r-cuadrado?
  • ¿En qué medida este sesgo está relacionado con el tamaño de la muestra, el número de predictores, el criterio de inclusión alfa o las propiedades de los datos?
  • ¿Hay alguna referencia sobre este tema?
Jeromy Anglim
fuente
3
La versión principal de las preguntas frecuentes de Stata que cita es anterior a las estrategias de modelado de regresión del libro de Frank Harrell de 2001 . Nueva York: Springer, que es la referencia que comenzaría desde aquí.
Nick Cox
3
Recomiendo leer el libro de @FrankHarrell que Nick Cox menciona allí; Asigno regularmente a mis estudiantes de posgrado y honro a los estudiantes que leen (particularmente el capítulo 4). Es bastante fácil ver que R ^ 2 está sesgado en presencia de selección de variables simulando muchos conjuntos de datos (por ejemplo, n = 100, p = 50) que tienen una correlación de población de cero y luego haciendo cualquier procedimiento de selección de variables que desee mostrar en
Glen_b -Reinstale a Monica el
55
R2
3
Si la población R ^ 2 es cero, creo que la muestra R ^ 2 está sesgada incluso si no utiliza la selección por pasos. Sospecho (pero no estoy seguro) que también estaría sesgado si la población R ^ 2 no es cero.
mark999
2
R2

Respuestas:

5

R2R2R2

Frank Harrell
fuente
¡Particularmente cuando el número de predictores candidatos excede el número de observaciones!
Alexis
2

Visión general

R2ρ2

R2ρ2R2ρ2R2R2mostrará el mismo sesgo que .R2ρ2

He realizado algunas simulaciones en diferentes condiciones. El valor p de la entrada del predictor que produjo una estimación aproximadamente imparcial a menudo oscilaba entre 0,05 y 0,0001. Sin embargo, todavía no he leído ninguna simulación que explore explícitamente esto o brinde consejos sobre qué tipo de sesgo esperar de pasos publicadoR2 valores utilizando un valor p de entrada dado y las características de los datos.

R2ρ2ρ2 que simplemente esperar que el valor p de entrada en una regresión escalonada sea correcto para dar como resultado una estimación aproximadamente imparcial .

Simulación

La siguiente simulación tiene cuatro predictores no correlacionados donde la población r-cuadrado es del 40%. Dos de los predictores explican el 20% cada uno, y los otros dos predictores explican el 0%. La simulación genera 1000 conjuntos de datos y estima la regresión por pasos r-cuadrado como un porcentaje para cada conjunto de datos.

# source("http://bioconductor.org/biocLite.R")
# biocLite("maSigPro") # provides stepwise regression function two.ways.stepfor 
library(maSigPro)
get_data <- function(n=100) {
    x1 <- rnorm(n, 0, 1)
    x2 <- rnorm(n, 0, 1)
    x3 <- rnorm(n, 0, 1)
    x4 <- rnorm(n, 0, 1)
    e  <- rnorm(n, 0, 1)
    y <- 1 * x1 + 1 * x2 + sqrt(3) * e
    data <- data.frame(y, x1, x2, x3, x4)
    data
}

get_rsquare <- function(x, alpha=.05) {
    fit <- two.ways.stepfor(x$y, subset(x, select=-y),  alfa=alpha)
        class(fit) <-'lm'
        summary.lm(fit)$r.square * 100
}

El siguiente código devuelve el r-cuadrado con un alfa para la entrada de .01, .001, .0001 y .00001.

set.seed(1234)
simulations <- 1000
datasets <- lapply(seq(simulations), function(X) get_data(n=100))
rsquares01 <- sapply(datasets, function(X) get_rsquare(X, alpha=.01))
rsquares001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.001))
rsquares0001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.0001))
rsquares00001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.00001))

Los siguientes resultados indican el sesgo para cada una de las cinco alfa de entradas. Tenga en cuenta que he multiplicado r-cuadrado por 100 para que sea más fácil ver las diferencias.

mean(rsquares01) - 40 
mean(rsquares001) - 40 
mean(rsquares0001) - 40 
mean(rsquares00001) - 40 
sd(rsquares01)/sqrt(simulations) # approximate standard error in estimate of bias 

Los resultados sugieren que el alfa de las entradas de .01 y .001 produce un sesgo positivo y el alfa de las entradas de .0001 y .00001 resulta en un sesgo negativo. Entonces, presumiblemente, un alfa de entrada alrededor de .0005 daría como resultado una regresión gradual imparcial.

> mean(rsquares01) - 40 
[1] 1.128996
> mean(rsquares001) - 40 
[1] 0.8238992
> mean(rsquares0001) - 40 
[1] -0.9681992
> mean(rsquares00001) - 40 
[1] -5.126225
> sd(rsquares01)/sqrt(simulations) # approximate standard error in estimate of bias
[1] 0.2329339

La principal conclusión que deduzco de esto es que la regresión gradual no está sesgada inherentemente en una dirección particular. Dicho esto, estará al menos algo sesgado para todos menos un valor p de entrada del predictor. Tomo el punto de @Peter Flom de que en el mundo real no conocemos el proceso de generación de datos. Sin embargo, me imagino que una exploración más detallada de cómo varía este sesgo, n, alfa de entrada, procesos de generación de datos y procedimiento de regresión gradual (por ejemplo, incluyendo el paso hacia atrás) podría informar sustancialmente una comprensión de dicho sesgo.

Referencias

  • Harrell, FE (2001). Estrategias de modelado de regresión: con aplicaciones a modelos lineales, regresión logística y análisis de supervivencia. Saltador.
Jeromy Anglim
fuente
Todavía está sesgado (diría), simplemente has reducido mucho el sesgo.
Jeremy Miles
@JeremyMiles Sí. Pero no está sesgado inherentemente en una dirección particular.
Jeromy Anglim
Estaría muy interesado en ver la opinión de @FrankHarrell sobre esto.
Glen_b -Reinstate Monica el
1
SW(pag)R2pagpagSW(pag)es imparcial Bien: pero ¿cómo seleccionas eso?pag? Si no sabes qué es, entonces parece que estás de vuelta donde empezaste, pero esta vez sabes queSW(pag) es "inherentemente" parcial a menos que haya hecho una suposición afortunada de pag.
whuber
1
@whuber Modifiqué el párrafo final para poder aclarar algunos de los puntos que mencionas.
Jeromy Anglim