Cargue de datos y paquetes

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")

Analisis de componentes principales

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)

Porcentaje de varianza explicada

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 = "")

Círculo de correlaciones

El círculo de correlaciones es un circulo unitario, en el cual deben tenerse en cuenta 3 interpretaciones:

  1. 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.

  2. 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).

  3. 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)

Plano Factorial individuos

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:

  1. 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.

  2. Los individuos alejados del centro y solitarios son llamados individuos excentricos o individuos atipicos.

fviz_pca_ind(res.pca)

Representación simultanea

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)

Creación de índices

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.

Índice

Indice=(res.pca$ind$coord[,1] - min(res.pca$ind$coord[,1]))
     Indice=Indice/max(Indice)   

HCPC (Hierarchical Clustering on Principal Components)

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.

Caso 1: Variables continuas

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.

Caso 2: Agrupación de datos categóricos

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.

Caso 3: Agrupamiento de datos mixtos

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.

Algoritmo del método HCPC

El algoritmo del método HCPC, tal y como se implementa en el paquete FactoMiner puede se resumirán como sigue:

  1. 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.

  2. 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.

  3. Seleccione el número de clusters en función del árbol jerárquico: Se realiza una partición inicial cortando el árbol jerárquico.

  4. 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.

Ejemplo

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 ]