Bem, parece que eu fiz uma mistura disso. Deixe-me tentar explicar isso novamente, de uma maneira diferente e veremos se isso pode ajudar a esclarecer as coisas.
A maneira tradicional de explicar o teste de McNemar versus o teste do qui-quadrado é perguntar se os dados estão "emparelhados" e recomendar o teste de McNemar se os dados estão emparelhados e o teste do qui-quadrado se os dados estão "não emparelhados". Eu descobri que isso leva a muita confusão (esse tópico é um exemplo!). Em vez disso, descobri que é mais útil focar na pergunta que você está tentando fazer e usar o teste que corresponde à sua pergunta. Para tornar isso mais concreto, vejamos um cenário inventado:
Você anda por uma conferência de estatística e, para cada estatístico que conhece, registra se são dos EUA ou do Reino Unido. Você também registra se eles têm pressão alta ou pressão normal.
Aqui estão os dados:
mat = as.table(rbind(c(195, 5),
c( 5, 195) ))
colnames(mat) = c("US", "UK")
rownames(mat) = c("Hi", "Normal")
names(dimnames(mat)) = c("BP", "Nationality")
mat
# Nationality
# BP US UK
# Hi 195 5
# Normal 5 195
Neste ponto, é importante descobrir que pergunta queremos fazer sobre nossos dados. Há três perguntas diferentes que poderíamos fazer aqui:
- Podemos querer saber se as variáveis categóricas
BP
e Nationality
estão associados ou independente;
- Podemos nos perguntar se a pressão alta é mais comum entre os estatísticos dos EUA do que entre os estatísticos do Reino Unido;
Finalmente, podemos nos perguntar se a proporção de estatísticos com pressão alta é igual à proporção de estatísticos dos EUA com quem conversamos. Isso se refere às proporções marginais da tabela. Eles não são impressos por padrão em R, mas podemos obtê-los assim (observe que, nesse caso, eles são exatamente os mesmos):
margin.table(mat, 1)/sum(mat)
# BP
# Hi Normal
# 0.5 0.5
margin.table(mat, 2)/sum(mat)
# Nationality
# US UK
# 0.5 0.5
Como eu disse, a abordagem tradicional, discutida em muitos livros, é determinar qual teste usar com base em se os dados estão "emparelhados" ou não. Mas isso é muito confuso, essa tabela de contingência está "emparelhada"? Se compararmos a proporção com pressão alta entre estatísticos dos EUA e do Reino Unido, você estará comparando duas proporções (embora com a mesma variável) medidas em diferentes grupos de pessoas. Por outro lado, se você deseja comparar a proporção com pressão alta com a proporção US, você está comparando duas proporções (embora de variáveis diferentes) medidas no mesmo conjunto de pessoas. Esses dados são ambos"emparelhado" e "não emparelhado" ao mesmo tempo (embora com relação a diferentes aspectos dos dados). Isso leva à confusão. Para tentar evitar essa confusão, argumento que você deve pensar em termos de qual pergunta está fazendo. Especificamente, se você deseja saber:
- Se as variáveis forem independentes: use o teste do qui-quadrado.
- Se a proporção com pressão alta diferir por nacionalidade: use o teste z para obter diferenças de proporções.
- Se as proporções marginais são as mesmas: use o teste de McNemar.
Alguém pode discordar de mim aqui, argumentando que, como a tabela de contingência não está "emparelhada", o teste de McNemar não pode ser usado para testar a igualdade das proporções marginais e que o teste do qui-quadrado deve ser usado. Como esse é o ponto de discórdia, vamos tentar os dois para ver se os resultados fazem sentido:
chisq.test(mat)
# Pearson's Chi-squared test with Yates' continuity correction
#
# data: mat
# X-squared = 357.21, df = 1, p-value < 2.2e-16
mcnemar.test(mat)
# McNemar's Chi-squared test
#
# data: mat
# McNemar's chi-squared = 0, df = 1, p-value = 1
O teste do qui-quadrado gera um valor-p de aproximadamente 0. Ou seja, diz que a probabilidade de obter dados tão longe ou mais de proporções marginais iguais, se as proporções marginais realmente eram iguais é essencialmente 0. Mas as proporções marginais são exatamente o mesmo, , como vimos acima! Os resultados do teste do qui-quadrado simplesmente não fazem nenhum sentido à luz dos dados. Por outro lado, o teste de McNemar gera um valor-p igual a 1. Ou seja, ele diz que você terá 100% de chance de encontrar proporções marginais tão próximas da igualdade ou mais afastadas da igualdade, se as verdadeiras proporções marginais forem iguais. Como as proporções marginais observadas não podem ser mais próximas do que são, esse resultado faz sentido. 50%=50%
Vamos tentar outro exemplo:
mat2 = as.table(rbind(c(195, 195),
c( 5, 5) ))
colnames(mat2) = c("US", "UK")
rownames(mat2) = c("Hi", "Normal")
names(dimnames(mat2)) = c("BP", "Nationality")
mat2
# Nationality
# BP US UK
# Hi 195 195
# Normal 5 5
margin.table(mat2, 1)/sum(mat2)
# BP
# Hi Normal
# 0.975 0.025
margin.table(mat2, 2)/sum(mat2)
# Nationality
# US UK
# 0.5 0.5
Nesse caso, as proporções marginais são muito diferentes, . Vamos tentar os dois testes novamente para ver como seus resultados se comparam à grande diferença observada em proporções marginais: 97.5%≫50%
chisq.test(mat2)
# Pearson's Chi-squared test
#
# data: mat2
# X-squared = 0, df = 1, p-value = 1
mcnemar.test(mat2)
# McNemar's Chi-squared test with continuity correction
#
# data: mat2
# McNemar's chi-squared = 178.605, df = 1, p-value < 2.2e-16
Desta vez, o teste do qui-quadrado fornece um valor-p de 1, significando que as proporções marginais são tão iguais quanto possível. Mas vimos que as proporções marginais obviamente não são iguais, portanto esse resultado não faz sentido à luz de nossos dados. Por outro lado, o teste de McNemar gera um valor-p de aproximadamente 0. Em outras palavras, é extremamente improvável obter dados com proporções marginais tão distantes da igualdade quanto essas, se eles realmente são iguais na população. Como nossas proporções marginais observadas estão longe de serem iguais, esse resultado faz sentido.
O fato de o teste qui-quadrado produzir resultados que não fazem sentido, dados nossos dados, sugere que há algo errado em usar o teste qui-quadrado aqui. Certamente, o fato de o teste de McNemar fornecer resultados sensatos não prova que é válido, pode ter sido apenas uma coincidência, mas o teste do qui-quadrado está claramente errado.
Vamos ver se podemos trabalhar com o argumento de por que o teste de McNemar pode ser o correto. Vou usar um terceiro conjunto de dados:
mat3 = as.table(rbind(c(190, 15),
c( 60, 135) ))
colnames(mat3) = c("US", "UK")
rownames(mat3) = c("Hi", "Normal")
names(dimnames(mat3)) = c("BP", "Nationality")
mat3
# Nationality
# BP US UK
# Hi 190 15
# Normal 60 135
margin.table(mat3, 1)/sum(mat3)
# BP
# Hi Normal
# 0.5125 0.4875
margin.table(mat3, 2)/sum(mat3)
# Nationality
# US UK
# 0.625 0.375
Desta vez, queremos comparar a e nos perguntar se na população as verdadeiras proporções marginais podem ter sido as mesmas. Como estamos comparando duas proporções, a opção mais intuitiva seria usar um teste z para a igualdade de duas proporções. Podemos tentar isso aqui: 62,5 %51.25%62.5%
prop.test(x=c(205, 250), n=c(400, 400))
# 2-sample test for equality of proportions with continuity correction
#
# data: c(205, 250) out of c(400, 400)
# X-squared = 9.8665, df = 1, p-value = 0.001683
# alternative hypothesis: two.sided
# 95 percent confidence interval:
# -0.18319286 -0.04180714
# sample estimates:
# prop 1 prop 2
# 0.5125 0.6250
(Para prop.test()
testar as proporções marginais, tive que inserir manualmente os números de 'sucessos' e o número total de 'tentativas', mas você pode ver na última linha da saída que as proporções estão corretas.) Isso sugere que é improvável que obtenha proporções marginais tão distantes da igualdade se elas forem realmente iguais, dada a quantidade de dados que temos.
Este teste é válido? Existem dois problemas aqui: O teste acredita que temos 800 dados, quando na verdade temos apenas 400. Esse teste também não leva em conta que essas duas proporções não são independentes, no sentido de que foram medidas nas mesmas pessoas.
Vamos ver se podemos desmontar isso e encontrar outro caminho. Na tabela de contingência, podemos ver que as proporções marginais são:
O que vemos aqui é que os estatísticos americanos com pressão alta aparecem em ambas as proporções marginais. Ambos estão sendo contados duas vezes e não contribuem com informações sobre as diferenças nas proporções marginais. Além disso, o total de aparece nos dois denominadores também. Todas as informações exclusivas e distintas estão nas duas contagens de células fora da diagonal ( e
1904001560π=0,5
% high BP: 190+15400% US: 190+60400
1904001560) Se as proporções marginais são iguais ou diferentes, deve-se apenas a elas. A probabilidade de uma observação cair igualmente em uma dessas duas células é distribuída como um binômio com probabilidade sob o nulo. Essa foi a visão de McNemar. De fato, o teste de McNemar é essencialmente apenas um teste binomial de se as observações têm a mesma probabilidade de cair nessas duas células:
π=.5
binom.test(x=15, n=(15+60))
# Exact binomial test
#
# data: 15 and (15 + 60)
# number of successes = 15, number of trials = 75, p-value = 1.588e-07
# alternative hypothesis: true probability of success is not equal to 0.5
# 95 percent confidence interval:
# 0.1164821 0.3083261
# sample estimates:
# probability of success
# 0.2
Nesta versão, apenas as observações informativas são usadas e não são contadas duas vezes. O valor p aqui é muito menor, 0,0000001588, o que geralmente ocorre quando a dependência nos dados é levada em consideração. Ou seja, esse teste é mais poderoso que o teste z de diferença de proporções. Podemos ver ainda que a versão acima é essencialmente a mesma do teste de McNemar:
mcnemar.test(mat3, correct=FALSE)
# McNemar's Chi-squared test
#
# data: mat3
# McNemar's chi-squared = 27, df = 1, p-value = 2.035e-07
Se a não-identidade for confusa, o teste de McNemar normalmente, e em R, compara o resultado com a distribuição qui-quadrado, que não é um teste exato como o binômio acima:
(15-60)^2/(15+60)
# [1] 27
1-pchisq(27, df=1)
# [1] 2.034555e-07
Portanto, quando você deseja verificar se as proporções marginais de uma tabela de contingência são iguais, o teste de McNemar (ou o teste binomial exato calculado manualmente) está correto. Ele usa apenas as informações relevantes sem usar ilegalmente dados duas vezes. Não apenas 'acontece' produzir resultados que entendam os dados.
Continuo acreditando que tentar descobrir se uma tabela de contingência está "emparelhada" é inútil. Sugiro usar o teste que corresponde à pergunta que você está fazendo dos dados.