Tenho dados que mostram os resultados dos exames de admissão de bombeiros. Estou testando a hipótese de que os resultados dos exames e a etnia não são mutuamente independentes. Para testar isso, fiz um teste do qui-quadrado de Pearson em R. Os resultados mostram o que eu esperava, mas deu um aviso 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
Alguém sabe por que deu um aviso? É porque estou usando um método errado?
r
categorical-data
chi-squared
small-sample
error-message
user1883491
fonte
fonte
Respostas:
Ele emitiu o aviso porque muitos dos valores esperados serão muito pequenos e, portanto, as aproximações de p podem não estar corretas.
Em
R
você pode usarchisq.test(a, simulate.p.value = TRUE)
para simular valores de p.No entanto, com tamanhos de células tão pequenos, todas as estimativas serão ruins. Pode ser bom apenas testar aprovação versus reprovação (excluindo "não comparência") com qui-quadrado ou regressão logística. De fato, como é bem claro que a nota de aprovação / reprovação é uma variável dependente, a regressão logística pode ser melhor.
fonte
simulate.p.value = TRUE
faz quando adicionado achisq.test
?simulate.p.value = TRUE
usa simulação condicional nos marginais , então é realmente uma versão do teste exato de Fisher.O problema é que a aproximação do qui-quadrado à distribuição da estatística de teste se baseia na contagem normalmente distribuída. Se muitas das contagens esperadas forem muito pequenas, a aproximação pode ser ruim.
Observe que a distribuição real da estatística qui-quadrado para independência nas tabelas de contingência é discreta, não contínua.
A categoria noshow será um grande contribuinte para o problema; Uma coisa a considerar é mesclar noshow e falhar. Você ainda receberá o aviso, mas ele não afetará tanto os resultados e a distribuição deve ser bastante razoável (a regra que está sendo aplicada antes do aviso é muito rigorosa).
Mas, em qualquer caso, se você estiver disposto a condicionar nas margens (como faz ao executar o teste exato de Fisher), poderá lidar com o problema com muita facilidade em R; defina o
simulate.p.value
argumento comoTRUE
; então você não depende da aproximação do qui-quadrado à distribuição da estatística de teste.fonte
Para contagens tão pequenas, você pode usar o teste exato de Fisher:
fonte
Consulte a seção "Pressupostos" do artigo de teste qui-quadrado de Pearson .
Em poucas palavras, quando a contagem em qualquer uma das células da sua tabela for menor que 5, uma das suposições será quebrada. Eu acho que é a isso que a mensagem de erro está se referindo. No artigo vinculado, você também pode encontrar informações sobre a correção que pode ser aplicada.
fonte
Sua pergunta principal fala sobre o tamanho da amostra, mas vejo que mais de dois grupos são comparados. Se o valor p do teste for 0,05 ou menos, seria difícil interpretar os resultados. Portanto, estou compartilhando um breve script que uso nessas situações:
Esse código gerará o qui-quadrado de Pearson e o qui-quadrado de Fisher. Produz contagens e proporções de cada uma das entradas da tabela. Com base nos resíduos padronizados ou nos valores de z, ou seja,
Se estiver fora do intervalo | 1,96 | ou seja, menor que -1,96 ou maior que 1,96, é significativo p <0,05. O sinal indica então se está relacionado positivamente ou negativamente.
fonte