INSTRUCCIONES

El siguiente taller busca afianzar sus conocimientos sobre visualización de un conjunto de datos multivariados.

Problema

Busque un conjunto de datos multivariados relacionados con un área de conocimiento de su dominio que tenga al menos 50 observaciones, 5 variables numéricas y 3 categóricas.

Usando esta base e datos:

  1. Encuentre el vector de medias \(\overline{x}\), la matriz de covarianzas \(\textbf{S}\) y la matriz de correlaciones \(\textbf{R}\) de las variables numéricas, Interprete los resultados.

Primero debemos conoce los datos que vamos a usar, por lo tanto:

Variable Descripción
Alcohol Contenido de alcohol absoluto en 100cc en %
Malic acid Acidificante para corregir la acidez en g/l
Ash Se determina mediante la destrucción de la materia orgánica presente en la muestra por calcinación y determinación gravimétrica del residuo. Se expresa en porcentaje g/100g de muestra
Alcalinity of ash Es la suma de los cationes de amonio que se encuentran mezclados en los ácidos orgánicos del vino en meqv/l
Magnesium Se determina directamente en el vino por espectrofotometría de absorción atómica. Se expresa en mmg/l
Total Phenols Contribuyen a las características organolépticas del vino, así como el grado de propiedades antioxidante. Se expresa en porcentaje
Flavanoids Sustancias naturales que dan color, sabor y olor y se mide en mg/kg
Nonflavanoid phenols Se encuentran en el racimo y la pulpa de las uvas, se miden en mg/kg
Proanthocyanins De las moléculas más significativas de algunas de las características organolépticas de los vinos tintos, sobre todo color y sabor
Color intensity Se mide por la suma de las absorbancias del vino para un espesor de 1cm, correspondientes a las longitudes de onda de 420nm y 520nm
Hue Matiz o tonalidad y se expresa, en grados sexagesimales, por el ángulo que forma con eleje de longitudes de onda la cuerda que une los puntos de la curva espectrofotométrica representativos de las absorbancias correspondientes a las longitudes de onda de 420 y 520 nm.
OD280/OD315 of diluted wines OD280/OD315 en vino diluido
Proline Es un aminoácido apolar no aromático

Estos datos son los resultados de un análisis químico de vinos cultivados en la misma región de Italia pero derivados de tres diferentes cultivares.El análisis determinó las cantidades de 13 constituyentes que se encuentran en cada uno de los tres tipos de vinos. El número total de puntos de datos es 178, dividido entre las clases como sigue.

Cargamos el dataset:

library(data.table)
data  =fread("https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data")
setnames(data,names(data),c("wine","Alcohol",
                                "Malic_acid",
                                "Ash",
                                "Alcalinity_of_ash",
                                "Magnesium",
                                "Total_phenols",
                                "Flavanoids",
                                "Nonflavanoid_phenols",
                                "Proanthocyanins",
                                "Color_intensity",
                                "Hue",
                                "OD280_OD315_of_diluted_wines",
                                "Proline"))
data$wine<-as.factor(data$wine)
library(DT)
DT::datatable(data)
str(data)
## Classes 'data.table' and 'data.frame':   178 obs. of  14 variables:
##  $ wine                        : Factor w/ 3 levels "1","2","3": 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 ...
##  - attr(*, ".internal.selfref")=<externalptr>

Ahora bien para encontrar los vectores correspondientes a las medias, las covarianzas y la matriz de correlaciones de las variables numéricas tenemos:

vec_media_g = round(apply(data[,2:14], 2, mean),3)
vec_media_g
##                      Alcohol                   Malic_acid 
##                       13.001                        2.336 
##                          Ash            Alcalinity_of_ash 
##                        2.367                       19.495 
##                    Magnesium                Total_phenols 
##                       99.742                        2.295 
##                   Flavanoids         Nonflavanoid_phenols 
##                        2.029                        0.362 
##              Proanthocyanins              Color_intensity 
##                        1.591                        5.058 
##                          Hue OD280_OD315_of_diluted_wines 
##                        0.957                        2.612 
##                      Proline 
##                      746.893
vec_desvesta = round(apply(data[,2:14], 2, sd),3)
vec_desvesta
##                      Alcohol                   Malic_acid 
##                        0.812                        1.117 
##                          Ash            Alcalinity_of_ash 
##                        0.274                        3.340 
##                    Magnesium                Total_phenols 
##                       14.282                        0.626 
##                   Flavanoids         Nonflavanoid_phenols 
##                        0.999                        0.124 
##              Proanthocyanins              Color_intensity 
##                        0.572                        2.318 
##                          Hue OD280_OD315_of_diluted_wines 
##                        0.229                        0.710 
##                      Proline 
##                      314.907
library(dplyr)
library(gridExtra)
library(tidyverse) # metapackage of all tidyverse packages
options(repr.plot.width=12, repr.plot.height=12)
f1 <- ggplot(data, aes(x=Alcohol)) + geom_histogram()
f2 <- ggplot(data, aes(x=Malic_acid)) + geom_histogram()
f3 <- ggplot(data, aes(x=Ash)) + geom_histogram()
f4 <- ggplot(data, aes(x=Alcalinity_of_ash)) + geom_histogram()
f5 <- ggplot(data, aes(x=Magnesium)) + geom_histogram()
f6 <- ggplot(data, aes(x=Total_phenols)) + geom_histogram()
f7 <- ggplot(data, aes(x=Flavanoids)) + geom_histogram()
f8 <- ggplot(data, aes(x=Nonflavanoid_phenols)) + geom_histogram()
f9 <- ggplot(data, aes(x=Proanthocyanins)) + geom_histogram()
f10 <- ggplot(data, aes(x=Color_intensity)) + geom_histogram()
f11 <- ggplot(data, aes(x=Hue)) + geom_histogram()
f12 <- ggplot(data, aes(x=OD280_OD315_of_diluted_wines)) + geom_histogram()
f13 <- ggplot(data, aes(x=Proline)) + geom_histogram()
grid.arrange(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13, ncol=3, nrow=5)

Tomando en cuenta la media, la desviación estándar y los histogramas podemos hacer algunas hipótesis:

  1. la variable Ash, alcalinity of ash y Proanthocyanins presentan un comportamiento normal significativo y centrado
  2. Las variables Color_intensity, Proline y Magnesium tienden a ser de la forma normal pero sesgada hacia la derecha, por lo que el valor más representativo para este caso es la mediana puesto que los datos se concentran demasiado hacia un solo lado
  3. Las correlaciones lineales más representativas son las siguientes:
Variables Correlación de Pearson
Total phenols-Flavanoids 0.86
Flavanoids-OD280/OD315 of diluted wines 0.79
Total_phenols-OD280/OD315 of diluted wines 0.7
Flavanoids-Proanthocyanins 0.65
Alcohol-Prolin 0.64
Total phenols-Proanthocyanins 0.61
Hue-OD280/OD315 of diluted wines 0.57
Malic acid-Hue -0.56
Alcohol-Color intensity 0.55
Flavanoids-Nonflavanoid phenols -0.54
Flavanoids-Hue 0.54
Proanthocyanins-OD280/OD315 of diluted wines 0.52
Color intesity-Hue -0.52
mat_cov_g = round(cov(data[,2:14]),3)
mat_cov_g
##                              Alcohol Malic_acid    Ash Alcalinity_of_ash
## Alcohol                        0.659      0.086  0.047            -0.841
## Malic_acid                     0.086      1.248  0.050             1.076
## Ash                            0.047      0.050  0.075             0.406
## Alcalinity_of_ash             -0.841      1.076  0.406            11.153
## Magnesium                      3.140     -0.871  1.123            -3.975
## Total_phenols                  0.147     -0.234  0.022            -0.671
## Flavanoids                     0.192     -0.459  0.032            -1.172
## Nonflavanoid_phenols          -0.016      0.041  0.006             0.150
## Proanthocyanins                0.064     -0.141  0.002            -0.377
## Color_intensity                1.028      0.645  0.165             0.145
## Hue                           -0.013     -0.143 -0.005            -0.209
## OD280_OD315_of_diluted_wines   0.042     -0.292  0.001            -0.656
## Proline                      164.567    -67.549 19.320          -463.355
##                              Magnesium Total_phenols Flavanoids
## Alcohol                          3.140         0.147      0.192
## Malic_acid                      -0.871        -0.234     -0.459
## Ash                              1.123         0.022      0.032
## Alcalinity_of_ash               -3.975        -0.671     -1.172
## Magnesium                      203.989         1.916      2.793
## Total_phenols                    1.916         0.392      0.540
## Flavanoids                       2.793         0.540      0.998
## Nonflavanoid_phenols            -0.456        -0.035     -0.067
## Proanthocyanins                  1.933         0.219      0.373
## Color_intensity                  6.621        -0.080     -0.399
## Hue                              0.181         0.062      0.124
## OD280_OD315_of_diluted_wines     0.669         0.311      0.558
## Proline                       1769.159        98.171    155.447
##                              Nonflavanoid_phenols Proanthocyanins
## Alcohol                                    -0.016           0.064
## Malic_acid                                  0.041          -0.141
## Ash                                         0.006           0.002
## Alcalinity_of_ash                           0.150          -0.377
## Magnesium                                  -0.456           1.933
## Total_phenols                              -0.035           0.219
## Flavanoids                                 -0.067           0.373
## Nonflavanoid_phenols                        0.015          -0.026
## Proanthocyanins                            -0.026           0.328
## Color_intensity                             0.040          -0.034
## Hue                                        -0.007           0.039
## OD280_OD315_of_diluted_wines               -0.044           0.211
## Proline                                   -12.204          59.554
##                              Color_intensity    Hue
## Alcohol                                1.028 -0.013
## Malic_acid                             0.645 -0.143
## Ash                                    0.165 -0.005
## Alcalinity_of_ash                      0.145 -0.209
## Magnesium                              6.621  0.181
## Total_phenols                         -0.080  0.062
## Flavanoids                            -0.399  0.124
## Nonflavanoid_phenols                   0.040 -0.007
## Proanthocyanins                       -0.034  0.039
## Color_intensity                        5.374 -0.277
## Hue                                   -0.277  0.052
## OD280_OD315_of_diluted_wines          -0.706  0.092
## Proline                              230.767 17.000
##                              OD280_OD315_of_diluted_wines   Proline
## Alcohol                                             0.042   164.567
## Malic_acid                                         -0.292   -67.549
## Ash                                                 0.001    19.320
## Alcalinity_of_ash                                  -0.656  -463.355
## Magnesium                                           0.669  1769.159
## Total_phenols                                       0.311    98.171
## Flavanoids                                          0.558   155.447
## Nonflavanoid_phenols                               -0.044   -12.204
## Proanthocyanins                                     0.211    59.554
## Color_intensity                                    -0.706   230.767
## Hue                                                 0.092    17.000
## OD280_OD315_of_diluted_wines                        0.504    69.928
## Proline                                            69.928 99166.717
mat_cor_g = round(cor(data[,2:14]),3)
mat_cor_g
##                              Alcohol Malic_acid    Ash Alcalinity_of_ash
## Alcohol                        1.000      0.094  0.212            -0.310
## Malic_acid                     0.094      1.000  0.164             0.289
## Ash                            0.212      0.164  1.000             0.443
## Alcalinity_of_ash             -0.310      0.289  0.443             1.000
## Magnesium                      0.271     -0.055  0.287            -0.083
## Total_phenols                  0.289     -0.335  0.129            -0.321
## Flavanoids                     0.237     -0.411  0.115            -0.351
## Nonflavanoid_phenols          -0.156      0.293  0.186             0.362
## Proanthocyanins                0.137     -0.221  0.010            -0.197
## Color_intensity                0.546      0.249  0.259             0.019
## Hue                           -0.072     -0.561 -0.075            -0.274
## OD280_OD315_of_diluted_wines   0.072     -0.369  0.004            -0.277
## Proline                        0.644     -0.192  0.224            -0.441
##                              Magnesium Total_phenols Flavanoids
## Alcohol                          0.271         0.289      0.237
## Malic_acid                      -0.055        -0.335     -0.411
## Ash                              0.287         0.129      0.115
## Alcalinity_of_ash               -0.083        -0.321     -0.351
## Magnesium                        1.000         0.214      0.196
## Total_phenols                    0.214         1.000      0.865
## Flavanoids                       0.196         0.865      1.000
## Nonflavanoid_phenols            -0.256        -0.450     -0.538
## Proanthocyanins                  0.236         0.612      0.653
## Color_intensity                  0.200        -0.055     -0.172
## Hue                              0.055         0.434      0.543
## OD280_OD315_of_diluted_wines     0.066         0.700      0.787
## Proline                          0.393         0.498      0.494
##                              Nonflavanoid_phenols Proanthocyanins
## Alcohol                                    -0.156           0.137
## Malic_acid                                  0.293          -0.221
## Ash                                         0.186           0.010
## Alcalinity_of_ash                           0.362          -0.197
## Magnesium                                  -0.256           0.236
## Total_phenols                              -0.450           0.612
## Flavanoids                                 -0.538           0.653
## Nonflavanoid_phenols                        1.000          -0.366
## Proanthocyanins                            -0.366           1.000
## Color_intensity                             0.139          -0.025
## Hue                                        -0.263           0.296
## OD280_OD315_of_diluted_wines               -0.503           0.519
## Proline                                    -0.311           0.330
##                              Color_intensity    Hue
## Alcohol                                0.546 -0.072
## Malic_acid                             0.249 -0.561
## Ash                                    0.259 -0.075
## Alcalinity_of_ash                      0.019 -0.274
## Magnesium                              0.200  0.055
## Total_phenols                         -0.055  0.434
## Flavanoids                            -0.172  0.543
## Nonflavanoid_phenols                   0.139 -0.263
## Proanthocyanins                       -0.025  0.296
## Color_intensity                        1.000 -0.522
## Hue                                   -0.522  1.000
## OD280_OD315_of_diluted_wines          -0.429  0.565
## Proline                                0.316  0.236
##                              OD280_OD315_of_diluted_wines Proline
## Alcohol                                             0.072   0.644
## Malic_acid                                         -0.369  -0.192
## Ash                                                 0.004   0.224
## Alcalinity_of_ash                                  -0.277  -0.441
## Magnesium                                           0.066   0.393
## Total_phenols                                       0.700   0.498
## Flavanoids                                          0.787   0.494
## Nonflavanoid_phenols                               -0.503  -0.311
## Proanthocyanins                                     0.519   0.330
## Color_intensity                                    -0.429   0.316
## Hue                                                 0.565   0.236
## OD280_OD315_of_diluted_wines                        1.000   0.313
## Proline                                             0.313   1.000

De igual manera, debido a que en este caso la correlación lineal es de acuerdo al coeficiente de correlación de Pearson podemos hacer lo siguiente para obtener una imagen más estructurada:

library(corrplot)
correlacion<-round(cor(data[,2:14]), 2)
corrplot(correlacion, method="number", type="upper")

También podemos agrupar los vinos de acuerdo a su clase y realizar comparaciones entre la misma clase así:

library(dplyr)      # Paquete para manipular los datos
data_1= data %>% filter(wine==1)
data_2= data %>% filter(wine==2)
data_3= data %>% filter(wine==3)
nrow(data_1)+nrow(data_2)+nrow(data_3)==nrow(data)
## [1] TRUE
library(dplyr)
library(gridExtra)
library(tidyverse) # metapackage of all tidyverse packages
options(repr.plot.width=12, repr.plot.height=12)
f1 <- ggplot(data_1, aes(x=Alcohol)) + geom_histogram()
f2 <- ggplot(data_1, aes(x=Malic_acid)) + geom_histogram()
f3 <- ggplot(data_1, aes(x=Ash)) + geom_histogram()
f4 <- ggplot(data_1, aes(x=Alcalinity_of_ash)) + geom_histogram()
f5 <- ggplot(data_1, aes(x=Magnesium)) + geom_histogram()
f6 <- ggplot(data_1, aes(x=Total_phenols)) + geom_histogram()
f7 <- ggplot(data_1, aes(x=Flavanoids)) + geom_histogram()
f8 <- ggplot(data_1, aes(x=Nonflavanoid_phenols)) + geom_histogram()
f9 <- ggplot(data_1, aes(x=Proanthocyanins)) + geom_histogram()
f10 <- ggplot(data_1, aes(x=Color_intensity)) + geom_histogram()
f11 <- ggplot(data_1, aes(x=Hue)) + geom_histogram()
f12 <- ggplot(data_1, aes(x=OD280_OD315_of_diluted_wines)) + geom_histogram()
f13 <- ggplot(data_1, aes(x=Proline)) + geom_histogram()
grid.arrange(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13, ncol=3, nrow=5)

- Histogramas para el vino 2:

library(dplyr)
library(gridExtra)
library(tidyverse) # metapackage of all tidyverse packages
options(repr.plot.width=12, repr.plot.height=12)
f1 <- ggplot(data_2, aes(x=Alcohol)) + geom_histogram()
f2 <- ggplot(data_2, aes(x=Malic_acid)) + geom_histogram()
f3 <- ggplot(data_2, aes(x=Ash)) + geom_histogram()
f4 <- ggplot(data_2, aes(x=Alcalinity_of_ash)) + geom_histogram()
f5 <- ggplot(data_2, aes(x=Magnesium)) + geom_histogram()
f6 <- ggplot(data_2, aes(x=Total_phenols)) + geom_histogram()
f7 <- ggplot(data_2, aes(x=Flavanoids)) + geom_histogram()
f8 <- ggplot(data_2, aes(x=Nonflavanoid_phenols)) + geom_histogram()
f9 <- ggplot(data_2, aes(x=Proanthocyanins)) + geom_histogram()
f10 <- ggplot(data_2, aes(x=Color_intensity)) + geom_histogram()
f11 <- ggplot(data_2, aes(x=Hue)) + geom_histogram()
f12 <- ggplot(data_2, aes(x=OD280_OD315_of_diluted_wines)) + geom_histogram()
f13 <- ggplot(data_2, aes(x=Proline)) + geom_histogram()
grid.arrange(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13, ncol=3, nrow=5)

library(dplyr)
library(gridExtra)
library(tidyverse) # metapackage of all tidyverse packages
options(repr.plot.width=12, repr.plot.height=12)
f1 <- ggplot(data_3, aes(x=Alcohol)) + geom_histogram()
f2 <- ggplot(data_3, aes(x=Malic_acid)) + geom_histogram()
f3 <- ggplot(data_3, aes(x=Ash)) + geom_histogram()
f4 <- ggplot(data_3, aes(x=Alcalinity_of_ash)) + geom_histogram()
f5 <- ggplot(data_3, aes(x=Magnesium)) + geom_histogram()
f6 <- ggplot(data_3, aes(x=Total_phenols)) + geom_histogram()
f7 <- ggplot(data_3, aes(x=Flavanoids)) + geom_histogram()
f8 <- ggplot(data_3, aes(x=Nonflavanoid_phenols)) + geom_histogram()
f9 <- ggplot(data_3, aes(x=Proanthocyanins)) + geom_histogram()
f10 <- ggplot(data_3, aes(x=Color_intensity)) + geom_histogram()
f11 <- ggplot(data_3, aes(x=Hue)) + geom_histogram()
f12 <- ggplot(data_3, aes(x=OD280_OD315_of_diluted_wines)) + geom_histogram()
f13 <- ggplot(data_3, aes(x=Proline)) + geom_histogram()
grid.arrange(f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13, ncol=3, nrow=5)

Lo más caracterítico al realizar este tipo de comparaciones, es que para el vino de tipo 3 existe una dispersión de los datos significativas y no existen un comportamiento lineal. En cambio el vino tipo 2 en las variables ash, Flavanoids y color intensity tienden a tener un comportamiento lineal.

  1. Construya las siguientes gráficas para los datos:
  1. Una matriz de diagramas de dispersión.
pairs(~ Alcohol+Malic_acid+Ash+Alcalinity_of_ash+Magnesium+Total_phenols+Flavanoids+Nonflavanoid_phenols+Proanthocyanins+Color_intensity+Hue+OD280_OD315_of_diluted_wines+Proline, data = data)

colnames(data[2:14])
##  [1] "wine"                         "Alcohol"                     
##  [3] "Malic_acid"                   "Ash"                         
##  [5] "Alcalinity_of_ash"            "Magnesium"                   
##  [7] "Total_phenols"                "Flavanoids"                  
##  [9] "Nonflavanoid_phenols"         "Proanthocyanins"             
## [11] "Color_intensity"              "Hue"                         
## [13] "OD280_OD315_of_diluted_wines" "Proline"
data[2:14]
##     wine Alcohol Malic_acid  Ash Alcalinity_of_ash Magnesium Total_phenols
##  1:    1   13.20       1.78 2.14              11.2       100          2.65
##  2:    1   13.16       2.36 2.67              18.6       101          2.80
##  3:    1   14.37       1.95 2.50              16.8       113          3.85
##  4:    1   13.24       2.59 2.87              21.0       118          2.80
##  5:    1   14.20       1.76 2.45              15.2       112          3.27
##  6:    1   14.39       1.87 2.45              14.6        96          2.50
##  7:    1   14.06       2.15 2.61              17.6       121          2.60
##  8:    1   14.83       1.64 2.17              14.0        97          2.80
##  9:    1   13.86       1.35 2.27              16.0        98          2.98
## 10:    1   14.10       2.16 2.30              18.0       105          2.95
## 11:    1   14.12       1.48 2.32              16.8        95          2.20
## 12:    1   13.75       1.73 2.41              16.0        89          2.60
## 13:    1   14.75       1.73 2.39              11.4        91          3.10
##     Flavanoids Nonflavanoid_phenols Proanthocyanins Color_intensity  Hue
##  1:       2.76                 0.26            1.28            4.38 1.05
##  2:       3.24                 0.30            2.81            5.68 1.03
##  3:       3.49                 0.24            2.18            7.80 0.86
##  4:       2.69                 0.39            1.82            4.32 1.04
##  5:       3.39                 0.34            1.97            6.75 1.05
##  6:       2.52                 0.30            1.98            5.25 1.02
##  7:       2.51                 0.31            1.25            5.05 1.06
##  8:       2.98                 0.29            1.98            5.20 1.08
##  9:       3.15                 0.22            1.85            7.22 1.01
## 10:       3.32                 0.22            2.38            5.75 1.25
## 11:       2.43                 0.26            1.57            5.00 1.17
## 12:       2.76                 0.29            1.81            5.60 1.15
## 13:       3.69                 0.43            2.81            5.40 1.25
##     OD280_OD315_of_diluted_wines Proline
##  1:                         3.40    1050
##  2:                         3.17    1185
##  3:                         3.45    1480
##  4:                         2.93     735
##  5:                         2.85    1450
##  6:                         3.58    1290
##  7:                         3.58    1295
##  8:                         2.85    1045
##  9:                         3.55    1045
## 10:                         3.17    1510
## 11:                         2.82    1280
## 12:                         2.90    1320
## 13:                         2.73    1150
  1. Diagrama de estrellas.
palette(rainbow(12, s = 0.6, v = 0.75))
#windows()
stars(data[0:nrow(data)/2, 2:14], key.loc = c(14, 1.5))

stars(data[nrow(data)/2+1:nrow(data), 2:14], key.loc = c(14, 1.5))

#windows()
stars(data[0:nrow(data)/2, 2:14], len = 0.8, key.loc = c(12, 1.5), draw.segments = TRUE)

stars(data[nrow(data)/2+1:nrow(data), 2:14], len = 0.8, key.loc = c(12, 1.5), draw.segments = TRUE)

Con estos gráficos de estrellas podemos observar cómo se ven a grandes rasgos los tres tipos de vinos. Por ejemplo el primero correspondiente a las primeras observaciones que existe una magnitud considerable para todas las variables. Esto significa que el peso de las variables que caracterizan el primer vino son todas muy significativas claramente hablando a grandes rasgos; si se observan con más detalle y de forma general para el primer la variable Nonflavanoid phenols y Malic_acid son las que tienden a tener una magnitud menor.

Los vinos del tipo 2 tienden a tener mucha diferencia en la magnitud de sus componentes o variables, esto quiere decir que hay unas que sobresalen más que las otras. La variable que más sobresale es Hue o Matiz indicando que es la variable que más lo identifica.

Para los vinos de tipo 3 las variables de mayor peso son: Proanthocyanins y Alcohol. Esto es interesante porque podemos de manera general clasificar los tipos de vinos teniendo una vista espacial del “peso” o valores característicos que más influyen en la observación.

  1. Caras de Chernoff.
library(aplpack)
faces(data[1:59,2:14])

## effect of variables:
##  modified item       Var                           
##  "height of face   " "Alcohol"                     
##  "width of face    " "Malic_acid"                  
##  "structure of face" "Ash"                         
##  "height of mouth  " "Alcalinity_of_ash"           
##  "width of mouth   " "Magnesium"                   
##  "smiling          " "Total_phenols"               
##  "height of eyes   " "Flavanoids"                  
##  "width of eyes    " "Nonflavanoid_phenols"        
##  "height of hair   " "Proanthocyanins"             
##  "width of hair   "  "Color_intensity"             
##  "style of hair   "  "Hue"                         
##  "height of nose  "  "OD280_OD315_of_diluted_wines"
##  "width of nose   "  "Proline"                     
##  "width of ear    "  "Alcohol"                     
##  "height of ear   "  "Malic_acid"
faces(data[60:130,2:14])

## effect of variables:
##  modified item       Var                           
##  "height of face   " "Alcohol"                     
##  "width of face    " "Malic_acid"                  
##  "structure of face" "Ash"                         
##  "height of mouth  " "Alcalinity_of_ash"           
##  "width of mouth   " "Magnesium"                   
##  "smiling          " "Total_phenols"               
##  "height of eyes   " "Flavanoids"                  
##  "width of eyes    " "Nonflavanoid_phenols"        
##  "height of hair   " "Proanthocyanins"             
##  "width of hair   "  "Color_intensity"             
##  "style of hair   "  "Hue"                         
##  "height of nose  "  "OD280_OD315_of_diluted_wines"
##  "width of nose   "  "Proline"                     
##  "width of ear    "  "Alcohol"                     
##  "height of ear   "  "Malic_acid"
faces(data[131:179,2:14])
## [1] "Warning: NA elements have been exchanged by mean values!!"

## effect of variables:
##  modified item       Var                           
##  "height of face   " "Alcohol"                     
##  "width of face    " "Malic_acid"                  
##  "structure of face" "Ash"                         
##  "height of mouth  " "Alcalinity_of_ash"           
##  "width of mouth   " "Magnesium"                   
##  "smiling          " "Total_phenols"               
##  "height of eyes   " "Flavanoids"                  
##  "width of eyes    " "Nonflavanoid_phenols"        
##  "height of hair   " "Proanthocyanins"             
##  "width of hair   "  "Color_intensity"             
##  "style of hair   "  "Hue"                         
##  "height of nose  "  "OD280_OD315_of_diluted_wines"
##  "width of nose   "  "Proline"                     
##  "width of ear    "  "Alcohol"                     
##  "height of ear   "  "Malic_acid"
nrow(data)
## [1] 178

De este tipo de gráfico podemos observar y obtener otras conclusiones que no observamos con el gráfico de estrellas y es la diferencia que existía entre los de tipo 1 y tipo 2 con el tipo 3. Salvo algunas excepciones los vinos de tipo 3 tienden a ser anchos en la cara por lo que indica que Malic_acid o ácido Málico es una variable que tiene peso sobre la muestra. De igual manera para los vinos de tipo 3 en general la medición de los ojos en forma vertical es pequeña indicando que existe una ausencia de Flavanoids.

  1. Curvas de Andrews. Realizamos 3 curvas de Andrews de acuerdo al tipo de vino, para esto es necesario crear variables dummies de la siguiente manera
library(fastDummies)
## Warning: package 'fastDummies' was built under R version 4.1.2
library(tidyverse)
data_d = dummy_cols(data,  select_columns = "wine")

Ahora si, realizamos los gráficos correspondientes:

library(pracma)
## Warning: package 'pracma' was built under R version 4.1.2
## 
## Attaching package: 'pracma'
## The following object is masked from 'package:purrr':
## 
##     cross
data_matrix<- as.matrix(data[,2:14])
data_f1 = as.matrix(data_d[,15])
data_f2 = as.matrix(data_d[,16])
data_f3 = as.matrix(data_d[,17])
windows()
andrewsplot(data_matrix, data_f1, style = "cart")

andrewsplot(data_matrix, data_f2, style = "cart")

andrewsplot(data_matrix, data_f3, style = "cart")

wine_1_mean = apply(data_1[,2:14], 2, mean)
wine_2_mean = apply(data_2[,2:14], 2, mean)
wine_3_mean = apply(data_3[,2:14], 2, mean)
palette(rainbow(12, s = 0.6, v = 0.75))

df_1=t(data.frame(wine_1_mean))
df_2=t(data.frame(wine_2_mean))
df_3=t(data.frame(wine_3_mean))

df=rbind(df_1,df_2,df_3)

palette(rainbow(12, s = 0.6, v = 0.75))

windows()
stars(df, key.loc = c(14, 1.5))

windows()
stars(df, len = 0.8, key.loc = c(12, 1.5), draw.segments = TRUE)

Aquí al hacer comparación de los vinos de acuerdo a la media de cada variable podemos dar soporte a las conclusiones anteriores realizadas cuando se realiza una exploración general de manera visual para todas las observaciones. Por ejemplo vemos que los de tipo 1 la mayoría de variables tienden a ser de igual magnitud; las del tipo 2 sobresale la Hue y para el tipo 3 la Proanthocyanins y Alcohol.

  1. ¿Provienen los datos métricos disponibles de una población normal multivariada?

Seguimos los diferentes tipos de test de la siguiente fuente: https://rpubs.com/edgarcarpio/562854

Realizando Test de hipótesis

#install.packages("MVN")
library(MVN)
## Warning: package 'MVN' was built under R version 4.1.2
result = mvn(data = data[,2:14], mvnTest = "mardia")
result$multivariateNormality
##              Test        Statistic              p value Result
## 1 Mardia Skewness 1290.76386454407 4.92981408824459e-81     NO
## 2 Mardia Kurtosis 10.1722361968417                    0     NO
## 3             MVN             <NA>                 <NA>     NO

Para el test Skewness y Kurtosis observamos que el valor de p_value < 0.05 porque 4.092*10^-81 < 0.05, entonces la prueba estadística es significativa por lo que no existe normalidad en los datos.

result <- mvn(data = data[,2:14], mvnTest = "hz")
result$multivariateNormality
##            Test       HZ p value MVN
## 1 Henze-Zirkler 1.074339       0  NO

el p_value es 0 por lo que es menor a 0.05. De modo que no sigue una normalidad multivariada.

Valores atípicos multivariantes (Multivariate outliers)

Los valores atípicos multivariados son la razón común para violar la suposición de MVN. O sea la suposición de MVN requiere la ausencia de valores atípicos multivariados. Así que es mejor validar la presencia de valores atípicos multivariantes antes de comenzar un análisis multivariado.

# Valores atipicos multivariantes (Multivariate outliers)
# Mahalanobis distance
result <- mvn(data = data[,2:14], mvnTest = "hz", multivariateOutlierMethod = "quan")

# Adjusted Mahalanobis distance
result <- mvn(data=data[,2:14],mvnTest="hz",multivariateOutlierMethod="adj")

Podemos observar de las gráficas que la distancia de Mahalanobis declara 68 observaciones como valores atípicos multivariados, mientras que la distancia de Mahalanobis ajustada declara 66. Como vemos son demasiado datos atípicos multivariados por lo que podríamos concluir que no los datos métricos no provienen de una población normal multivariada