Brown-Forsythe-Test in R: Schritt-für-Schritt-Beispiel

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

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

Eine der Annahmen einer einfaktorielle ANOVA ist, dass die Varianzen der Populationen, aus denen die Proben stammen, gleich sind.

Eine der häufigsten Methoden, um dies zu testen, ist die Verwendung eines Brown-Forsythe-Tests , bei dem es sich um einen statistischen Test handelt, bei dem die folgenden Hypothesen verwendet werden:

  • H 0: Die Varianzen zwischen den Populationen sind gleich.
  • H A: Die Varianzen zwischen den Populationen sind nicht gleich.

Wenn der p-Wert des Tests unter einem Signifikanzniveau liegt (z. B. α = 0,05), lehnen wir die Nullhypothese ab und schließen daraus, dass die Varianzen zwischen den verschiedenen Populationen nicht gleich sind.

Dieses Tutorial enthält ein schrittweises Beispiel für die Durchführung eines Brown-Forsythe-Tests in R.

Schritt 1: Geben Sie die Daten ein

Angenommen, wir möchten wissen, ob drei verschiedene Trainingsprogramme zu unterschiedlichen Gewichtsverlusten führen.

Um dies zu testen, rekrutieren wir 90 Personen und weisen jedem zufällig 30 zu, um jedes Programm zu verwenden. Wir messen dann den Gewichtsverlust jeder Person nach einem Monat.

Der folgende Datensatz enthält Informationen darüber, wie viel Gewicht Menschen bei jedem Programm verloren haben:

#Machen Sie dieses Beispiel reproduzierbar
set.seed(0)

#Dataframe erstellen
data <- data.frame(program = as.factor(rep(c("A", "B", "C"), each = 30)),
                   weight_loss = c(runif(30, 0, 3),
                                   runif(30, 0, 5),
                                   runif(30, 1, 7)))

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

#  program weight_loss
#1       A   2.6900916
#2       A   0.7965260
#3       A   1.1163717
#4       A   1.7185601
#5       A   2.7246234
#6       A   0.6050458

Schritt 2: Zusammenfassen und Visualisieren der Daten

Bevor wir einen Brown-Forsythe-Test durchführen, können wir Boxplots erstellen, um die Varianz des Gewichtsverlusts für jede Gruppe zu visualisieren:

boxplot(weight_loss ~ program, data = data)

Bftest

Wir können auch die Varianz des Gewichtsverlusts in jeder Gruppe berechnen:

#Laden des dplyr-Packages
library(dplyr)

#Berechnen Sie die Varianz des Gewichtsverlusts nach Gruppen
data %>%
  group_by(program) %>%
  summarize(var=var(weight_loss))

# A tibble: 3 x 2
  program   var

1 A       0.819
2 B       1.53 
3 C       2.46

Wir können sehen, dass die Varianzen zwischen den Gruppen unterschiedlich sind, aber um festzustellen, ob diese Unterschiede statistisch signifikant sind, können wir den Brown-Forsythe-Test durchführen.

Schritt 3: Führen Sie den Brown-Forsythe-Test durch

Um einen Brown-Forsythe-Test in R durchzuführen, können wir die Funktion bf.test() aus dem Paket onewaytests verwenden:

#Laden des onewaytests Packages
library(onewaytests)

#Brown-Forsythe-Test durchführen
bf.test(weight_loss ~ program, data = data)

  Brown-Forsythe Test (alpha = 0.05) 
------------------------------------------------------------- 
  data: weight_loss and program 

  statistic : 30.83304 
  num df    : 2 
  denom df  : 74.0272 
  p.value   : 1.816529e-10 

  Result    : Difference is statistically significant. 
-------------------------------------------------------------

Der p-Wert des Tests beträgt weniger als 0,000, und wie die Ausgabe erklärt, sind die Unterschiede in den Varianzen zwischen den drei Gruppen statistisch signifikant.

Nächste Schritte

Wenn Sie die Nullhypothese des Brown-Forsythe-Tests nicht ablehnen, können Sie eine einfaktorielle ANOVA für die Daten durchführen.

Wenn Sie jedoch die Nullhypothese ablehnen, bedeutet dies, dass die Annahme gleicher Varianzen verletzt wird. In diesem Fall haben Sie zwei Möglichkeiten:

1. Fahren Sie trotzdem mit einer einfaktorielle ANOVA fort.

Es stellt sich heraus, dass eine einfaktorielle ANOVA tatsächlich gegenüber ungleichen Varianzen robust ist, solange die größte Varianz nicht größer als das Vierfache der kleinsten Varianz ist.

In Schritt 2 aus dem obigen Beispiel fanden wir, dass die kleinste Varianz 0,819 und die größte Varianz 2,46 betrug. Somit ist das Verhältnis der größten zur kleinsten Varianz 2,46 / 0,819 = 3,003.

Da dieser Wert kleiner als 4 ist, können wir einfach mit der einfaktorielle ANOVA fortfahren.

2. Führen Sie einen Kruskal-Wallis-Test durch

Wenn das Verhältnis der größten Varianz zur kleinsten Varianz größer als 4 ist, können wir stattdessen einen Kruskal-Wallis-Test durchführen. Dies wird als nicht parametrisches Äquivalent zur einfaktorielle ANOVA angesehen.

Ein schrittweises Beispiel für einen Kruskal-Wallis-Test in R finden Sie hier.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: