library(FactoMineR)
library(ade4)
library(FactoClass)
library(factoextra)
library(missMDA)
En éste documento, se abordará un análisis de correspondencia multiple con la base de datos DogBreeds del paquete FactoClass,la cual representa una tabla cruzada de 27 filas y 7 columnas, las filas corresponden a 27 “tipos de razas de perro”, en cuanto a las columnas, son 7 variables cualitativas: “tamaño”, “peso”, “velocidad” (Características Físicas) e “inteligencia”, “afectividad”, “agresividad” (características Mentales), además, como variable suplementaria se tiene a “función”. Fine, J (1996). ##VARIABLES
data("DogBreeds")
baseperro<-DogBreeds[,-7]
summary(baseperro,nbelements=Inf)
## SIZE WEIG SPEE INTE AFFE AGGR
## lar:15 hea: 5 hig: 9 hig: 6 hig:14 hig:13
## med: 5 lig: 8 low:10 low: 8 low:13 low:14
## sma: 7 med:14 med: 8 med:13
En cuanto al análisis descriptivo, notamos que en las 3 primeras variables (características físicas) se presenta mayor atributo en tamaño grande (15), peso mediano (14) y velocidad baja (10). En cuanto a las 3 ultimas variables (Características mentales) se presenta mayor concentración en inteligencia media (13), para afectividad y agresividad se presentan resultados similares en ambos casos.
p<-16
s<-6
Intotal<-(p/s)-1
Intotal
## [1] 1.666667
acm<-dudi.acm(baseperro,nf=10,scannf = FALSE)
fviz_mca_ind(acm,repel=T)+labs(title ="Nube de Puntos de la Raza de Perros")
En el primer plano factorial explicando un 52% de la varianza, observamos que existen razas cuyas caracteristicas son prácticamente iguales, como lo son: la raza chihuahua y pekines; teckel y Bulldog; Dalmata y labrador; Collie y Podf. Cabe recalcar que éstas son las razas más relacionadas, pero la nube indica que hay más simulitudes, entonces sería pertinente revisar, qué grupos de razas se forman según su ubicación en el plano.
fviz_mca_biplot(acm,repel=TRUE)+labs(title ="Representación simultanea de Raza de perros y Modalidades")
Podemos análizar que:
fviz_contrib(acm,axes=c(1,2),choice = "ind" )+labs(title = "Contribución de individuos en el primer plano factorial")
Al inferir sobre las contribuciones en el primer plano, observamos que las razas que más contribuyen a éste plano sobrepasando la contribución promedio de 3.70 significativamente son: Chihuahua, Pekines, Dalmata, Labrador, Mastin, Dogo, Bulldog, Teck, Podb, Bass y Boxer, respectivamente.
fviz_cos2(acm,axes=c(1,2),choice = "ind" )+labs(title = "Cos2 de individuos en el primer plano factorial")
De la gráfica de cosenos cuadrádos podemos deducir, que las razas con con mayor calidad de representación al primer plano factorial, son: Bulldog, Teck, Dálmata y Labrador.
fviz_mca_var(acm,axes=c(1,2),repel = T )+labs(title = "Nube de puntos de Categorías en el primer plano factorial")
Como se observa en la nube de variables y sus categorías, un peso ligero, está asociado con un tamaño pequeño del perro, además, los perros con pesos medianos se ven relacionados con alto grado de inteligencia. Por otro lado, mirando las correlaciones negativas, vemos que los perros de tamaño pequeño tienen baja inteligencia.
edad<-as.factor(c(2 ,2 ,2, 2, 2, 4, 1, 1, 1, 4,
4, 2, 2, 2, 2, 4, 4, 5, 5, 5,
5, 6, 6, 7, 7, 7, 5))
nuevabd<-cbind(baseperro,edad)
acmsup<-MCA(nuevabd,quali.sup = 7,ncp=2,graph = FALSE)
coor_cat<-acmsup$quali.sup$coord
coor_cat
## Dim 1 Dim 2
## 1 0.69971882 0.2132493
## 2 -0.17189174 0.2662877
## 4 0.23523296 -0.7820574
## 5 -0.08847186 0.2306590
## 6 -0.58953227 -0.7574665
## 7 -0.03562392 0.4118626
coor_edad<-acmsup$quali.sup$eta2
coor_edad
## Dim 1 Dim 2
## edad 0.1018316 0.2131518
fviz_mca_var(acmsup,repel=T)+labs(title ="Nube de puntos de Variables con edad suplementaria")
Al trabajar a la variale edad como suplementaria, inferimos que la relación más fuerte es que cuando los perros tienen 1 año de edad, su agresividad es baja.
fviz_contrib(acm,choice = "var",axes=c(1,2),repel = T )+labs(title = "Contribuciones de Categorías en el primer plano factorial")
fviz_cos2(acm,choice="var",axes=c(1,2),repel = T )+labs(title = "cos2 de Categorías en el primer plano factorial")
Al análizar las contribuciones y concenos, nos damos cuenta que las variables que están alejadas del centro de datos como lo son: el peso ligero, tamaño pequeño velocidad baja tamaño medio peso medio, entre otras, corresponden a las variables cuya contribución al primer plano factorial es más alta, sobrepasando la media de contribuciones(6.25) significativamente. Además, éstas variables son las que mejor calidad de representación tienen en éste primer plano.
fmd <- function(Xo,a) # Genera a% NAs , md: miss data
{
X. <- as.matrix(Xo)
n <- nrow(X.); p <- ncol(X.); N <- n*p
m <- sample(N,round(a*N,0)); d <- length(m)
for(j in 1:d){
X.[m[j]] <- NA
}
return(X.)
}
#----Contaminada----#
Xna <- fmd(baseperro,0.05)
mcana <- imputeMCA(Xna)
acmNA<-MCA(Xna,tab.disj = mcana$tab.disj.comp,graph = FALSE)
fmd <- function(Xo,a) # Genera a% NAs , md: miss data
{
X. <- as.matrix(Xo)
n <- nrow(X.); p <- ncol(X.); N <- n*p
m <- sample(N,round(a*N,0)); d <- length(m)
for(j in 1:d){
X.[m[j]] <- NA
}
return(X.)
}
#----Contaminada----#
Xna <- fmd(baseperro,0.05)
mcana <- imputeMCA(Xna)
acmNA<-MCA(Xna,tab.disj = mcana$tab.disj.comp,graph = FALSE)
fviz_mca_ind(acmNA,repel=T,axes = c(1,2))+labs(title ="Nube de Puntos de la Raza de Perros con NA´s",x="Dim1 (19.16%)",y="Dim2 (16.44%)")
En la nube de puntos de los individuos, nos damos cuenta que el porcentaje de varianza explicado en el primer plano factorial es de 35.61%, que comparandolo con el PVE del MCA con datos completos que es de 52%, el MCA con NA´s se queda corto en la explicación de varianza. Por otro lado, a diferencia del primer MCA realizado, las similitudes de razas encontradas en el MCA con NA´s, no son las mismas, es decir que fueron modificadas.
fviz_mca_var(acmNA,repel=T,axes = c(1,2))+labs(title ="Nube de puntos de variables con NA´s",x="Dim1 (19.16%)",y="Dim2 (16.44%)")
Por otro lado, al análizar la nube de variables y modalidades, vemos que las correlaciones altas como peso bajo relacionada con tamaño pequeño y agresividad baja relacionada con inteligencia media, se antuvieron. Por otro lado, el modelo sufrió una alteración dado que se crearon nuevas modalidades, como AGGR.NA, que a priori muestre alta excentricidad, sin embargo se deben revisas las contribuciones.
fviz_contrib(acmNA,choice="var",repel=T,axes = c(1,2))+labs(title ="Contribuciones de las variables de la Raza de Perros con NA´s",x="Dim1 (19.16%)",y="Dim2 (16.44%)")
Al analizar las contribuciones, vemos que se ve afectado el promedio de contribución debido a que se crean las variables con los NA´s, teniendo ahora un promedio de 4.76. Por otro lado, el gran cambio en las contribuciones fue de AGGR.NA, pues aunque no tiene la contribución más alta, supera el promedio de contribuciones.
9.¿ Cómo se encuentran las coordenadas de la variable suplementaria 7?
perrosup<-DogBreeds
acmfun<-MCA(perrosup,quali.sup = 7,ncp=2,graph = FALSE)
coor_cat1<-acmfun$quali.sup$coord
coor_cat1
## Dim 1 Dim 2
## com 1.0393408 0.09532043
## hun -0.3223906 -0.43243220
## uti -0.9364865 0.36733569
coor_edad1<-acmfun$quali.sup$eta2
coor_edad1
## Dim 1 Dim 2
## FUNC 0.6945841 0.1056786
fviz_mca_var(acmfun,repel=T,axes = c(1,2))+labs(title ="Nube de Puntos de variables y categorías con Función Suplementaria")
Al analizar la variable suplementaria implementada, observamos que la utilidad está relacionada con grados de afectividad baja, que la inteligencia alta, por su parte, se relaciona con caninos con habilidades de caza y finalmente los perros con alto grado de afectividad tienen una función de acompañantes.