O quadrado do chi pode ser usado para comparar proporções?

13

Li que o teste do qui quadrado é útil para verificar se uma amostra é significativamente diferente de um conjunto de valores esperados.

Por exemplo, aqui está uma tabela de resultados de uma pesquisa sobre as cores favoritas das pessoas (n = 15 + 13 + 10 + 17 = 55 total de participantes):

red,blue,green,yellow

15,13,10,17

Um teste do qui-quadrado pode me dizer se essa amostra é significativamente diferente da hipótese nula de probabilidade igual de pessoas gostando de cada cor.

Pergunta: O teste pode ser executado nas proporções do total de participantes que gostam de uma determinada cor? Como abaixo:

red,blue,green,yellow

0.273,0.236,0.182,0.309

Onde, é claro, 0,273 + 0,236 + 0,182 + 0,309 = 1.

Se o teste do qui quadrado não for adequado nesse caso, qual seria o teste? Obrigado!

Edit: Tentei a resposta do @Roman Luštrik abaixo e obtive a seguinte saída: por que não estou recebendo um valor-p e por que R diz "a aproximação do qui-quadrado pode estar incorreta"?

> chisq.test(c(0,0,0,8,6,2,0,0),p = c(0.406197174,0.088746395,0.025193306,0.42041479,0.03192905,0.018328576,0.009190708,0))

    Chi-squared test for given probabilities

data:  c(0, 0, 0, 8, 6, 2, 0, 0) 
X-squared = NaN, df = 7, p-value = NA

Warning message:
In chisq.test(c(0, 0, 0, 8, 6, 2, 0, 0), p = c(0.406197174, 0.088746395,  :
  Chi-squared approximation may be incorrect
hpy
fonte
1
No segundo caso, você está assumindo que conhece o tamanho total da amostra? Ou não?
cardeal
@ cardinal: sim, eu sei o tamanho total da amostra.
Hpy
3
basta multiplicar as proporções pelo tamanho total da amostra para transformar em uma tabela de contagens e aplicar o chi-sq. método correspondente ao seu primeiro exemplo.
Aaron
Eu suspeito que você esteja perguntando sobre o teste de "qualidade do ajuste" (usando o quadrado do chi). O uso do que foi explicado abaixo. Cheers, Tal
Tal Galili

Respostas:

7

Corrija-me se estiver errado, mas acho que isso pode ser feito em R usando este comando

> chisq.test(c(15,13,10,17))

    Chi-squared test for given probabilities

data:  c(15, 13, 10, 17) 
X-squared = 1.9455, df = 3, p-value = 0.5838

Isso assume proporções de 1/4 cada. Você pode modificar os valores esperados via argumento p. Por exemplo, você acha que as pessoas podem preferir (por qualquer motivo) uma cor a outra (s).

> chisq.test(c(15,13,10,17), p = c(0.5, 0.3, 0.1, 0.1))

    Chi-squared test for given probabilities

data:  c(15, 13, 10, 17) 
X-squared = 34.1515, df = 3, p-value = 1.841e-07
Roman Luštrik
fonte
2
Eu suspeito que você esteja vendo isso devido a algumas contagens baixas de células (alguns livros que li sugerem um mínimo de 5 por célula). Talvez alguém com mais conhecimento sobre o assunto possa entrar em contato?
Roman Luštrik
1
Observe também que você pode obter um valor p se tornar a última de sua probabilidade maior que zero (mas o aviso ainda permanece).
Roman Luštrik
1
Ott & Longnecker (Uma introdução aos métodos estatísticos e análise de dados, 5ª edição) afirmam, na página 504, que cada célula deve ter pelo menos cinco, para usar a aproximação confortavelmente.
Roman Luštrik
1
@penyuan: Você deveria ter mencionado que tem zero contagens. Roman está certo, usar um qui-quadrado nesse caso simplesmente não funciona pelas razões que ele mencionou.
Joris Meys
1
@penyuan: Adicionei uma resposta, dando-lhe algumas opções.
Joris Meys
6

Usando as informações extras que você forneceu (sendo que alguns dos valores são 0), é bastante óbvio por que sua solução não retorna nada. Por um lado, você tem uma probabilidade que é 0, então:

  • na solução de Henry é 0, pelo menos um de iei
  • na solução de probabilística lógica é 0 para pelo menos um inpi

O que torna as divisões impossíveis. Agora, dizer que significa que é impossível obter esse resultado. Nesse caso, você pode simplesmente apagá-lo dos dados (consulte o comentário de @cardinal). Se você quer dizer altamente improvável, uma primeira 'solução' pode ser aumentar essa chance 0 com um número muito pequeno.p=0

Dado:

X <- c(0,0,0,8,6,2,0,0)
p <- c(0.406197174,0.088746395,0.025193306,0.42041479,0.03192905,0.018328576,0.009190708,0)

Você poderia fazer :

> p2 <- p + 1e-6
> chisq.test(X,p2)

        Pearson's Chi-squared test

data:  X and p2 
X-squared = 24, df = 21, p-value = 0.2931

Mas este não é um resultado correto. De qualquer forma, deve-se evitar o teste do qui-quadrado nesses casos limítrofes. Uma abordagem melhor é usar uma abordagem de autoinicialização, calcular uma estatística de teste adaptada e comparar a da amostra com a distribuição obtida pela autoinicialização.

No código R, isso pode ser (passo a passo):

# The function to calculate the adapted statistic.
# We add 0.5 to the expected value to avoid dividing by 0
Statistic <- function(o,e){
    e <- e+0.5
    sum(((o-e)^2)/e)
}

# Set up the bootstraps, based on the multinomial distribution
n <- 10000
bootstraps <- rmultinom(n,size=sum(X),p=p)

# calculate the expected values
expected <- p*sum(X)

# calculate the statistic for the sample and the bootstrap
ChisqSamp <- Statistic(X,expected)
ChisqDist <- apply(bootstraps,2,Statistic,expected)

# calculate the p-value
p.value <- sum(ChisqSamp < sort(ChisqDist))/n
p.value

Isso fornece um valor p de 0, que está muito mais alinhado com a diferença entre o observado e o esperado. Lembre-se, este método assume que seus dados são extraídos de uma distribuição multinomial. Se essa suposição não se confirmar, o valor p também não se aplica.

Joris Meys
fonte
1
Você pode reconsiderar sua primeira declaração, que não acredito estar correta. Se para algum i e as contagens observadas são zero (o que eles melhor que seja), então isso só reduz a um submodelo. O efeito é que o número de graus de liberdade é reduzida por um para cada i tal que p i = 0 . Por exemplo, considerar o teste de uniformidade de um dado de seis lados (isto é p i = 1 / 6 para i  6 ). Mas, suponha que (estranhamente) decidamos registrar o número de vezes que os números 1 , ,pi=0iipi=0pi=1/6i6 aparecem. Então, o teste do qui-quadrado ainda é válido; apenas somamos os seis primeiros valores. 1,,10
cardinal
@ cardinal: Acabei de descrever os dados, onde o valor esperado é 0, mas o observado não precisa ser. É o que o OP nos deu (embora, pensando bem, realmente pareça irrealista). Portanto, adicionar um pouco ao valor p para torná-lo altamente improvável em vez de impossível ajudará, mas mesmo assim o qui-quadrado é neste caso inválido devido à grande quantidade de células da tabela com contagens menores que 5 (como demonstrado pelo código). Eu adicionei a consideração na minha resposta, thx para o ponteiro.
Joris Meys
sim, eu diria que se , mas você observar uma contagem para essa célula, então você tem problemas mais sérios em suas mãos, de qualquer maneira. :)pi=0
cardeal
4

O teste do qui-quadrado é bom desde que as contagens esperadas sejam grandes, geralmente acima de 10 é bom. abaixo disso o parte tende a dominar o teste. Uma estatística exata do teste é fornecida por:1E(xi)

ψ=ixilog(xinpi)

xiii{red, blue, green, yellow}n55pipi=pj

χ2=i(xinpi)2npi2ψ

fi=xin

ψ=nifilog(fipi)
χ2=ni(fipi)2pi

ψψpi1piψ

H1H2piψ1ψ2exp(ψ1ψ2)H2H1exp(12χ1212χ22)

H2ψ2=χ22=0

χ22npi<10ψ

probabilityislogic
fonte
1
Tenho certeza que os esperados frequências não pode ser maior do que 10. :)
cardeal
@ cardinal - que bom que essa foi sua objeção - pois significa que o restante da minha resposta deve ter sido bom :).
probabilityislogic
Uau, espero não ter uma reputação de ser tão exigente / mal-humorado.
cardeal
1
ψ2ψχ2χ22ψ0χ22ψχ2
cardeal
χ22ψ
3

Sim, você pode testar a hipótese nula: "H0: suporte (vermelho) = suporte (azul) = suporte (verde) = suporte (amarelo) = 1/4" usando um teste do qui quadrado que compara as proporções da pesquisa (0,273 , ...) para as proporções esperadas (1/4, 1/4, 1/4, 1/4)


fonte
Só para confirmar, ele também funcionará com proporções esperadas desiguais entre si?
Hpy
4
o teste não será significativo a menos que você saiba o tamanho total da amostra. As proporções de 1.0 / 0.0 / 0.0 / 0.0 médios coisas muito diferentes, se eles são de uma amostra de tamanho 1, em oposição uma amostra de tamanho 100.
Aaron
Sim, eu sei o tamanho total da amostra.
Hpy
2

A estatística do teste do qui-quadrado de Pearson é

i=1n(OiEi)2Ei

oi=Oinei=Einn=i=1nOii=1nei=1

ni=1n(oiei)2ei

so a test of the significance of the observed proportions depends on the sample size, much as one would expect.

Henry
fonte