Welchs anova in python (schritt für schritt)


Die Welch-ANOVA ist eine Alternative zur typischen einfaktoriellen ANOVA , wenn die Annahme der Varianzgleichheit nicht erfüllt ist.

Das folgende Schritt-für-Schritt-Beispiel zeigt, wie die ANOVA von Welch in Python durchgeführt wird.

Schritt 1: Erstellen Sie die Daten

Um festzustellen, ob drei verschiedene Lerntechniken zu unterschiedlichen Prüfungsergebnissen führen, weist ein Professor nach dem Zufallsprinzip 10 Studenten zu, jede Technik (Technik A, B oder C) eine Woche lang anzuwenden, und gibt dann jedem Studenten einen Test mit dem gleichen Schwierigkeitsgrad.

Nachfolgend werden die Prüfungsergebnisse der 30 Studierenden vorgestellt:

 A = [64, 66, 68, 75, 78, 94, 98, 79, 71, 80]
B = [91, 92, 93, 90, 97, 94, 82, 88, 95, 96]
C = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]

Schritt 2: Test auf gleiche Unterschiede

Als Nächstes können wir den Bartlett-Test durchführen, um festzustellen, ob die Varianzen zwischen den einzelnen Gruppen gleich sind.

Wenn der p-Wert der Teststatistik unter einem bestimmten Signifikanzniveau liegt (z. B. α = 0,05), können wir die Nullhypothese ablehnen und daraus schließen, dass nicht alle Gruppen die gleiche Varianz aufweisen.

Wir können den folgenden Code verwenden, um den Bartlett-Test in Python durchzuführen:

 import scipy. stats as stats

#perform Bartlett's test 
stats. bartlett (A, B, C)

BartlettResult(statistic=9.039674395, pvalue=0.010890796567)

Der p-Wert ( .01089 ) des Bartlett-Tests ist kleiner als α = .05, was bedeutet, dass wir die Nullhypothese ablehnen können, dass jede Gruppe die gleiche Varianz aufweist.

Somit wird die Annahme der Varianzgleichheit verletzt und wir können mit der ANOVA von Welch fortfahren.

Schritt 3: Führen Sie die ANOVA nach Welch durch

Um Welchs ANOVA in Python durchzuführen, können wir die Funktion welch_anova() aus dem Penguin-Paket verwenden.

Zuerst müssen wir Penguin installieren:

 pip install Penguin

Dann können wir den folgenden Code verwenden, um die ANOVA von Welch durchzuführen:

 import penguin as pg
import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' score ': [64, 66, 68, 75, 78, 94, 98, 79, 71, 80,
                             91, 92, 93, 90, 97, 94, 82, 88, 95, 96,
                             79, 78, 88, 94, 92, 85, 83, 85, 82, 81],
                   ' group ': np. repeat (['a', 'b', 'c'], repeats = 10 )}) 

#perform Welch's ANOVA
pg. welch_anova (dv=' score ', between=' group ', data=df)

        Source ddof1 ddof2 F p-unc np2
0 group 2 16.651295 9.717185 0.001598 0.399286

Der Gesamt-p-Wert ( 0,001598 ) der ANOVA-Tabelle ist kleiner als α = 0,05, was bedeutet, dass wir die Nullhypothese zurückweisen können, dass die Prüfungsergebnisse bei den drei Untersuchungstechniken gleich sind.

Anschließend können wir den Games-Howell-Post-hoc-Test durchführen, um genau zu bestimmen, welche Gruppenmittelwerte unterschiedlich sind:

 pg. pairwise_gameshowell (dv=' score ', between=' group ', data=df)


        A B mean(A) mean(B) diff se T df pval	
0 a b 77.3 91.8 -14.5 3.843754 -3.772354 11.6767 0.0072
1 a c 77.3 84.7 -7.4 3.952777 -1.872102 12.7528 0.1864
2 b c 91.8 84.7 7.1 2.179959 3.256942 17.4419 0.0119

Anhand der p-Werte können wir erkennen, dass die mittlere Differenz zwischen den Gruppen a und b deutlich unterschiedlich ist und die mittlere Differenz zwischen den Gruppen b und c deutlich unterschiedlich ist.

Zusätzliche Ressourcen

So führen Sie eine einfaktorielle ANOVA in Python durch
So führen Sie eine zweifaktorielle ANOVA in Python durch
So führen Sie eine ANOVA mit wiederholten Messungen in Python durch

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert