T-Test oder ANOVA

Beim Verfassen von wissenschaftlichen Arbeiten stellt sich oft die Frage welcher der Tests jetzt der richtige ist? T-Test? ANOVA? Und wenn der T-Test der Richtige ist, welcher davon? Die Antwort ist dabei recht einfach. Im Zweifel haben wir immer ein Generalized Linear Model (GLM).

T-Test und ANOVA unterscheiden sich nicht (Voraussetzung wenn df=1 gilt). In diesen Fall sind F-Wert und T-Wert dieselben Zahlen \(F=T^2\). Die (lineare) Regressionsanalyse ist quasi die Verallgemeinerung der (Mittelwert)-Analyse und liefert exakt die gleichen Ergebnisse wie die ANOVA. Der Unterschied ist, dass die Regression mehr Informationen liefert.

Aber Achtung, die statistische Hypothese ist verschieden.

ANOVA: \(H_0: μ_1= ... =μ_n\)

Regression \(H_0: \beta_1=\beta_2=0\) wobei \(y_i=\beta_0+ \beta_1x_i + ...\)

Hier ein kleines Beispiel mit den Daten aus dem SPSS-Buch von Bühl (2014) Seite 300. Hier testen wir die Senkung des systolischen Blutdrucks vom Ausgangswert zum Wert nach einem Monat.

Tab 1: Two Sample t-test , var.equal=true syst.Blutdruck
Quelle T Df p
syst.Blutdruck by Zeit 9.87 346 .000
Tab 2: ANOVA syst.Blutdruck
Quelle meansq Df statistic p
Zeit 20562.14 1 97.34 <.001
Residuals 211.25 346 NA
contrasts: contr.treatment, contr.poly
Tab 3: lineare Regression syst.Blutdruck
Quelle B SE statistic p
(Intercept)  172  1.1 156.19 <.001
Zeitnach 1 Monat -15.4 1.56 -9.87 <.001
Model: gaussian
r-squared: R2=.22, adj.R2=.22

Jetzt interessiert vielleicht noch warum wir überhaupt noch zwischen T-Test und ANOVA unterscheiden wird. Hier ist die Antwort simpel – es geht um Didaktik der T-Test ist in einer Vorlesung einfach zu erklären und händisch leicht nachzurechnen und schließlich benötigen wir noch Prüfungsfragen. Für die Praxis ist das Generalisierte Lineare Modell meist das informativere Werkzeug.


Hier noch die händische Kontrolle mit R.

#' Vergleich T und F-Werte
t_stat    <- t.test(syst.Blutdruck ~ Zeit, DF, var.equal = TRUE)
anov_stat <- aov(syst.Blutdruck ~ Zeit, DF)
lm_stat   <- lm(syst.Blutdruck ~ Zeit, DF)

#' T und F-Werte extrahieren
res <- c(
  t.test =  as.vector(t_stat$statistic),
  anova = summary(anov_stat)[[1]]['F value'][1,],
  lm = data.frame(summary(lm_stat)$coefficients)['t.value'][2,]
)

res
##    t.test     anova        lm 
##  9.865907 97.336114 -9.865907
#' Händisch Quadrieren
res['t.test']<-res['t.test']^2
res['lm']<- res['lm']^2

res
##   t.test    anova       lm 
## 97.33611 97.33611 97.33611
#' Auch mit der Korrelation bekommt man die gleichen T-Werte
 cor.test(as.numeric(DF$Zeit), DF$syst.Blutdruck ) %>% 
   broom::tidy() %>%
   fix_format() %>%
   kable()
estimate statistic p.value parameter conf.low conf.high method alternative
-0.47 -9.87 .000 346.00 -1 -0 Pearson’s product-moment correlation two.sided

Literatur

Bühl, Achim. 2014. SPSS 22 : Einführung in Die Moderne Datenanalyse -. München: Pearson.