Pregunta

He estado usando var.test y bartlett.test para comprobar supuestos básicos ANOVA, entre otros, homoscedascity (homogeneidad, igualdad de varianzas). Procedimiento es bastante simple para ANOVA de un factor:

bartlett.test(x ~ g)  # where x is numeric, and g is a factor
var.test(x ~ g)

Pero, por 2x2 tablas, es decir, de dos vías ANOVA, quiero hacer algo como esto:

bartlett.test(x ~ c(g1, g2))  # or with list; see latter:
var.test(x ~ list(g1, g2))

Por supuesto, los supuestos del ANOVA se puede comprobar con los procedimientos gráficos, pero ¿qué pasa con "una opción aritmética" ? Es que, en absoluto, manejable? ¿Cómo hacer que homoscedascity prueba de ANOVA de dos factores?

¿Fue útil?

Solución

La prueba de hipótesis es la herramienta equivocada utilizar para evaluar la validez de los supuestos del modelo. Si el tamaño de la muestra es pequeño, no tiene poder para detectar cualquier diferencia de varianza, aunque las diferencias son grandes varianza. Si usted tiene una muestra de gran tamaño que tienen poder para detectar incluso las desviaciones más triviales de la igualdad de la varianza, por lo que casi siempre va a rechazar la hipótesis nula. Los estudios de simulación han demostrado que las pruebas preliminares de clientes potenciales basados ??en otros supuestos de errores de tipo I no fiable.

En cuanto a los residuos a través de todas las células es un indicador bueno, o si los datos son normales, se puede utilizar el AIC o BIC con / sin varianzas iguales como un procedimiento de selección.

Si cree que hay desigualdad de las diferencias, la caída de la suposición con algo como:

library(car)
model.lm <- lm(formula=x ~ g1 + g2 + g1*g2,data=dat,na.action=na.omit)
Anova(model.lm,type='II',white.adjust='hc3')

no perder mucho poder con el método robusto (hetroscedastic matrices de covarianza consistentes), por lo que en caso de duda ir robusto.

Otros consejos

Se puede probar por heterocedasticidad mediante el Fligner- Killeen prueba de homogeneidad de las varianzas. Suponiendo que su modelo es algo así como

model<-aov(gain~diet*supplement)

fligner.test(gain~diet*supplement)

        Fligner-Killeen test of homogeneity of variances

data:  gain by diet by supplement 
Fligner-Killeen:med chi-squared = 2.0236, df = 2, p-value = 0.3636

bartlett.test (pero esto es más una prueba de la no normalidad de la igualdad de las varianzas)

bartlett.test(gain~diet*supplement)
        Bartlett test of homogeneity of variances

data:  gain by diet by supplement 
Bartlett's K-squared = 2.2513, df = 2, p-value = 0.3244

Por otra parte, se podría realizar la Levene test para la igualdad de varianzas de grupo, tanto en un solo sentido y ANOVA de dos vías. Las implementaciones de prueba de Levene se pueden encontrar en los paquetes (enlace fijo), s20x y < a href = "http://finzi.psych.upenn.edu/R/library/lawstat/html/levene.test.html" rel = "noreferrer nofollow"> lawstat

levene.test(gain~diet*supplement)  # car package version

Levene's Test for Homogeneity of Variance
      Df F value Pr(>F)
group 11  1.1034 0.3866
      36 

Para bartlett.test

bartlett.test(split(x,list(g1,g2)))

var.test no es aplicable, ya que sólo funciona cuando hay dos grupos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top