Portada

UNIVERSIDAD DE EL SALVADOR
FACULTAD DE CIENCIAS ECONÓMICAS
ESCUELA DE ECONOMÍA
MÉTODOS PARA EL ANÁLISIS ECONÓMICO
CICLO II-2024

GT02

TEMA A INVESTIGAR:

“A33- Aplicación: Análisis de Clúster”

INTEGRANTES:

Nombre Cárne
Edwin Fabricio Aguirre Sarmieno AS19011
Gabriel Arturo Sánchez Henríquez SH22002
Diego Edgardo Siliezar Madrid SM21024
DOCENTE:

Carlos Ademir Pérez Alas

Ciudad Universitaria, San Salvador, 9 de diciembre del 2024.

Ejemplo 3.7:

El director de una cadena de electrodomesticos esta estudiando el plan de incentivos de sus vendedores. Considerando que los incentivos deben estar ajustados a las dificultades de las distintas zonas de ventas, siendo necesario fijar incentivos más altos en aquellas zonas geograficas que en las condiciones de vida de sus habitantes hacen más díficil las ventas. Por este motivo quiere determinar si las comunidades autonómas se pueden segmentar en grupos homogéneos respecto al equipamiento de los hogares. El objetivo es establecer cuantos grupos de comunidades autonómas con niveles de equipamiento similar pueden establecerse y en que radican las diferencias entre esos grupos. El procedimiento que aplicaremos es el descrito en el tema a saber:

1. Analisis de la existencia de outliers.

library(ggplot2)
library(readxl)
equipamiento <- read_excel("C:/Users/diego/Downloads/equipo_hogares.xlsx")

data_numeric <- equipamiento[, sapply(equipamiento, is.numeric)]
mean <- colMeans(data_numeric)
sx <- cov(data_numeric)
mahalanobis_d<- mahalanobis(data_numeric, mean, sx, inverted = FALSE)

pchisq(mahalanobis_d, df=5, lower.tail = FALSE)
##  [1] 0.99932945 0.06746905 0.85454961 0.52564847 0.33769930 0.05620131
##  [7] 0.16879339 0.81590731 0.62278680 0.74241544 0.75563905 0.14176229
## [13] 0.02123193 0.16496480 0.37899005 0.28193624 0.84496675 0.21250051
qchisq(.99, df=5)
## [1] 15.08627
print(mahalanobis_d)
##  [1]  0.1783477 10.2882028  1.9607451  4.1668780  5.6886824 10.7669616
##  [7]  7.7798461  2.2340183  3.5039713  2.7241954  2.6376353  8.2741025
## [13] 13.2398404  7.8453910  5.3120974  6.2577967  2.0300849  7.1112030

2. Distintos metodos de conglomeracion

Centroid

#Calculo de la distancia euclidea
matriz.euclidea<-dist(equipamiento, method = "euclidean",diag = TRUE)

#Distancia euclidea al cuadrado
matriz.euclidea_2<-(matriz.euclidea)^2

centroide<-hclust(matriz.euclidea_2, method = "centroid")
plot(centroide, labels=equipamiento$CC.AA.)

Single

vecino_mc<-hclust(matriz.euclidea_2, method = "single")
plot(vecino_mc, labels=equipamiento$CC.AA.)
## Warning: Unknown or uninitialised column: `CC.AA.`.

Complete

vecino_ml<-hclust(matriz.euclidea_2, method = "complete")
plot(vecino_ml, labels=equipamiento$CC.AA.)
## Warning: Unknown or uninitialised column: `CC.AA.`.

Average

vinculacion<-hclust(matriz.euclidea_2, method = "average")
plot(vinculacion, labels=equipamiento$CC.AA.)
## Warning: Unknown or uninitialised column: `CC.AA.`.

Wardn D2

ward<-hclust(matriz.euclidea_2, method = "ward.D2")
plot(ward, labels=equipamiento$CC.AA.)
## Warning: Unknown or uninitialised column: `CC.AA.`.

Al analizar los dendrogramas, se observa que los métodos “complete” y “Ward.2D” proporcionan la misma solución, mientras que los demás ofrecen soluciones similares, considerando todas las comunidades excepto Madrid. Esto sugiere que el número óptimo de grupos está entre 5 y 6, independientemente del método utilizado.

Centroides Resultantes del Método Jerarquico:

library(dplyr)
grupo_ward<-cutree(ward, k=2, h=NULL)
datos_J<-cbind(data_numeric, grupo_ward)
datos_J$id<-NULL

datos_J2<-round(aggregate(datos_J, list(grupo_ward), mean),2) %>% print()
##   Group.1 Automóvil TV color Vídeo Microondas Lavavajillas Teléfono grupo_ward
## 1       1     66.72    96.92 56.65      26.88        12.25     80.8          1
## 2       2     71.86    98.32 65.32      44.16        23.76     92.0          2

3. Centroides resultantes de un metodo no jerarquico

mediante el metodo k-medias para la obtención de una solución optima en terminos de homogeneidad intrasegmentos y heterogeneidad intersegmentos.

k.medias <- kmeans(data_numeric, 6) 
print(k.medias)
## K-means clustering with 6 clusters of sizes 5, 5, 3, 1, 2, 2
## 
## Cluster means:
##   Automóvil TV color Vídeo Microondas Lavavajillas Teléfono
## 1     70.86 97.96000 62.56      39.84     20.70000 89.78000
## 2     70.60 98.14000 68.20      25.58     10.56000 80.76000
## 3     65.00 94.53333 47.50      22.00     13.96667 86.33333
## 4     74.00 99.40000 76.20      53.90     32.30000 96.30000
## 5     61.00 97.30000 48.65      21.20      9.40000 70.00000
## 6     64.15 96.75000 46.65      40.45     14.40000 81.20000
## 
## Clustering vector:
##  [1] 1 2 1 3 2 2 6 3 5 1 2 5 3 4 2 1 1 6
## 
## Within cluster sum of squares by cluster:
## [1] 337.856 579.724 185.460   0.000  77.405  98.660
##  (between_SS / total_SS =  79.9 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"

Conclusión:

Se llevó a cabo un análisis empleando el enfoque no jerárquico (k-means) y se determinó que la mejor cantidad de clústeres para lograr una mayor homogeneidad es 6, ya que este número presenta el valor más alto del indicador R2 (78.8%).

Al comparar los resultados obtenidos con el método jerárquico y el no jerárquico, se observa que ambas metodologías coinciden en la solución propuesta.