Homoscedasticity Test für Zwei-Wege-ANOVA
Frage
Ich habe mit var.test
und bartlett.test
Grunde ANOVA Annahmen zu überprüfen, unter anderem, homoscedascity (Homogenität, die Gleichheit der Varianzen). Verfahren ist ganz einfach für One-Way ANOVA:
bartlett.test(x ~ g) # where x is numeric, and g is a factor
var.test(x ~ g)
Aber für 2x2-Tabellen, das heißt Two-Way ANOVA ist, möchte ich so etwas wie dies tun:
bartlett.test(x ~ c(g1, g2)) # or with list; see latter:
var.test(x ~ list(g1, g2))
Natürlich können ANOVA Annahmen mit grafischen Verfahren überprüft werden, aber was ist "eine arithmetische Option" ? Ist das überhaupt, verwaltbar? Wie beurteilen Sie Test homoscedascity in Zwei-Wege-ANOVA?
Lösung
Das Testen von Hypothesen ist das falsche Werkzeug Esel die Gültigkeit der Modellannahmen zu verwenden. Wenn die Probengröße klein ist, haben Sie keine Macht keine Varianz Unterschiede zu erkennen, auch wenn die Varianz Unterschiede groß sind. Wenn Sie eine große Probengröße haben haben Sie Macht selbst die geringfügigsten Abweichungen von gleicher Varianz zu erfassen, so werden Sie fast immer die Null ablehnen. Simulationsstudien haben gezeigt, dass vorläufige Prüfung der Modellannahme führt zu unzuverlässigen Typ-I-Fehler.
über alle Zellen in den Residuen der Suche ist ein guter Indikator, oder wenn die Daten normal sind, können Sie die AIC oder BIC mit / ohne gleichen Varianzen als Selektionsverfahren verwendet werden.
Wenn Sie denken, es gibt ungleiche Varianzen, fallen die Annahme, mit so etwas wie:
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')
Sie nicht verlieren viel Energie mit dem robusten Methode (hetroscedastic konsistente Kovarianzmatrizen), so dass, wenn im Zweifel robust gehen.
Andere Tipps
Sie können für heteroscedasticity Test mit dem Fligner- Killeen Test der Homogenität der Varianzen. Angenommen, Ihr Modell ist so etwas wie
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
Sie verwendet haben könnte bartlett.test (aber das ist mehr ein Test der nicht-Normalität als die Gleichheit der Varianzen)
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
Darüber hinaus können Sie den Levene test
ausführen für gleiche Gruppe in Varianzen Einweg- und Zweiweg-ANOVA. Implementationen von Levene-Test kann in Paketen Auto finden (Link fest), s20x und < a href = "http://finzi.psych.upenn.edu/R/library/lawstat/html/levene.test.html" rel = "nofollow noreferrer"> 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
Für bartlett.test
bartlett.test(split(x,list(g1,g2)))
var.test
ist nicht anwendbar, da es nur funktioniert, wenn es zwei Gruppen.