MCA, cargando datos

setwd("E:/Personal/especializacion/multivariados/repasoexamen/")
library(ade4)
## Warning: package 'ade4' was built under R version 3.6.3
library(factoextra)
## Warning: package 'factoextra' was built under R version 3.6.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.6.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(cluster)
require(cluster)
library(FactoMineR) 
## Warning: package 'FactoMineR' was built under R version 3.6.3
## 
## Attaching package: 'FactoMineR'
## The following object is masked from 'package:ade4':
## 
##     reconst
read.table("perros.txt",header=T,sep="",row.names=1)->perrosi
perrosi
##      TAM PES VEL INT AFE AGR FUN
## bass peq liv len baj baj alt caz
## beau gra med alt med alt alt uti
## boxe med med med med alt alt com
## buld peq liv len med alt baj com
## bulm gra pes len alt baj alt uti
## cani peq liv med alt alt baj com
## chih peq liv len baj alt baj com
## cock med liv len med alt alt com
## coll gra med alt med alt baj com
## dalm med med med med alt baj com
## dobe gra med alt alt baj alt uti
## dogo gra pes alt baj baj alt uti
## foxh gra med alt baj baj alt caz
## foxt peq liv med med alt alt com
## galg gra med alt baj baj baj caz
## gasc gra med med baj baj alt caz
## labr med med med med alt baj caz
## masa gra med alt alt alt alt uti
## mast gra pes len baj baj alt uti
## peki peq liv len baj alt baj com
## podb med med med alt alt baj caz
## podf gra med med med baj baj caz
## poin gra med alt alt baj baj caz
## sett gra med alt med baj baj caz
## stbe gra pes len med baj alt uti
## teck peq liv len med alt baj com
## tern gra pes len med baj baj uti
n=nrow(perrosi)
n
## [1] 27
perros=list(tab=perrosi[,1:6], funcion=perrosi[,7])
perros
## $tab
##      TAM PES VEL INT AFE AGR
## bass peq liv len baj baj alt
## beau gra med alt med alt alt
## boxe med med med med alt alt
## buld peq liv len med alt baj
## bulm gra pes len alt baj alt
## cani peq liv med alt alt baj
## chih peq liv len baj alt baj
## cock med liv len med alt alt
## coll gra med alt med alt baj
## dalm med med med med alt baj
## dobe gra med alt alt baj alt
## dogo gra pes alt baj baj alt
## foxh gra med alt baj baj alt
## foxt peq liv med med alt alt
## galg gra med alt baj baj baj
## gasc gra med med baj baj alt
## labr med med med med alt baj
## masa gra med alt alt alt alt
## mast gra pes len baj baj alt
## peki peq liv len baj alt baj
## podb med med med alt alt baj
## podf gra med med med baj baj
## poin gra med alt alt baj baj
## sett gra med alt med baj baj
## stbe gra pes len med baj alt
## teck peq liv len med alt baj
## tern gra pes len med baj baj
## 
## $funcion
##  [1] caz uti com com uti com com com com com uti uti caz com caz caz caz uti uti
## [20] com caz caz caz caz uti com uti
## Levels: caz com uti
s=ncol(perros$tab) ## #preguntas/columnas en este caso 6
s
## [1] 6
p.disj<-acm.disjonctif(perros$tab) ## Tabla disjuntiva completa
K=as.matrix(p.disj)
addmargins(K)
##      TAM.gra TAM.med TAM.peq PES.liv PES.med PES.pes VEL.alt VEL.len VEL.med
## bass       0       0       1       1       0       0       0       1       0
## beau       1       0       0       0       1       0       1       0       0
## boxe       0       1       0       0       1       0       0       0       1
## buld       0       0       1       1       0       0       0       1       0
## bulm       1       0       0       0       0       1       0       1       0
## cani       0       0       1       1       0       0       0       0       1
## chih       0       0       1       1       0       0       0       1       0
## cock       0       1       0       1       0       0       0       1       0
## coll       1       0       0       0       1       0       1       0       0
## dalm       0       1       0       0       1       0       0       0       1
## dobe       1       0       0       0       1       0       1       0       0
## dogo       1       0       0       0       0       1       1       0       0
## foxh       1       0       0       0       1       0       1       0       0
## foxt       0       0       1       1       0       0       0       0       1
## galg       1       0       0       0       1       0       1       0       0
## gasc       1       0       0       0       1       0       0       0       1
## labr       0       1       0       0       1       0       0       0       1
## masa       1       0       0       0       1       0       1       0       0
## mast       1       0       0       0       0       1       0       1       0
## peki       0       0       1       1       0       0       0       1       0
## podb       0       1       0       0       1       0       0       0       1
## podf       1       0       0       0       1       0       0       0       1
## poin       1       0       0       0       1       0       1       0       0
## sett       1       0       0       0       1       0       1       0       0
## stbe       1       0       0       0       0       1       0       1       0
## teck       0       0       1       1       0       0       0       1       0
## tern       1       0       0       0       0       1       0       1       0
## Sum       15       5       7       8      14       5       9      10       8
##      INT.alt INT.baj INT.med AFE.alt AFE.baj AGR.alt AGR.baj Sum
## bass       0       1       0       0       1       1       0   6
## beau       0       0       1       1       0       1       0   6
## boxe       0       0       1       1       0       1       0   6
## buld       0       0       1       1       0       0       1   6
## bulm       1       0       0       0       1       1       0   6
## cani       1       0       0       1       0       0       1   6
## chih       0       1       0       1       0       0       1   6
## cock       0       0       1       1       0       1       0   6
## coll       0       0       1       1       0       0       1   6
## dalm       0       0       1       1       0       0       1   6
## dobe       1       0       0       0       1       1       0   6
## dogo       0       1       0       0       1       1       0   6
## foxh       0       1       0       0       1       1       0   6
## foxt       0       0       1       1       0       1       0   6
## galg       0       1       0       0       1       0       1   6
## gasc       0       1       0       0       1       1       0   6
## labr       0       0       1       1       0       0       1   6
## masa       1       0       0       1       0       1       0   6
## mast       0       1       0       0       1       1       0   6
## peki       0       1       0       1       0       0       1   6
## podb       1       0       0       1       0       0       1   6
## podf       0       0       1       0       1       0       1   6
## poin       1       0       0       0       1       0       1   6
## sett       0       0       1       0       1       0       1   6
## stbe       0       0       1       0       1       1       0   6
## teck       0       0       1       1       0       0       1   6
## tern       0       0       1       0       1       0       1   6
## Sum        6       8      13      14      13      13      14 162
p=ncol(p.disj) #categorias del conjunto  (#modal)
p
## [1] 16

tabla de burt , para observar caracteristicas globales de las ca

p.burt<-acm.burt(perros$tab,perros$tab) ## Tabla de Burt Z'Z
p.burt
##         TAM.gra TAM.med TAM.peq PES.liv PES.med PES.pes VEL.alt VEL.len VEL.med
## TAM.gra      15       0       0       0      10       5       9       4       2
## TAM.med       0       5       0       1       4       0       0       1       4
## TAM.peq       0       0       7       7       0       0       0       5       2
## PES.liv       0       1       7       8       0       0       0       6       2
## PES.med      10       4       0       0      14       0       8       0       6
## PES.pes       5       0       0       0       0       5       1       4       0
## VEL.alt       9       0       0       0       8       1       9       0       0
## VEL.len       4       1       5       6       0       4       0      10       0
## VEL.med       2       4       2       2       6       0       0       0       8
## INT.alt       4       1       1       1       4       1       3       1       2
## INT.baj       5       0       3       3       3       2       3       4       1
## INT.med       6       4       3       4       7       2       3       5       5
## AFE.alt       3       5       6       7       7       0       3       5       6
## AFE.baj      12       0       1       1       7       5       6       5       2
## AGR.alt       9       2       2       3       6       4       5       5       3
## AGR.baj       6       3       5       5       8       1       4       5       5
##         INT.alt INT.baj INT.med AFE.alt AFE.baj AGR.alt AGR.baj
## TAM.gra       4       5       6       3      12       9       6
## TAM.med       1       0       4       5       0       2       3
## TAM.peq       1       3       3       6       1       2       5
## PES.liv       1       3       4       7       1       3       5
## PES.med       4       3       7       7       7       6       8
## PES.pes       1       2       2       0       5       4       1
## VEL.alt       3       3       3       3       6       5       4
## VEL.len       1       4       5       5       5       5       5
## VEL.med       2       1       5       6       2       3       5
## INT.alt       6       0       0       3       3       3       3
## INT.baj       0       8       0       2       6       5       3
## INT.med       0       0      13       9       4       5       8
## AFE.alt       3       2       9      14       0       5       9
## AFE.baj       3       6       4       0      13       8       5
## AGR.alt       3       5       5       5       8      13       0
## AGR.baj       3       3       8       9       5       0      14
t(as.matrix(p.disj))%*%as.matrix(p.disj)
##         TAM.gra TAM.med TAM.peq PES.liv PES.med PES.pes VEL.alt VEL.len VEL.med
## TAM.gra      15       0       0       0      10       5       9       4       2
## TAM.med       0       5       0       1       4       0       0       1       4
## TAM.peq       0       0       7       7       0       0       0       5       2
## PES.liv       0       1       7       8       0       0       0       6       2
## PES.med      10       4       0       0      14       0       8       0       6
## PES.pes       5       0       0       0       0       5       1       4       0
## VEL.alt       9       0       0       0       8       1       9       0       0
## VEL.len       4       1       5       6       0       4       0      10       0
## VEL.med       2       4       2       2       6       0       0       0       8
## INT.alt       4       1       1       1       4       1       3       1       2
## INT.baj       5       0       3       3       3       2       3       4       1
## INT.med       6       4       3       4       7       2       3       5       5
## AFE.alt       3       5       6       7       7       0       3       5       6
## AFE.baj      12       0       1       1       7       5       6       5       2
## AGR.alt       9       2       2       3       6       4       5       5       3
## AGR.baj       6       3       5       5       8       1       4       5       5
##         INT.alt INT.baj INT.med AFE.alt AFE.baj AGR.alt AGR.baj
## TAM.gra       4       5       6       3      12       9       6
## TAM.med       1       0       4       5       0       2       3
## TAM.peq       1       3       3       6       1       2       5
## PES.liv       1       3       4       7       1       3       5
## PES.med       4       3       7       7       7       6       8
## PES.pes       1       2       2       0       5       4       1
## VEL.alt       3       3       3       3       6       5       4
## VEL.len       1       4       5       5       5       5       5
## VEL.med       2       1       5       6       2       3       5
## INT.alt       6       0       0       3       3       3       3
## INT.baj       0       8       0       2       6       5       3
## INT.med       0       0      13       9       4       5       8
## AFE.alt       3       2       9      14       0       5       9
## AFE.baj       3       6       4       0      13       8       5
## AGR.alt       3       5       5       5       8      13       0
## AGR.baj       3       3       8       9       5       0      14
## ACM en ade4
##  ACM el numero de ejes es p-s = 16-6=10(categorias - variables cualitativas)
##  ACS el numero de ejes es ? ( ?)

p.acm<-dudi.acm(perros$tab,scannf=FALSE,nf=10)
p.acm
## Duality diagramm
## class: acm dudi
## $call: dudi.acm(df = perros$tab, scannf = FALSE, nf = 10)
## 
## $nf: 10 axis-components saved
## $rank: 10
## eigen values: 0.4816 0.3847 0.211 0.1576 0.1501 ...
##   vector length mode    content       
## 1 $cw    16     numeric column weights
## 2 $lw    27     numeric row weights   
## 3 $eig   10     numeric eigen values  
## 
##   data.frame nrow ncol content             
## 1 $tab       27   16   modified array      
## 2 $li        27   10   row coordinates     
## 3 $l1        27   10   row normed scores   
## 4 $co        16   10   column coordinates  
## 5 $c1        16   10   column normed scores
## other elements: cr

nube de individuos

# nube de individuos eje 1 y eje2
s.label(p.acm$li,1,2)

# nube de individuos eje 1 y eje2
s.label(p.acm$li,1,3)

# fox y cock presentan caracteristicas similares

nube de variables

#nube de variables eje 1 y eje2
s.label(p.acm$co,1,2)

#nube de variables eje 1 y eje3
s.label(p.acm$co,1,3)

Observamos que tamaño pequeño se asocia con peso liviano, afectividad alta con agresividad baja e inteligencia media, agresividiad alta con tamaño grande y afectividad baja

Representacion simultanea

## Funciones gráficas de ade4

biplot(p.acm)
scatter(p.acm)

boxplot(p.acm) 

## Utilizando Factoextra



fviz_mca_biplot(p.acm, repel = TRUE)

### Representacion simultanea

s.label(p.acm$li,box=FALSE)

s.label(p.acm$co,add.plot=TRUE)

El porcentaje de varianza en el eje1 y eje 2 es del 52%, es mucho mas bajo que en los ACP, se debe analizar el tercer eje para aumentar el porcentaje de esa varianza

Contribuciones

fviz_contrib ( p.acm, choice="ind", axes=c(1,2)) ##indivicuos

Contribuciones

fviz_contrib ( p.acm, choice="var", axes=c(1,2) ) ##variables

Representacion simultanea

Utilizando Factoextra

fviz_mca_biplot(p.acm, axes=c(1,3))

Los valores excentricos son los que estan mas alejados del centro de gravedad, van a tener

preguntas:

Cuantos ejes se generan en el ACM? rta: p-s = 16 - 6 = 10 (categorias - variables cualitativas)

Que relacion existe entre inercia total, numero de modalidades, numero de vaiables cualititvas? rta: I = (p/s)-1 = 16/6-1 = 1.6666 suma de valores propios

p=ncol(p.disj) #categorias del conjunto  (#modal)
s=s=ncol(perros$tab)  ## #preguntas/columnas en este caso 6
It = (p/s)-1
It
## [1] 1.666667
##suma de valores propios = I
sum(p.acm$eig)
## [1] 1.666667

Que similutudes existen entre razas de perros? rta: ej pekines con chiguaga en terminos de tamaño pequeño y peso liviano

con base en la nube de individuos cuales son los valores excentricos? rta. los mas alejados del centro de gravedad, implica mayor inercia en el analisis

con base en la nube de variables cuales son las mas asociadas

Variable edad como suplementaria

DATOS FALTANTES

library(missMDA)
## Warning: package 'missMDA' was built under R version 3.6.3
data= perros$tab
data
##      TAM PES VEL INT AFE AGR
## bass peq liv len baj baj alt
## beau gra med alt med alt alt
## boxe med med med med alt alt
## buld peq liv len med alt baj
## bulm gra pes len alt baj alt
## cani peq liv med alt alt baj
## chih peq liv len baj alt baj
## cock med liv len med alt alt
## coll gra med alt med alt baj
## dalm med med med med alt baj
## dobe gra med alt alt baj alt
## dogo gra pes alt baj baj alt
## foxh gra med alt baj baj alt
## foxt peq liv med med alt alt
## galg gra med alt baj baj baj
## gasc gra med med baj baj alt
## labr med med med med alt baj
## masa gra med alt alt alt alt
## mast gra pes len baj baj alt
## peki peq liv len baj alt baj
## podb med med med alt alt baj
## podf gra med med med baj baj
## poin gra med alt alt baj baj
## sett gra med alt med baj baj
## stbe gra pes len med baj alt
## teck peq liv len med alt baj
## tern gra pes len med baj baj
data[20,3]=NA ##INGRESAMOS NA en fila 20 columna 3
data[15,5]=NA ##INGRESAMOS NA en fila 15 columna 5
data[10,5]=NA ##INGRESAMOS NA en fila 10 columna 5
data[5,1]=NA ##INGRESAMOS NA en fila 5 columna 1
data[8,2]=NA ##INGRESAMOS NA en fila 8 columna 2
data
##       TAM  PES  VEL INT  AFE AGR
## bass  peq  liv  len baj  baj alt
## beau  gra  med  alt med  alt alt
## boxe  med  med  med med  alt alt
## buld  peq  liv  len med  alt baj
## bulm <NA>  pes  len alt  baj alt
## cani  peq  liv  med alt  alt baj
## chih  peq  liv  len baj  alt baj
## cock  med <NA>  len med  alt alt
## coll  gra  med  alt med  alt baj
## dalm  med  med  med med <NA> baj
## dobe  gra  med  alt alt  baj alt
## dogo  gra  pes  alt baj  baj alt
## foxh  gra  med  alt baj  baj alt
## foxt  peq  liv  med med  alt alt
## galg  gra  med  alt baj <NA> baj
## gasc  gra  med  med baj  baj alt
## labr  med  med  med med  alt baj
## masa  gra  med  alt alt  alt alt
## mast  gra  pes  len baj  baj alt
## peki  peq  liv <NA> baj  alt baj
## podb  med  med  med alt  alt baj
## podf  gra  med  med med  baj baj
## poin  gra  med  alt alt  baj baj
## sett  gra  med  alt med  baj baj
## stbe  gra  pes  len med  baj alt
## teck  peq  liv  len med  alt baj
## tern  gra  pes  len med  baj baj
#METODO: Imputacion de datos ACM ITERATIVO regularizado
imputacion = imputeMCA(data)
imputacion
## $tab.disj
##           gra        med       peq       liv       med       pes       alt
## bass 0.000000  0.0000000 1.0000000 1.0000000 0.0000000 0.0000000  0.000000
## beau 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  1.000000
## boxe 0.000000  1.0000000 0.0000000 0.0000000 1.0000000 0.0000000  0.000000
## buld 0.000000  0.0000000 1.0000000 1.0000000 0.0000000 0.0000000  0.000000
## bulm 0.929281 -0.1480565 0.2187756 0.0000000 0.0000000 1.0000000  0.000000
## cani 0.000000  0.0000000 1.0000000 1.0000000 0.0000000 0.0000000  0.000000
## chih 0.000000  0.0000000 1.0000000 1.0000000 0.0000000 0.0000000  0.000000
## cock 0.000000  1.0000000 0.0000000 0.3902081 0.5798916 0.0299003  0.000000
## coll 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  1.000000
## dalm 0.000000  1.0000000 0.0000000 0.0000000 1.0000000 0.0000000  0.000000
## dobe 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  1.000000
## dogo 1.000000  0.0000000 0.0000000 0.0000000 0.0000000 1.0000000  1.000000
## foxh 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  1.000000
## foxt 0.000000  0.0000000 1.0000000 1.0000000 0.0000000 0.0000000  0.000000
## galg 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  1.000000
## gasc 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  0.000000
## labr 0.000000  1.0000000 0.0000000 0.0000000 1.0000000 0.0000000  0.000000
## masa 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  1.000000
## mast 1.000000  0.0000000 0.0000000 0.0000000 0.0000000 1.0000000  0.000000
## peki 0.000000  0.0000000 1.0000000 1.0000000 0.0000000 0.0000000 -0.106087
## podb 0.000000  1.0000000 0.0000000 0.0000000 1.0000000 0.0000000  0.000000
## podf 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  0.000000
## poin 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  1.000000
## sett 1.000000  0.0000000 0.0000000 0.0000000 1.0000000 0.0000000  1.000000
## stbe 1.000000  0.0000000 0.0000000 0.0000000 0.0000000 1.0000000  0.000000
## teck 0.000000  0.0000000 1.0000000 1.0000000 0.0000000 0.0000000  0.000000
## tern 1.000000  0.0000000 0.0000000 0.0000000 0.0000000 1.0000000  0.000000
##            len       med alt baj med       alt          baj alt baj
## bass 1.0000000 0.0000000   0   1   0 0.0000000 1.0000000000   1   0
## beau 0.0000000 0.0000000   0   0   1 1.0000000 0.0000000000   1   0
## boxe 0.0000000 1.0000000   0   0   1 1.0000000 0.0000000000   1   0
## buld 1.0000000 0.0000000   0   0   1 1.0000000 0.0000000000   0   1
## bulm 1.0000000 0.0000000   1   0   0 0.0000000 1.0000000000   1   0
## cani 0.0000000 1.0000000   1   0   0 1.0000000 0.0000000000   0   1
## chih 1.0000000 0.0000000   0   1   0 1.0000000 0.0000000000   0   1
## cock 1.0000000 0.0000000   0   0   1 1.0000000 0.0000000000   1   0
## coll 0.0000000 0.0000000   0   0   1 1.0000000 0.0000000000   0   1
## dalm 0.0000000 1.0000000   0   0   1 0.9995927 0.0004072631   0   1
## dobe 0.0000000 0.0000000   1   0   0 0.0000000 1.0000000000   1   0
## dogo 0.0000000 0.0000000   0   1   0 0.0000000 1.0000000000   1   0
## foxh 0.0000000 0.0000000   0   1   0 0.0000000 1.0000000000   1   0
## foxt 0.0000000 1.0000000   0   0   1 1.0000000 0.0000000000   1   0
## galg 0.0000000 0.0000000   0   1   0 0.3140430 0.6859569605   0   1
## gasc 0.0000000 1.0000000   0   1   0 0.0000000 1.0000000000   1   0
## labr 0.0000000 1.0000000   0   0   1 1.0000000 0.0000000000   0   1
## masa 0.0000000 0.0000000   1   0   0 1.0000000 0.0000000000   1   0
## mast 1.0000000 0.0000000   0   1   0 0.0000000 1.0000000000   1   0
## peki 0.8013401 0.3047469   0   1   0 1.0000000 0.0000000000   0   1
## podb 0.0000000 1.0000000   1   0   0 1.0000000 0.0000000000   0   1
## podf 0.0000000 1.0000000   0   0   1 0.0000000 1.0000000000   0   1
## poin 0.0000000 0.0000000   1   0   0 0.0000000 1.0000000000   0   1
## sett 0.0000000 0.0000000   0   0   1 0.0000000 1.0000000000   0   1
## stbe 1.0000000 0.0000000   0   0   1 0.0000000 1.0000000000   1   0
## teck 1.0000000 0.0000000   0   0   1 1.0000000 0.0000000000   0   1
## tern 1.0000000 0.0000000   0   0   1 0.0000000 1.0000000000   0   1
## 
## $completeObs
##      TAM PES VEL INT AFE AGR
## bass peq liv len baj baj alt
## beau gra med alt med alt alt
## boxe med med med med alt alt
## buld peq liv len med alt baj
## bulm gra pes len alt baj alt
## cani peq liv med alt alt baj
## chih peq liv len baj alt baj
## cock med med len med alt alt
## coll gra med alt med alt baj
## dalm med med med med alt baj
## dobe gra med alt alt baj alt
## dogo gra pes alt baj baj alt
## foxh gra med alt baj baj alt
## foxt peq liv med med alt alt
## galg gra med alt baj baj baj
## gasc gra med med baj baj alt
## labr med med med med alt baj
## masa gra med alt alt alt alt
## mast gra pes len baj baj alt
## peki peq liv len baj alt baj
## podb med med med alt alt baj
## podf gra med med med baj baj
## poin gra med alt alt baj baj
## sett gra med alt med baj baj
## stbe gra pes len med baj alt
## teck peq liv len med alt baj
## tern gra pes len med baj baj
##el metodo entrega la matriz completa, y se trabaja sobre este

CLUSTER SOBRE ACM

coordenadas de los individuos

cluster= kmeans( p.acm$li, centers=3) 
cluster
## K-means clustering with 3 clusters of sizes 15, 7, 5
## 
## Cluster means:
##        Axis1       Axis2       Axis3       Axis4        Axis5        Axis6
## 1  0.5806347 -0.01276424 -0.02352403 -0.06756625 -0.043653500  0.017544318
## 2 -0.8223338  0.57306708 -0.28292699  0.04769093  0.007735248 -0.007924846
## 3 -0.5906368 -0.76400119  0.46666988  0.13593146  0.120131153 -0.041538169
##         Axis7       Axis8       Axis9       Axis10
## 1 -0.03363461 -0.01205595 -0.02219153  0.010674994
## 2 -0.10290760 -0.01379273  0.01387217 -0.021920953
## 3  0.24497448  0.05547766  0.04715356 -0.001335647
## 
## Clustering vector:
## bass beau boxe buld bulm cani chih cock coll dalm dobe dogo foxh foxt galg gasc 
##    2    1    3    2    1    2    2    3    1    3    1    1    1    2    1    1 
## labr masa mast peki podb podf poin sett stbe teck tern 
##    3    1    1    2    3    1    1    1    1    2    1 
## 
## Within cluster sum of squares by cluster:
## [1] 17.493077  5.172881  3.195165
##  (between_SS / total_SS =  42.5 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
fviz_cluster(cluster, p.acm$li)

Se estudiaran tres algoritmos para realizar clusters 1.no jerarquicos 2. jerarquicos 3. mixto

) p.acm

16/6 -1

Escuela de Estadistica

ACM. Ejemplo perros

library(ade4)

read.table(“perros.txt”,header=T,sep="“,row.names=1)->perrosi library(readr) perros <- read.table(”E:/Personal/especializacion/multivariados/acm/Ejemplo perros-20200430/perros.txt“, row.names=1, sep=”", header=T) perros perrosi = perros fix(perrosi)

n<-nrow(perrosi)

perros<-list(tab=perrosi[,1:6],funcion=perrosi[,7])

s<-ncol(perros$tab)

p.disj<-acm.disjonctif(perros\(tab) ## Tabla disjuntiva completa p.disj p<-ncol(p.disj) #categorias del conjunto (#modal) p #16 categoris p.burt<-acm.burt(perros\)tab,perros$tab) ## Tabla de Burt Z’Z p.burt t(as.matrix(p.disj))%*%as.matrix(p.disj)

ACM en ade4

ACM el numero de ejes es p-s = 16-6=10(categorias - variables cualitativas)

ACS el numero de ejes es ? ( ?)

p.acm<-dudi.acm(perros$tab,scannf=FALSE,nf=10) p.acm

s.label(p.acm\(li,1,2) s.label(p.acm\)li,1,3)

Inercia

(p/s)-1

p=
s=
It = (p/s)-1
s=ncol(perros$tab) ## #preguntas/columnas en este caso 6
s
## [1] 6
p.disj<-acm.disjonctif(perros$tab) ## Tabla disjuntiva completa
K=as.matrix(p.disj)
addmargins(K)
##      TAM.gra TAM.med TAM.peq PES.liv PES.med PES.pes VEL.alt VEL.len VEL.med
## bass       0       0       1       1       0       0       0       1       0
## beau       1       0       0       0       1       0       1       0       0
## boxe       0       1       0       0       1       0       0       0       1
## buld       0       0       1       1       0       0       0       1       0
## bulm       1       0       0       0       0       1       0       1       0
## cani       0       0       1       1       0       0       0       0       1
## chih       0       0       1       1       0       0       0       1       0
## cock       0       1       0       1       0       0       0       1       0
## coll       1       0       0       0       1       0       1       0       0
## dalm       0       1       0       0       1       0       0       0       1
## dobe       1       0       0       0       1       0       1       0       0
## dogo       1       0       0       0       0       1       1       0       0
## foxh       1       0       0       0       1       0       1       0       0
## foxt       0       0       1       1       0       0       0       0       1
## galg       1       0       0       0       1       0       1       0       0
## gasc       1       0       0       0       1       0       0       0       1
## labr       0       1       0       0       1       0       0       0       1
## masa       1       0       0       0       1       0       1       0       0
## mast       1       0       0       0       0       1       0       1       0
## peki       0       0       1       1       0       0       0       1       0
## podb       0       1       0       0       1       0       0       0       1
## podf       1       0       0       0       1       0       0       0       1
## poin       1       0       0       0       1       0       1       0       0
## sett       1       0       0       0       1       0       1       0       0
## stbe       1       0       0       0       0       1       0       1       0
## teck       0       0       1       1       0       0       0       1       0
## tern       1       0       0       0       0       1       0       1       0
## Sum       15       5       7       8      14       5       9      10       8
##      INT.alt INT.baj INT.med AFE.alt AFE.baj AGR.alt AGR.baj Sum
## bass       0       1       0       0       1       1       0   6
## beau       0       0       1       1       0       1       0   6
## boxe       0       0       1       1       0       1       0   6
## buld       0       0       1       1       0       0       1   6
## bulm       1       0       0       0       1       1       0   6
## cani       1       0       0       1       0       0       1   6
## chih       0       1       0       1       0       0       1   6
## cock       0       0       1       1       0       1       0   6
## coll       0       0       1       1       0       0       1   6
## dalm       0       0       1       1       0       0       1   6
## dobe       1       0       0       0       1       1       0   6
## dogo       0       1       0       0       1       1       0   6
## foxh       0       1       0       0       1       1       0   6
## foxt       0       0       1       1       0       1       0   6
## galg       0       1       0       0       1       0       1   6
## gasc       0       1       0       0       1       1       0   6
## labr       0       0       1       1       0       0       1   6
## masa       1       0       0       1       0       1       0   6
## mast       0       1       0       0       1       1       0   6
## peki       0       1       0       1       0       0       1   6
## podb       1       0       0       1       0       0       1   6
## podf       0       0       1       0       1       0       1   6
## poin       1       0       0       0       1       0       1   6
## sett       0       0       1       0       1       0       1   6
## stbe       0       0       1       0       1       1       0   6
## teck       0       0       1       1       0       0       1   6
## tern       0       0       1       0       1       0       1   6
## Sum        6       8      13      14      13      13      14 162
p=ncol(p.disj) #categorias del conjunto  (#modal)
p
## [1] 16

L<-p.acm$eig sum(L) ## Inercia Total

Fi<-p.acm$li ## Coordenadas de los individuos

s.label(Fi) ## Plano factorial de los individuos

dim(Fi)

G <-p.acm$co ## Coordenadas de las modalidades

s.label(G) ## Plano factorial de las modalidades

dim(G)

Funciones gráficas de ade4

biplot(p.acm) scatter(p.acm) boxplot(p.acm)

Utilizando Factoextra

library(factoextra)

fviz_mca_biplot(p.acm)

Representacion simultanea

s.label(p.acm$li,box=FALSE)

s.label(p.acm$co,add.plot=TRUE)

Cosenos y Contribucciones

Iner <- inertia.dudi(p.acm, row.inertia = TRUE, col.inertia = TRUE)

Iner\(col.abs/10000 Iner\)row.abs/10000

ACM paso a paso

k <- n*s

F<-as.matrix(p.disj/k) fi.<-rowSums(F) f.j<-colSums(F) F/fi.->Pf F/f.j->Pc

Mn<-diag(1/fi.) Mp<-diag(1/f.j) Mn1.2<-diag(sqrt(1/fi.)) Mp1.2<-diag(sqrt(1/f.j))

So<- Mn1.2%%F%%Mp1.2 ## Z – ACP S.<- t(So)%%So ## S – eigen

colnames(So)<-colnames(p.disj) rownames(So)<-rownames(p.disj) So

acmVIAacp<-dudi.pca(So,row.w = rep(1, nrow(So)),col.w = rep(1, ncol(So)), center = FALSE, scale = FALSE,scannf = FALSE,nf=10)

acmVIAacp\(eig ## Valores propios sum(p.acm\)eig)

T <- Mn1.2%%So%%as.matrix(acmVIAacp$c1) ### coordenadas para individuos

s.label(T,2,3)

cbind(T[,2:3],p.acm$li[,1:2]) ## Ok