## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## Highcharts (www.highcharts.com) is a Highsoft software product which is
## not free for commercial and Governmental use
## corrplot 0.92 loaded
## 
## Adjuntando el paquete: 'mod'
## The following objects are masked from 'package:base':
## 
##     drop, use

Carga inicial del dataset

data=read.csv(url("http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data"),header = FALSE)
nuevos_nombres <- c('Class', 'Alcohol', 'MalicAcid', 'Ash', 'AlcalinityOfAsh', 'Magnesium', 'Total phenols', 'Flavanoids', 'NonflavanoidPhenols', 'Proanthocyanins', 'ColorIntensity', 'Hue', 'OD280/OD315', 'Proline')
colnames(data) <- nuevos_nombres

Significado de las variables

Matriz de correlacion de todas las variables

par(oma = c(1, 1, 1, 1), mar = c(5, 4, 4, 2) + 0.1)

corrplot.mixed(cor(data),
               lower = "circle", 
               upper = "circle",
               tl.pos = "n")
corrplot(cor(data), add = TRUE, method = "circle", 
         type = "upper", tl.pos = "lt", # Etiquetas en la parte superior izquierda
         tl.col = "black", number.cex = 0.7, addCoef.col = "black",
         cl.pos = "n",
         diag = TRUE)

Se seleccionaron las variables ‘Proline’, ‘Alcohol’, ‘Total phenols’, ‘AlcalinityOfAsh’, ‘OD280/OD315’, y ‘Magnesium’ para el modelo de regresión multivariable debido a su relevancia en la caracterización química del vino y su impacto en la calidad. Estas variables influyen en aspectos clave como el sabor, la estabilidad, el envejecimiento y la estructura del vino. Al analizar estas variables, el modelo puede proporcionar una comprensión más completa y precisa de los factores que determinan la calidad del vino. Se excluyó la variable ‘Class’ porque representa una clasificación categórica que no contribuye directamente al análisis cuantitativo de los factores químicos, sino que clasifica los vinos en diferentes tipos, lo que no es el objetivo principal de este análisis multivariable.

Matriz de correlacion de las variables seleccionadas

data_subset <- data[, c('Proline', 'Alcohol', 'Total phenols', 'AlcalinityOfAsh', 'OD280/OD315', 'Magnesium')]
corrplot.mixed(cor(data_subset),
               lower = "circle", 
               upper = "number",
               tl.col = "black")

corrplot(cor(data_subset), add = TRUE, method = "number", 
         type = "upper", tl.pos = "lt", # Etiquetas en la parte superior izquierda
         tl.col = "black", number.cex = 0.7, addCoef.col = "black",
         cl.pos = "n", 
         diag = TRUE)

Se decidió tomar “Proline” como variable dependiente debido a su alta correlación con las otras variables. El resto de las variables se seleccionaron como independientes para proceder con el modelo de regresión multivariable.

Hipótesis del Modelo

Hipótesis Global (Prueba F)

La hipótesis nula (\(H_0\)) y la hipótesis alternativa (\(H_1\)) para la prueba F son:

\[ H_0: \beta_1 = \beta_2 = \beta_3 = \dots = \beta_k = 0 \]

\[ H_1: \text{Al menos uno de los coeficientes } \beta_i \text{ es diferente de cero} \]

Donde \(\beta_i\) representa los coeficientes de las variables independientes en el modelo.

Hipótesis Individual (Prueba t-Student)

Para cada variable independiente en el modelo, la hipótesis nula (\(H_0\)) y la hipótesis alternativa (\(H_1\)) son:

\[ H_0: \beta_i = 0 \]

\[ H_1: \beta_i \neq 0 \]

Estas hipótesis se prueban individualmente para cada \(\beta_i\) utilizando la prueba t-Student. Aquí, \(\beta_i\) representa el coeficiente de la variable independiente \(x_i\) en el modelo de regresión.

mod <- lm(Proline ~ Alcohol + `Total phenols` + Magnesium + `OD280/OD315` + `AlcalinityOfAsh`  , data = data)

mod
## 
## Call:
## lm(formula = Proline ~ Alcohol + `Total phenols` + Magnesium + 
##     `OD280/OD315` + AlcalinityOfAsh, data = data)
## 
## Coefficients:
##     (Intercept)          Alcohol  `Total phenols`        Magnesium  
##       -1989.398          179.172          108.900            4.447  
##   `OD280/OD315`  AlcalinityOfAsh  
##          26.970          -18.309
# Mostrar el resumen del modelo 
summary(mod)
## 
## Call:
## lm(formula = Proline ~ Alcohol + `Total phenols` + Magnesium + 
##     `OD280/OD315` + AlcalinityOfAsh, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -547.81 -146.45   -6.61  127.00  560.49 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     -1989.398    321.726  -6.184 4.42e-09 ***
## Alcohol           179.172     21.352   8.391 1.70e-14 ***
## `Total phenols`   108.900     37.209   2.927 0.003889 ** 
## Magnesium           4.447      1.136   3.913 0.000131 ***
## `OD280/OD315`      26.970     31.272   0.862 0.389664    
## AlcalinityOfAsh   -18.309      5.057  -3.620 0.000387 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 204.8 on 172 degrees of freedom
## Multiple R-squared:  0.589,  Adjusted R-squared:  0.5771 
## F-statistic: 49.31 on 5 and 172 DF,  p-value: < 2.2e-16

Se decidió descartar la variable OD280/OD315 del modelo de regresión multivariable debido a que su coeficiente no resultó ser estadísticamente significativo, con un valor de p de 0.389664. Este valor indica que no hay evidencia suficiente para afirmar que la variable OD280/OD315 tiene un impacto significativo en la predicción de Proline, a diferencia de las otras variables del modelo que mostraron significancia estadística (valores de p muy bajos).

mod <- lm(Proline ~ Alcohol + `Total phenols` + Magnesium  + `AlcalinityOfAsh`  , data = data)

mod
## 
## Call:
## lm(formula = Proline ~ Alcohol + `Total phenols` + Magnesium + 
##     AlcalinityOfAsh, data = data)
## 
## Coefficients:
##     (Intercept)          Alcohol  `Total phenols`        Magnesium  
##       -1905.129          175.593          131.087            4.371  
## AlcalinityOfAsh  
##         -18.858
# Mostrar el resumen del modelo 
summary(mod)
## 
## Call:
## lm(formula = Proline ~ Alcohol + `Total phenols` + Magnesium + 
##     AlcalinityOfAsh, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -535.64 -146.87   -2.88  128.07  557.52 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     -1905.129    306.301  -6.220 3.63e-09 ***
## Alcohol           175.593     20.929   8.390 1.67e-14 ***
## `Total phenols`   131.087     26.862   4.880 2.40e-06 ***
## Magnesium           4.371      1.132   3.861 0.000159 ***
## AlcalinityOfAsh   -18.858      5.014  -3.761 0.000231 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 204.6 on 173 degrees of freedom
## Multiple R-squared:  0.5873, Adjusted R-squared:  0.5777 
## F-statistic: 61.54 on 4 and 173 DF,  p-value: < 2.2e-16

Ecuacion que describe el modelo

\[\text{Proline} = -1905.129 + (175.593 \times \text{Alcohol}) + (131.087 \times \text{Total phenols}) + (4.371 \times \text{Magnesium}) + (−18.858 \times \text{AlcalinityOfAsh})\] # Conclusion

El modelo muestra que variables como el Alcohol, los Total phenols, y el Magnesium tienen un impacto positivo en los niveles de Proline en el vino, lo que sugiere que contribuyen a su estructura y estabilidad. Por otro lado, la AlcalinityOfAsh tiene un efecto negativo, indicando que un exceso de minerales podría reducir la producción de Proline, afectando el equilibrio del vino. Estas relaciones son coherentes con lo inevestigado y refuerzan la validez del modelo para explicar cómo estos factores químicos influyen en la calidad del vino.

Graficos del PCA del dataset de “Wines”

# Cargar las librerías necesarias
#install.packages("ggplot2")
#install.packages("factoextra")
library(ggplot2)
library(factoextra)
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
# Escalar los datos (sin la columna "Class")
data_scaled <- scale(data[,-1])

# Realizar PCA
pca <- prcomp(data_scaled, center = TRUE, scale. = TRUE)

# Ver nombres de los elementos en el objeto pca
names(pca)
## [1] "sdev"     "rotation" "center"   "scale"    "x"
# Ver variables (rotation) y observaciones (x)
#pca$rotation  # Coeficientes de las variables originales en las componentes principales
#pca$x         # Coordenadas de las observaciones en el espacio de las componentes principales
#pca$sdev^2    # Varianza explicada por cada componente principal

# Gráfico de las variables sobre las dos primeras componentes principales
plot(pca$rotation[,1], pca$rotation[,2], 
     main = "Variables sobre las Componentes",
     xlab = "Componente 1", 
     ylab = "Componente 2", 
     col="blue", pch=19, 
     xlim = c(-1, 1), ylim = c(-1, 1))

# Asignar las etiquetas a las variables
text(pca$rotation[,1], pca$rotation[,2],
     labels = row.names(pca$rotation), cex = 1, pos = 3, col = "red")

# Calculamos la varianza explicada por cada componente
var_explicada <- pca$sdev^2 / sum(pca$sdev^2)
var_acumulada <- cumsum(var_explicada)

# Crear el scree plot con la varianza explicada
plot(var_explicada, type = "b", pch = 19, xlab = "# de componente principal", 
     ylab = "Proporción de varianza explicada", 
     main = "Análisis de la varianza explicada (gráfico)",
     ylim = c(0, 1))

# Grafico scree plot la libreria FactoMineR
fviz_screeplot(pca, addlabels = TRUE, ylim = c(0, 50))

# Biplot combinando las variables y observaciones
biplot(pca, scale = 0, cex = 0.6, col = c("blue4", "brown3"))

Conclusiones

Gráfica de los coeficientes de las componentes y variables originales:

“Proline” está relativamente cerca de variables como “Magnesium” y “Alcohol”, lo que sugiere una correlación positiva moderada con estas variables. Esto significa que vinos con altos niveles de prolina tienden también a tener niveles más altos de magnesio y alcohol.

Gráfico de la varianza explicada por cada componente:

Las dos primeras componentes principales (PC1 y PC2) explican conjuntamente el 55.4% de la varianza total en los datos, lo que significa que más de la mitad de la información original está contenida en estas dos componentes.

Biplot (variables y observaciones) sobre las dos primeras componentes

En el biplot, la flecha correspondiente a la variable “Proline” es relativamente larga y apunta hacia la parte inferior izquierda del gráfico. Esto indica que “Proline” tiene una influencia considerable en las componentes principales, especialmente en la dirección de la primera componente (PC1).En correlación con otras variables “Proline” parece estar algo correlacionado con variables como “Alcohol”, “Magnesium”, y “Ash”, dado que las flechas de estas variables apuntan en direcciones similares. Sin embargo, está negativamente correlacionado con variables como “Flavanoids” y “Total phenols”, cuyas flechas apuntan en la dirección opuesta.

Referencias

```