28 votos

En la práctica, ¿cómo se maneja el ANOVA cuando los datos no cumplen los supuestos?

No se trata de una pregunta estrictamente estadística (puedo leer todos los libros de texto sobre los supuestos del ANOVA), sino que intento averiguar cómo manejan los analistas los datos que no cumplen los supuestos. He pasado por un montón de preguntas en este sitio en busca de respuestas y sigo encontrando mensajes acerca de cuándo no utilizar ANOVA (en un contexto matemático abstracto, idealizado) o cómo hacer algunas de las cosas que describo a continuación en R. Realmente estoy tratando de averiguar qué decisiones toma la gente realmente y por qué.

Estoy ejecutando análisis sobre datos agrupados de árboles (árboles reales, no árboles estadísticos) en cuatro grupos. Tengo datos de unos 35 atributos para cada árbol y estoy revisando cada atributo para determinar si los grupos difieren significativamente en ese atributo. Sin embargo, en un par de casos, los supuestos del ANOVA se incumplen ligeramente porque las varianzas no son iguales (según una prueba de Levene, utilizando alfa = 0,05).

Tal y como yo lo veo, mis opciones son: 1. 1. Transformar los datos y ver si cambia el valor p de Levene. 2. Utilizar una prueba no paramétrica como Wilcoxon (si es así, ¿cuál?). 3. 3. Hacer algún tipo de corrección para el resultado ANOVA, como un Bonferroni (no estoy realmente seguro de si algo como esto existe?). He probado las dos primeras opciones y he obtenido resultados ligeramente diferentes: en algunos casos, un enfoque es significativo y el otro no. Tengo miedo de caer en la trampa de la pesca del p-valor, y estoy buscando consejos que me ayuden a justificar qué enfoque utilizar.

También he leído algunas cosas que sugieren que la heteroscedasticidad no es realmente un gran problema para el ANOVA a menos que las medias y las varianzas estén correlacionadas (es decir, que ambas aumenten juntas), así que ¿quizás pueda ignorar el resultado de Levene a menos que vea un patrón como ese? Si es así, ¿hay alguna prueba para ello?

Por último, debo añadir que estoy haciendo este análisis para publicarlo en una revista revisada por pares, así que sea cual sea el enfoque que elija tiene que pasar el examen de los revisores. Por lo tanto, si alguien puede proporcionar enlaces a ejemplos similares publicados, sería fantástico.

24voto

AdamSane Puntos 1825

Intento averiguar cómo manejan los analistas los datos que no se ajustan a los supuestos.

Depende de mis necesidades, de qué supuestos se violan, de qué manera, con qué gravedad, en qué medida afecta eso a la inferencia y, a veces, del tamaño de la muestra.

Estoy realizando análisis sobre datos agrupados de árboles en cuatro grupos. Tengo datos de unos 35 atributos para cada árbol y estoy revisando cada atributo para determinar si los grupos difieren significativamente en ese atributo. Sin embargo, en un par de casos, los supuestos del ANOVA se violan ligeramente porque las varianzas no son iguales (según una prueba de Levene, utilizando alfa = 0,05).

1) Si los tamaños de las muestras son iguales, no hay mucho problema. ANOVA es bastante (nivel-)robusto a diferentes varianzas si los n son iguales.

2) pruebas La igualdad de varianza antes de decidir si asumirla es desaconsejada por varios estudios. Si tiene alguna duda real de que serán casi iguales, es mejor suponer simplemente que son desiguales.

Algunas referencias:

Zimmerman, D.W. (2004),
"Nota sobre pruebas preliminares de igualdad de varianzas".
Br. J. Math. Stat. Psychol. , Mayo ; 57 (Pt 1): 173-81.
http://www.ncbi.nlm.nih.gov/pubmed/15171807

Henrik da tres referencias aquí

3) Lo que importa es el tamaño del efecto, no si la muestra es lo bastante grande como para decir que son significativamente diferentes. Así, en muestras grandes, una pequeña diferencia en la varianza se mostrará como altamente significativa por la prueba de Levene, pero no tendrá esencialmente ninguna consecuencia en su impacto. Si las muestras son grandes y el tamaño del efecto (el cociente de las varianzas o las diferencias en las varianzas) se aproxima bastante a lo que debería ser, entonces el valor p no tiene ninguna consecuencia. (Por otro lado, en muestras pequeñas, un valor p grande y bonito no sirve de mucho. En cualquier caso, la prueba no responde a la pregunta correcta).

Tenga en cuenta que hay un ajuste de tipo Welch-Satterthwaite para la estimación del error estándar residual y la f.d. en ANOVA, al igual que en las pruebas t de dos muestras.

  1. Utilizar una prueba no paramétrica como la de Wilcoxon (en caso afirmativo, ¿cuál?).

Si te interesan las alternativas de cambio de ubicación, sigues asumiendo una dispersión constante. Si le interesan alternativas mucho más generales, quizá pueda planteárselo; el equivalente en muestras k a una prueba de Wilcoxon es una prueba de Kruskal-Wallis.

Hacer algún tipo de corrección al resultado ANOVA

Véase mi sugerencia anterior de considerar Welch-Satterthwaite, que es un "tipo de corrección".

(Como alternativa, podría plantear su ANOVA como un conjunto de pruebas t por pares de tipo Welch, en cuyo caso probablemente querría buscar un Bonferroni o algo similar).

También he leído algunas cosas que sugieren que la heteroscedasticidad no es realmente un gran problema para ANOVA a menos que las medias y las varianzas estén correlacionadas (es decir, que ambas aumenten juntas).

Tendrías que citar algo así. Habiendo examinado varias situaciones con pruebas t, no creo que sea claramente cierto, así que me gustaría saber por qué piensan así; tal vez la situación esté restringida de algún modo. Sin embargo, estaría bien que así fuera, porque muy a menudo los modelos lineales generalizados pueden ayudar en esa situación.

Por último, debo añadir que estoy haciendo este análisis para publicarlo en una revista revisada por pares, así que cualquiera que sea el enfoque que elija tiene que pasar el examen de los revisores.

Es muy difícil predecir qué puede satisfacer a los críticos. La mayoría de nosotros no trabajamos con árboles.

20voto

Peter Carrero Puntos 382

En realidad es no muy difícil manejar la heteroscedasticidad en modelos lineales simples (por ejemplo, modelos tipo ANOVA de una o dos vías).

Solidez del ANOVA

En primer lugar, como otros han señalado, el ANOVA es sorprendentemente robusto a las desviaciones del supuesto de varianzas iguales, especialmente si tiene datos aproximadamente equilibrados (igual número de observaciones en cada grupo). Por otra parte, las pruebas preliminares sobre varianzas iguales son no (aunque la prueba de Levene es mucho mejor que la F -prueba comúnmente enseñada en los libros de texto). Como dijo George Box:

Hacer la prueba preliminar de las desviaciones es más bien como hacerse a la mar en una barca de remos para averiguar si las condiciones son lo suficientemente tranquilas como para que un transatlántico abandone el puerto.

Aunque el ANOVA es muy robusto, ya que es muy fácil tener en cuenta la heteroscedaticidad, hay pocas razones para no hacerlo.

Pruebas no paramétricas

Si realmente le interesa diferencias de medias Las pruebas no paramétricas (por ejemplo, la prueba de Kruskal-Wallis) no son realmente útiles. Prueban las diferencias entre grupos, pero no no en la prueba general de diferencias de medias.

Ejemplo de datos

Vamos a generar un ejemplo sencillo de datos en los que uno desearía utilizar ANOVA, pero en los que el supuesto de varianzas iguales no es cierto.

set.seed(1232)
pop = data.frame(group=c("A","B","C"),
                 mean=c(1,2,5),
                 sd=c(1,3,4))
d = do.call(rbind, rep(list(pop),13))
d$x = rnorm(nrow(d), d$mean, d$sd)

Tenemos tres grupos, con diferencias (claras) tanto en las medias como en las varianzas:

stripchart(x ~ group, data=d)

Stripchart showing example data.

ANOVA

No es sorprendente que un ANOVA normal maneje esto bastante bien:

> mod.aov = aov(x ~ group, data=d)
> summary(mod.aov)
            Df Sum Sq Mean Sq F value  Pr(>F)    
group        2  199.4   99.69   13.01 5.6e-05 ***
Residuals   36  275.9    7.66                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

¿Qué grupos difieren? Utilicemos el método HSD de Tukey:

> TukeyHSD(mod.aov)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = x ~ group, data = d)

$group
        diff        lwr      upr     p adj
B-A 1.736692 -0.9173128 4.390698 0.2589215
C-A 5.422838  2.7688327 8.076843 0.0000447
C-B 3.686146  1.0321403 6.340151 0.0046867

Con un P -valor de 0,26, no podemos afirmar que exista ninguna diferencia (en las medias) entre el grupo A y el B. E incluso si no tener en cuenta que hicimos tres comparaciones, no obtendríamos una baja P -valor ( P  = 0.12):

> summary.lm(mod.aov)
[…]
Coefficients:
            Estimate Std. Error t value  Pr(>|t|)    
(Intercept)   0.5098     0.7678   0.664     0.511    
groupB        1.7367     1.0858   1.599     0.118    
groupC        5.4228     1.0858   4.994 0.0000153 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.768 on 36 degrees of freedom

¿Por qué? Basado en la trama, hay es una diferencia bastante clara. La razón es que el ANOVA supone varianzas iguales en cada grupo, y estima una desviación típica común de 2,77 (mostrada como "Error típico residual" en el summary.lm o puede obtenerla tomando la raíz cuadrada del cuadrado medio residual (7,66) en la tabla ANOVA).

Pero el grupo A tiene una desviación típica (poblacional) de 1, y esta sobreestimación de 2,77 dificulta (innecesariamente) la obtención de resultados estadísticamente significativos, es decir, tenemos una prueba con una potencia (demasiado) baja.

ANOVA' con varianzas desiguales

Entonces, ¿cómo ajustar un modelo adecuado, que tenga en cuenta las diferencias en las varianzas? Es fácil en R:

> oneway.test(x ~ group, data=d, var.equal=FALSE)
    One-way analysis of means (not assuming equal variances)

data:  x and group
F = 12.7127, num df = 2.000, denom df = 19.055, p-value = 0.0003107

Por lo tanto, si desea ejecutar un simple 'ANOVA' unidireccional en R sin asumir varianzas iguales, utilice esta función. Es básicamente una extensión de la (Welch) t.test() para dos muestras con varianzas desiguales.

Por desgracia, no funciona con TukeyHSD() (o la mayoría de las funciones que utiliza en aov objetos), por lo que incluso si estamos bastante seguros de que hay son diferencias de grupo, no sabemos donde lo son.

Modelización de la heteroscedasticidad

La mejor solución es modelar las varianzas explícitamente. Y es muy fácil en R:

> library(nlme)
> mod.gls = gls(x ~ group, data=d,
                weights=varIdent(form= ~ 1 | group))
> anova(mod.gls)
Denom. DF: 36 
            numDF  F-value p-value
(Intercept)     1 16.57316  0.0002
group           2 13.15743  0.0001

Sigue habiendo diferencias significativas, por supuesto. Pero ahora las diferencias entre los grupos A y B también han pasado a ser estadísticamente significativas ( P  = 0.025):

> summary(mod.gls)
Generalized least squares fit by REML
  Model: x ~ group
  […]
Variance function:
 Structure: Different standard
            deviations per stratum
 Formula: ~1 | group 
 Parameter estimates:
       A        B        C 
1.000000 2.444532 3.913382 

Coefficients:
               Value Std.Error  t-value p-value
(Intercept) 0.509768 0.2816667 1.809829  0.0787
groupB      1.736692 0.7439273 2.334492  0.0253
groupC      5.422838 1.1376880 4.766542  0.0000
[…]
Residual standard error: 1.015564 
Degrees of freedom: 39 total; 36 residual

Así que utilizar un modelo adecuado ayuda. Obsérvese también que obtenemos estimaciones de las desviaciones típicas (relativas). La desviación típica estimada para el grupo A se encuentra en la parte inferior de los resultados: 1,02. La desviación típica estimada del grupo B es 2,44 veces mayor, es decir, 2,48, y la desviación típica estimada del grupo C es igualmente 3,97 (tipo intervals(mod.gls) para obtener intervalos de confianza para las desviaciones estándar relativas de los grupos B y C).

Corrección de las pruebas múltiples

Sin embargo, realmente deberíamos corregir por pruebas múltiples. Esto es fácil utilizando la biblioteca 'multcomp'. Desafortunadamente, no tiene soporte incorporado para objetos 'gls', así que tendremos que añadir algunas funciones de ayuda primero:

model.matrix.gls <- function(object, ...)
    model.matrix(terms(object), data = getData(object), ...)
model.frame.gls <- function(object, ...)
  model.frame(formula(object), data = getData(object), ...)
terms.gls <- function(object, ...)
  terms(model.frame(object),...)

Ahora manos a la obra:

> library(multcomp)
> mod.gls.mc = glht(mod.gls, linfct = mcp(group = "Tukey"))
> summary(mod.gls.mc)
[…]
Linear Hypotheses:
           Estimate Std. Error z value Pr(>|z|)    
B - A == 0   1.7367     0.7439   2.334   0.0480 *  
C - A == 0   5.4228     1.1377   4.767   <0.001 ***
C - B == 0   3.6861     1.2996   2.836   0.0118 *  

¡Sigue habiendo una diferencia estadísticamente significativa entre el grupo A y el grupo B! ☺ ¡Y hasta podemos obtener intervalos de confianza (simultáneos) para las diferencias entre las medias de los grupos!

> confint(mod.gls.mc)
[…]
Linear Hypotheses:
           Estimate lwr     upr    
B - A == 0 1.73669  0.01014 3.46324
C - A == 0 5.42284  2.78242 8.06325
C - B == 0 3.68615  0.66984 6.70245

Utilizando un modelo aproximadamente (aquí exactamente) correcto, ¡podemos confiar en estos resultados!

Observe que para este sencillo ejemplo, los datos del grupo C no añaden realmente ninguna información sobre las diferencias entre los grupos A y B, ya que modelamos medias y desviaciones típicas separadas para cada grupo. Podríamos haber utilizado simplemente t -pruebas corregidas para comparaciones múltiples:

> pairwise.t.test(d$x, d$group, pool.sd=FALSE)
    Pairwise comparisons using t tests with non-pooled SD 

data:  d$x and d$group 

  A       B      
B 0.03301 -      
C 0.00098 0.02032

P value adjustment method: holm 

Sin embargo, para modelos más complicados, por ejemplo, modelos de dos vías o modelos lineales con muchos predictores, la mejor solución es utilizar GLS (mínimos cuadrados generalizados) y modelizar explícitamente las funciones de varianza.

Y la función de varianza no tiene por qué ser simplemente una constante diferente en cada grupo; podemos imponerle una estructura. Por ejemplo, podemos modelizar la varianza como una potencia del media de cada grupo (y, por tanto, sólo es necesario estimar un el exponente), o quizás como el logaritmo de uno de los predictores del modelo. Todo esto es muy fácil con GLS (y gls() en R).

Los mínimos cuadrados generalizados son, en mi opinión, una técnica de modelización estadística muy infrautilizada. En lugar de preocuparse por las desviaciones de los supuestos del modelo, modelo ¡esas desviaciones!

8voto

GenericTypeTea Puntos 27689
  1. Puede que exista alguna transformación de los datos que produzca una distribución aceptablemente normal. Por supuesto, ahora su inferencia se refiere a los datos transformados, no a los datos no transformados.

  2. Suponiendo que se trate de un ANOVA unidireccional, el Kruskal-Wallis es un análogo no paramétrico apropiado del ANOVA unidireccional. La prueba de Dunn (no la típica prueba de la suma de rangos) es quizá la prueba no paramétrica más común apropiada para post hoc comparaciones múltiples por pares, aunque existen otras pruebas como la de Conover-Iman (estrictamente más potente que la de Dunn tras el rechazo de la de kruskal-Wallis), y la de Dwass-Steele-Crichtlow-Fligner.

  3. Los procedimientos de comparaciones múltiples (ya sean tasa de error por familia variedad o tasa de falsos descubrimientos ) no tienen nada que ver directamente con los supuestos específicos de la prueba (por ejemplo, la normalidad de los datos), sino con el significado de la expresión $\alpha$ (disposición a realizar un falso rechazo de una hipótesis nula) dado que está realizando múltiples pruebas.

El ANOVA se basa en una relación entre las varianzas intragrupo y entre grupos. No estoy del todo seguro de lo que quiere decir con heteroscedasticidad en este contexto, pero si se refiere a varianzas desiguales entre grupos, me parecería que rompe fundamentalmente la lógica de la hipótesis nula de la prueba.

Una simple búsqueda en Google Scholar de "prueba de Dunn" junto con un término general de su disciplina debería devolver multitud de ejemplos publicados.

Referencias

Conover, W. J. e Iman, R. L. (1979). Sobre los procedimientos de comparación múltiple . Informe técnico LA-7677-MS, Laboratorio Científico de Los Álamos.

Crichtlow, D. E. y Fligner, M. A. (1991). Comparaciones múltiples sin distribución en el análisis unidireccional de la varianza . Comunicaciones en Estadística-Teoría y Métodos , 20(1):127.

Dunn, O. J. (1964). Comparaciones múltiples mediante sumas de rangos . Tecnometría , 6(3):241-252.

2voto

Piotr Müller Puntos 145

Me da la impresión de que estás haciendo todo lo posible, pero te preocupa que tus esfuerzos no sean suficientes para que los revisores aprueben tu trabajo. Es un problema del mundo real. Creo que todos los investigadores se enfrentan de vez en cuando a análisis que parecen estar al límite o incluso incumplir francamente los supuestos. Al fin y al cabo, hay millones de artículos que evalúan, por ejemplo, los efectos de un tratamiento en tres pequeños grupos de ratones con unos 6-7 ratones en cada grupo. ¿Cómo saber si se cumplen los supuestos de Anova en un artículo de este tipo?

He revisado un gran número de artículos, sobre todo en el campo de la fisiopatología cardiovascular, y la verdad es que nunca estoy seguro al 100% de si puedo fiarme o no de los datos de un artículo que leo. Pero como revisor, tiendo a pensar que pueden surgir problemas en así que En la ciencia hay tantos niveles de incertidumbre que no tiene mucho sentido profundizar demasiado en las estadísticas: al fin y al cabo, todo el conjunto de datos podría ser falso y yo no podría saberlo ni en un millón de años. En consecuencia, siempre habrá un elemento de confianza en este campo de trabajo, del que los investigadores nunca deben abusar.

La sugerencia más realista que le daría es que piense todo muy detenidamente antes de enviar el trabajo y se asegure de que podrá responder con sinceridad a cualquier pregunta que le hagan los revisores. Siempre que lo hayas hecho lo mejor posible, tus intenciones sean honestas y duermas bien por la noche, creo que no tendrás problemas.

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