So führen Sie eine Bonferroni-Korrektur in R durch

Von Fabian
Kategorie: R
Tags: ANOVA
Lesezeit: 4 Minuten

Eine einfaktorielle ANOVA wird verwendet, um zu bestimmen, ob es einen statistisch signifikanten Unterschied zwischen den Mittelwerten von drei oder mehr unabhängigen Gruppen gibt oder nicht.

Wenn der Gesamt-p-Wert aus der ANOVA-Tabelle unter einem bestimmten Signifikanzniveau liegt, haben wir genügend Beweise, um zu sagen, dass sich mindestens einer der Mittelwerte der Gruppen von den anderen unterscheidet.

Dies sagt uns jedoch nicht, welche Gruppen sich voneinander unterscheiden. Es sagt uns einfach, dass nicht alle Gruppenmittelwerte gleich sind.

Um genau herauszufinden, welche Gruppen sich voneinander unterscheiden, müssen wir paarweise t-Tests zwischen jeder Gruppe durchführen und dabei die Family Wise Error Rate kontrollieren.

Eine der gebräuchlichsten Methoden ist die Verwendung der Bonferroni-Korrektur bei der Berechnung der p-Werte für jeden der paarweisen t-Tests.

In diesem Tutorial wird erklärt, wie Bonferronis Korrektur in R durchgeführt wird.

Beispiel: Bonferronis Korrektur in R

Angenommen, ein Lehrer möchte wissen, ob drei verschiedene Lerntechniken zu unterschiedlichen Prüfungsergebnissen bei den Schülern führen.

Um dies zu testen, weist sie zufällig 10 Studenten zu, um jede Lerntechnik anzuwenden. Nach einer Woche mit der zugewiesenen Lerntechnik legt jeder Schüler die gleiche Prüfung ab.

Wir können die folgenden Schritte in R verwenden, um eine einfaktorielle ANOVA anzupassen, und die Bonferroni-Korrektur verwenden, um paarweise Unterschiede zwischen den Prüfungsergebnissen jeder Gruppe zu berechnen.

Schritt 1: Erstellen Sie den Datensatz.

Der folgende Code zeigt, wie Sie einen Datensatz erstellen, der Prüfungsergebnisse für alle 30 Schüler enthält:

#Dataframe erstellen
data <- data.frame(technique = rep(c("tech1", "tech2", "tech3"), each = 10),
                   score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89,
                             81, 82, 83, 83, 83, 84, 87, 90, 92, 93,
                             77, 78, 79, 88, 89, 90, 91, 95, 95, 98))

#Die ersten sechs Zeilen des Dataframes anzeigen
head(data)

  technique score
1     tech1    76
2     tech1    77
3     tech1    77
4     tech1    81
5     tech1    82
6     tech1    82

Schritt 2: Visualisieren Sie die Prüfungsergebnisse für jede Gruppe.

Der folgende Code zeigt, wie Boxplots erstellt werden, um die Verteilung der Prüfungsergebnisse für jede Gruppe zu visualisieren:

boxplot(score ~ technique,
        data = data,
        main = "Exam Scores by Studying Technique",
        xlab = "Studying Technique",
        ylab = "Exam Scores",
        col = "steelblue",
        border = "black")

Bonferroni-Korrektur in

Schritt 3: Führen Sie eine einfaktorielle ANOVA durch.

Der folgende Code zeigt, wie eine einfaktorielle ANOVA durchgeführt wird, um Unterschiede zwischen den mittleren Prüfungsergebnissen in jeder Gruppe zu testen:

#Passen Sie das einfaktorielle ANOVA-Modell an
model <- aov(score ~ technique, data = data)

#Ansicht Modellausgabe
summary(model)

            Df Sum Sq Mean Sq F value Pr(>F)  
technique    2  211.5  105.73   3.415 0.0476 *
Residuals   27  836.0   30.96                 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Da der Gesamt-p-Wert ( 0,0476 ) kleiner als 0,05 ist, ist dies ein Hinweis darauf, dass nicht jede Gruppe die gleiche durchschnittliche Prüfungspunktzahl hat.

Als nächstes werden wir paarweise t-Tests unter Verwendung der Bonferroni-Korrektur für die p = -Werte durchführen, um paarweise Unterschiede zwischen den Prüfungsergebnissen jeder Gruppe zu berechnen.

Schritt 4: Führen Sie paarweise T-Tests durch.

Um paarweise t-Tests mit Bonferronis Korrektur in R durchzuführen, können wir die Funktion pairwise.t.test() verwenden, die die folgende Syntax verwendet:

pairwise.t.test (x, g, p.adjust.method = ”bonferroni”)

wo:

  • x: Ein numerischer Vektor von Antwortwerten
  • g: Ein Vektor, der die Gruppennamen angibt (z. B. Lerntechnik)

Der folgende Code zeigt, wie diese Funktion für unser Beispiel verwendet wird:

#paarweise t-Tests mit Bonferroni-Korrektur durchführen
pairwise.t.test(data$score, data$technique, p.adjust.method="bonferroni")

    Pairwise comparisons using t tests with pooled SD 

data:  data$score and data$technique 

      tech1 tech2
tech2 0.309 -    
tech3 0.048 1.000

P value adjustment method: bonferroni

Die Interpretation der Ausgabe ist wie folgt:

  • Der angepasste p-Wert für die mittlere Differenz der Prüfungsergebnisse zwischen Technik 1 und Technik 2 beträgt 0,309.
  • Der angepasste p-Wert für die mittlere Differenz der Prüfungsergebnisse zwischen Technik 1 und Technik 3 beträgt 0,048.
  • Der angepasste p-Wert für die mittlere Differenz der Prüfungsergebnisse zwischen Technik 2 und Technik 3 beträgt 1.000.

Anhand der Ausgabe können wir sehen, dass der einzige signifikante Unterschied zwischen Technik 1 und Technik 3 besteht.

Zusätzliche Ressourcen

Eine Einführung in die einfaktorielle ANOVA
So führen Sie eine einfaktorielle ANOVA in R durch
So führen Sie den Tukey-Test in R durch

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: