Domanda

Ho usato var.test e bartlett.test per verificare le ipotesi di base ANOVA, tra gli altri, homoscedascity (homogeniety, uguaglianza delle varianze). La procedura è abbastanza semplice per One-Way ANOVA:

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

Ma, per 2x2 tavole, vale a dire ANOVA a due vie di, voglio fare qualcosa di simile:

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

Naturalmente, ipotesi ANOVA può essere controllato con procedure grafiche, ma per quanto riguarda "un'opzione aritmetica" ? E 'questo, a tutti, gestibile? Come si fa a testare homoscedascity in ANOVA a due vie?

È stato utile?

Soluzione

Verifica di ipotesi è lo strumento sbagliato per usare di valutare la validità delle ipotesi di modello. Se la dimensione del campione è piccolo, non hai il potere di rilevare eventuali differenze di varianza, anche se le differenze sono grandi varianza. Se si dispone di una dimensione di ampio campione avete il potere di rilevare anche i più banali deviazioni dalla varianza uguale, quindi sarà quasi sempre rifiutare l'ipotesi nulla. Studi di simulazione hanno dimostrato che i test preliminari di porta modello di assunzione di errori di tipo inaffidabile I.

Guardando i residui attraverso tutte le cellule è un indicatore di buona, o se i dati sono normali, è possibile utilizzare l'AIC o BIC con / senza varianze uguali come una procedura di selezione.

Se si pensa che ci sono varianze ineguali, cadere il presupposto con qualcosa di simile:

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')

Non perdere molto potere con il metodo robusto (hetroscedastic matrici di covarianza coerente), quindi in caso di dubbio andare robusta.

Altri suggerimenti

È possibile verificare per eteroschedasticità utilizzando il Fligner- Killeen prova di omogeneità delle varianze. Supponendo il vostro modello è qualcosa di simile

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 (ma questo è più un test di non normalità che di uguaglianza delle varianze)

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

Inoltre, è possibile eseguire la Levene test per la parità di gruppo varianze sia a senso unico e ANOVA a due vie. Le implementazioni di prova di Levene si trovano nei pacchetti (collegamento fisso), s20x e < 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 

Per bartlett.test

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

var.test non è applicabile in quanto funziona solo quando ci sono due gruppi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top