Website-Icon Björn Walther

Chi-Quadrat Anpassungstest in R

1 Ziel des Chi-Quadrat (Chi²)-Anpassungstests in R

Der Chi²-Anpassungstest prüft eine kategoriale/nominale (wahlweise auch ordinale) Variable auf eine hypothetische Verteilung. Der einfachste Fall wäre die Gleichverteilung, also das jede Ausprägung (in etwa) gleich häufig vorkommt. Jedwede andere Verteilungsannahme kann auch geprüft werden.

 

2 Voraussetzungen des Chi²-Anpassungstests in R

 

3 Durchführung des Chi²-Anpassungstests in R – ein Beispiel

Die Nullhypothese beim Chi²-Anpassungstests geht stets von Gleichheit der beobachteten und erwarteten Häufigkeiten aus.

In meinem Datensatz (data_xls) möchte ich zunächst prüfen, ob die “Wohnsituation” meiner Probanden gleichverteilt ist. Also kommt jede der drei Ausprägungen (Wohnung, Reihenhaus, Einfamilienhaus) über die Probanden hinweg gleich oft vor? In meinem Beispiel müssten bei 51 Probanden demnach jede der drei Ausprägungen 17 Mal vorkommen.

 

3.1 Häufigkeitstabelle für die beobachteten Häufigkeiten

In einem ersten Schritt empfiehlt es sich die zu betrachtende Variable in eine Häufigkeitstabelle zu überführen und diese in einem separaten Vektor (“obs”) zu speichern:


obs <- table(data_xls$Wohnsituation)
obs

 

Die hieraus resultierende Häufigkeitstabelle hier noch mal zur Vollständigkeit. Die Wohnung (codiert mit 0) kommt 11 Mal vor, das Reihenhaus (1) kommt 15 Mal vor und das Einfamilienhaus (2) kommt 25 Mal vor:


0  1  2 
11 15 25

 

3.2 Unterstellte Gleichverteilung

Für die unterstellten Verteilungen empfiehlt es sich ebenfalls einen Vektor ("exp") mit Werten zu definieren. ACHTUNG: Hier ist es notwendig relative Häufigkeiten anstatt absoluter Häufigkeiten anzugeben. Ich habe 3 Ausprägungen, demzufolge ist die Wahrscheinlichkeit bei Gleichverteilung dreimal 1/3:


exp <- c(1/3, 1/3, 1/3)

 

3.3 Unterstellte andere Verteilung

Erwartet man allerdings andere Häufigkeiten, kann man andere Prozentwerte bzw. Brüche eingeben. Die Werte werden hier entsprechend der Reihenfolge bei den Wertelabels eingegeben. Die Wohnung hat die Ausprägung 1 und würde als Erstes einen Wert eingetragen (z.B. 15) bekommen. Das Reihenhaus (Ausprägung 2) erwarte ich auch 15 Mal, das Einfamilienhaus (3) allerdings 21 Mal. Da ich insgesamt 51 Beobachtungen habe, werden die unterstellten Häufigkeiten in Relation dazu gesetzt. WICHTIG, die relativen Häufigkeiten müssen summiert 1 ergeben.


exp2 <- c(15/51, 15/51, 21/51)

 

Zu guter Letzt noch der Hinweis, dass bei erwarteten absoluten Häufigkeiten unter 5 an dieser Stelle ein exakter Test notwendig ist. Arbeitet man mit Brüchen, ist dies anhand des Zählers direkt ablesbar

 

3.4 Exakter Test bei erwarteten Häufigkeiten <5

Sollte die beschriebene Situation eintreten, muss zusätzlich das Argument "simulate.p.value = TRUE" eingefügt werden. Die Interpretation ist analog zu unten durchzuführen.


chisq.test(x = obs, p = exp, simulate.p.value = TRUE)

 


 

4 Interpretation der Ergebnisse des Chi²-Anpassungstests in R

4.1 Output beim Test auf Gleichverteilung


	Chi-squared test for given probabilities

data:  obs
X-squared = 6.1176, df = 2, p-value = 0.04694

Hier stehen die Chi-Quadrat-Teststatistik (6,1176), die Freiheitsgrade (df (2)) sowie die Asymptotische Signifikanz (0,04694).

Aus Teststatistik und Freiheitsgraden wird die Signifikanz ermittelt, was R bequemerweise für uns berechnet. Diese ist nun dem Alphaniveau gegenüberzustellen.
Bei einem Alpha von 5% würde man aufgrund der darunter liegenden Signifikanz von p = 0,047 die Nullhypothese keines Unterschiedes verwerfen und die Alternativhypothese eines Unterschiedes annehmen. Der Chi²-Anpassungstest kommt hier zum Ergebnis, dass die Wohnsituation meiner Probanden nicht der unterstellten Verteilung (hier: Gleichverteilung) entspricht.

 


 

4.2 Output bei anderer Verteilung

Zur Erinnerung, ich habe die Häufigkeiten 15,15,21 unterstellt und den Beobachtungen 11,15,25 gegenübergestellt. Das Ergebnis fällt erwartungsgemäß aus:


	Chi-squared test for given probabilities

data:  obs
X-squared = 1.8286, df = 2, p-value = 0.4008

Hier ist bereits auf einen Blick erkennbar, was mit der Nullhypothese zu geschehen hat - sofern man das Alphaniveau auf 5% setzt. Die Nullhypothese kann aufgrund des hohen p-Wertes von 0,4008 nicht zugunsten der Alternativhypothese verworfen werden. Der Chi²-Anpassungstest kommt zum Ergebnis, dass die Wohnsituation meiner Probanden in etwa der unterstellten Verteilung (15, 15, 21) entspricht.

 

5 Effektstärke berechnen

Um die Stärke des Effektes (=Unterschiedes) im Falle der Zurückweisung der Nullhypothese einordnen zu können, kann Cohen's ω (auch als Cohen's w in der Literatur zu finden) verwendet werden. Hierzu empfiehlt sich in R das Zusatzpaket "rcompanion" und dessen Funktion cohenW().

Als Input werden, genauso wie beim Chi²-Anpassungstest, x mit den beobachteten Häufigkeiten und p mit den erwarteten Häufigkeiten in die Funktion gegeben:


install.packages("rcompanion")
library(rcompanion)

cohenW(x = obs, p = exp)

Im Ergebnis erhält man


Cohen w 
 0.3463

Cohen's ω in Höhe von 0,346 ist nun noch einzuordnen. Je nach Fachdisziplin können unterschiedliche Grenzen gelten.

Für die Sozial- und Verhaltenswissenschaften wird in der Regel das Papier Cohen, J. (1992), A Power Primer, S. 157 herangezogen.

Im vorliegenden Beispiel liegt Cohen's ω mit 0,346 über der Grenze zum mittleren Effekt. Folglich liegt ein mittlerer Effekt bzw. Unterschied zwischen beobachteter und erwarteter Verteilung vor.

 

6 Reporting

Beim Reporting ist der Chi-Quadrat-Wert, die Freiheitsgrade sowie der P-Wert anzugeben. Im Falle eines signifikanten Unterschiedes ist zudem die Effektstärke zu berichten. Das Reporting bezieht sich auf die Ergebnisse des Tests aus 4.1 sowie die Effektstärke aus 5.
 
Die beobachtete Verteilung unterscheidet sich von der erwarteten Verteilung mit X²(2) = 6,118; p = 0,047.
Der Unterschied ist mittel (Cohen's ω = 0.346).

 

7 Videotutorials

https://www.youtube.com/watch?v=mZjBAcc7iRk/

 

https://www.youtube.com/watch?v=CgDmY1hG5ko/

 

https://www.youtube.com/watch?v=deulv3KSUNc/

 

Die mobile Version verlassen