Der \(\chi^2\) Test ist eine Möglichkeit, um Zusammenhänge zwischen zwei kategorialen Variablen zu untersuchen. Bei binären Daten sind Odds Ratios und Risk Ratios zu bevorzugen, da sie als Effektgrössen dienen. Sie geben uns einen Hinweis zur Grösse eines Effekts. Analysiert man hingegen kategoriale Variablen mit mehr als zwei Ausprägungsgeraden, dann ist eine Berechnung von Odds Ratios oder Risk Ratios nicht mehr direkt möglich. In dieser Situation ist ein \(\chi^2\) Test hilfreich.
Wir erstellen die Daten direkt in R. Kopiere den Code unten und lass ihn laufen.
<- c(rep("Coop", 32), rep("Denner", 19), rep("Migros", 19))
einkaufen <- c(rep("Allesfresser", 17), rep("Veganer", 6), rep("Vegetarier", 9),
ernaehrung rep("Allesfresser", 8), rep("Veganer", 7), rep("Vegetarier", 4),
rep("Allesfresser", 4), rep("Veganer", 7), rep("Vegetarier", 8))
<- data.frame(einkaufen, ernaehrung) d.einkaufen
Erstelle die k x m Tabelle (ernaehrung
repräsentiert
die Zeilen). Lass dir die beobachteten Häufigkeiten anzeigen.
Lass dir die erwarteten Häufigkeiten anzeigen (du brauchst dafür
die chisq.test()
Funktion).
Sind die Voraussetzungen für einen \(\chi^2\) Test erfüllt?
Untersuche mit dem \(\chi^2\) Test, ob sich die erwarteten Häufigkeiten von den beobachteten Häufigkeiten unterscheiden. Wie lautet \(H_0\)?
Interpretiere das Resultat des Tests.
Bei welchen beobachteten Häufigkeiten gab es die grösste Abweichung von den der erwarteten Häufigkeit? Lass dir die Residuen anzeigen, um diese Frage zu beantworten.
Als erstes wir die Häufigkeitstabelle erstellt:
<- table(d.einkaufen$ernaehrung, d.einkaufen$einkaufen)
my_km_table my_km_table
##
## Coop Denner Migros
## Allesfresser 17 8 4
## Veganer 6 7 7
## Vegetarier 9 4 8
Die unter \(H_0\) erwarteten
Häufigkeiten erhalten wir mit dem Zusatz $expected
chisq.test(my_km_table)$expected
##
## Coop Denner Migros
## Allesfresser 13.257143 7.871429 7.871429
## Veganer 9.142857 5.428571 5.428571
## Vegetarier 9.600000 5.700000 5.700000
N ist grösser als 40 und es haben weniger als 20% der Zellen eine erwartete Häufigkeit von <5. Somit sind die Voraussetzungen für einen \(\chi^2\) Test erfüllt.
\(H_0\): erwartete Häufigkeiten = beobachtete Häufigkeiten. Diese Hypothese können wir mit den \(\chi^2\)Test testen:
chisq.test(my_km_table)
##
## Pearson's Chi-squared test
##
## data: my_km_table
## X-squared = 6.4256, df = 4, p-value = 0.1695
Der p-Wert ist 16.95%. Die Wahrscheinlichkeit für die Differenz (oder eine extremere) zwischen den erwarteten und beobachteten Häufigkeiten, wenn \(H_{0}\) wahr ist, beträgt 16.95%. Somit gibt es keine Evidenz gegen \(H_{0}\).
chisq.test(my_km_table)$residuals
##
## Coop Denner Migros
## Allesfresser 1.02796489 0.04582661 -1.37989001
## Veganer -1.03940230 0.67445327 0.67445327
## Vegetarier -0.19364917 -0.71205164 0.96336399
Das grösste Residuum findet sich in der Zelle “Allesfresser”/“Migros”. Dieses ist negativ was bedeutet, dass die beobachtete Häufigkeit für diese Kombination tiefer ist, als erwartet. Diese Differenz ist jedoch statistisch nicht signifikant.