Ich habe Daten, die die Ergebnisse der Feuerwehr-Aufnahmeprüfungen zeigen. Ich teste die Hypothese, dass Prüfungsergebnisse und ethnische Zugehörigkeit nicht voneinander unabhängig sind. Um dies zu testen, führte ich einen Pearson-Chi-Quadrat-Test in R durch. Die Ergebnisse zeigen, was ich erwartet hatte, aber es wurde die Warnung " In chisq.test(a) : Chi-squared approximation may be incorrect
."
> a
white black asian hispanic
pass 5 2 2 0
noShow 0 1 0 0
fail 0 2 3 4
> chisq.test(a)
Pearson's Chi-squared test
data: a
X-squared = 12.6667, df = 6, p-value = 0.04865
Warning message:
In chisq.test(a) : Chi-squared approximation may be incorrect
Weiß jemand, warum es eine Warnung gab? Liegt es daran, dass ich eine falsche Methode verwende?
r
categorical-data
chi-squared
small-sample
error-message
user1883491
quelle
quelle
Antworten:
Es gab die Warnung, weil viele der erwarteten Werte sehr klein sein werden und daher die Approximationen von p möglicherweise nicht richtig sind.
In können
R
Sie verwendenchisq.test(a, simulate.p.value = TRUE)
, um p-Werte zu simulieren.Bei solch kleinen Zellengrößen sind jedoch alle Schätzungen schlecht. Es kann hilfreich sein, nur "Bestanden gegen Nicht Bestanden" zu testen ("Nicht Erscheinen" löschen), entweder mit Chi-Quadrat- oder logistischer Regression. Tatsächlich ist die logistische Regression möglicherweise besser, da ziemlich klar ist, dass es sich bei der Pass / Fail-Note um eine abhängige Variable handelt.
quelle
simulate.p.value = TRUE
, wenn hinzugefügtchisq.test
?simulate.p.value = TRUE
die Simulation von den Rändern abhängig ist. Es handelt sich also tatsächlich um eine Version des genauen Fisher-Tests.Das Problem ist, dass die Chi-Quadrat-Annäherung an die Verteilung der Teststatistik von einer ungefähren Normalverteilung der Zählwerte abhängt. Wenn viele der erwarteten Zählwerte sehr klein sind, ist die Approximation möglicherweise schlecht.
Beachten Sie, dass die tatsächliche Verteilung der Chi-Quadrat-Statistik für die Unabhängigkeit in Kontingenztabellen diskret und nicht kontinuierlich ist.
Die Noshow-Kategorie wird einen großen Beitrag zum Problem leisten. Eine Sache, die zu berücksichtigen ist, ist das Zusammenführen von Noshow und Fail. Die Warnung wird weiterhin angezeigt, wirkt sich jedoch kaum auf die Ergebnisse aus, und die Verteilung sollte angemessen sein (die Regel, die angewendet wird, bevor die Warnung ausgegeben wird, ist zu streng).
Aber auf jeden Fall können Sie das Problem in R sehr leicht lösen, wenn Sie gewillt sind, an den Rändern zu konditionieren (wie Sie es tun, wenn Sie den genauen Test von Fisher ausführen) . setze das
simulate.p.value
Argument aufTRUE
; Dann sind Sie nicht auf die Chi-Quadrat-Annäherung an die Verteilung der Teststatistik angewiesen.quelle
Für so kleine Zahlen können Sie den genauen Test von Fisher verwenden:
quelle
Bitte lesen Sie den Abschnitt "Annahmen" in Pearsons Chi-Quadrat-Testartikel .
Kurz gesagt, wenn die Anzahl in einer der Zellen in Ihrer Tabelle unter 5 liegt, ist eine der Annahmen nicht erfüllt. Ich denke, darauf bezieht sich die Fehlermeldung. In dem verlinkten Artikel finden Sie auch Informationen zur Korrektur, die angewendet werden kann.
quelle
In Ihrer Hauptfrage geht es um die Stichprobengröße, aber ich sehe, dass mehr als zwei Gruppen verglichen werden. Wenn der p-Wert aus dem Test 0,05 oder weniger beträgt, ist es schwierig, die Ergebnisse zu interpretieren. Daher teile ich ein kurzes Skript, das ich in solchen Situationen verwende:
Dieser Code generiert sowohl das Pearson-Chi-Quadrat als auch das Fisher-Chi-Quadrat. Es werden sowohl Zählungen als auch Anteile der einzelnen Tabelleneinträge erzeugt. Basierend auf den standardisierten Residuen oder Z-Werten ergibt sich
Liegt es außerhalb des Bereichs | 1,96 | dh kleiner als -1,96 oder größer als 1,96, dann ist es signifikant p <0,05. Das Vorzeichen würde dann anzeigen, ob es positiv verwandt oder negativ ist.
quelle