Der \(\chi^2\) Test ist eine Möglichkeit, um Zusammenhänge zwischen zwei kategorialen Variablen zu untersuchen. Bei binären Daten sind Proportionen, Odds Ratios oder Risk Ratios zu bevorzugen, da sie als Effektgrössen besser interpretiert werden können. Analysiert man hingegen zwei 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, um die Daten zu generieren.
einkaufen <- c(rep("Coop", 32), rep("Denner", 19), rep("Migros", 19))
ernaehrung <- c(rep("Allesfresser", 17), rep("Veganer", 6), rep("Vegetarier", 9),
rep("Allesfresser", 8), rep("Veganer", 7), rep("Vegetarier", 4),
rep("Allesfresser", 4), rep("Veganer", 7), rep("Vegetarier", 8))
df.einkaufen <- data.frame(einkaufen, ernaehrung)Erstelle die \(k \times m\)
Tabelle (ernaehrung repräsentiert die Zeilen). Lass dir die
beobachteten Häufigkeiten anzeigen.
Lass dir die unter der Nullhypothese zu erwarteten Häufigkeiten
anzeigen (du brauchst dafür die chisq.test()
Funktion).
Sind die Voraussetzungen für einen \(\chi^2\)-Test erfüllt? (Welche sind das?)
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
standardisierten Residuen (stdres) anzeigen, um diese Frage
zu beantworten.
Schaue Dir die standardisierten Residuen an
($stdres). Was fällt auf?
Als erstes wir die Häufigkeitstabelle erstellt:
##
## 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
##
## Coop Denner Migros
## Allesfresser 13.2571 7.8714 7.8714
## Veganer 9.1429 5.4286 5.4286
## Vegetarier 9.6000 5.7000 5.7000
Alle Zellen haben eine erwartete Häufigkeit von \(\ge5\). Somit sind die Voraussetzungen für einen \(\chi^2\) Test erfüllt.
\(H_0\): Die Variable
einkaufen und die Variable ernaehrung sind
unabhängig von einander. Diese Hypothese können wir mit den \(\chi^2\)Test testen:
##
## Pearson's Chi-squared test
##
## data: my_km_table
## X-squared = 6.43, df = 4, p-value = 0.17
Der P-Wert ist 16.95%. Die Wahrscheinlichkeit für die Differenz (oder eine extremere) zwischen den unter \(H_0\) zu erwarteten und den beobachteten Häufigkeiten, beträgt 16.95%. Somit gibt es keine Evidenz gegen \(H_{0}\).
##
## Coop Denner Migros
## Allesfresser 1.823025 0.070152 -2.112348
## Veganer -1.669187 0.934932 0.934932
## Vegetarier -0.314140 -0.997072 1.348979
Das extremste 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 unter \(H_0\) erwartet. Ein einzelner standardisierter Residualwert von −2.11 zeigt, dass in dieser einen Zelle (Allesfresser × Migros) weniger Beobachtungen aufgetreten sind, als unter Unabhängigkeit erwartet. Aber: Der Gesamttest berücksichtigt alle Zellen gemeinsam. Ein einzelner auffälliger Residualwert reicht nicht aus, um die Nullhypothese zu verwerfen. Andere Zellen gleichen die Abweichung aus, sodass der Gesamteffekt nicht signifikant ist.
Sind die Voraussetzungen für einen \(\chi^2\)-Test nicht erfüllt, kann alternativ der exakte Test nach Fisher durchgeführt werden:
##
## Fisher's Exact Test for Count Data
##
## data: my_km_table
## p-value = 0.16
## alternative hypothesis: two.sided
Der P-Wert ist praktisch gleich wie jener des \(\chi^2\)-Tests.