Objetivo

El objetivo es estudiar la relación calidad precio de 35 marcas de whisky, utilizando las variables precio (francos franceses), proporción de malta ( %), vejez (añejamiento en años) y apreciación (nota promedio de un panel de catadores redondeada a entero). Se dispone además de una variable categórica “categorías”, que clasifica las marcas según su contenido de malta (1=Bajo, 2=Estándar, 3=Puro malta).

Para obtener los datos use:

library(FactoClass)
data("Whisky")
head(Whisky)
##   price malt type aging taste
## 1    70   20  low   5.0     3
## 2    60   20  low   5.0     2
## 3    65   20  low   7.5     2
## 4    74   25  low  12.0     2
## 5    70   25  low  12.0     3
## 6    73   30  low   5.0     0
Y=Whisky[,-3]

Trabajo

Realice primero un ACP no normado y luego un ACP normado utilizando el software R y responda a las preguntas.

Para el ACP no normado utilice:

library(FactoMineR)
library(factoextra)
acpc <- PCA(Y, scale.unit = F)
## Warning: ggrepel: 20 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

get_eigenvalue(acpc)
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1 953.238889       84.4467052                    84.44671
## Dim.2 169.350357       15.0026188                    99.44932
## Dim.3   4.980882        0.4412525                    99.89058
## Dim.4   1.235178        0.1094234                   100.00000
fviz_eig(acpc, addlabels=T)

Pregunta 1

En el ACP no normado, analice la contribución de las variables a la inercia. ¿Realmente se puede considerar un análisis de las cuatro variables?

No es conveniente hacer el análisis debido a que las variables no están normalizadas y la matriz de varianzas y covarianzas de las variables no normadas muestra que la varianza acumulada esta cubierta en 99.4% por las variables price y malt dejando a un lado la importancia de las otras dos variables aging y taste, que no aportan a la variables no normada debido a su escala de valores tan pequeños.

Pregunta 2

Realice el ACP normado, justifique por qué es el que conviene para los objetivos de este taller.

acpn=PCA(Y)
## Warning: ggrepel: 7 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

get_eig(acpn)
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1  2.2332690        55.831725                    55.83172
## Dim.2  0.8064826        20.162065                    75.99379
## Dim.3  0.6295103        15.737758                    91.73155
## Dim.4  0.3307381         8.268451                   100.00000
get_eigenvalue(acpn)
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1  2.2332690        55.831725                    55.83172
## Dim.2  0.8064826        20.162065                    75.99379
## Dim.3  0.6295103        15.737758                    91.73155
## Dim.4  0.3307381         8.268451                   100.00000
  1. Seguramente dos son suficientes, pero se debe verificar si el tercer eje permite alguna descripción adicional al primer plano factorial.

Pregunta 3

¿Cuántos ejes retiene para el análisis? ¿Por qué?

get_eigenvalue(acpn)
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1  2.2332690        55.831725                    55.83172
## Dim.2  0.8064826        20.162065                    75.99379
## Dim.3  0.6295103        15.737758                    91.73155
## Dim.4  0.3307381         8.268451                   100.00000
fviz_eig(acpn,addlabels = T)

Por lo anterior, para hacer el analisis se eligen los 2 primeros ejes para un total acumulado 75.99%.

Pregunta 4

¿Cuál es la variable que más contribuye al primer eje? ¿Cuál es la que menos? (indique los porcentajes).

fviz_contrib(acpn, choice = "var", axes=1, addlabels=T)

get_pca_var(acpn)$contrib
##          Dim.1       Dim.2     Dim.3      Dim.4
## price 32.98278  6.83923015  3.085017 57.0929775
## malt  29.08912 13.53859727 17.211516 40.1607634
## aging 23.58356  0.04937816 73.749324  2.6177390
## taste 14.34454 79.57279442  5.954142  0.1285201

Pregunta 5

Según el círculo de correlaciones, ¿cuáles son las variables más correlacionadas? ¿Cuánto es la correlación? ¿Si corresponden a lo que se observa en la matriz de correlaciones?

fviz_pca_var(acpn, col.var = "red")

cor(Y)
##           price      malt     aging     taste
## price 1.0000000 0.6568555 0.4827850 0.3156480
## malt  0.6568555 1.0000000 0.3879767 0.2627287
## aging 0.4827850 0.3879767 1.0000000 0.2967513
## taste 0.3156480 0.2627287 0.2967513 1.0000000

Pregunta 6

¿Cuál es la variable mejor representada en el primer plano factorial? ¿Cuál la peor? (escriba los porcentajes).

get_pca_var(acpn)$contrib
##          Dim.1       Dim.2     Dim.3      Dim.4
## price 32.98278  6.83923015  3.085017 57.0929775
## malt  29.08912 13.53859727 17.211516 40.1607634
## aging 23.58356  0.04937816 73.749324  2.6177390
## taste 14.34454 79.57279442  5.954142  0.1285201
fviz_contrib(acpn, choice = 'var',axes = 1:2)

fviz_cos2(acpn, choice = "var", axes=1:2)

Pregunta 7

¿Qué representa el primer eje? ¿Qué nombre le asignaría? ¿Qué representa el segundo eje?

fviz_pca_biplot(acpn)

fviz_pca_biplot(acpn, col.ind = Whisky$type, addEllipses = T, repel = T, legend.title="Tipo")
## Warning: ggrepel: 4 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

Pregunta 8

¿Cuál es el individuo mejor representado en el primer plano factorial? Ubique sobre el gráfico de individuos al peor representado sobre el primer plano factorial (indique los porcentajes).

Revisemos los cosenos cuadrados para verificar esta información

fviz_cos2(acpn, choice = "ind", axes=1:2)

fviz_contrib(acpn, choice = 'ind',axes = 1:2)

get_pca_ind(acpn)$contrib
##           Dim.1        Dim.2        Dim.3        Dim.4
## 1   3.364301530 4.416160e+00  5.690576171  0.765867739
## 2   6.367478764 9.029230e-01  3.099057829  0.028825853
## 3   3.313206812 7.492540e-01  0.004310974  0.004710241
## 4   0.195485229 3.430150e-01  7.964098167  0.052766778
## 5   0.047039291 4.361699e+00  6.072472471  0.594267745
## 6   6.674079122 5.934565e+00  2.148711165  0.628431177
## 7   4.152905503 5.343742e+00  0.547095161  0.011133871
## 8   6.072775251 6.733800e-01  3.962603660  2.023635488
## 9   5.491416174 6.392573e+00  1.402243540  1.329051020
## 10  0.172835514 7.973388e+00 10.016817465  3.082533010
## 11  0.004179031 6.615177e-02  6.282707115  0.111209846
## 12  3.369804144 1.178840e+00  0.853066315  0.048247048
## 13  1.350541929 4.079309e+00  0.257960757  2.195638338
## 14  0.276971380 2.124141e+00  3.531395285  0.367294553
## 15  0.265007922 3.893237e-02  0.975943295  0.008206388
## 16  0.065030629 9.049045e+00  0.168241898  1.611067911
## 17  0.182025535 3.269880e-02  0.177115718  0.748368548
## 18  0.433767435 2.553472e-05  0.082500578  0.005188900
## 19  0.077245339 1.304997e-02  0.111160035  0.204640765
## 20  0.083499349 6.884709e+00  1.662117633  0.474817150
## 21  0.196798934 1.280747e-04  0.183913204  0.013016794
## 22  0.492817901 2.150228e+00  0.649272629  0.098466398
## 23  0.283800464 3.635863e-02  5.693964238  0.212023748
## 24  2.090328978 4.917824e-01  1.469417745  7.460384856
## 25  1.148357468 5.287180e-02  6.600232066  2.026234156
## 26  4.061846902 3.612664e+00  0.311262601  6.970085650
## 27  1.197390869 8.560550e-01  1.733461700  0.643400582
## 28  0.397305978 1.630173e+00  2.508593545  0.614617364
## 29  8.780181173 7.809684e-03 16.053973265  1.216559207
## 30 19.814526774 4.348624e+00  2.877103864 18.303040087
## 31  6.197597381 1.155118e+00  0.630709875 13.989775965
## 32  2.693992161 2.655251e+00  0.022669288 16.139892640
## 33  4.133469395 3.738514e-01  3.932413135  4.610067833
## 34  5.053879532 3.541008e-01  1.605165175  5.443971726
## 35  1.498110207 2.171738e+01  0.717652438  7.962560629
contrib =get_pca_ind(acpn)$contrib[,1]+ get_pca_ind(acpn)$contrib[,2]
which.max(contrib)
## 30 
## 30
contrib[30]
##       30 
## 24.16315
cos2=get_pca_ind(acpn)$cos2[,1]+ get_pca_ind(acpn)$cos2[,2]
which.max(cos2)
## 3 
## 3
which.min(cos2)
## 11 
## 11
cos2[3]
##         3 
## 0.9994666
cos2[11]
##         11 
## 0.01546017
fviz_contrib(acpn, choice = "ind", axes=1:2)

Pregunta 9

¿Qué características tienen las marcas de Whisky según sus ubicaciones en el plano? (a la derecha, a la izquierda, arriba, abajo)

fviz_pca_biplot(acpn,repel = T, col.ind = Whisky$type)
## Warning: ggrepel: 1 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

Pregunta 10

A partir de la posición en el plano deduzca las características de las tres categorías de whisky (lujo, estándar y pura malta).

-En la categoría Estandar, se caracteriza por estar relacionado con buenas calificaciones de apreciación; sin mebargo, posee muy poca relación con las caracteristicas de añejamiento, precio y contenido de malta.

Pregunta 11

Supongamos que usted desea comprar una botella de Whisky con buena apreciación y que no sea tan cara. Dé dos números de marcas que compraría. ¿Por qué? ?Cuáles son las características de las dos marcas?

Según la gráfica serían los Whiskys de marcas 16 y 20 por que estan en la parte de arriba del plano, mas alineados con el eje principal 2, que corresponde a una buena apreciación y sus coordenadas en el eje principal 1 estan muy cercanas al origen, lo que corresponde a un precio medio. Ademas, se ve que la marca 16 tiene mejor añejamiento que la 20. Todo esto se corrobora con las coordenadas de las dos marcas de mayor participación sobre el eje 2

order(acpn$ind$coord[,2],decreasing = T)
##  [1] 16 20  1  5 13 26 14 28 31  2 27  3  8 24  4 11 15 29 21 18 19 17 23 25 34
## [26] 33 12 22 32 30  7  6  9 10 35
head(Whisky[order(acpn$ind$coord[,2],decreasing = T),],10)
##    price malt type aging taste
## 16    73   40  med  10.5     4
## 20    87   40  med   8.5     4
## 1     70   20  low   5.0     3
## 5     70   25  low  12.0     3
## 13    62   33  med   8.0     3
## 26   113   45  med  12.0     4
## 14    87   33  med  12.0     3
## 28    82   45  med  12.0     3
## 31    90  100 pure  12.0     4
## 2     60   20  low   5.0     2
summary(Whisky)
##      price             malt         type        aging            taste      
##  Min.   : 55.00   Min.   : 20.0   low :11   Min.   : 5.000   Min.   :0.000  
##  1st Qu.: 73.00   1st Qu.: 30.0   med :17   1st Qu.: 8.000   1st Qu.:2.000  
##  Median : 83.00   Median : 40.0   pure: 7   Median :10.000   Median :2.000  
##  Mean   : 85.71   Mean   : 47.4             Mean   : 9.529   Mean   :2.229  
##  3rd Qu.: 91.50   3rd Qu.: 45.0             3rd Qu.:12.000   3rd Qu.:3.000  
##  Max.   :160.00   Max.   :100.0             Max.   :12.500   Max.   :4.000
Whisky$price
##  [1]  70  60  65  74  70  73  70  55  77  93  82  73  62  87  78  73  87  80  85
## [20]  87  80  83  90 110  87 113  96  82 127 160  90  86 100 100  95

Pregunta 12

Seleccione dos marcas que definitivamente no compraría. ¿Por qué? ¿Qué características tienen?

order(acpn$ind$coord[,2],decreasing = F)
##  [1] 35 10  9  6  7 30 32 22 12 33 34 25 23 17 19 18 21 29 15 11  4 24  8  3 27
## [26]  2 31 28 14 26 13  5  1 20 16
head(Whisky[order(acpn$ind$coord[,2],decreasing = F),])
##    price malt type aging taste
## 35    95  100 pure  12.0     0
## 10    93   30  low  12.0     0
## 9     77   30  low   5.5     0
## 6     73   30  low   5.0     0
## 7     70   30  low   8.0     0
## 30   160  100 pure  12.0     3

No se comprarían las marcas 35 y 10, porque tienen baja calificación en la apreciación y ademas el precio es relativamente alto.