Parte 1: PCA de wine

Los archivos .Rmd permiten integrar texto, código R y resultados en un mismo documento, lo que hace más fácil crear reportes claros, reproducibles y que se pueden actualizar fácilmente cuando cambian los datos.

##   Cultivar Alcohol Malic.acid  Ash Alcalinity.of.ash Magnesium Total.phenols
## 1        1   14.23       1.71 2.43              15.6       127          2.80
## 2        1   13.20       1.78 2.14              11.2       100          2.65
## 3        1   13.16       2.36 2.67              18.6       101          2.80
## 4        1   14.37       1.95 2.50              16.8       113          3.85
## 5        1   13.24       2.59 2.87              21.0       118          2.80
##   Flavanoids Nonflavanoid.phenols Proanthocyanins Color.intensity  Hue
## 1       3.06                 0.28            2.29            5.64 1.04
## 2       2.76                 0.26            1.28            4.38 1.05
## 3       3.24                 0.30            2.81            5.68 1.03
## 4       3.49                 0.24            2.18            7.80 0.86
## 5       2.69                 0.39            1.82            4.32 1.04
##   OD280.OD315.of.diluted.wines Proline
## 1                         3.92    1065
## 2                         3.40    1050
## 3                         3.17    1185
## 4                         3.45    1480
## 5                         2.93     735

El dataset contiene información sobre muestras de vino y sus características químicas.

## 'data.frame':    178 obs. of  14 variables:
##  $ Cultivar                    : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Alcohol                     : num  14.2 13.2 13.2 14.4 13.2 ...
##  $ Malic.acid                  : num  1.71 1.78 2.36 1.95 2.59 1.76 1.87 2.15 1.64 1.35 ...
##  $ Ash                         : num  2.43 2.14 2.67 2.5 2.87 2.45 2.45 2.61 2.17 2.27 ...
##  $ Alcalinity.of.ash           : num  15.6 11.2 18.6 16.8 21 15.2 14.6 17.6 14 16 ...
##  $ Magnesium                   : int  127 100 101 113 118 112 96 121 97 98 ...
##  $ Total.phenols               : num  2.8 2.65 2.8 3.85 2.8 3.27 2.5 2.6 2.8 2.98 ...
##  $ Flavanoids                  : num  3.06 2.76 3.24 3.49 2.69 3.39 2.52 2.51 2.98 3.15 ...
##  $ Nonflavanoid.phenols        : num  0.28 0.26 0.3 0.24 0.39 0.34 0.3 0.31 0.29 0.22 ...
##  $ Proanthocyanins             : num  2.29 1.28 2.81 2.18 1.82 1.97 1.98 1.25 1.98 1.85 ...
##  $ Color.intensity             : num  5.64 4.38 5.68 7.8 4.32 6.75 5.25 5.05 5.2 7.22 ...
##  $ Hue                         : num  1.04 1.05 1.03 0.86 1.04 1.05 1.02 1.06 1.08 1.01 ...
##  $ OD280.OD315.of.diluted.wines: num  3.92 3.4 3.17 3.45 2.93 2.85 3.58 3.58 2.85 3.55 ...
##  $ Proline                     : int  1065 1050 1185 1480 735 1450 1290 1295 1045 1045 ...

Aplicación de PCA

El análisis de componentes principales (PCA) ayuda a simplificar los datos reduciendo su dimensionalidad, pero conservando la mayor parte de la información. Esto permite identificar patrones, facilitar la visualización y eliminar variables redundantes.

##                      Alcohol                   Malic.acid 
##                            0                            0 
##                          Ash            Alcalinity.of.ash 
##                            0                            0 
##                    Magnesium                Total.phenols 
##                            0                            0 
##                   Flavanoids         Nonflavanoid.phenols 
##                            0                            0 
##              Proanthocyanins              Color.intensity 
##                            0                            0 
##                          Hue OD280.OD315.of.diluted.wines 
##                            0                            0 
##                      Proline 
##                            0

La función prcomp calcula la descomposición en componentes principales, generando autovalores, autovectores y scores.

## Importance of components:
##                          PC1    PC2    PC3     PC4     PC5     PC6     PC7
## Standard deviation     2.169 1.5802 1.2025 0.95863 0.92370 0.80103 0.74231
## Proportion of Variance 0.362 0.1921 0.1112 0.07069 0.06563 0.04936 0.04239
## Cumulative Proportion  0.362 0.5541 0.6653 0.73599 0.80162 0.85098 0.89337
##                            PC8     PC9   PC10    PC11    PC12    PC13
## Standard deviation     0.59034 0.53748 0.5009 0.47517 0.41082 0.32152
## Proportion of Variance 0.02681 0.02222 0.0193 0.01737 0.01298 0.00795
## Cumulative Proportion  0.92018 0.94240 0.9617 0.97907 0.99205 1.00000

La selección de componentes principales se basa en la varianza explicada. Normalmente, se eligen aquellas que suman al menos el 80% de la varianza.

Tabla de Varianza y Varianza Acumulada
Componente Varianza Varianza_Acumulada
CP1 0.3620 0.3620
CP2 0.1921 0.5541
CP3 0.1112 0.6653
CP4 0.0707 0.7360
CP5 0.0656 0.8016
CP6 0.0494 0.8510
CP7 0.0424 0.8934
CP8 0.0268 0.9202
CP9 0.0222 0.9424
CP10 0.0193 0.9617
CP11 0.0174 0.9791
CP12 0.0130 0.9920
CP13 0.0080 1.0000

Relación entre las variables originales y las Componentes Principales

Este gráfico permite visualizar cómo se relacionan las variables originales con las componentes principales seleccionadas. Las flechas más largas y alineadas con los ejes indican una mayor contribución a esas componentes.

Además, el valor cos² refleja qué tan bien está representada una variable u observación en el plano de las componentes principales. Cuanto más alto es el valor, mejor es la calidad de esa representación.

Parte 2: MDS de wine

El análisis de conglomerados (clustering) permite agrupar observaciones que comparten características similares, lo que ayuda a descubrir patrones ocultos y facilita la interpretación visual de los datos.

La función cmdscale() aplica el escalamiento multidimensional clásico (MDS), que convierte la matriz de distancias en coordenadas en dos dimensiones para poder visualizar de forma más sencilla la relación entre las observaciones.

Los widgets de Shiny hacen que el análisis sea interactivo y fácil de usar, ya que permiten al usuario ajustar parámetros sin tener que modificar el código. En este caso, el control deslizante (sliderInput) nos permite elegir la cantidad de clusters, y el gráfico se actualiza automáticamente según esa selección.

sliderInput("clusters", "Seleccione número de clusters:", min = 2, max = 6, value = 3)

Comentario Final

Este análisis evidencia cómo la combinación de PCA y MDS facilita la comprensión de un conjunto de datos complejo como el de vinos. El PCA ayudó a identificar las variables que más influyen en la variabilidad de los datos, mientras que el MDS permitió representar visualmente la relación entre las observaciones en un espacio reducido. Finalmente, al incorporar la técnica de clustering k-means y la interactividad que ofrece Shiny, fue posible explorar de manera dinámica distintos agrupamientos, enriqueciendo significativamente el análisis exploratorio.