Introdução

Este é um dataset contendo 1599 observações e 13 variáveis para um conjunto de dados sobre vinhos tintos, especificamente sobre o vinho verde Português.

Primeiras linhas do dataset

Vamos ver as primeiras 5 linhas do dataset:

X fixed.acidity volatile.acidity citric.acid residual.sugar chlorides free.sulfur.dioxide total.sulfur.dioxide density pH sulphates alcohol quality
1 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5
2 7.8 0.88 0.00 2.6 0.098 25 67 0.9968 3.20 0.68 9.8 5
3 7.8 0.76 0.04 2.3 0.092 15 54 0.9970 3.26 0.65 9.8 5
4 11.2 0.28 0.56 1.9 0.075 17 60 0.9980 3.16 0.58 9.8 6
5 7.4 0.70 0.00 1.9 0.076 11 34 0.9978 3.51 0.56 9.4 5

Últimas linhas linhas do dataset

Vamos ver as últimas 5 linhas do dataset:

X fixed.acidity volatile.acidity citric.acid residual.sugar chlorides free.sulfur.dioxide total.sulfur.dioxide density pH sulphates alcohol quality
1595 1595 6.2 0.600 0.08 2.0 0.090 32 44 0.99490 3.45 0.58 10.5 5
1596 1596 5.9 0.550 0.10 2.2 0.062 39 51 0.99512 3.52 0.76 11.2 6
1597 1597 6.3 0.510 0.13 2.3 0.076 29 40 0.99574 3.42 0.75 11.0 6
1598 1598 5.9 0.645 0.12 2.0 0.075 32 44 0.99547 3.57 0.71 10.2 5
1599 1599 6.0 0.310 0.47 3.6 0.067 18 42 0.99549 3.39 0.66 11.0 6

Estrutura de dados

Agora visualizar a estrutura de dados do dataset:

## 'data.frame':    1599 obs. of  13 variables:
##  $ X                   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ fixed.acidity       : num  7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
##  $ volatile.acidity    : num  0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
##  $ citric.acid         : num  0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
##  $ residual.sugar      : num  1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
##  $ chlorides           : num  0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
##  $ free.sulfur.dioxide : num  11 25 15 17 11 13 15 15 9 17 ...
##  $ total.sulfur.dioxide: num  34 67 54 60 34 40 59 21 18 102 ...
##  $ density             : num  0.998 0.997 0.997 0.998 0.998 ...
##  $ pH                  : num  3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
##  $ sulphates           : num  0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
##  $ alcohol             : num  9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
##  $ quality             : int  5 5 5 6 5 5 5 7 7 5 ...

Veja que a coluna ‘X’ nada mais é do que um índice. Não irei excluí-la mas ela não será utilizada para a análise. O dataset contém dados estruturados. O tipo de variável está de acordo com cada observação.

Dados estatísticos

Vejamos os dados estatísticos para cada variável:

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

Valores faltantes

Será que o dataset contém valores faltantes? Vamos verificar com sum(is.na())

## [1] 0

Bom! Não contém valores faltantes para serem tratados.

A seguir irei investigar cada variável do dataset. Irei visualizar através do histograma e boxplot.

Seção de Gráficos Univariados

Histograma para a variável fixed.acidity

Dados estatísticos para a variável:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    4.60    7.10    7.90    8.32    9.20   15.90

A variável ‘fixed.acidity’ é a acidez presente nos vinhos, que pode ser decorrente da uva e da fermentação. Vinhos de clima frio tendem a ser mais ácidos e vinhos de clima quente apresentam menor acidez (gerando vinhos com maior teor de alcool). Bebeu um vinho e começou a salivar muito? É um sinal de vinho com alta acidez. Se a acidez estiver se destacando excessivamente irá incomodar o paladar.

Irei observar se vinhos com alto teor de acidez resultaram em vinhos com notas mais baixas.

A distribuição da variável está próxima de uma distribuição normal, sendo um pouco right skew (assimétrica a direita).

Agora a variável ‘volatile.acidity’:

Dados estatísticos:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1200  0.3900  0.5200  0.5278  0.6400  1.5800

A variável ‘volatile.acidity’ é o que confere ao vinho, quando existente em altos níveis, o gosto de vinagre. Em altos níveis é perceptível no aroma: se o cheiro estiver forte, terá um cheiro parecido com vinagre e o gosto será ruim.

Será interessante observar se os vinhos com as notas mais baixas apresentam níveis altos desta variável e se as notas mais altas foram atribuídas à vinhos com menor presença desta.

A distribuição da variável é próxima de uma distribuição normal.

Agora vamos investigar a variável ‘citric.acid’:

Dados estatísticos:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.090   0.260   0.271   0.420   1.000

A variável ‘citric.acid’ é encontrada em quantidades pequenas.É este atributo que adiciona frescor e sabor ao vinho. Portanto, será interessante observar se os vinhos com as notas mais altas possuem valores pequenos desta variável e se o contrário também pode ser constatado.

A distribuição da variável é assimétrica a direita (right skew).

Para deixar a distribuição mais próxima da normal, vou usar a transformação logarítmica de base 10.

Agora a variável ‘residual.sugar’:

Dados estatísticos:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.900   1.900   2.200   2.539   2.600  15.500

A variável ‘residual.sugar’ é a quantidade restante de açúcar após a fermentação. Vinhos com menos de 1 grama por litro são raros de serem encontrados e vinhos com mais de 45 gramas por litro são considerados vinhos doces. Existem muitas pessoas no Brasil que preferem vinhos doces e creio que esta seja uma característica do país, cujo consumo de vinhos não é similar ao de outros países produtores, como países europeus. As notas foram atribuídas por expecialistas em vinhos, logo, creio que os vinhos com menores quantidades de ‘residual.sugar’, que são vinhos mais secos, sejam aqueles com as melhores notas.

Isso será investigado.

A distribuição da variável é assimétrica a direita. Vou utilizar o log10 para aproximar de uma distribuição normal.

Agora a variável ‘chlorides’:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.01200 0.07000 0.07900 0.08747 0.09000 0.61100

A variável ‘chlorides’ é a quantidade de sal presente no vinho. Como pode ser visto no histograma, está presente em menores quantidades. É possível acreditar que vinhos com alto valor de ‘chlorides’ não possuam um sabor aceitável e por isso contenham as menores notas de qualidade.

Isso será verificado.

A distribuição da variável é assimétrica a direita. Irei usar o log10.

Variável ‘free.sulfur.dioxide’:

Dados estatísticos:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1.00    7.00   14.00   15.87   21.00   72.00

Trata-se do dióxido de enxofre (SO2) presente nos vinhos. Este elemento é usado para a elaboração de vinhos desde o século XVIII. SO2 livre são os sais liberados em soluções aquosas como o vinho. É usado para o controle das bactérias presentes no vinho. Também protege o vinho da ação do oxigênio. Se usado em doses elevadas pode ocasionar diversos problemas ao vinho, como afetar a intensidade da cor, promover o surgimento de aromas desagradáveis e até mesmo oferecer riscos à saúde. Devido a isto, a sua presença deve ser informada obrigatoriamente nos rótulos dos vinhos. Junto com o íon bissulfito (HSO3) é formado o SO2 combinado. A proporção de livre e combinado forma o SO2 total, que será visto na sequência.

A distribuição da variável é assimétrica a direita (right skew). Vamos utilizar a transformação logarítmica para aproximar a distribuição de uma normal.

Agora a variável ‘total.sulfur.dioxide’

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    6.00   22.00   38.00   46.47   62.00  289.00

Esta variável, quando em baixas concentrações, é imperceptível no vinho. Mas em concentrações acima de 50 ppm, tornam-se evidentes e afetam o cheiro e o sabor do vinho. Vinhos com concentração superior à 50 ppm podem ter suas notas afetadas.

Irei verificar.

A distribuição da variável é assimétrica a direita.

Agora a variável ‘density’:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.9901  0.9956  0.9968  0.9967  0.9978  1.0037

O atributo ‘density’ é a densidade da água. Depende da quantidade de álcool e de açúcar no vinho. É correlacionada com essas duas variáveis. Suponho que um equilibrio estre essas duas variáveis possa proporcionar vinhos considerados de melhor qualidade.

Os dados para a variável density seguem uma distribuição normal.

Vamos ver agora a variável ‘pH’:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.740   3.210   3.310   3.311   3.400   4.010

Este atributo determina se um vinho é muito ácido. Há uma escala de 0 até 14, em que vinhos com pH 0 são muito ácidos e vinhos com pH 14 não possuem acidez. A maioria dos vinhos tem o pH entre 3-4.

As maiores notas de qualidade são condizentes com essa escala de pH? Irei verificar.

Os dados para a variável pH seguem uma distribuição normal.

Agora a variável ‘sulphates’:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.3300  0.5500  0.6200  0.6581  0.7300  2.0000

Sulfatos são adiconados ao vinho e contribuem para os níveis de SO2, atuando como controle da oxidação e das bactérias.

Os dados para a variável são próximos de uma distribuição normal, sendo levemente assimétricos à direita.

Agora a variável que é mais perceptível pelo público em geral, o álcool:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.40    9.50   10.20   10.42   11.10   14.90

Esta é a variável mais conhecida (e talvez a única percebida por muitos) para os vinhos. É o percentual de álcool presente no vinho. Vamos observar se vinhos com maior teor álcoolico são aqueles que possuem as melhores notas. Acredito que tanto percentuais baixos quanto altos afetem a qualidade do vinho.

Os dados para a variável seguem uma distribuição próxima da normal, levemente assimétrica à direita.

Agora a variável principal, ‘quality’:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.000   5.000   6.000   5.636   6.000   8.000

Vamos calcular a quantidade de observações para cada nota, usando ggplot2::cut_width()

cut_width(quality, 1) n
[2.5,3.5] 10
(3.5,4.5] 53
(4.5,5.5] 681
(5.5,6.5] 638
(6.5,7.5] 199
(7.5,8.5] 18

É um atributo externo. Foi criado a partir de avaliações sensoriais. Apresenta um score de 0 à 10. Para o dataset em questão a nota mínima é 3 e a máxima é 8.

Os dados para a variável seguem uma distribuição normal.

É possível observar que a maioria dos vinhos presentes no dataset são vinhos de qualidade média, com predominância das notas 5 e 6. Os vinhos com a pontuação mais baixa e com a mais alta ocorrem em menor quantidade. Isso afeta a minha intenção inicial de buscar as características predominantes que proporcionem a maior nota de qualidade, já que neste dataset há predominãncia de vinhos que contém uma qualidade média.

Seria interessante observar mais dados sobre vinhos com a nota máxima para terem as suas características comparadas com os demais vinhos.

A variável ‘quality’ é do tipo ‘int’. Vou criar uma variável categórica a partir desta em uma nova coluna.

E fazer um count para a quantidade de observações em cada categoria criada:

qualidade n
baixa 63
média 1319
alta 217

Análise Univariada

Qual é a estrutura do conjunto de dados?

Os dados estão organizados em um dataframe contendo 1.599 observações e 12 variáveis (há 13 sendo uma coluna chamada de X, que não tem utilização), para um conjunto de dados sobre vinho tinto. As variáveis foram obtidas a partir de testes físico-químicos.

Os dados estão bem organizados, são dados tabulares, não apresentam valores faltantes. Estão arrumados: cada valor está em sua própria célula; cada variável está em sua própria coluna; e cada observação está em sua própria linha.

Quais são os principais atributos de interesse deste conjunto de dados?

O principal atributo é uma pontuação de qualidade, uma nota de 0 a 10. É um atributo externo, criado a partir de avaliações sensoriais de especialistas em vinhos.

Quais outros atributos você acha que podem lhe auxiliar na investigação destes atributos de interesse?

Os demais atributos são características de cada vinho. Estes motivam a pergunta sobre quais atributos contribuem mais para as maiores notas de qualidade.

Você criou novas variáveis a partir dos atributos existentes no conjunto de dados?

Sim. Foi criada uma variável categórica a partir da variável numérica ‘quality’.

Dos atributos investigados, distribuições incomuns foram encontradas? Você aplicou operações nos dados para limpá-los, ajustá-los ou mudar a forma dos dados? Se sim, por quê?

Sim. Alguns atributos possuem distribuições assimétricas à direita. Foi utilizada a transformação logarítmica para ajustar a distribuiçao destes atributos.

Seção de Gráficos Bivariados

Vamos verificar cada variável como se relaciona com a variável de qualidade.

Vou plotar as variáveis que contribuem positivamente para a qualidade.

No início comentei que vinhos com alto teor de acidez (fixed.acidity) prejudicam a qualidade dos vinhos. Aqui é possível notar uma relação positiva. À medida que a acidez aumenta, a qualidade atribuída também aumentou. Tanto a acidez muito baixa quanto a acidez muito alta, proporcionam as notas mais baixas. A variável citric.acid é aquela que proporciona frescor e sabor para o vinho. Veja que há uma relação positivia com o atributo de qualidade.

“sulphates” são adicionados ao vinho, para controle da oxidação e bactérias. Valores menores contribuem para notas mais baixas. Há uma relação positiva com o atributo de qualidade. O atributo alchohol contém uma relação positiva. Baixo teor de álcool contribue com notas mais baixas. Mas um alto valor também irá afetar a nota de qualidade do vinho.

Agora as variáveis cujos níveis altos contribuem negativamente para a qualidade:

O boxplot para a variável ‘volatile.acidity’ constata que os vinhos com as notas mais baixas apresentaram níveis altos desta variável e as notas mais altas foram atribuídas aos vinhos com menor presença desta. Há uma relação negativa.

A visualização para ‘residual.sugar’ demonstra que os vinhos com menores quantidades desta, que são vinhos mais secos, receberam as melhores notas.

Veja que vinhos com valores mais altos de ‘chlorides’ (é a quantidade de sal no vinho) receberam as menores notas. O atributo “free.sulfur.dioxide” também apresenta uma relação negativa com o atributo de qualidade.

Como comentado no início, é possível constatar que vinhos com teores mais altos de acidez resultam em notas de qualidade mais baixas. Há uma relação negativa com o atributo de qualidade, assim como para o atributo “density”.

Para estas amostras de pH, comprovou-se que a maioria dos vinhos presentes no dataset têm o pH entre 3 e 4. A maioria dos vinhos fabricados têm o pH entes esses níveis.

Os gráficos acima foram para avaliar a relação entre as variáveis e o atributo de qualidade. Vamos verificar como todas as variáveis relacionam-se entre si.

Neste gráfico é demonstrado o seguinte: - A distribuição de cada variável na diagonal; - Na parte inferior:um scatterplot para duas variáveis; - Na parte superior: o valor da correlação mais o nível de significância, representado na forma de estrelas (). Cada nível de significância é associado a um símbolo: p-values(0, 0.001, 0.01, 0.05, 0.1, 1) - símbolos(, , *, “.”, " “)

Maiores correlações positivas: ‘alcohol’ e ‘quality ’density’ e ‘fixed.acidity’ ‘free.sulfur.dioxide’ e ‘total.sulfur’dioxide’ (essa era esperada já que uma compõem a outra) ‘citric.acid’ e ‘fixed.acidity’

Maiores correlações negativas: ‘citric.acid’ e ‘volatile.acidity’ ‘pH’ e ‘fixed.acidity’ ‘pH’ e ‘citric.acid’ ‘alcohol’ e ‘density’

Vamos visualizar as positivas e negativas:

Agora vejamos as maiores correlações negativas:

Análise Bivariada

Discuta sobre alguns dos relacionamentos observados nesta parte da investigação. Como os atributos de interesse variaram no conjunto de dados?

O atributo álcool é aquele que apresentou a maior correlação positiva com o atributo de qualidade. O que já era esperado pois é um atributo que se destaca, mesmo para aqueles que não são especialistas em vinhos. O segundo atributo com a maior correlação foram os sulfatos.

Você observou algum relacionamento interessante entre os outros atributos (os que não são de interesse)?

O atributo ‘fixed.acidity’ me pareceu ser o que mais relaciona-se com as outras variáveis.

Qual foi o relacionamento mais forte encontrado?

Relacionamento negativo foi entre ‘pH’ e ‘fixed.acidity’ Positivo foram dois: ‘density’ e ‘fixed.acidity’ ‘citric.acid’ e ‘fixed.acidity’

Seção de Gráficos Multivariados

Os atributos ‘sulphates’ e ‘alcohol’ foram os que contribuiram positivamente para as melhores notas.

Veja como é possível constatar, através dos pontos azuis quadrados, que níveis mais altos de álcool e sulfatos geraram os vinhos com a qualidade alta.

Valores de sulphates abaixo de 1.0 (g/dm³) e alcohol acima de 10 (% by volume) obtiveram as notas mais altas de qualidade. Há uma maior concentração em níves de alcohol em torno de 12 (em % do volume)

Como visto no começo, o dataset contém uma grande quantidade de vinhos com a qualidade média, algo que fica bem visível através do gráfico, mostrando várias combinações entre álcool e sulfatos que resultam em vinhos de qualidade média.

Como o atributo ‘alcohol’ é o que contém a maior correlação com o atributo ‘quality’, vou analisá-lo com as outras variáveis que, individualmente, foram correlacionadas positivamente com o atributo de qualidade.

Começando com fixed.acidity:

Concentrações maiores de ambos geram melhores notas de qualidade. Mas é interessante observar que alguns vinhos cujo teor de álcool é maior e a acidez é baixa, também geraram notas altas. Lembremos: - uvas de climas frios geram vinhos com mais acidez; - uvas de climas quentes geram vinhos com menos acidez e mais álcool. A partir disso, podemos supor que os vinhos com maior teor de álcool e menor acidez, são provenientes de regiões mais quentes. E os vinhos com a acidez mais alta são pronientes de uvas cultivadas em clima mais frio. O que é condizente com o local onde a amostra foi colhida: variantes do vinho verde português (Portugal).

Agora para citric.acid:

O atributo ‘citric.acid’ é o que gera frescor e sabor ao vinho. Quantidades entre 0.25 e 0.50 (g/dm³), combinadas com o álcool, foram as que geraram as melhores notas. Estas duas combinações aparentam ser as que geram as maiores notas para os vinhos.

O atributo ‘volatile.acidity’ é o que apresentou maior correlação negativa com o atributo de qualidade. Vamos ver como este atributo afeta a variável ‘alcohol’ e a qualidade.

O vinho estava com gosto de vinagre? Se sim, lembre-se do atributo ‘volatile.acidity’. É este que confere ao vinho esse gosto, quando existente em altos níveis. Veja a constatação de que as notas mais baixas foram decorrentes de vinhos com os valores mais altos deste atributo. E as maiores notas de qualidade foram de valores mais baixos deste atributo, conjugadas com maior teor de álcool, que resultaram em vinhos com melhores avaliações.

A correlação entre os atributos ‘density’ e ‘alcohol’ foi negativa. Vamos ver como a combinação destes dois afeta a qualidade.

Veja a correlação negativa. A ‘density’ parece ser um atributo que prejudica o efeito do álcool sobre o vinho.

Agora vejamos a variável fixed.acidity, que tem uma correlação positiva com a variável qualidade, juntamente com a variável density (de correlação negativa).

Novamente demonstrando que níveis menores da variável density proporcionam as melhores notas de qualidade.

A combinação destas duas também aparenta gerar as maiores notas para os vinhos.

Estas duas apresentam as melhores notas quando os seus valores são menores.

Como dito, a maioria dos vinhos possuem o pH entre 3 e 4. Níveis altos para o atributo “volatile.acidity”, acima 0.8 (g/dm³) geraram os vinhos com as notas mais baixas de qualidade. Estes atributos acima contribuem muito para as menores notas.

Estas duas afetam diretamente as notas de qualidades. São as que mais contribuem negativamente para a nota final.

Análise Multivariada

Discuta sobre os relacionamentos observados nesta parte da investigação. Quais atributos que fortaleceram os demais na observação das variáveis de interesse?

Alcohol e citric.acid contribuem positivamente. Mas se for alcohol e density, a qualidade mais alta é afetada. O atributo volatile.acidity é um que deve ser observado com atenção. Este tem a capacidade de conceder ao vinho o gosto de vinagre, sendo assim altamente perceptível, mesmo por não especialistas. Como esperado no início, alcohol é o atributo que se destaca diretamente com o atributo externo de qualidade.

Interações surpreendentes e/ou interessantes foram encontradas entre os atributos?

Achei interessante a combinação entre fixed.acidity e citric.acid. Contribuíram positivamente para vinhos com mais notas altas.

Modelos de regressão

Um modelo de regressão linear pode ser utilizado para modelar o relacionamento entre a magnitude de uma variável e outra variável, por exemplo, quando a variável X aumenta, Y também aumenta. Ou vice-versa. A correlação, demonstrada em vários gráficos acima, é um jeito de medir como duas variáveis estão relacionadas, medindo a força de uma associação entre duas variáveis. Já a regressão é capaz de quantificar a natureza do relacionamento entre essas variáveis, quantificando a força da associação.

Para este caso a variável de resposta ou variável dependente ou variável alvo, será o atributo de qualidade, o “quality”.

A variável independente, que é a variável usada para prever a resposta, será a variável “alcohol”.

Uma regressão linear simples tenta encontrar a “melhor” linha para prever a resposta “quality” como uma função da variável preditora “alcohol”.

Usando um modelo de regressão linear simples temos o seguinte resultado:

## 
## Call:
## lm(formula = quality ~ alcohol, data = redwine)
## 
## Coefficients:
## (Intercept)      alcohol  
##      1.8750       0.3608

Vamos chamar a função summary() para calcular as métricas do modelo de regressão:

## 
## Call:
## lm(formula = quality ~ alcohol, data = redwine)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.8442 -0.4112 -0.1690  0.5166  2.5888 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.87497    0.17471   10.73   <2e-16 ***
## alcohol      0.36084    0.01668   21.64   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7104 on 1597 degrees of freedom
## Multiple R-squared:  0.2267, Adjusted R-squared:  0.2263 
## F-statistic: 468.3 on 1 and 1597 DF,  p-value: < 2.2e-16

O intercepto é o valor previsto quando X = 0. Neste caso, é o valor previsto para a variável Y (quality) quando X (alcohol) é igual a 0. O coeficiente de regressão (0.3608) pode ser interpretado como o acréscimo na variável “quality” para cada acréscimo em % de volume da variável “alcohol”.

A métrica “Residual standard error” ou simplesmente RSE (erro-padrão residual) é a métrica de desempenho do modelo. Esta métrica pode ser usada para comparação entre modelos. Neste caso, o resultado de 0.7104 é o erro do modelo na nota final de qualidade.

O coeficiente de determinação ou R-quadrado ou R2, mede a proporção de variação nos dados que é contabilizada no modelo. Neste caso, para a variável “alcohol”, o resultado de 0.2267 demonstra que esta variável explica cerca de 22% do resultado final (nota de qualidade).

Mas não temos no dataset apenas uma variável preditora. Temos 11 no total.

Isso é uma aplicação para a regressão linear múltipla. Com esta, deixamos de ter uma linha e passamos a ter um modelo linear.

O objetivo será prever a variável alvo “quality” a partir das outras variáveis (independentes).

No entanto, ir adicionando todas as variáveis não irá significar que o modelo ficará melhor.

A adição de variáveis sempre reduz o RSE e aumenta o R2, podendo assim levar à escolha de modelos que não são bons.

Existem algumas técnicas para a seleção das variáveis a serem utilizadas. Sem entrar em detalhes de todas, optei por utilizar uma chamada de regressão passo a passo, chamada de stepAIC.

AIC significa Akaike´s Information Criteria. É uma métrica que penaliza a adição de termos a um modelo.

Em R, ela pode ser encontrada dentro do pacote MASS.

Esta técnica irá incluir e excluir sucessivamente os preditores com o objetivo de encontrar um modelo que diminua o AIC.

Desta forma:

## Start:  AIC=-1375.49
## quality ~ fixed.acidity + citric.acid + sulphates + alcohol + 
##     volatile.acidity + residual.sugar + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + density + pH
## 
##                        Df Sum of Sq    RSS     AIC
## - density               1     0.287 666.70 -1376.8
## - fixed.acidity         1     0.389 666.80 -1376.5
## - residual.sugar        1     0.498 666.91 -1376.3
## - citric.acid           1     0.646 667.06 -1375.9
## <none>                              666.41 -1375.5
## - free.sulfur.dioxide   1     1.694 668.10 -1373.4
## - pH                    1     1.957 668.37 -1372.8
## - chlorides             1     8.391 674.80 -1357.5
## - total.sulfur.dioxide  1     8.427 674.84 -1357.4
## - sulphates             1    26.971 693.38 -1314.0
## - volatile.acidity      1    33.620 700.03 -1298.8
## - alcohol               1    45.672 712.08 -1271.5
## 
## Step:  AIC=-1376.8
## quality ~ fixed.acidity + citric.acid + sulphates + alcohol + 
##     volatile.acidity + residual.sugar + chlorides + free.sulfur.dioxide + 
##     total.sulfur.dioxide + pH
## 
##                        Df Sum of Sq    RSS     AIC
## - fixed.acidity         1     0.108 666.81 -1378.5
## - residual.sugar        1     0.231 666.93 -1378.2
## - citric.acid           1     0.654 667.35 -1377.2
## <none>                              666.70 -1376.8
## + density               1     0.287 666.41 -1375.5
## - free.sulfur.dioxide   1     1.829 668.53 -1374.4
## - pH                    1     4.325 671.02 -1368.5
## - total.sulfur.dioxide  1     8.728 675.43 -1358.0
## - chlorides             1     8.761 675.46 -1357.9
## - sulphates             1    27.287 693.98 -1314.7
## - volatile.acidity      1    35.000 701.70 -1297.0
## - alcohol               1   119.669 786.37 -1114.8
## 
## Step:  AIC=-1378.54
## quality ~ citric.acid + sulphates + alcohol + volatile.acidity + 
##     residual.sugar + chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH
## 
##                        Df Sum of Sq    RSS     AIC
## - residual.sugar        1     0.257 667.06 -1379.9
## - citric.acid           1     0.565 667.37 -1379.2
## <none>                              666.81 -1378.5
## + fixed.acidity         1     0.108 666.70 -1376.8
## + density               1     0.005 666.80 -1376.5
## - free.sulfur.dioxide   1     1.901 668.71 -1376.0
## - pH                    1     7.065 673.87 -1363.7
## - chlorides             1     9.940 676.75 -1356.9
## - total.sulfur.dioxide  1    10.031 676.84 -1356.7
## - sulphates             1    27.673 694.48 -1315.5
## - volatile.acidity      1    36.234 703.04 -1295.9
## - alcohol               1   120.633 787.44 -1114.7
## 
## Step:  AIC=-1379.93
## quality ~ citric.acid + sulphates + alcohol + volatile.acidity + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH
## 
##                        Df Sum of Sq    RSS     AIC
## - citric.acid           1     0.475 667.54 -1380.8
## <none>                              667.06 -1379.9
## + residual.sugar        1     0.257 666.81 -1378.5
## + fixed.acidity         1     0.133 666.93 -1378.2
## + density               1     0.028 667.03 -1378.0
## - free.sulfur.dioxide   1     2.064 669.13 -1377.0
## - pH                    1     7.138 674.20 -1364.9
## - total.sulfur.dioxide  1     9.828 676.89 -1358.5
## - chlorides             1     9.832 676.89 -1358.5
## - sulphates             1    27.446 694.51 -1317.5
## - volatile.acidity      1    35.977 703.04 -1297.9
## - alcohol               1   122.667 789.73 -1112.0
## 
## Step:  AIC=-1380.79
## quality ~ sulphates + alcohol + volatile.acidity + chlorides + 
##     free.sulfur.dioxide + total.sulfur.dioxide + pH
## 
##                        Df Sum of Sq    RSS     AIC
## <none>                              667.54 -1380.8
## + citric.acid           1     0.475 667.06 -1379.9
## + residual.sugar        1     0.167 667.37 -1379.2
## + density               1     0.031 667.51 -1378.9
## + fixed.acidity         1     0.007 667.53 -1378.8
## - free.sulfur.dioxide   1     2.394 669.93 -1377.1
## - pH                    1     7.073 674.61 -1365.9
## - total.sulfur.dioxide  1    10.787 678.32 -1357.2
## - chlorides             1    10.809 678.35 -1357.1
## - sulphates             1    27.060 694.60 -1319.2
## - volatile.acidity      1    42.318 709.85 -1284.5
## - alcohol               1   124.483 792.02 -1109.4
## 
## Call:
## lm(formula = quality ~ sulphates + alcohol + volatile.acidity + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH, data = redwine, na.action = na.omit)
## 
## Coefficients:
##          (Intercept)             sulphates               alcohol  
##             4.430099              0.882665              0.289303  
##     volatile.acidity             chlorides   free.sulfur.dioxide  
##            -1.012753             -2.017814              0.005077  
## total.sulfur.dioxide                    pH  
##            -0.003482             -0.482661

A técnica incluiu e excluiu automaticamente algumas variáveis independentes e encontrou as variáveis que juntas diminuem o AIC. Foram elas: sulphates + alcohol + volatile.acidity + chlorides + free.sulfur.dioxide + total.sulfur.dioxide + pH.

Agora vejamos as métricas para este modelo:

## 
## Call:
## lm(formula = quality ~ sulphates + alcohol + volatile.acidity + 
##     chlorides + free.sulfur.dioxide + total.sulfur.dioxide + 
##     pH, data = redwine, na.action = na.omit)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.68918 -0.36757 -0.04653  0.46081  2.02954 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           4.4300987  0.4029168  10.995  < 2e-16 ***
## sulphates             0.8826651  0.1099084   8.031 1.86e-15 ***
## alcohol               0.2893028  0.0167958  17.225  < 2e-16 ***
## volatile.acidity     -1.0127527  0.1008429 -10.043  < 2e-16 ***
## chlorides            -2.0178138  0.3975417  -5.076 4.31e-07 ***
## free.sulfur.dioxide   0.0050774  0.0021255   2.389    0.017 *  
## total.sulfur.dioxide -0.0034822  0.0006868  -5.070 4.43e-07 ***
## pH                   -0.4826614  0.1175581  -4.106 4.23e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6477 on 1591 degrees of freedom
## Multiple R-squared:  0.3595, Adjusted R-squared:  0.3567 
## F-statistic: 127.6 on 7 and 1591 DF,  p-value: < 2.2e-16

Comparando com o modelo de regressão simples, o RSE foi menor e juntas, estas variáveis apresentaram um R2 de 0.3595, que significa que cerca de 35% do resultado final (nota de qualidade) é explicado por essas variáveis.

Como dito no início, o dataset não contém muitas observações para vinhos com qualidade baixa e alta, tendo uma concentração de vinhos com a qualidade média. Acredito que isto pode ter impactado no modelo gerado, pela ausência de mais observações.


Gráficos Finais e Sumário

Primeiro Gráfico

Descrição do Primeiro Gráfico

Mostra a relação entre os dois atributos e a qualidade. Níveis mais altos de ambos obtiveram vinhos com notas mais altas de qualidade.

Segundo Gráfico

Descrição do Segundo Gráfico

Os dois atributos que combinados resultaram em mais vinhos com qualidade alta. ### Terceiro Gráfico

Descrição do Terceiro Gráfico

Combinações de ‘sulphates’ e ‘alcohol’ que geram vinhos com notas mais altas. Com base no modelo de regressão múltipla, estas duas variáveis são as que mais impactam no resultado final (nota de qualidade)

Reflexão

Inicialmente gostaria que o dataset contivesse mais dados dos vinhos com notas baixas e altas. O dataset tem grande concentração de vinhos que receberam notas médias de qualidade. Um modelo gerado provavelmente seria afetado pela pouca quantidade de observações para os vinhos de notas baixas e altas. Apesar disso foi possível observar que o atributo ‘alcohol’ é o mais positivamente relacionado com a qualidade. Vinhos com baixo teor de álcool são os que receberam as menores notas. Pelo modelo de regressão múltipla, as variáveis “alcohol” e “sulphates”, são as que mais contribuem para aumentar as notas de qualidade dos vinhos. Dois atributos que devem ser observados com atenção são ‘volatile.acidity’ e ‘chlorides’. Pelo modelo de regressão, estes são os que mais contribuem negativamente para a nota final de qualidade. A percepção de ‘volatile.acidity’ é fácil: quando existente em valores altos, concede o sabor de vinagre ao vinho. Logo, vinhos com valores mais altos deste atributo receberam as menores notas. E ‘chlorides’ é a quantidade de sal presente no vinho. Quantidades altas desta afetam o sabor do vinho, prejudicando as notas finais de qualidade.