MCA Markdown Editable PDF
MCA Markdown Editable PDF
MCA Markdown Editable PDF
∑ 𝐽𝑘 = 𝐽
𝑖=1
𝑑𝑐 = 𝐺𝐺 𝑇
Para calcular los cosenos cuadrados de un renglón i a un factor l y de una columna j a
un factor l utilizamos:
𝑂𝑖,𝑙 = 𝑓𝑖,𝑙2 /𝑑𝑟,𝑖
2
filas-factor
2 2
𝑂𝑗,𝑙 = 𝑔𝑗,𝑙 /𝑑𝑐,𝑗
columnas-factor
Para obtener las contribuciones de un renglón i a un factor l y de una columna j a un
factor l, seguimos:
𝑡𝑖,𝑙 = 𝑓𝑖,𝑙2 /𝜆𝑙
filas-factor
2
𝑡𝑗,𝑙 = 𝑔𝑗,𝑙 /𝜆𝑙
columnas-factor
Las contribuciones(como veremos más adelante) ayudan a localizar las variables u
observaciones importantes dado un factor.
Terminologia util para MCA:
–Individuos_Activos=(Renglones): Individuos utilizados en el análisis
–Variables_Activas=(Columnas): Variables que se utilizarán en el MCA
–Variables_Suplementarias: No se incluyen en el análisis y sus coordenadas serán
predecidas, se dividen en 2:
-Complementarias_Cuantitativas y
-Complementarias_Cualitativas ; Estás variables usualmente son utilizadas para
mostrar a los Individuos por grupos.
IMPORTANTE!!!
Es importante notar que las variables categóricas(en nuestro ejemplo) son las 11
variables, cada una de estás tiene 2 categorias representadas por “variable_n” y
“variable_y”, en los análisis nos fijamos en las CATEGORIAS que son un componente de
las variables categóricas, es por esto que trabajamos con 22 variables en los plots y los
análisis.
Para comenzar con nuestro analisis cargaremos las siguientes paqueterias:
install.packages("FactoMineR")
install.packages("factoextra")
library(FactoMineR)
library(factoextra)
Ahora crearemos una división de los datos donde sólo quedarán las variables
utilizadas en el MCA:
datos_activos<-poison[1:55 , 5:15] #Tenemos a todos los individuos 1:55
y las variables de 5:15
datos_activos
Podemos utilizar la fn. summary para obtener el conteo de casos de las variables:
summary(datos_activos)
Si graficamos estás frecuencias nos podremos percatar de variables con muy baja
frecuencia, las cuales en caso de existir pueden distorcionar el análisis e idealmente
deberian eliminarse:
plot(datos_activos[,i], main=colnames(datos_activos)[i],
ylab = "Count", col="steelblue", las = 2)
Podemos hacer uso de la paqueteria factoextra para facilitar esta tarea con las
siguientes funciones:
eigen_valores<-get_eig(resultados_datos)
Para visualizar los porcentajes de inercia explicados por cada dimensión del MCA
usamos:
fviz_eig(resultados_datos) #representación visual
ó
fviz_screeplot(resultados_datos, addlabels= TRUE, ylim=c(0,45))
Si una variable está bien representada por 2 dimensiones la suma debe ser cercana a
1, a veces son necesarias más de 2 dimensiones para representar perfectamente la
información.
Podemos representar con gradientes que tan bien está representada una variable de
la siguiente manera:
fviz_mca_var(resultados_datos, col.var = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE)
Las variables con mayor valor contribuye más a la definición de las dimensiones,
aquellas variables que contribuyen más a las dimensiones 1 y 2 son las más
importantes para explicar la variabilidad en los datos. Haciendo uso de la función
fviz_contrib() podemos generar una gráfica de barras para mostrar la contribución de
las variables a las dimensiones:
Para D1:
fviz_contrib(resultados_datos, choice = "var", axes = 1, top = 10) #top =
10 muestra las 10 variables que más contribuyen
Para D2:
fviz_contrib(resultados_datos, choice = "var", axes = 2, top = 10)
Para el Total:
fviz_contrib(resultados_datos, choice = "var", axes = 1:2, top = 10)
Con los gráficos notamos que: “Abdo_n, Diarrhea_n ,Fever_n y Mayo_n : son las
variables más importantes para explicar la Dimensión-1” “Courg_n, Potato_n, Vomit_y
y Icecream_n : son las variables más importantes para explicar la Dimensión-2”
Al igual que los cosenos cuadrados podemos mostrar el gradientes esta información
en el factor map:
fviz_mca_var(resultados_datos, col.var = "contrib",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE, )
INDIVIDUOS
Para comenzar a trabajar con los datos de los individuos generaremos una nueva
variable en R donde guardaremos:
res_indz<-get_mca_ind(resultados_datos)
res_indz #de aqui podemos obtener la nomenclatura para acceder a los
componentes
De igual manera que con las variables podemos representar a individuos utilizando:
fviz_mca_ind(resultados_datos, repel = TRUE)
Para representarlos por su cos2:
fviz_mca_ind(resultados_datos, col.ind = "cos2",
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE)
Contribución:
fviz_contrib(resultados_datos, choice = "ind", axes = 1:2, top = 20)
DESCRIPCION DE DIMENSIONES
Para obtener las variables más correlacionadas con una dimensión dada podemos
utilizar:
res_descz <- dimdesc(resultados_datos, axes = c(1,2)) #Guardamos la
información en una variable con dimdesc
res_descz[[1]] #Describimos Dimensión-1
res_descz[[2]] #Describimos Dimensión-2