6 votos

Prueba F no significativa en la regresión lineal: ¿cuándo parar?

He leído repetidamente que se puede dejar de buscar cuando la prueba F es insignificante para la regresión lineal; por ejemplo en los comentarios aquí . Sin embargo, según esta respuesta tan perspicaz confiar únicamente en la prueba F podría llevar a pasar por alto una variable realmente significativa cuando algunas otras variables explicativas enmascaran un resultado global significativo. Mi pregunta: En caso de que la prueba F sea insignificante, ¿cuándo debo detenerme y cuándo puede ser legítimo/merecido continuar y profundizar?

8voto

user320414 Puntos 9

Respuesta corta

Después de pasar varios días pensando en esto y haciendo simulaciones, no puedo estar de acuerdo con las recomendaciones habituales. Pero si alguien puede ver un fallo en mi lógica ( que fácilmente podría haber ) por favor, comenten.

Mi conclusión es la siguiente. Si su objetivo es observar una serie de predictores de interés uno por uno, entonces creo que el ANOVA no es realmente relevante para esa cuestión y un mejor "enfoque general" (si debemos tener uno) sería corregir con Bonferroni su $t$ -prueba. Los puntos clave son:

  1. Si quiere mantener sus falsos positivos bajo control, el ANOVA seguido de un $t$ -prueba hace no hacer esto. Especialmente si algunos de sus predictores son reales y otros no (sólo se necesita un predictor "real" detectado con éxito para desbloquear el ANOVA y abrir las posibilidades de falsos positivos sin ANOVA de las pruebas restantes).

  2. Ajustar su $t$ -(por ejemplo, Bonferroni) controla los falsos positivos y, en algunos casos, es más potente que el ANOVA. (Cuando se agrega a todas las pruebas ajustadas).

  3. Añadir un ANOVA global a su ajustado $t$ -Por lo tanto, no es necesario realizar pruebas (los falsos positivos ya están controlados). Y de hecho (por su propio diseño) enmascarará algunos de los verdaderos positivos que de otro modo habrías descubierto.

  4. La verdadera fuerza del ANOVA está en detectar combinaciones de predictores y hay muchas situaciones en las que es brillante en eso (dummies de variables categóricas, combinaciones que son demasiado débiles para detectarlas individualmente, predictores correlacionados que pueden ser "agrupados"). Es precisamente su excelente poder en estas situaciones lo que provoca la compensación que hace que no pueda capturar todos los casos que harían las pruebas ajustadas por Bonferroni.

  5. Si quiere intuir mejor por qué Bonferroni puede vencer a ANOVA, piénselo de esta manera: bajo la nulidad, ambos deben rechazar el 5% de los casos (o cerca de eso para el conjunto de sus pruebas de Bonferroni). Así que el conjunto de conjuntos de datos en los que Bonferroni puede rechazar no puede ser un subconjunto de los de ANOVA. Es decir, si el ANOVA hace mejor una cosa, debe hacer peor que Bonferroni en otra cosa.

  6. ¿No sería mejor, de todos modos, que estimáramos nuestros coeficientes y sus errores? ;p Un predictor significativo podría ser pequeño con un error pequeño; entonces estás bastante seguro de que no es tan interesante. Un predictor no significativo podría ser muy grande pero con un gran error; vale, no estás seguro del resultado que has obtenido, ¡pero parece prometedor!

Respuesta larga

Como profesor de estadística siempre he dicho a mis (desafortunados) alumnos "bueno, ¿qué sentido tiene mirar al individuo $t$ estadísticas si el $F$ nos dice que el panorama general se parece al ruido?". De hecho, esta pregunta (y el ejemplo de @whuber) me mantuvo despierto anoche (ni siquiera bromeando), tratando de averiguar si he estado diciendo tonterías. Y yo piense en Lo tengo. La respuesta final a la que he llegado no es lo que me han enseñado, ni lo que he estado enseñando durante la última década, así que si alguien con más experiencia/educación que yo puede señalar un fallo en mi pensamiento, se lo agradecería.

Edición: La mayor parte de esto se hizo mirando a los predictores no correlacionados. Después de bajar el post un par de días para ver los predictores correlacionados, el panorama es un poco más turbio, pero sigo llegando a la misma conclusión. Se ha añadido una pequeña sección sobre predictores correlacionados justo al final.

Mi respuesta

La respuesta a la que he llegado es la contraria a la que siempre he pensado. Ahora creo que el $F$ -estadística no devalúa los resultados de cualquier $t$ -y no debería ser un obstáculo para comprobar la $t$ -prueba. Pero que puede añadir valor a no -significativo $t$ -prueba.

Es decir: no utilice el $F$ como un filtro para sus $t$ -Estadística. Pero sí que la utilizas para probar hipótesis compuestas interesantes.

La clave aquí es que el $F$ tiene un objetivo diferente al del individuo $t$ -prueba y debería, creo, utilizarse en consonancia con esto. Si su objetivo es probar los predictores individualmente entonces es mejor hacer un ajuste de Bonferroni de su $t$ -pruebas de interés y mirar sólo esas. Si su objetivo es específicamente ver si un grupo de predictores juntos puede predecir su VD, entonces el $F$ -estática tiene la ventaja y puede detectar cosas que su individuo $t$ -prueba (incluso antes de las correcciones) no pudo.

El hecho de que el ANOVA esté tan bien diseñado para detectar combinaciones de predictores lo aleja de la detección de predictores individuales significativos y significa que puede parecer naturalmente que contradice su $t$ -prueba, sólo porque está haciendo una pregunta diferente.

Esta conclusión la obtuve al mirar las simulaciones basadas en el ejemplo de @whuber, y una visualización geométrica para ayudarme a pensar en esto. En caso de que te interese, más detalles a continuación... Se aplican las advertencias habituales, que normalmente estamos mejor informados estimando los efectos y sus ICs que mirando la significación; también estos resultados son lo que he encontrado con algunas simulaciones preliminares - ¡pero alguien podría saltar y decir que estoy equivocado!

La simulación

Quería entender el ejemplo de @whuber de forma más general, en lugar de un ejemplo aislado, así que realicé un montón de simulaciones que ejecutaban ejemplos similares 10000 veces. También me di cuenta de que este caso específico (predictores perfectamente no correlacionados) puede transformarse en una interpretación geométrica súper intuitiva. Puedes ver una simulación junto con la interpretación geométrica a continuación.

Cada fila de la tabla de la figura corresponde a la adición de un predictor adicional al modelo -- se puede ver la beta del predictor añadido, y el % significativo según el ANOVA frente al % de casos en los que al menos uno de los Ajustado por Bonferroni $t$ -las pruebas salieron significativas. Así, la fila 4, por ejemplo, tiene 4 predictores, con betas de 0, 0, 0 y 0. Claramente este es el caso nulo, por lo que estamos aliviados de ver muchos valores del 5% allí.

El gráfico muestra todas las simulaciones que corresponden a la segunda fila de la tabla: donde tenemos dos predictores. Los ejes dan la $t$ para las pendientes de esas dos variables; cada punto es una simulación. Aquellos puntos fuera del círculo serán significativos según el ANOVA, aquellos puntos fuera del cuadrado tendrán al menos un significativo Corrección de Bonferroni $t$ . (El círculo se calculó basándose en el hecho de que el $F$ en este caso no correlacionado es la media del cuadrado $t$ estadísticas). Los puntos de color brillante son las simulaciones que se consideran significativas por sólo uno de nuestros dos métodos (ANOVA, Bonferroni $t$ ).

The null case

Ahora, aquí está el gráfico de 10000 simulaciones basadas en el ejemplo de @whuber, con el número de predictores establecido en 10:

Only one meaningful predictor

Realmente me sorprendió encontrar que, en este caso, el enfoque de Bonferroni es consistente más potente que el ANOVA ¡?! Pero, mirando el gráfico, podemos ver por qué: todos esos puntos rojos que caen en ese pequeño "punto ciego" del ANOVA, que es exactamente donde nos gustaría que estuviera.

Esto se mantuvo incluso con un tamaño del efecto más bajo y, por tanto, una menor potencia (corrección a la anterior, debido al cambio de enfoque del Bonferroni):

Less power: Bonferroni still better!

Donde el ANOVA cobra sentido es cuando se examinan las combinaciones de predictores. Por ejemplo, si añadimos un segundo predictor significativo al modelo:

Two non-zero betas

...aunque el Bonferroni se queda atrás, pero no demasiado. Pero aún así, podemos ver que, mientras que el ANOVA tiene un punto ciego en el caso de "sólo un predictor significativo", el Bonferronied- $t$ tiene su correspondiente punto ciego en el caso de la "combinación de predictores" (los puntos cian). Y cuantos más predictores significativos añadamos al modelo, más y más lejos estará el Bonferronied- $t$ empieza a quedarse atrás:

Ten non-zero betas

¿Y qué?

Lo más importante para mí de todo esto es que la $F$ -estática es en realidad un poco de manzanas y naranjas con el $t$ -prueba. No es necesariamente la prueba paraguas perfecta, si quiere comprobar la significación de los predictores uno por uno. Es es (¿creo?) la opción más potente para detectar las desviaciones del ruido en general: al situar su círculo en los contornos de la distribución de puntos en los gráficos, significa que la región de no rechazo es la más pequeña posible. Pero ganamos esa potencia en la detección de combinaciones que nos resultan muy difíciles de interpretar.

Si se encuentra en una situación en la que tiene diez predictores que tienen todos $t$ -de 1,4, podrá detectarlo como "inusual" (es decir, significativo). Pero, ¿qué vas a hacer con eso? ¿Cómo vas a descifrar cuál de ellos está realmente detrás de esto? Su $t$ -las pruebas no van a servir de mucho. Si, en cambio, se utiliza la prueba ajustada por Bonferroni $t$ estadísticas, sí se pierde potencia en general, potencialmente bastante. Pero en realidad ganas algo de poder en las situaciones que puedes interpretar y que están en línea con tus objetivos. Y, sobre todo, este es el punto clave: hacerlo es completamente coherente; empezar con un ANOVA es mezclar dos cuestiones diferentes como si fueran una sola.

Por lo tanto, creo que (tal y como está ahora), ya no puedo justificar este enfoque de utilizar el $F$ como puerta de entrada al $t$ pruebas.

Por otro lado, usted puede estar específicamente interesado en la combinación de un conjunto de predictores. Por ejemplo, si hay demasiado ruido para detectarlos individualmente, o si no tienen sentido individualmente (como los dummies de una variable categórica). En ese caso, ¡el ANOVA es realmente lo mejor!

Código

Aquí está el código, por si quieres jugar con él. Siento que sea tan largo, pero me gusta que se pueda ajustar casi todos los aspectos de la simulación:

library(ggplot2)
library(gridExtra)

# choose your betas to try different possiblities.  You can change the number of betas and it will change the number of xs -- which will also change the dataset size according whuber's approach
betas            <- c( 0,  0, 0, 0, 0, 0, 0, 0, 0, 0)
betas            <- c( 1,  0, 0, 0, 0, 0, 0, 0, 0, 0)
betas            <- c(.5,  0, 0, 0, 0, 0, 0, 0, 0, 0)
betas            <- c(.7, .7, 0, 0, 0, 0, 0, 0, 0, 0)
betas            <- c( 1,  1, 1, 1, 1, 1, 1, 1, 1, 1)*.5

data.multiplier <- 1 # set this at 1 to reproduce @whuber's example.  A higher number adds more data to the dataset (e.g. 2 will double the rows up)

# crude attempt to always start out with 80%ish power for the one-predictor cases
num.predictors <- length(betas)
num.data       <- 2 ^ num.predictors * data.multiplier
noise.sigma    <- sqrt(1/8) * sqrt(num.data) 
num.sims       <- 500 # Number of simulations(reduced to 500 here as better to play with)

set.seed(1)

run.anova.on.subset = function(i, x, y){
  test <- summary(lm(y ~ x[, 1:i]))
  F <- test$fstatistic

  num.coeffs <- nrow(test$coefficients)
  p.F        <- 1-pf(F["value"], F["numdf"], F["dendf"])
  p.ts       <- as.numeric(test$coefficients[2:num.coeffs, "Pr(>|t|)"])
  ts         <- as.numeric(test$coefficients[2:num.coeffs, "t value" ])

  names(p.F) <- NULL

  c(
    t1         = ts[1],
    t2         = if(i > 1) ts[2] else NA,
    Bonferroni = any(p.ts < .05 / i),
    ANOVA      = p.F < .05
  )
}

generate.dataset.and.run.all.Fs = function(){
  # this is @whuber's setup with orthogonal predictors of which only one contributes to y
  x <- as.matrix(do.call(expand.grid, replicate(num.predictors, c(-1, 1), simplify = FALSE)))
  x <- do.call(rbind, replicate(data.multiplier, x, simplify = FALSE))
  y <- x %*% betas + rnorm(n=num.data, mean=0, sd=noise.sigma)
  sapply(1:num.predictors, run.anova.on.subset, x, y)
}
runs <- replicate(num.sims, generate.dataset.and.run.all.Fs())

# convert simulation results into a table of powers and dataframe of ts from each simulation
power.table <- apply(runs, 1:2, mean)[3:nrow(runs),]
power.df <- as.data.frame(t(power.table))

ts.df = as.data.frame(t(runs[, 2, ]))

predictors.df = data.frame(
  beta  = betas,
  Bonf. = sprintf("%.0f%%", power.df$Bonferroni * 100),
  F     = sprintf("%.0f%%", power.df$ANOVA      * 100)
)

# critical values.  f is F transformed to scale of t
Fcrit = qf(.95,2,num.data-3)
fcrit = sqrt(2*Fcrit)
Boncrit = qt((1-.05/(2*2)), num.data-3)

# coords for the circle and square on the plot
Boncrit.df = data.frame(
  t1 = c(Boncrit, Boncrit, -Boncrit, -Boncrit, Boncrit), 
  t2 = c(Boncrit, -Boncrit, -Boncrit, Boncrit, Boncrit)
)
thetas = seq(0,2*pi, length.out=300)
circle = data.frame(
  t1 = cos(thetas) * fcrit,
  t2 = sin(thetas) * fcrit
)

# expand xlimits to fit in power table
xlims <- c(min(c(ts.df$t1, circle$t1)), max(ts.df$t1))
RHside <- xlims[2]
xlims[2] <- xlims[2] + diff(xlims)*.5

plot = ggplot(aes(t1,t2), data=ts.df) + 
  geom_point(aes(colour=interaction(Bonferroni,ANOVA))) +
  geom_path(data=circle, size=1) + 
  geom_path(data=Boncrit.df, linetype="dashed", size=1) +
  scale_colour_manual(values=c("grey", "red", "cyan", "black")) +
  scale_x_continuous(limits=xlims) +
  annotation_custom(tableGrob(predictors.df, theme=ttheme_minimal()), xmin=RHside) +
  theme_classic() +
  theme(legend.position = "none")

print(plot)

Predictores correlacionados

Una vez que empezamos a ver los predictores correlacionados, las cosas se complican un poco más. El enfoque de Bonferroni sufre mucho cuando tenemos dos predictores correlacionados, ya que el individuo $t$ -las pruebas deben incorporar la incertidumbre sobre "cuál" de ellas es la "causa" (¡por favor, lea esta palabra con ligereza!). El ANOVA, por otro lado, puede decir simplemente: "Oye, estos dos parecen interesantes; ¡te concedo que sean significativos!

Pero, esta es la cuestión. Lo mire por donde lo mire, vuelve al mismo problema. En todo caso, los puntos expuestos en la sección anterior son más agudos aquí: el ANOVA es mucho más potente, al centrarse en la detección de escenarios que no podemos interpretar (es decir, si nuestro objetivo es mirar predictor por predictor). En la figura siguiente, la columna "cian" muestra que (en este escenario) tenemos un 20% de experimentos que resultan significativos en el ANOVA, pero no en el Bonferroni- $t$ (puntos cian en la figura), por lo que estamos atascados tratando de interpretarlos.

Y, de nuevo, dado que la región de rechazo debe cubrir siempre el 95% (ish para Bonferroni) de los casos en la nulidad, esta mayor potencia en los casos cian debe tener un coste. El coste es que una proporción de casos (hasta el 6% para este escenario) son puntos rojos, significativos según Bonferroni, pero no en el marco del ANOVA. Son casos que sería han sido interpretables, pero nos detuvimos por el ANOVA. Si sólo nos centramos en los casos en los que sería detectar con éxito el primero predictor con Bonferroni (Bonferroni $t$ ¡True Positives -- "BtTP"), la última columna de la tabla ("BtTPs.blocked") muestra que el ANOVA en realidad nos haría perder el 20% de los mismos en el caso de 10 predictores!

Si piensas, oye, pero estás usando el ajuste de Bonferroni $t$ valores, es por eso que estás obteniendo estos resultados basura... En primer lugar, el "FtFP" (F-y-el- $t$ falsos positivos) muestra que el uso del ANOVA seguido de un ajuste $t$ s produce al menos un falso positivo en hasta el 22% de nuestras muestras. En segundo lugar, el ANOVA no es se refería a para permitirnos utilizar el $t$ aquí. De hecho, esperamos que el ANOVA se ser significativo para "permitirnos" mirar los verdaderos positivos en el predictor 1. Pero eso no hace nada para controlar los errores en los predictores 2-10.

Correlated predictors

(Para mayor claridad: en la simulación anterior, cada predictor numerado impar tiene una correlación de 0,6 con el predictor que le sigue. Pero el resto de las correlaciones son nulas).

De nuevo, el punto final es: esto es no ¡antiANOVA! De hecho, esto sugiere que si usted tiene dos predictores fuertemente correlacionados que se sientan juntos y hacen una "cosa" agradable - por qué no bloquearlos juntos en uno $F$ estadística y probar ambos al mismo tiempo? Eso, así como los casos de antes (maniquíes y combinaciones que son difíciles de detectar individualmente). Hay muchos casos en los que el ANOVA es, con mucho, la mejor herramienta. Se trata simplemente de elegir la herramienta adecuada para el trabajo. Pero, cuando se trata de probar una serie de predictores individuales de una regresión, no creo que el ANOVA sea el paraguas adecuado para ese trabajo.

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