top of page

Varianzanalyse (ANOVA) in R

Einer der wichtigsten parametrischen statistischen Verfahren ist die Varianzanalyse (eng.: Analysis of Variance (ANOVA). Ziel der Varianzanalyse ist es zu untersuchen, ob sich die Mittelwerte von drei oder mehreren Populationen unterscheiden. Grundsätzlich gibt es verschiedene Formen der ANOVA. Die in diesem Artikel betrachte einfaktorielle Varianzanalyse (eng.: one-way ANOVA) kann als eine Erweiterung des t-Tests für unabhängige Stichproben gesehen werden, während die (einfaktorielle) Varianzanalyse mit Messwiederholung (eng.: repeated-measures ANOVA) anstelle des t-Tests für abhängige Stichproben bei mehr als zwei abhängigen Stichproben verwendet wird. Im Falle von zwei Faktoren, wird von zweifaktorieller Varianzanalyse (eng.: two-way ANOVA) bzw. zweifaktorieller Varianzanalyse mit Messwiederholung (eng.: two-way-repeated-measures ANOVA) gesprochen.


Sie benötigen beratende Hilfe bei Ihrer statistischen Auswertung in R oder möchten eine komplette R Auswertung inkl. Interpretationen bestellen, dann zögern Sie nicht uns zu kontaktieren (Kontaktdaten unten rechts). Unsere Experten helfen Ihnen gerne weiter (kostenloses unverbindliches Erstgespräch)!


Hypothesen der einfaktoriellen Varianzanalyse

H0: Die Mittelwerte der Populationen unterscheiden sich nicht.

HA: Die Mittelwerte der Populationen unterscheiden sich.

(Konkret besagt die Alternativhypothese, dass zwischen mindestens zwei Mittelwerten ein Unterschied bestehen muss.)


Grundprinzip der einfaktoriellen Varianzanalyse

Trotz des Ziels, Rückschlüsse über die Mittelwerte verschiedenen Gruppen zu ziehen, wird dieses statistische Verfahren als "Varianzanalyse" bezeichnet. Ursächlich hierfür ist, dass im Rahmen der ANOVA letztendlich ein Varianzvergleich vorgenommen wird. Konkret wird die Varianz zwischen den Gruppen mit der Varianz innerhalb der Gruppen verglichen. Ist die Varianz zwischen den Gruppen ("beetween-variance") signifikant größer als die Varianz innerhalb der Gruppen ("within-Varianz"), wird die Nullhypothese verworfen und somit die Gruppenmittelwerte als unterschiedlich erklärt. Die Teststatistik stellt das Verhältnis aus der Varianz zwischen den Gruppen und der Varianz innerhalb der Gruppen dar und ist F-verteilt. Detaillierte Infos zur Theorie der Varianzanalyse (ANOVA) finden Sie hier.


Voraussetzungen der einfaktoriellen Varianzanalye

Vor der Durchführung der ANOVA in R möchten wir kurz auf deren Vorraussetzungen eingehen:

  • Es liegt eine metrisch skalierte Variable für den Mittelwertvergleich vor. (Im Falle einer lediglich ordinal skalierten Variable, kann der Kruskal-Wallis-Test angewandt werden.)

  • Es liegen mindestens drei unabhängige Stichproben vor. (Im Falle von drei oder mehr abhängigen Stichproben ist die Varianzanalyse mit Messwiederholung anzuwenden.)

  • Die Beobachtungen innerhalb der Gruppen sind voneinander unabhängig (Dies wird in der Regel nicht formell geprüft, sondern ergibt sich aus dem Studiendesgin).

  • Die Varianzen der Beobachtungen in den verschiedenen Gruppen sind gleich groß (Varianzhomogenität). Dies kann z.B. mit Hilfe des Levene-Tests oder des Brown-Forsythe-Tests (bei kleinen Stichproben und schiefer Zielvariable) überprüft werden. Im Falle des Nicht-Vorliegens der Annahme kann die Welch-ANOVA angewandt werden.

  • Im Falle einer kleinen Stichprobe sollten die Residuen der ANOVA einer Normalverteilung folgen. Die Normalverteilungsannahme kann sowohl grafisch via QQ-Plot oder Histogramm als auch formal via Shapiro-Wilk-Test überprüft werden. Falls die Daten nicht normalverteilt sind, ist eine Transformation (z.B. log-Transformation) erforderlich oder der nicht-parametrische Kruskall-Wallis-Test anzuwenden. Bei großen Stichproben wird die Normalverteilungsannahme aufgrund des zentralen Grenzwertsatzes nicht benötigt. Eine große Stichprobe liegt gemäß einer Faustregel ab einer Stichprobengröße i. H. v. 30 Beobachtungen pro Gruppe vor. (Empfehlung: Verlassen Sie sich bei nicht normalverteilten Daten und einer nicht sehr großen Stichprobe nicht auf den zentralen Grenzwertsatz, sondern berechnen Sie zusätzlich auch den Kruskal-Wallis Test.)

  • Es sollte keine signifikanten Ausreißer in den Gruppen geben, sonst könnten die Schlussfolgerungen der ANOVA fehlerhaft sein. Auch diese Annahme lässt sich grafisch anhand eines Histogramms oder eines Boxplots überprüfen.


Datensatz

Um die Reproduzierbarkeit der durchgeführten statistischen Analysen sicherzustellen, verwenden wir den Datensatz pirates aus dem R-Paket yarrr. Um die entsprechenden Daten zu erhalten, installieren und laden wir zunächst das Paket yarrr und rufen anschließend den Befehl data(pirates) auf. Der Datensatz enthält die Ergebnisse einer Umfrage unter 1.000 Piraten. Für uns sind lediglich die metrische Variable weight (Körpergewicht) und die nominale Variable sex (Geschlecht) von Relevanz.


Wir möchten in diesem Artikel nämlich untersuchen, ob geschlechtsspezifische Unterschiede im Körpergewicht der Piraten vorliegen. Die Nullhypothese lautet, dass keine Unterschiede im durchschnittlichen Körpergewicht vorliegen.


Deskriptive Voranalyse

Vor der Durchführung der ANOVA berechnen wir zunächst die wichtigsten deskriptiven Statistiken des Körpergewichts für die drei Gruppen (männlich, weiblich und divers). Hierzu nutzen wir die Funktion describeBy( ) aus dem R-Paket psych. Außerdem erstellen wir einen Plot mit den Kerndichteschätzungen der Zielvariable für die drei Gruppen.


Laden der R-Pakete und des Datensatzes sowie Berechnung deskriptiver Statistiken und Plot der bedingten Kerndichteschätzungen (R-Code und Output)

Ein Blick auf die Kerndichteschätzungen verrät, dass das die männlichen Piraten tendenziell mehr wiegen als die diversen Piraten. Letztere wiegen wiederum mehr als die Piratinnen. Dies bestätigen auch gängige deskriptiven Statistiken, wie Q1, Median, Q3 und Mittelwert. Die Standardabweichung des Körpergewichts unterscheidet sich in den Gruppen, jedoch liegt laut Levene-Test kein statistisch signifikanter Unterschied vor (P-Value: 0,3042). Die Kerndichteschätzungen sowie die Schätzungen von Schiefe und Kurtosis sprechen außerdem nicht gegen eine Normalverteilung. Daher verwundert es nicht, dass die Nullhypothese normalverteilter Daten durch den Shapiro-Wilk-Test jeweils (für alle drei Gruppen) nicht verworfen wird. Dementsprechend werden auch die Residuen der ANOVA normalverteilt sein. (Diese Annahme hätte auch im Anschluss an die ANOVA untersucht werden können.)


R Code zur Durchführung des Levene-Tests und des Shapiro-Wilk-Tests

Durchführung der einfaktoriellen Varianzanalye in R

Zur Durchführung der einfaktoriellen Varianzanalyse empfehlen wir die Verwendung des Pakets ggstatsplot, welches wir bereits installiert und geladen haben. Dabei handelt es um eine Erweiterung des populären R-Grafikpakets ggplot2. Die Grafiken aus ggplot2 können mit Hilfe von ggstatsplot um Details aus statistischen Tests ergänzt werden.


Mit Hilfe des Befehls ggbetweenstats( ) können wir sowohl einen Boxplot erstellen als auch die ANOVA durchführen. Hierfür müssen wir ggbetweenstats( ) sagen, welcher Plot erstellt und welcher Test durchgeführt werden soll. Würden wir für das Argument type "nonparametric" angeben, würde der Kruskal-Wallis-Test angewandt werden. Im Falle einer Verletzung der Varianzhomogenitätsannahme müssten wir auf die Welch-ANOVA (var.equal == FALSE) ausweichen.  Außerdem haben wir ggbetweenstats( ) mitgeteilt, dass als Effektstärkemaß das partielle Eta-Quadrat berechnet werden soll .


Durchführung der einfaktoriellen Varianzanalyse inkl. Output (R-Code, Boxplot, Ergebnisse der ANOVA und der Post-Hoc-Analyse

Interpretation der Ergebnisse der einfaktoriellen Varianzanalyse

Der Boxplot verdeutlicht nochmals die Unterschiede in den Mittelwerten. Ebenso sind keine extremen Ausreißer im Boxplot (größer 3 x IQR) zu erkennen. Über dem Plot ist das Ergebnis des ANOVA dargestellt. Die Teststatistik bzw. Prüfgröße beträgt 187,03. Der zugehörige P-Wert aus der F-Verteilung mit 2 Zählerfreiheitsgraden und 997 Nennerfreiheitsgraden ist extrem klein. Die Nullhypothese wird somit selbst auf einem sehr niedrigen Signifikanzniveau in Höhe von 1 % abgelehnt (P-Value: 1,06e-69). Dementsprechend unterscheiden sich die Mittelwerte von mindestens zwei der drei Gruppen signifikant voneinander. Das über dem Plot dargestellte partielle Eta-Quadrat verrät uns, dass 27 % der Variation in der Zielvariable auf das Geschlecht zurückgeht. Nach einer Interpretationsregel von Jakob Cohen liegt ab einem Wert von 0,01 ein kleiner Effekt, ab 0,06 ein mittlerer Effekt und ab 0,14 großer Effekt vor.


Nun wissen wir zwar, dass ein statistisch signifikanter Mittelwertunterschied zwischen mindestens zwei der Gruppen vorliegt, jedoch ist noch kein Rückschluss darauf möglich, zwischen welchen Gruppen der Unterschied besteht.  Zu diesem Zweck ist die sog. Post-Hoc-Analyse durchzuführen.


Interpretation der Ergebnisse der Post-Hoc-Analyse 

Die Post-Hoc-Analyse kann z. B. in Form von paarweisen t-Tests durchgeführt werden, jedoch muss dabei der P-Wert der t-Tests angepasst werden. Hintergrund dessen ist, dass das mehrfache Testen bei gleicher Stichprobe das Risiko von Typ-I-Fehlern erhöht. Je mehr Vergleiche durchgeführt werden, desto höher ist die Wahrscheinlichkeit,  dass man bei einem der Tests die Nullhypothese fälschlicherweise ablehnt, also Unterschiede unterstellt, die nicht existieren. Eine einfache Methode zur Behebung dieses Problems ist die Bonferroni-Korrektur. Dabei wird der ursprüngliche P-Wert des t-Tests multipliziert mit der Anzahl der durchgeführten Paarvergleiche (im Bsp.: 3). Neben der Bonferroni-Korrektur existieren zahlreiche weitere Post-Hoc-Verfahren (z.B. Turkey-HSD-Test oder Bonferroni-Holm-Korrektur).


Glücklicherweise wurde die Post-Hoc-Analyse in Form von paarweisen t-Tests bereits von ggbetweenstats( ) durchgeführt. Über den Parameter p.adjust.method wurde die Bonferroni-Korrektur als Anpassungsverfahren für die P-Werte gewählt. Die korregierten P-Werte der zweiseitigen t-Tests sind direkt über den Boxplots dargestellt. Die Nullhypothese, dass kein Mittelwertunterschied vorliegt,  wird für alle drei Paare selbst auf einem sehr niedrigen Signifikanzniveau in Höhe von 1 % abgelehnt. Folglich unterscheidet sich das durchschnittliche Körpergewicht zwischen männlichen und weiblichen Piraten (P-Value: 1,62e-70), zwischen männlichen und diversen Piraten (P-Value: 5,09e-05) sowie zwischen weiblichen und diversen Piraten (P-Value: 4,77e-04).


Fazit

In diesem Artikel haben wir Ihnen gezeigt, wie Sie die einfaktorielle Varianzanalyse in R durchführen. Allerdings sollte man auch beachten, dass es sich bei der einfaktoriellen Varianzanalyse um ein bivariates Verfahren handelt. Andere potentielle Einflussfaktoren der Zielvariable, wie hier z.B. die Körpergröße, bleiben unberücksichtigt. Sind unberücksichtigte Variablen stark mit dem Faktor in der ANOVA korreliert, so können schnell falsche Schlussfolgerungen gezogen werden. Daher empfiehlt es sich im Rahmen einer multiplen linearen Regression alle potentiellen Einflussfaktoren zu berücksichtigen. Wir hoffen, dass Ihnen dieser Artikel bei Ihren statistischen Analysen weiterhilft.


Falls Sie Probleme mit einer statistischen Auswertung haben, zögern Sie nicht uns zu kontaktieren. Unser Team an Freelancern verfügt über langjährige Erfahrung auf dem Gebiet der Datenanalyse in R. Wir beraten Sie gerne bei Ihrem statistischen Problem. Darüber hinaus können Sie bei uns auch R Auswertungen inkl. verständlicher Interpretationen bestellen (z.B. Fragebogen-Auswertungen). Gerne bieten wir Ihnen hierfür ein kostenloses und unverbindliches Erstgespräch mit einem unserer Experten an. Sie können uns jederzeit per E-Mail oder Telefon (siehe unten rechts) erreichen.


999 Ansichten
bottom of page