Ejercicio: Entre a la ayuda de cada paquete, identifique para que sirven y comentelo en el código
library(dplyr)
library(FactoMineR)
library(factoextra)Ejercicio: Describa que se está haciendo en cada una de las lineas de código
library(readxl)
IMD <- read_excel("IMD.xlsx")
municipios=IMD$`Nombre de municipio`
IMD=IMD %>% select(-`Nombre de municipio`)
row.names(IMD)=municipios
# APSB=Recursos del SGP para financiar programas destinados al agua potable y saneamiento básico
# SPDAAA=Servicios Públicos Diferentes a Acueducto, Alcantarillado y Aseo
# PAD=Prevención y Atención de Desastres
# A_Grupos_Vulnerables=Atención a Grupos Vulnerables
#Página 22
#https://colaboracion.dnp.gov.co/CDT/Desarrollo%20Territorial/PDT/2020/Guia%20de%20Orientaciones%20Plan%20Indicativo.pdf
names(IMD)=c("Educacion","Salud","APSB","Deporte_Recreacion","Cultura","SPDAAA","Vivienda","Agropecuario","Transporte","Ambiental","PAD","PromociOn_Desarrollo","A_Grupos_Vulnerables","Equipamiento","Desarrollo_Comunitario","fortalecimiento_Institucional","Justicia_Seguridad")La función PCA del paquete FactoMineR realiza un analisis de componentes principales (ACP), en esta función reemplaza los valores que daltan por el promedio de la columna, por lo que podemos trabajar en presencia de datos incompletos.
res.pca <- PCA(IMD, graph = FALSE)Los componentes principales tienene asociado un porcentaje de variabza que explican de los datos, con la función fviz_eig del paquete factoextra podremos graficar dicho porcentaje.
fviz_eig(res.pca, addlabels = TRUE, ylim = c(0, 50),main = "")El círculo de correlaciones es un circulo unitario, en el cual deben tenerse en cuenta 3 interpretaciones:
La dirección de una flecha y su posición con respecto a las otras representa la correlación entre las variables, que dos variables apunten hacía el mismo lado significa que tienen una correlación positiva.
El largo de una flecha representa que tan bien están explicadas las variables en el primer plano factorial (que tan bien está siendo explicada una variable por el análisis).
El ángulo de una variable con un eje representa que tanto contribuye esa variable a la construcción del eje.
fviz_pca_var(res.pca, col.var = "black",repel = TRUE)Si el círculo de correlaciones nos permite ver el comportamiento de las variables, el plano factorial de individuos lo hace para las filas, acá hay dos conceptos interesantes a tener en cuenta:
Al igual que sucede con las variables, entre más cerca esté un individuo del eje y más alejado esté del centro más estará aportando a la construcción de dicho eje.
Los individuos alejados del centro y solitarios son llamados individuos excentricos o individuos atipicos.
fviz_pca_ind(res.pca)La representación simultanea es la suma de los dos gráficos anteriores, nos deja ver que los individuos que están en dirección a las flechas de las variables tienen valores elevados en dichas características.
fviz_pca_biplot(res.pca)Con el análisis de componentes principales en ciertos casos proporciona un factor tamaño, también lo podríamos llamar un índice, este factor tamaño se crea cuando todas las variables tienen una correlación igual, es decir, con el mismo signo.
En este ejemplo se cumplen las condiciones para la creación de este factor tamaño, el cual es la primera componente principal y puede ser estandarizada para su mejor interpretación.
Indice=(res.pca$ind$coord[,1] - min(res.pca$ind$coord[,1]))
Indice=Indice/max(Indice) El enfoque HCPC (Hierarchical Clustering on Principal Components) nos permite combinar los tres métodos estándar utilizados en los análisis de datos multivariados: 1. Principales métodos componentes (PCA, CA, MCA, FAMD, MFA), 2. Agrupación jerárquica y 3. Agrupación de particiones, en particular el método k-means. Describiremos POR QUÉ y CÓMO combinar los componentes principales y los métodos de agrupamiento. Finalmente, demostramos cómo calcular y visualizar el HCPC.
En el caso de que se disponga de un conjunto de datos multidimensional que contenga múltiples variables continuas, el análisis de componentes principales (PCA) puede utilizarse para reducir la dimensión de los datos a unas pocas variables continuas que contengan la información más importante de los datos. A continuación, se puede realizar un análisis de conglomerados en los resultados de PCA. El paso de PCA puede ser considerado como un paso de eliminación de ruido que puede conducir a una mayor estabilidad. agrupamiento. Esto puede ser muy útil si tiene un gran conjunto de datos con múltiples variables, como en los datos de expresión génica.
Para realizar el análisis de clustering en datos categóricos, el análisis de correspondencia (CA, para analizar la tabla de contingencia) y el análisis de correspondencia múltiple (MCA, para analizar variables categóricas multidimensionales) puede utilizarse para transformar variables categóricas en un conjunto de pocas variables continuas (los componentes principales). El grupo se puede aplicar entonces a los resultados de la (M)CA. En este caso, el método (M)CA puede considerarse como una etapa de pretratamiento que permite para computar la agrupación en datos categóricos.
Cuando se dispone de datos mixtos de variables continuas y categóricas, se puede realizar en primer lugar MFA (análisis factorial múltiple). A continuación, puede aplicar el análisis de conglomerados en los resultados del MFA.
El algoritmo del método HCPC, tal y como se implementa en el paquete FactoMiner puede se resumirán como sigue:
Calcular los métodos de los componentes principales: PCA, CA o MCA en función de las tipos de variables en el conjunto de datos y la estructura del conjunto de datos. En este paso, se puede seleccionar el número de dimensiones a retener en la salida especificando el argumento ncp. El valor por defecto es 5.
Calculo del clustering jerárquico: La agrupación jerárquica se realiza utilizando el criterio de Ward en los componentes principales seleccionados. El criterio de barrio se utiliza en la agrupación jerárquica porque se basa en la desviación multidimensional como análisis de componentes principales.
Seleccione el número de clusters en función del árbol jerárquico: Se realiza una partición inicial cortando el árbol jerárquico.
Realizar K-means clustering para mejorar la partición inicial obtenida del clustering jerárquico. La solución de partición final, obtenida tras la consolidación con k-means, puede ser (ligeramente) diferente de la obtenida con el método jerárquico agrupamiento.
res.hcpc <- HCPC(res.pca, graph = FALSE)fviz_dend(res.hcpc,
cex = 0.7, # Label size
palette = "jco", # Color palette see ?ggpubr::ggpar
rect = TRUE, rect_fill = TRUE, # Add rectangle around groups
rect_border = "jco", # Rectangle color
labels_track_height = 0.8 # Augment the room for labels
)fviz_cluster(res.hcpc,
repel = TRUE, # Avoid label overlapping
show.clust.cent = TRUE, # Show cluster centers
palette = "jco", # Color palette see ?ggpubr::ggpar
ggtheme = theme_minimal(),
main = "Factor map"
)res.hcpc$desc.var
Link between the cluster variable and the quantitative variables
================================================================
Eta2 P-value
A_Grupos_Vulnerables 0.6375593 2.541685e-09
Justicia_Seguridad 0.5560740 1.326036e-07
Agropecuario 0.5503675 1.701082e-07
PromociOn_Desarrollo 0.5273510 4.503029e-07
Desarrollo_Comunitario 0.4694122 4.293055e-06
Salud 0.4497854 8.717190e-06
APSB 0.4461367 9.916311e-06
Ambiental 0.4236372 2.155616e-05
fortalecimiento_Institucional 0.4233563 2.176190e-05
Educacion 0.4157701 2.807918e-05
Cultura 0.3658013 1.391214e-04
Transporte 0.3627568 1.527397e-04
PAD 0.3587914 1.723803e-04
Vivienda 0.3206087 5.325248e-04
Deporte_Recreacion 0.2057535 1.119769e-02
Description of each cluster by quantitative variables
=====================================================
$`1`
v.test Mean in category Overall mean
Equipamiento -2.176840 31.00000 65.75026
Vivienda -2.481345 22.76249 55.87055
Deporte_Recreacion -2.619721 63.68146 84.08518
Cultura -2.840718 54.48648 79.82474
Transporte -2.867875 44.69201 73.07738
A_Grupos_Vulnerables -3.277936 51.08596 77.39663
Salud -3.380574 68.04380 87.54009
APSB -3.419514 40.62121 72.92695
Ambiental -3.673536 31.49835 73.91381
PromociOn_Desarrollo -3.712148 29.71429 72.20500
Desarrollo_Comunitario -3.750327 24.00000 74.04887
fortalecimiento_Institucional -3.851816 39.38066 74.54155
sd in category Overall sd p.value
Equipamiento 36.66061 37.57574 2.949248e-02
Vivienda 11.10181 31.40672 1.308877e-02
Deporte_Recreacion 25.52739 18.33287 8.800180e-03
Cultura 19.77650 20.99543 4.501212e-03
Transporte 24.59176 23.29756 4.132393e-03
A_Grupos_Vulnerables 15.57096 18.89329 1.045689e-03
Salud 14.74516 13.57493 7.233467e-04
APSB 22.11604 22.23777 6.273308e-04
Ambiental 24.24570 27.17790 2.392168e-04
PromociOn_Desarrollo 18.77568 26.94293 2.055080e-04
Desarrollo_Comunitario 23.32381 31.41241 1.766041e-04
fortalecimiento_Institucional 20.19189 21.48673 1.172450e-04
[ reached getOption("max.print") -- omitted 3 rows ]
$`2`
v.test Mean in category Overall mean sd in category
A_Grupos_Vulnerables -2.936721 65.14220 77.39663 14.34750
PAD -3.664382 44.96393 67.17699 20.40914
Overall sd p.value
A_Grupos_Vulnerables 18.89329 0.003317022
PAD 27.44635 0.000247936
$`3`
v.test Mean in category Overall mean
A_Grupos_Vulnerables 4.914188 90.57557 77.39663
PromociOn_Desarrollo 4.062382 87.74126 72.20500
Salud 3.789217 94.84152 87.54009
Agropecuario 3.778715 90.00882 76.30609
APSB 3.732322 84.70820 72.92695
Justicia_Seguridad 3.675657 89.70384 77.65039
Desarrollo_Comunitario 3.598530 90.09415 74.04887
PAD 3.562421 81.05576 67.17699
Cultura 3.556191 90.42291 79.82474
Transporte 3.518055 84.71152 73.07738
Vivienda 3.421191 71.12235 55.87055
Ambiental 3.285919 86.59014 73.91381
sd in category Overall sd p.value
A_Grupos_Vulnerables 7.631696 18.89329 8.915108e-07
PromociOn_Desarrollo 17.384438 26.94293 4.857449e-05
Salud 8.183490 13.57493 1.511228e-04
Agropecuario 12.150271 25.54713 1.576396e-04
APSB 11.776078 22.23777 1.897230e-04
Justicia_Seguridad 12.460238 23.10232 2.372382e-04
Desarrollo_Comunitario 12.938186 31.41241 3.200209e-04
PAD 20.572714 27.44635 3.674500e-04
Cultura 13.842028 20.99543 3.762703e-04
Transporte 16.796906 23.29756 4.347217e-04
Vivienda 26.710070 31.40672 6.234744e-04
Ambiental 12.823108 27.17790 1.016503e-03
[ reached getOption("max.print") -- omitted 3 rows ]