TEST χ2 y ANÁLISIS DE CORRESPONDENCIA - TRABAJO DE FIN DE MÁSTER DE LA UNED.
Creación de una tabla con los datos
Antes de nada, necesitamos nuestros datos en un formato adecuado para los test Chi-cuadrado. Crearemos una tabla con la información del problema:
tab <- matrix(c(0, 0, 2, 10,
12, 20, 36, 16,
6, 12, 16, 6,
12, 6, 4, 2), nrow=4,ncol=4, byrow=TRUE)
colnames(tab) <- c('nulo','bajo','medio','alto')
rownames(tab) <- c('telefonia','viajes','bancos','grandes_almacenes')
tabla_contingencia <- as.table(tab)
tabla_contingencia
## nulo bajo medio alto
## telefonia 0 0 2 10
## viajes 12 20 36 16
## bancos 6 12 16 6
## grandes_almacenes 12 6 4 2
Ahora sí, podemos pedirle a R que haga cálculos sobre la tabla.
Las filas de la tabla son los distintos conceptos (actividad económica) y las columnas las denuncias (nivel de denuncias). Así, por ejemplo, vemos que para la actividad económica telefonía tenemos 10 denuncias de nivel alto y 0 de nivel bajo. Etcétera.
Independencia de las variables
Para contrastar la independencia de las variables vamos a plantear un test chi-cuadrado. La hipótesis nula, H0, será que la actividad económica y el nivel de denuncias son independientes. La alternativa será que no lo son.
CHISQ<-chisq.test(tabla_contingencia)
## Warning in chisq.test(tabla_contingencia): Chi-squared approximation may be
## incorrect
CHISQ
##
## Pearson's Chi-squared test
##
## data: tabla_contingencia
## X-squared = 49.019, df = 9, p-value = 1.646e-07
Antes de concluir que tenemos dependencia de las variables debemos ver si si cumplen los requisitos para aplicar con garantías el test chi-cuadrado. Por algo nos ha salido ese warning.
Asumiendo la independencia de las observaciones, que no podemos contrastar pero aceptamos dado que así lo plantea el problema, debemos verificar que las frecuencias esperadas son >=5:
CHISQ$expected
## nulo bajo medio alto
## telefonia 2.25 2.85 4.35 2.55
## viajes 15.75 19.95 30.45 17.85
## bancos 7.50 9.50 14.50 8.50
## grandes_almacenes 4.50 5.70 8.70 5.10
Y vemos que no. En concreto, (telefonia, nulo) tiene frecuencia esperada 2.25. Y no es el único caso. Por lo tanto, el test chi-cuadrado, pese a su p-valor muy pequeño, no puede usarse.
CHISQ$p.value
## [1] 1.646211e-07
Prueba exacta de Fisher
La alternativa al test chi-cuadrado cuando alguna de las frecuencias esperadas es <5 es la prueba exacta de Fisher. En el caso que nos ocupa, al ser el número de observaciones bastante grande y al calcularse el p-valor de la prueba de Fisher en base a factoriales, deberemos ampliar el workspace (memoria) de la prueba de Fisher para que pueda funcionar correctamente.
# número de observaciones totales
sum(tabla_contingencia)
## [1] 160
# necesitamos ampliar el workspace a 10^6 porque los números son algo grandes
fisher.test(tabla_contingencia,simulate.p.value = TRUE, B = 1e6)
##
## Fisher's Exact Test for Count Data with simulated p-value (based on
## 1e+06 replicates)
##
## data: tabla_contingencia
## p-value = 8e-06
## alternative hypothesis: two.sided
Ahora sí, rechazaremos la hipótesis nula de independencia entre las variables.
Análisis de correspondencia
Una vez rechazada la hipótesis nula, la siguiente pregunta lógica a hacerse es ¿qué filas/columnas tienen más relación entre sí? Para averiguarlo, haremos lo que se llama un “análisis de correspondencia”.
Necesitaremos esta librería:
#install.packages(c("FactoMineR", "factoextra"))
library("FactoMineR")
## Warning: package 'FactoMineR' was built under R version 4.1.3
library("factoextra")
## Warning: package 'factoextra' was built under R version 4.1.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.1.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
Y ahora el analisis, que representaremos gráficamente para una más fácil comprensión:
res.ca <- CA(tabla_contingencia, graph = FALSE)
#Creamos un gráfico para el análisis de correspondencia
fviz_ca_biplot(res.ca, repel = TRUE)
Es muy sencillo interpretar este tipo de gráficos: filas/columnas cercanas en el gráfico tienen dependencia.
Notar que con una sola dimensión no explicamos lo suficiente (eje de abcisas, 70.4%), pero con dos nos acercamos al 100% (70.4% +28.8% ).
Como conclusión, podemos apreciar observa una gran relación entre Grandes Almacenes y un nivel nulo en el número de denuncias. También entre Agencias de viajes y Bancos con un número de denuncias medios o bajos.
Con lo que concluye nuestro ejercicio.
Comentarios
Publicar un comentario