R: prop.test - Die Chi-Quadrat-Näherung ist möglicherweise falsch

7

Ich versuche, die Anteile zweier Populationen mit zu vergleichen prop.test

Meine Daten sind unkompliziert - die erste Bevölkerung ist 6/26 und die zweite ist 15/171. Ich versuche herauszufinden, ob es mir wichtig ist, dass der Anteil in der ersten Bevölkerung größer ist als in der zweiten.

Wenn ich das prop.testin R ausführe, lautet mein Code:

prop.test(c(6,15), c(26, 171), alternative="greater").

Ich erhalte jedoch eine Warnung:

In prop.test(c(6, 15), c(26, 171), alternative = "greater") :
  Chi-squared approximation may be incorrect

Ich gehe davon aus, dass dies auf der geringen Stichprobengröße in der ersten Population basiert. Ist das korrekt? Ich habe diesen Beitrag gelesen , der darauf hinweist, dass das Problem zwar eine geringe Stichprobengröße ist, die bereitgestellte Lösung jedoch nicht mit prop.test anwendbar ist.

Gibt es eine Möglichkeit, dies zu korrigieren?

Wenn dies nicht der Fall ist, gibt es eine Möglichkeit, ein Gefühl dafür zu bekommen, wie sehr sich ein Mangel an Korrektheit in der Chi-Quadrat-Näherung auf meinen p-Wert auswirken kann? In diesem Fall beträgt der angegebene p-Wert 0,03137. Kann ich davon ausgehen, dass ich trotz des potenziellen Problems mit der Chi-Quadrat-Näherung immer noch 95% iges Vertrauen hätte oder nicht unbedingt?

Jonathan
quelle
Ich habe festgestellt, dass der Text einen Anteil von 6/25 hat, aber die Codefragmente verwenden 6/26.
Eric Farng

Antworten:

8

Die Warnung ist, weil einer der erwarteten Werte im Chi-Quadrat kleiner als 5 ist.

a <- c(6, 15)
b <- c(26, 171)
m <- matrix(c(a, b-a), ncol=2)
chisq.test(m)
chisq.test(m)$expected

Diese Faustregel ist jedoch etwas konservativ und es gibt andere Faustregeln , die Sie berücksichtigen können. Einige dieser anderen Faustregeln werden verabschiedet, andere nicht.

Anstelle eines Chi-Quadrat-Tests gibt es auch einen Binomialproportionstest .

p1 <- 6/26
n1 <- 26
p2 <- 15/171
n2 <- 171
p <- (n1 * p1 + n2 * p2)/ (n1 + n2)
z <- (p1 - p2) / sqrt(p * (1-p) * (1/n1 + 1/n2))
z

Hier verwenden wir eine normale Annäherung an die Binomialverteilung. Für diese Annäherung gibt es eine Faustregel, dass sowohl als auch was für beide Proportionen gilt. Auch für diese beiden Proportionen erscheint mir die normale Annäherung beim Zeichnen vernünftig.np>5n(1- -p)>5

hist(rbinom(10000, 26, 6/26))
hist(rbinom(10000, 171, 15/171))

Für diese Daten ergibt der Binomialproportionstest einen einseitigen p-Wert = 0,0139. Der einseitige Prop.Test ergibt einen p-Wert = 0,03137.

Wie @EdM in den Kommentaren unten erwähnt, halten einige Leute den genauen Test von Fisher für geeignet in dieser Situation. Diese andere Seite enthält einige Hinweise auf die Angemessenheit des genauen Tests von Fisher, und es sieht so aus, als ob die Angelegenheit noch nicht entschieden ist. Dieser Test ergibt einen einseitigen p-Wert = 0,03963

fisher.test(m, alternative = 'greater') 
Eric Farng
quelle
Sie können auch den genauen Fisher-Test verwenden.
EdM
Der genaue Test von @EdM Fisher geht davon aus, dass sowohl Zeilen- als auch Spaltenränder festgelegt sind, was ich hier nur zögerlich annehmen kann. Diese Antwort besagt jedoch, dass eine Verletzung nur zu konservativeren p-Werten führt. In jedem Fall dachte ich, ich sollte es einfach weglassen.
Eric Farng
Das McDonald's Handbook of Biological Statistics enthält einige amüsante Kommentare dazu, warum der exakte Fisher-Test oft eine gute Wahl ist, auch wenn die Annahme fester Margen nicht erfüllt ist und der Test daher nicht wirklich "exakt" ist.
EdM
@ Eric - Danke Eric. Sehr hilfreich und nützlich. Vielen Dank auch für die Hinweise zur Diskussion über den genauen Test von Fisher.
Jonathan
@EdM - Ich werde auch den genauen Test von Fisher untersuchen. Danke auch für den Hinweis auf McDonald.
Jonathan