Tengo datos que muestran los resultados del examen de ingreso de bomberos. Estoy probando la hipótesis de que los resultados del examen y el origen étnico no son mutuamente independientes. Para probar esto, realicé una prueba de chi-cuadrado de Pearson en R. Los resultados muestran lo que esperaba, pero me dio una advertencia de que " 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
¿Alguien sabe por qué dio una advertencia? ¿Es porque estoy usando un método incorrecto?
r
categorical-data
chi-squared
small-sample
error-message
usuario1883491
fuente
fuente
Respuestas:
Dio la advertencia porque muchos de los valores esperados serán muy pequeños y, por lo tanto, las aproximaciones de p pueden no ser correctas.
En
R
puede utilizarchisq.test(a, simulate.p.value = TRUE)
para simular valores de p.Sin embargo, con tamaños de celda tan pequeños, todas las estimaciones serán pobres. Puede ser bueno simplemente probar pasar frente a fallar (eliminar "no show") ya sea con chi-cuadrado o regresión logística. De hecho, dado que está bastante claro que la calificación de aprobado / reprobado es una variable dependiente, la regresión logística podría ser mejor.
fuente
simulate.p.value = TRUE
hace realmente cuando se agregachisq.test
?simulate.p.value = TRUE
utiliza la simulación condicional en los marginales , por lo que es realmente una versión de la prueba exacta de Fisher.El problema es que la aproximación de chi-cuadrado a la distribución del estadístico de prueba se basa en que los recuentos se distribuyen más o menos normalmente. Si muchos de los recuentos esperados son muy pequeños, la aproximación puede ser pobre.
Tenga en cuenta que la distribución real de la estadística de chi-cuadrado para la independencia en las tablas de contingencia es discreta, no continua.
La categoría noshow será un gran contribuyente al problema; Una cosa a considerar es fusionar noshow y fallar. Seguirá recibiendo la advertencia, pero no afectará tanto los resultados y la distribución debería ser bastante razonable (la regla que se aplica antes de que se emita la advertencia es demasiado estricta).
Pero, en cualquier caso, si está dispuesto a condicionar los márgenes (como lo hace cuando ejecuta la prueba exacta de Fisher) puede resolver el problema muy fácilmente en R; establecer el
simulate.p.value
argumento aTRUE
; entonces no depende de la aproximación de chi-cuadrado a la distribución de la estadística de prueba.fuente
Para recuentos tan pequeños, puede usar la prueba exacta de Fisher:
fuente
Consulte la sección "Suposiciones" del artículo de prueba de chi cuadrado de Pearson .
En pocas palabras, cuando el recuento en cualquiera de las celdas de la tabla es inferior a 5, se rompe uno de los supuestos. Creo que a eso se refiere el mensaje de error. En el artículo vinculado también puede encontrar información sobre la corrección que se puede aplicar.
fuente
Su pregunta principal habla sobre el tamaño de la muestra, pero veo que se comparan más de dos grupos. Si el valor p de la prueba es 0.05 o menos, sería difícil interpretar los resultados. Por lo tanto, estoy compartiendo un breve script que uso en tales situaciones:
Este código generará el Chi-cuadrado de Pearson y el Chi de Fisher. Produce recuentos y proporciones de cada una de las entradas de la tabla. Basado en los residuos estandarizados o las puntuaciones de los valores z, es decir,
Si está fuera del rango | 1.96 | es decir, menor que -1.96 o mayor que 1.96, entonces es significativo p <0.05. El signo luego indicaría si está relacionado positivamente o negativamente.
fuente