Homocedasticidad prueba de ANOVA de dos factores
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?
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.