Foto de Kelsey Knight no Unsplash

Introdução

Sou um grande fã de vinho e adoro aprender sobre ele, portanto, quando tive a chance de usar um conjunto de dados que encontrei sobre vinho para um projeto de aula, aproveitei a oportunidade. Deparei-me com um conjunto de dados no Kaggle.com que continha informações sobre o vinho verde português. O vinho é produzido com uvas portuguesas na região do Vinho Verde. Essa é a maior denominação de Portugal e 85% do vinho verde é produzido como vinho branco, embora também seja produzido como vinho tinto e rosé. O conjunto de dados continha características químicas encontradas no vinho tinto produzido pelas uvas do Vinho Verde. Essas características fazem diferença na classificação de um vinho? Há alguma correlação entre essas variáveis? Vamos nos aprofundar e ver o que podemos aprender!

Limpeza de dados

Para esta análise, usarei a programação R e, antes de importar o conjunto de dados para o R, usei o Excel para fazer a limpeza dos dados. Nesse processo, não encontrei duplicatas, nem células em branco, nem NAs e fiquei agradavelmente surpreso. Em seguida, verifiquei o resumo no R em busca de possíveis outliers, para ver se algum precisava ser removido.

https://www.kaggle.com/datasets/uciml/red-wine-quality-cortez-et-al-2009Links para um site externo.

> summary(winequality.red)
fixed.acidity volatile.acidity citric.acid residual.sugar chlorides free.sulfur.dioxide
Min. : 4.60 Min. :0.1200 Min. :0.000 Min. : 0.900 Min. :0.01200 Min. : 1.00
1st Qu.: 7.10 1st Qu.:0.3900 1st Qu.:0.090 1st Qu.: 1.900 1st Qu.:0.07000 1st Qu.: 7.00
Median : 7.90 Median :0.5200 Median :0.260 Median : 2.200 Median :0.07900 Median :14.00
Mean : 8.32 Mean :0.5278 Mean :0.271 Mean : 2.539 Mean :0.08747 Mean :15.87
3rd Qu.: 9.20 3rd Qu.:0.6400 3rd Qu.:0.420 3rd Qu.: 2.600 3rd Qu.:0.09000 3rd Qu.:21.00
Max. :15.90 Max. :1.5800 Max. :1.000 Max. :15.500 Max. :0.61100 Max. :72.00
total.sulfur.dioxide density pH sulphates alcohol quality
Min. : 6.00 Min. :0.9901 Min. :2.740 Min. :0.3300 Min. : 8.40 Min. :3.000
1st Qu.: 22.00 1st Qu.:0.9956 1st Qu.:3.210 1st Qu.:0.5500 1st Qu.: 9.50 1st Qu.:5.000
Median : 38.00 Median :0.9968 Median :3.310 Median :0.6200 Median :10.20 Median :6.000
Mean : 46.47 Mean :0.9967 Mean :3.311 Mean :0.6581 Mean :10.42 Mean :5.636
3rd Qu.: 62.00 3rd Qu.:0.9978 3rd Qu.:3.400 3rd Qu.:0.7300 3rd Qu.:11.10 3rd Qu.:6.000
Max. :289.00 Max. :1.0037 Max. :4.010 Max. :2.0000 Max. :14.90 Max. :8.000

Notei que a coluna de dióxido de enxofre total tinha um intervalo entre 6 e 289 e o terceiro quartil era 62. Após uma análise mais detalhada no Excel, usando a ferramenta de filtro, pude ver uma faixa de níveis de enxofre que ia além de 62 a 289. Portanto, não identifiquei nenhum valor discrepante. O conjunto de dados contém 1599 observações e 12 variáveis. As variáveis do conjunto de dados que me interessaram usar para esta discussão foram:

Modelos lineares para análise

Para minha análise, criei três modelos lineares e escolhi a qualidade do vinho como minha base y para comparar todas as outras variáveis. Aqui estão os dois modelos que criei:

– Modelo_1- Qualidade do vinho, ácido cítrico, álcool, açúcar residual

– Modelo_2- Qualidade do vinho, sulfatos, densidade, ácido volátil

– Modelo_3- Qualidade do vinho, sulfatos, densidade, ácido volátil, ácido cítrico, álcool, açúcar residual

Esses modelos lineares me ajudariam a ver como as diferentes variáveis poderiam se relacionar com a classificação da qualidade do vinho. Depois de verificar o resumo do conjunto de dados, pude ver que o número mínimo para a classificação do vinho era 3 e o máximo era 8, enquanto a média era 5,36 em uma escala de 0 a 10. Seria interessante ver como as outras variáveis afetariam os níveis de classificação. Agora vamos verificar o resumo dos modelos lineares

Modelo 1


Model_1<- lm(winequality.red$quality~winequality.red$alcohol+winequality.red$residual.sugar+winequality.red$citric.acid, data = winequality.red)
summary(Model_1)

Call:
lm(formula = winequality.red$quality ~ winequality.red$alcohol +
winequality.red$residual.sugar + winequality.red$citric.acid,
data = winequality.red)

Residuals:
Min 1Q Median 3Q Max
-2.6327 -0.4104 -0.1336 0.5225 2.4514

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.86416 0.17292 10.780 < 2e-16 ***
winequality.red$alcohol 0.34680 0.01645 21.087 < 2e-16 ***
winequality.red$residual.sugar -0.01802 0.01248 -1.443 0.149
winequality.red$citric.acid 0.74866 0.09083 8.242 3.48e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6961 on 1595 degrees of freedom
Multiple R-squared: 0.2584, Adjusted R-squared: 0.257
F-statistic: 185.2 on 3 and 1595 DF, p-value: < 2.2e-16

Podemos ver que o açúcar residual é a única variável com um valor de p acima de 0,05 e não é significativo. Isso é interessante porque o açúcar residual é o açúcar que sobra da fermentação e faz com que o vinho seja mais doce. À medida que a classificação de qualidade desses vinhos aumenta, o açúcar residual diminui ligeiramente. Isso me diz que os vinhos com classificação mais alta não são tão doces e podem ser mais secos.

O valor de p do álcool e do ácido cítrico tem um valor de p menor que 0,05, mostrando que é estatisticamente significativo. Naturalmente, um vinho precisa de ácido suficiente para ter um sabor equilibrado. Níveis mais altos de álcool podem fazer com que o vinho pareça mais encorpado, enquanto níveis mais baixos o fazem parecer mais delicado. No entanto, o R-quadrado ajustado é de 26%, indicando uma baixa variância para essas variáveis. Isso me diz que há 74% da variabilidade que esse modelo não consegue explicar. O que significa que há mais fatores que precisam ser considerados e que essas variáveis não são suficientes.

Modelo 2

Model_2<- lm(winequality.red$quality~winequality.red$sulphates+winequality.red$volatile.acidity+winequality.red$density)
summary(Model_2)

Call:
lm(formula = winequality.red$quality ~ winequality.red$sulphates +
winequality.red$volatile.acidity + winequality.red$density)

Residuals:
Min 1Q Median 3Q Max
-2.82248 -0.49972 -0.03947 0.47535 2.64670

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 89.4933 9.5788 9.343 < 2e-16 ***
winequality.red$sulphates 0.9188 0.1110 8.279 2.6e-16 ***
winequality.red$volatile.acidity -1.5149 0.1039 -14.577 < 2e-16 ***
winequality.red$density -83.9355 9.6248 -8.721 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.7166 on 1595 degrees of freedom
Multiple R-squared: 0.214, Adjusted R-squared: 0.2125
F-statistic: 144.7 on 3 and 1595 DF, p-value: < 2.2e-16

Com o Modelo_2, vemos que todas as variáveis têm um valor de p abaixo de 0,05, indicando que são significativas. No entanto, mais uma vez, o R-quadrado ajustado é baixo e não mostra uma forte correlação entre as variáveis e a qualidade do vinho. Embora a variável sulfatos tenha me chamado a atenção. Para cada aumento na qualidade do vinho, o nível de sulfatos no vinho tinto aumenta em 0,92. Olhando para trás, o resumo da variável sulfatos variou entre 0,33 e 2,0. Esse é um aumento bastante acentuado à medida que a classificação do vinho aumenta. Então pensei: “Espere! SULFATOS OU SULFITOS? Os sulfatos são normalmente encontrados em produtos domésticos, enquanto os sulfitos são normalmente encontrados em alimentos e vinhos. Vou dar um palpite educado e supor que se trata de um erro de digitação e que a variável deveria ser sulfitos. Se forem sulfitos, parece que, à medida que a qualidade do vinho aumenta, a quantidade de sulfitos também aumenta. Portanto, podemos supor que quanto melhor o vinho, maior o potencial para uma ressaca forte no dia seguinte!

Foto de Jurien Huggins no Unsplash

Modelo 3

Model_3<- lm(winequality.red$quality~winequality.red$alcohol+winequality.red$residual.sugar+winequality.red$citric.acid+winequality.red$sulphates+winequality.red$volatile.acidity+winequality.red$density)
summary(Model_3)

Call:
lm(formula = winequality.red$quality ~ winequality.red$alcohol +
winequality.red$residual.sugar + winequality.red$citric.acid +
winequality.red$sulphates + winequality.red$volatile.acidity +
winequality.red$density)

Residuals:
Min 1Q Median 3Q Max
-2.7297 -0.3869 -0.0589 0.4626 2.2073

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -16.010161 13.171729 -1.215 0.224
winequality.red$alcohol 0.326586 0.020063 16.278 < 2e-16 ***
winequality.red$residual.sugar -0.008338 0.013092 -0.637 0.524
winequality.red$citric.acid -0.159546 0.120080 -1.329 0.184
winequality.red$sulphates 0.673563 0.104304 6.458 1.41e-10 ***
winequality.red$volatile.acidity -1.301938 0.116281 -11.196 < 2e-16 ***
winequality.red$density 18.611019 13.137914 1.417 0.157
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6588 on 1592 degrees of freedom
Multiple R-squared: 0.337, Adjusted R-squared: 0.3345
F-statistic: 134.9 on 6 and 1592 DF, p-value: < 2.2e-16

Como o Modelo 1 e o Modelo 2 tiveram um R-quadrado ajustado baixo, decidi criar um terceiro modelo com todas as variáveis de ambos os modelos. Podemos ver que o R-quadrado ajustado é um pouco mais alto, mas ainda assim apenas 33%. Isso me diz que mais variáveis precisam ser consideradas para que haja uma indicação mais forte de que afetam a classificação da qualidade do vinho.

Analisando todas as variáveis ao mesmo tempo, a variável densidade realmente se destacou para mim. Para cada aumento na classificação da qualidade do vinho, a densidade do vinho aumenta em 18,6, enquanto diminuiria em 83 quando comparada aos sulfatos e à acidez volátil. No vinho, a densidade está associada aos níveis de álcool. Quanto mais álcool em relação à água, menos denso será o vinho.

Os níveis de ácido cítrico também parecem diminuir no Modelo 3 em 0,16, quando antes aumentavam em 0,75. O álcool continua a aumentar em 0,32, o que faz sentido, já que a densidade aumenta. O Modelo 3 traz a visualização de uma multidão tentando embarcar em um trem de metrô ao mesmo tempo. Todas essas variáveis estão se movendo no sentido de melhorar a qualidade do vinho. Alguns ganham, embarcam no trem e ganham tempo em seu dia, mas o trem só pode comportar um número limitado de pessoas e aqueles que ficam esperando por outro trem perdem um pouco de tempo.

Foto de Victor Rodriguez no Unsplash

Então, o que aprendi?

Sulfatos não são sulfitos… brincadeira. Sim, isso é verdade, mas o que aprendi com essa análise é que há muito mais fatores que contribuem para a classificação da qualidade de um vinho do que as características químicas. Embora existam algumas correlações entre essas variáveis, elas não são fortes o suficiente para julgar um vinho isoladamente. Também foi interessante ver como as variáveis reagem quando são agrupadas, como vimos com a densidade, o ácido cítrico e o álcool. De modo geral, essa análise forneceu mais informações sobre a decomposição do vinho tinto. Muito bem, chega de conversa, agora é hora de fazer o trabalho braçal e tomar uma taça de vinho tinto para concluir meus resultados. Saúde!

Tags: