Nota: Considerando la naturaleza de los datasets empleados para el proyecto de Descriptiva Multiviriada y las tematicas vistas durante este corte, se realizará un análisis de correspondecias multiples sobre el conjunto de datos utilizado durante el primer corte “Obesity” y se emplearan métodos multivariados como Ward para facilitar su interpretación.

1 Introducción

El presente documento tiene como objetivo realizar un análisis de correspondencias múltiples (ACM) sobre el conjunto de datos “Obesity”, el cual recopila diversas variables asociadas a los hábitos alimenticios y la condición física. Asimismo, se aplicará un procedimiento de clustering jerárquico ascendente utilizando el método de Ward, con el fin de identificar grupos de individuos con características similares en cuanto a sus patrones alimenticios y niveles de actividad física. La combinación del ACM y del clustering permitirá no solo reducir la dimensionalidad de los datos y visualizar relaciones entre categorías, sino también caracterizar de manera más precisa los perfiles de los individuos dentro de la población estudiada. Para el desarrollo del análisis se emplearon las librerías FactoMineR, factoextra y gridExtra. Cabe aclarar que, para el análisis de correspondecias multiples se omitieron algunas variables, debido a su naturaleza cuantitativa.

2 Análisis de correspondencias multiples

2.1 Descripción de Dimensiones

2.1.1 Primera Dimensión

Considerando los valoresde eta cuadrado, los cuales representan la proporción de inercia explicada por cada variable, se observa que la primera dimensión está definida principalmente por las variables IMC, consumo de comida rápida, frecuencia de consumo de vegetales y número de comidas diarias, lo cual indica una relación de la primera correspondecia con los hábitos alimenticios de los individuos.

kable(res.mca$var$eta2[, "Dim 1", drop = FALSE], caption = "Eta² - Dimensión 1")
Eta² - Dimensión 1
Dim 1
Sex 0.0372083
Overweight_Obese_Family 0.2595694
Consumption_of_Fast_Food 0.4095020
Frequency_of_Consuming_Vegetables 0.5014491
Number_of_Main_Meals_Daily 0.4357211
Food_Intake_Between_Meals 0.0262241
Smoking 0.1376905
Liquid_Intake_Daily 0.0055921
Calculation_of_Calorie_Intake 0.2276539
Physical_Excercise 0.3015087
Schedule_Dedicated_to_Technology 0.0518416
Type_of_Transportation_Used 0.2712370
Class 0.6531777

Teniendo en cuenta lo anterior y los valores de v.test, se evidencia que, mientras las categorías peso bajo y obesidad se encuentran hacia el lado derecho del plano factorial, las categorías peso normal y sobrepeso se ubican hacia el lado izquierdo. Asimismo, se observa quela variable consumo de comida rápida presenta una oposición marcada entre sus modalidades: quienes no consumen comida rápida se asocian fuertemente con los valores positivos de la dimensión, mientras que quienes sí consumen comida rápida se relacionan con los valores negativos. De forma similar, las categorías relacionadas con el número de comidas diarias muestran que el consumo de una o dos comidas al día se asocia negativamente con la primera dimensión, a diferencia del consumo de tres comidas diarias, que presenta una asociación positiva. En cuanto a la frecuencia de consumo de vegetales, los valores del v.test muestran una oposición marcada entre las categorías. La modalidad “Nunca” presenta un v.test altamente positivo en la primera dimensión. Por el contrario, la categoría “Siempre” exhibe un v.test negativo de gran magnitud, ubicándose claramente en el lado negativo de la dimensión.

kable(res.mca$var$v.test[, "Dim 1", drop = FALSE], caption = "v.test - Dimensión 1")
v.test - Dimensión 1
Dim 1
Mujer 7.7374526
Hombre -7.7374526
Overweight_Obese_Family_No 20.4364190
Overweight_Obese_Family_Yes -20.4364190
Consumption_of_Fast_Food_No 25.6688287
Consumption_of_Fast_Food_Yes -25.6688287
Frequency_of_Consuming_Vegetables_Never 27.0030503
Frequency_of_Consuming_Vegetables_Sometimes -6.1712971
Frequency_of_Consuming_Vegetables_Always -18.5765288
One -17.2706145
Two -1.5000013
Three 23.8344790
Food_Intake_Between_Meals_Never -2.1367841
Food_Intake_Between_Meals_Sometimes -1.7021020
Food_Intake_Between_Meals_Frequently -1.7588909
Food_Intake_Between_Meals_Always 6.4636771
Smoking_Yes 14.8843559
Smoking_No -14.8843559
Less than a liter 2.9518824
Between one and two liters -0.8073930
More than two liters -1.9499056
Calculation_of_Calorie_Intake_Yes 19.1388371
Calculation_of_Calorie_Intake_No -19.1388371
Physical_Excercise_Never -11.6329838
Physical_Excercise_Once or twice a week -7.9201535
Physical_Excercise_Three or four times a week -7.8611132
Physical_Excercise_Five times a week 6.5946328
Physical_Excercise_More than five 17.5542647
0 to 2 hours 8.9511962
3 to 5 hours -3.6374160
More than 5 hours -4.5971874
Automobile 19.5452704
Motorbike -0.6670949
Bike -11.1939663
Public transportation -11.4653730
Walking -3.6240975
Underweight -8.1009311
Normal weight -24.9816298
Overweight 7.8755109
Obesity 26.5689603

2.1.2 Segunda dimensión

Considerando los valores de eta cuadrado, los cuales representan la proporción de inercia explicada por cada variable, se observa que la segunda dimensión está definida principalmente por las variables IMC, actividad física, frecuencia de consumo de vegetales y número de comidas diarias, lo cual indica una relación de la segunda correspondecia con los hábitos alimenticios y deportivos de los individuos.

kable(res.mca$var$eta2[, "Dim 2", drop = FALSE], caption = "Eta² - Dimensión 2")
Eta² - Dimensión 2
Dim 2
Sex 0.0512801
Overweight_Obese_Family 0.0766561
Consumption_of_Fast_Food 0.0141746
Frequency_of_Consuming_Vegetables 0.2172016
Number_of_Main_Meals_Daily 0.2757058
Food_Intake_Between_Meals 0.1371527
Smoking 0.1252822
Liquid_Intake_Daily 0.0709142
Calculation_of_Calorie_Intake 0.0210662
Physical_Excercise 0.2288679
Schedule_Dedicated_to_Technology 0.0352345
Type_of_Transportation_Used 0.1324067
Class 0.5298752

Teniendo en cuenta lo anterior y los valores de v.test, se evidencia que, mientras las categorías peso bajo, normal y obesidad se encuentran hacia el lado positivo del plano factorial, la categoría sobrepeso se ubica hacia el lado negativo. Asimismo, se observa que la variable actividad física presenta una oposición entre sus modalidades: quienes no realizan actividad física, y aquellos que lo hacen más de cinco veces por semana se asocian fuertemente con los valores positivos de la dimensión, mientras que quienes lo hacen de una a cinco veces se relacionan con los valores negativos. De forma similar, las categorías relacionadas con el número de comidas diarias muestran que el consumo de una o tres comidas al día se asocia positivamente con la primera dimensión, a diferencia del consumo de dos comidas diarias, que presenta una asociación negativa. En cuanto a la frecuencia de consumo de vegetales, los valores del v.test muestran una oposición marcada entre las categorías. La modalidad “Never” y “Alway” presentan un v.test positivo en la primera dimensión. Por el contrario, la categoría “Sometimes” exhibe un v.test negativo.

kable(res.mca$var$v.test[, "Dim 2" , drop = FALSE], caption = "v.test - Dimensión 2")
v.test - Dimensión 2
Dim 2
Mujer -9.0834827
Hombre 9.0834827
Overweight_Obese_Family_No 11.1058392
Overweight_Obese_Family_Yes -11.1058392
Consumption_of_Fast_Food_No 4.7756588
Consumption_of_Fast_Food_Yes -4.7756588
Frequency_of_Consuming_Vegetables_Never 4.5595557
Frequency_of_Consuming_Vegetables_Sometimes -17.9238875
Frequency_of_Consuming_Vegetables_Always 14.9524350
One 14.4442443
Two -21.0379612
Three 11.1016066
Food_Intake_Between_Meals_Never 5.2229076
Food_Intake_Between_Meals_Sometimes -13.7355566
Food_Intake_Between_Meals_Frequently 10.1722905
Food_Intake_Between_Meals_Always -0.1285643
Smoking_Yes 14.1978562
Smoking_No -14.1978562
Less than a liter 8.2704012
Between one and two liters 2.4776640
More than two liters -10.0100377
Calculation_of_Calorie_Intake_Yes 5.8219895
Calculation_of_Calorie_Intake_No -5.8219895
Physical_Excercise_Never 17.3528587
Physical_Excercise_Once or twice a week -5.3127061
Physical_Excercise_Three or four times a week -3.3765458
Physical_Excercise_Five times a week -9.1296549
Physical_Excercise_More than five 3.4247384
0 to 2 hours -5.0719377
3 to 5 hours -1.6591021
More than 5 hours 6.9008291
Automobile -14.4684372
Motorbike 1.8466648
Bike 3.8347932
Public transportation 10.3770761
Walking 2.3951033
Underweight 16.1842548
Normal weight 10.5782742
Overweight -26.3727961
Obesity 10.8406096

2.1.3 Tercera dimensión

Considerando los valores de eta cuadrado, los cuales representan la proporción de inercia explicada por cada variable, se observa que la tercera dimensión está definida principalmente por las variables IMC, género y típo de transporte.Esto indica que la tercera correspondencia está asociada con ciertos perfiles vinculados al índice de masa corporal y con diferencias de comportamiento entre hombres y mujeres, particularmente en la forma en que se desplazan o en los medios de transporte que utilizan.

kable(res.mca$var$eta2[, "Dim 3", drop = FALSE], caption = "Eta² - Dimensión 3")
Eta² - Dimensión 3
Dim 3
Sex 0.3371148
Overweight_Obese_Family 0.0010577
Consumption_of_Fast_Food 0.0000895
Frequency_of_Consuming_Vegetables 0.0064002
Number_of_Main_Meals_Daily 0.0985878
Food_Intake_Between_Meals 0.0217951
Smoking 0.1311195
Liquid_Intake_Daily 0.0281608
Calculation_of_Calorie_Intake 0.0317073
Physical_Excercise 0.1331522
Schedule_Dedicated_to_Technology 0.1217619
Type_of_Transportation_Used 0.2039736
Class 0.3570054

Teniendo en cuenta lo anterior y los valores de v.test, se evidencia que, mientras las categorías de peso bajo y sobrepeso se encuentran hacia el lado derecho del plano factorial, las categorías peso normal y obesidad se ubican hacia el lado izquierdo. Asimismo, se observa que la variable género presenta una oposición entre sus modalidades: quienes son mujeres se asocian fuertemente con los valores positivos de la dimensión, mientras que quienes son hombres se relacionan con los valores negativos. De forma similar, las categorías relacionadas con el medio de transporte utilizado muestran que las modalidades “Automobile” y “Bike” se asocian negativamente con la tercera dimensión, a diferencia de las categorías “Motorbike”, “Public transportation” y “Walking”,las cuales presentan una asociación positiva.

kable(res.mca$var$v.test[, "Dim 3", drop = FALSE], caption = "v.test - Dimensión 3")
v.test - Dimensión 3
Dim 3
Mujer 23.2898624
Hombre -23.2898624
Overweight_Obese_Family_No 1.3045654
Overweight_Obese_Family_Yes -1.3045654
Consumption_of_Fast_Food_No 0.3794322
Consumption_of_Fast_Food_Yes -0.3794322
Frequency_of_Consuming_Vegetables_Never -0.1761486
Frequency_of_Consuming_Vegetables_Sometimes 2.8470606
Frequency_of_Consuming_Vegetables_Always -2.8863514
One 1.0889362
Two 7.9262035
Three -12.4059623
Food_Intake_Between_Meals_Never -3.8357558
Food_Intake_Between_Meals_Sometimes 4.3084244
Food_Intake_Between_Meals_Frequently 1.7892727
Food_Intake_Between_Meals_Always -3.3200297
Smoking_Yes 14.5248494
Smoking_No -14.5248494
Less than a liter 6.7304047
Between one and two liters -3.0346436
More than two liters -3.3006751
Calculation_of_Calorie_Intake_Yes -7.1426172
Calculation_of_Calorie_Intake_No 7.1426172
Physical_Excercise_Never 12.3863278
Physical_Excercise_Once or twice a week 1.7599755
Physical_Excercise_Three or four times a week -7.6457928
Physical_Excercise_Five times a week -6.1211852
Physical_Excercise_More than five 2.2211153
0 to 2 hours -7.4084314
3 to 5 hours 13.9782078
More than 5 hours -8.8605119
Automobile -4.4592700
Motorbike 10.4042372
Bike -14.2617821
Public transportation 5.7052388
Walking 2.4323866
Underweight 19.0745358
Normal weight -15.4417956
Overweight 10.7203360
Obesity -4.0408212

2.2 Análisis e interpretación de gráficas del MCA

2.2.1 Nube de puntos de categorías y nube de individuos

2.2.1.1 Dimensiones 1 y 2

En el primer cuadrante del plano se observa un conjunto de categorías que tienden a asociarse entre sí y que, en conjunto, representan patrones de estilo de vida saludables. En esta zona del gráfico se ubican modalides como la ausencia de consumo de comida rápida, La realización frecuente de actividad física y el cálculo de las calorías consumidas diariamente; sin embargo, también aparece la categoría correspondiente a no consumir vegetales, lo cual indica que, aunque predominan prácticas favorables para la salud, estas coexisten con al menos un hábito alimentario no saludable.

Por otro lado, en el segundo cuadrante se evidencia una estructura más compleja, conformada por tres núcleos diferenciados. En la zona superior del cuadrante se observa un grupo extremo caracterizado por bajo peso y ausencia total de actividad física. En la zona media aparece un núcleo claramente más saludable, compuesto por el uso de bicicleta, el peso normal, el consumo frecuente de vegetales y la realización de una sola comida al día, lo que configura un patrón más equilibrado. Finalmente, en la parte media-baja del cuadrante se agrupan categorías asociadas, que combinan movilidad cotidiana (caminar, transporte público o motocicleta) con un uso elevado de dispositivos tecnológicos.

En cuanto al tercer cuadrante, se agrupa un conjunto de categorías que configuran un perfil de estilo de vida saludable, donde coexisten prácticas saludables —como el ejercicio regular y la ausencia de consumo de tabaco con comportamientos que pueden comprometer la calidad de la dieta, entre ellos el consumo ocasional de comida rápida y el consumo irregular de vegetales. Por último, en el cuarto cuadrante se identifican categorías relacionadas con un uso mínimo de tecnología, la realización constante de actividad física y el uso predominante del automóvil como medio de transporte.

fviz_mca_var(res.mca, col.var = "purple", shape.var = 10, repel = TRUE,
             ggtheme = theme_grey())+labs(title = "                     Nube de puntos de Categorias")

Para complementar la interpretación de la nube de individuos, se implementó un procedimiento de clasificación basado en un clustering jerárquico ascendente (HCA), que permite agrupar a los individuos considerando ciertas similitudes. Específicamente, se empleó el método de Ward. El número de clústeres se definió a partir de la visualización del dendrograma generado mediante este método. Considerando lo anterior, se observó la existencia de tres grupos principales.

El cluster número uno (Color negro) está caracterizado principalmente por individuos que cuentan, en general, con hábitos alimimenticios y físicos saludables, correspondientes a una persona de un IMC normal. Sin embargo, se evidencia que los individiuos pertenecientes a este grupo pasan bastante tiempo frente a las pantallas, lo que podría indicar un estilo de vida parcialmente sedentario a pesar de mantener comportamientos saludables en alimentación y ejercicio. En menor medida, se observan individuos con un índice de masa corporal bajo que no realizan actividad física.

Por otro lado, el clúster número dos(Color rojo) está conformado principalmente por individuos que mantienen hábitos rigurosos tanto en alimentación como en actividad física. No obstante, se observan algunos comportamientos perjudiciales, como el consumo de tabaco.Además, en este grupo se identificaron algunos individuos con obesidad, lo que podría indicar que estas personas se encuentran bajo un régimen enfocado en la pérdida de peso.

Por último, el clúster número tres (Color verde) está constituido principalmente por individuos que, aunque se preocupan por su salud, no siguen un régimen riguroso. Asimismo, se evidencia un alto uso de tecnología. Cabe resaltar que la categoría “sobrepeso” no se relaciona de manera estrecha con las demás modalidades, lo que sugiere que este grupo presenta patrones de comportamiento distintos.

fviz_mca_ind(res.mca)

# ---------------------------------------------------
# 1. Extraer coordenadas de individuos del ACM (Dim 1 y Dim 2)
# ---------------------------------------------------
coords_ind <- res.mca$ind$coord[, 1:2]  # Solo las dos primeras dimensiones

# ---------------------------------------------------
# 2. Matriz de distancias y clustering con Ward
# ---------------------------------------------------
d_ind <- dist(coords_ind)
hc_ind <- hclust(d_ind, method = "ward.D2")

# ---------------------------------------------------
# 3. Cortar el dendrograma en k clusters
# ---------------------------------------------------
clusters_ind <- cutree(hc_ind, k = 3)

# ---------------------------------------------------
# 4. Crear gráfico usando plot() (sin ggplot)
# ---------------------------------------------------
plot(
  coords_ind,
  col = clusters_ind,
  pch = 19,
  xlab = "Dim 1",
  ylab = "Dim 2",
  main = "Clusters de individuos ACM"
)

# Opcional: añadir etiquetas de individuos
# text(coords_ind, labels = rownames(coords_ind), pos = 3, cex = 0.7)

# ---------------------------------------------------
# 5. Añadir una leyenda
# ---------------------------------------------------
legend(
  "topright",
  legend = paste("Cluster", 1:3),
  col = 1:3,
  pch = 19
)

2.2.2 Nube de puntos de categorías y nube de individuos

2.2.2.1 Dimensiones 1 y 3

En el primer cuadrante del plano se observa un conjunto de categorías que tienden a asociarse entre sí y que, en conjunto, representan patrones de estilo de vida saludables. En esta zona del gráfico se ubican modalidades como la ausencia de consumo de comida rápida y la realización frecuente de actividad física. Sin embargo, también aparece la categoría de consumo de tabaco, lo que indica que, aunque predominan prácticas favorables para la salud, estas coexisten con al menos un hábito no saludable. Asimismo, se evidencia una estrecha relación entre consumir menos de un litro de agua y presentar sobrepeso. Por otro lado, en el segundo cuadrante se evidencia una estructura compacta conformada por categorías que reflejan una baja preocupación por los hábitos alimenticios y de actividad física.

En cuanto al tercer cuadrante, se agrupa un cojunto de categoríasn que configuran un perfil que, aunque presenta un alto uso de tecnología, mantiene un estilo de vida saludable, con prácticas como el ejercicio regular y una dieta balanceada. Por último, en el cuarto cuadrante se identifican categorías relacionadas con un uso mínimo de tecnología, la realización constante de actividad física, el manejo de una dieta balanceada y el uso predominante del automóvil como medio de transporte.

fviz_mca_var(res.mca, 
             axes = c(1, 3),     # Dimensiones 1 y 3
             col.var = "purple", 
             shape.var = 10, 
             repel = TRUE,
             labelsize = 3,      # tamaño más pequeño para las etiquetas
             ggtheme = theme_grey()) +
  labs(title = "Nube de puntos de Categorías")

Para complementar la interpretación de la nube de individuos, se implementó un procedimiento de clasificación basado en un clustering jerárquico ascendente (HCA), que permite agrupar a los individuos considerando ciertas similitudes. Específicamente, se empleó el método de Ward. El número de clústeres se definió a partir de la visualización del dendrograma generado mediante este método. Considerando lo anterior, se observó la existencia de tres grupos principales.

El clúster número uno (Color negro) se caracteriza principalmente por individuos que presentan, en general, hábitos alimenticios y niveles de actividad física saludables, correspondientes a personas con un IMC normal. No obstante, se evidencia que los individuos pertenecientes a este grupo pasan bastante tiempo frente a las pantallas. Considerando los valores de v.test mencionados anteriormente, estas características tienden a predominar entre hombres.

Por otro lado, el clúster número dos (color rojo) está conformado principalmente por individuos que presentan hábitos poco rigurosos tanto en alimentación como en actividad física. Además, se observan comportamientos potencialmente perjudiciales, como un alto tiempo frente a pantallas, lo que podría indicar un estilo de vida sedentario.

Por último, el clúster número tres (color verde) está constituido principalmente por individuos que siguen un régimen riguroso tanto en alimentación como en actividad física. Asimismo, se evidencia un bajo uso de tecnología, lo que sugiere un estilo de vida saludable y activo. En menor medida, se observan individuos con obesidad preocupados por su salud.

fviz_mca_ind(res.mca, 
             axes = c(1, 3),  # Dimensión 1 en X y Dimensión 3 en Y
             repel = TRUE,    # evita que las etiquetas se sobrepongan
             col.ind = "blue", 
             ggtheme = theme_minimal()) +
  labs(title = "Nube de individuos ")

# ---------------------------------------------------
# 1. Extraer coordenadas de individuos del ACM (Dim 1 y Dim 3)
# ---------------------------------------------------
coords_ind <- res.mca$ind$coord[, c(1, 3)]  # Dim 1 en X, Dim 3 en Y

# ---------------------------------------------------
# 2. Matriz de distancias y clustering con Ward
# ---------------------------------------------------
d_ind <- dist(coords_ind)
hc_ind <- hclust(d_ind, method = "ward.D2")

# ---------------------------------------------------
# 3. Cortar el dendrograma en k clusters
# ---------------------------------------------------
clusters_ind <- cutree(hc_ind, k = 3)

# ---------------------------------------------------
# 4. Crear gráfico usando plot()
# ---------------------------------------------------
plot(
  coords_ind,
  col = clusters_ind,
  pch = 19,
  xlab = "Dim 1",
  ylab = "Dim 3",
  main = "Clusters de individuos ACM "
)

# Opcional: añadir etiquetas de individuos
# text(coords_ind, labels = rownames(coords_ind), pos = 3, cex = 0.7)

# ---------------------------------------------------
# 5. Añadir una leyenda
# ---------------------------------------------------
legend(
  "topright",
  legend = paste("Cluster", 1:3),
  col = 1:3,
  pch = 19
)

```