Bueno, parece que he hecho un lío con esto. Voy a tratar de explicar esto de nuevo, de una manera diferente y vamos a ver si puede ayudar a aclarar las cosas.
La forma tradicional de explicar la prueba de McNemar frente a la prueba de chi-cuadrado es preguntar si los datos están "emparejados" y recomendar la prueba de McNemar si los datos están emparejados y la prueba de chi-cuadrado si los datos están "no emparejados". He descubierto que esto lleva a mucha confusión (¡este hilo es un ejemplo!). En lugar de esto, he descubierto que es más útil centrarse en la pregunta que está tratando de hacer y utilizar la prueba que corresponda a su pregunta. Para concretar esto, veamos un escenario inventado:
Si te paseas por un congreso de estadística, anota en un cuaderno de bitácora si el estadístico es de Estados Unidos o del Reino Unido. También anotas si tienen la presión arterial alta o normal.
Aquí están los datos:
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
En este punto, es importante averiguar qué pregunta queremos hacer con nuestros datos. Hay tres preguntas diferentes que podríamos hacer aquí:
- Podríamos querer saber si las variables categóricas
BP
y Nationality
están asociados o son independientes;
- Podríamos preguntarnos si la hipertensión es más común entre los estadísticos estadounidenses que entre los británicos;
-
Por último, podríamos preguntarnos si la proporción de estadísticos con presión alta es igual a la proporción de estadísticos estadounidenses con los que hablamos. Esto se refiere a las proporciones marginales de la tabla. Éstas no se imprimen por defecto en R, pero podemos obtenerlas así (nótese que, en este caso, son exactamente iguales):
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 ya he dicho, el enfoque tradicional, que se discute en muchos libros de texto, es determinar qué prueba utilizar en función de si los datos están "emparejados" o no. Pero esto es muy confuso, ¿esta tabla de contingencia está "emparejada"? Si comparamos la proporción con presión arterial alta entre los estadísticos de EE.UU. y del Reino Unido, estás comparando dos proporciones (aunque de la misma variable) medidas en diferentes conjuntos de personas. Por otro lado, si se quiere comparar la proporción con presión arterial alta con la proporción de EE.UU., se están comparando dos proporciones (aunque de diferentes variables) medidas en el mismo conjunto de personas. Estos datos son ambos "emparejado" y "no emparejado" al mismo tiempo (aunque con respecto a diferentes aspectos de los datos). Esto lleva a la confusión. Para tratar de evitar esta confusión, sostengo que se debe pensar en términos de qué pregunta se está haciendo. En concreto, si se quiere saber
- Si las variables son independientes: utilice la prueba de chi-cuadrado.
- Si la proporción de hipertensos difiere según la nacionalidad: utilice la prueba z de diferencia de proporciones.
- Si las proporciones marginales son iguales: utilice la prueba de McNemar.
Puede que alguien no esté de acuerdo conmigo en este punto, argumentando que, como la tabla de contingencia no está "emparejada", no se puede utilizar la prueba de McNemar para comprobar la igualdad de las proporciones marginales y que, en su lugar, se debería utilizar la prueba de chi-cuadrado. Dado que éste es el punto de controversia, probemos ambos para ver si los resultados tienen 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
La prueba de chi-cuadrado arroja un valor p de aproximadamente 0. Es decir, dice que la probabilidad de obtener datos tan lejos o más de proporciones marginales iguales, si las proporciones marginales fueran realmente iguales es esencialmente 0. Pero las proporciones marginales son exactamente las mismas, $50\%=50\%$ como hemos visto anteriormente. Los resultados de la prueba de chi-cuadrado no tienen ningún sentido a la luz de los datos. Por otro lado, la prueba de McNemar arroja un valor p de 1. Es decir, dice que tendrá un 100% de posibilidades de encontrar proporciones marginales tan cercanas a la igualdad o más alejadas de ella, si las verdaderas proporciones marginales son iguales. Dado que las proporciones marginales observadas no pueden estar más cerca de la igualdad de lo que están, este resultado tiene sentido.
Probemos con otro ejemplo:
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
En este caso, las proporciones marginales son muy diferentes, $97.5\%\gg 50\%$ . Probemos de nuevo las dos pruebas para ver cómo se comparan sus resultados con la gran diferencia observada en las proporciones marginales:
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
Esta vez, la prueba de chi-cuadrado da un valor p de 1, lo que significa que las proporciones marginales son tan iguales como pueden serlo. Pero hemos visto que las proporciones marginales no son obviamente iguales, así que este resultado no tiene ningún sentido a la luz de nuestros datos. Por otra parte, la prueba de McNemar arroja un valor p de aproximadamente 0. En otras palabras, es extremadamente improbable obtener datos con proporciones marginales tan alejadas de la igualdad como éstas, si realmente son iguales en la población. Dado que nuestras proporciones marginales observadas están lejos de ser iguales, este resultado tiene sentido.
El hecho de que la prueba de chi-cuadrado arroje resultados que no tienen sentido teniendo en cuenta nuestros datos sugiere que hay algo incorrecto en el uso de la prueba de chi-cuadrado en este caso. Por supuesto, el hecho de que la prueba de McNemar proporcionara resultados sensatos no demuestra que sea válida, puede que sólo haya sido una coincidencia, pero la prueba de chi-cuadrado es claramente errónea.
Veamos si podemos elaborar el argumento de por qué la prueba de McNemar podría ser la correcta. Utilizaré un tercer conjunto de datos:
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
Esta vez queremos comparar $51.25\%$ a $62.5\%$ y preguntarse si en la población las verdaderas proporciones marginales podrían haber sido las mismas. Como estamos comparando dos proporciones, la opción más intuitiva sería utilizar una prueba z para la igualdad de dos proporciones. Podemos probarlo aquí:
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 utilizar prop.test()
para probar las proporciones marginales, tuve que introducir manualmente el número de "éxitos" y el número total de "ensayos", pero en la última línea de la salida se puede ver que las proporciones son correctas). Esto sugiere que es poco probable que las proporciones marginales se alejen tanto de la igualdad si fueran realmente iguales, dada la cantidad de datos que tenemos.
¿Es válida esta prueba? Hay dos problemas aquí: La prueba cree que tenemos 800 datos, cuando en realidad sólo tenemos 400. Esta prueba tampoco tiene en cuenta que estas dos proporciones no son independientes, en el sentido de que fueron medidas en las mismas personas.
Veamos si podemos desmontar esto y encontrar otra forma. De la tabla de contingencia, podemos ver que las proporciones marginales son:
$$ \text{% high BP: }\frac{190 + 15}{400} \qquad\qquad\qquad \text{% US: }\frac{190 + 60}{400} $$ Lo que vemos aquí es que el $190$ Los estadísticos estadounidenses con presión arterial alta aparecen en ambas proporciones marginales. Ambos se cuentan dos veces y no aportan ninguna información sobre las diferencias en las proporciones marginales. Además, el $400$ total aparece también en ambos denominadores. Toda la información única y distintiva está en los dos recuentos de celdas fuera de la diagonal ( $15$ y $60$ ). El hecho de que las proporciones marginales sean iguales o diferentes se debe únicamente a ellas. El hecho de que una observación tenga la misma probabilidad de caer en cualquiera de esas dos casillas se distribuye como una binomial con probabilidad $\pi = .5$ bajo el nulo. Esa fue la idea de McNemar. De hecho, la prueba de McNemar es esencialmente una prueba binomial de si las observaciones tienen la misma probabilidad de caer en esas dos celdas:
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
En esta versión, sólo se utilizan las observaciones informativas y no se cuentan dos veces. El valor p aquí es mucho menor, 0,0000001588, lo que suele ocurrir cuando se tiene en cuenta la dependencia de los datos. Es decir, esta prueba es más potente que la prueba z de diferencia de proporciones. Podemos ver además que la versión anterior es esencialmente la misma que la prueba 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
Si la no-identidad es confusa, la prueba de McNemar típicamente, y en R, eleva el resultado al cuadrado y lo compara con la distribución chi-cuadrado, que no es una prueba exacta como la binomial anterior:
(15-60)^2/(15+60)
# [1] 27
1-pchisq(27, df=1)
# [1] 2.034555e-07
Así, cuando se quiere comprobar que las proporciones marginales de una tabla de contingencia son iguales, la prueba de McNemar (o la prueba binomial exacta calculada manualmente) es correcta. Utiliza sólo la información relevante sin utilizar ilegalmente ningún dato dos veces. No da por casualidad resultados que tengan sentido para los datos.
Sigo creyendo que intentar averiguar si una tabla de contingencia está "emparejada" no es útil. Sugiero que se utilice la prueba que coincida con la pregunta que se hace a los datos.
1 votos
¿Intentaste leer stats.stackexchange.com/questions/tagged/mcnemar-test temas aquí sobre la prueba Mcnemar?
0 votos
¿Qué quiere decir con "relación entre dos probabilidades"?
0 votos
@ttnphns Los repasé, pero no pude reformularlo a mi pregunta. Después de pensar más, parece que puedo responder a dos preguntas basándome en la Q1:La Chi-sq me diría si la proporción de +ve X después está relacionada con la proporción de +ve X antes mientras que la de Mcnemar me diría si ha habido un cambio en las proporciones. ¿Estoy en lo cierto?
0 votos
No se puede utilizar un $\chi^2$ -prueba de independencia aquí porque cada persona está representada por dos valores que causan muestras no aleatorias.
0 votos
Gracias @MichaelMayer. Estaba usando mcnemar's hasta que vi este . Donde se explica el Mcnemar's, dice lo que respondería el hacer un Chi-sq en el mismo caso. Estoy bastante perplejo. Tal y como está enmarcado lo que nos dice cada test en esta página, debo decantarme por el Chi-sq pero como son mediciones sobre el mismo tema, ¡debo elegir el de McNemar!
0 votos
Bueno, está en la lista de "aplicaciones incorrectas" (aunque se centra en un argumento diferente al mío). ¿Quiere comprobar la hipótesis nula de independencia entre "Tiempo" (antes vs. después) y "Infección" (S/N)? En su caso, esto equivale a la hipótesis nula de McNemar (porque si la "Infección" es independiente del "Tiempo", la probabilidad de una infección no depende del tiempo, es decir, es constante en el tiempo).