O conjunto de dados do vinho é uma coleção de informações que descrevem características químicas de amostras de vinho provenientes de três cultivares distintas. Essas informações são representadas por 13 concentrações químicas diferentes, cada uma delas sendo uma variável que pode influenciar nas propriedades e na qualidade do vinho. A Fonte dessas informações : https://rstudio-pubs-static.s3.amazonaws.com/35817_2552e05f1d4e4db8ba87b334101a43da.html
Classificação Precisa: Corretamente identificar e classificar observações em grupos predeterminados com base em variáveis explicativas.
Redução da Dimensionalidade: Diminuir a quantidade de variáveis originais para um número menor de variáveis discriminantes, mantendo a informação relevante.
Maximização da Variância Intergrupos: Encontrar combinações lineares que maximizem a variação entre os grupos.
Minimização da Variância Intragrupos: Reduzir a variação dentro de cada grupo, tornando as observações dentro do mesmo grupo mais semelhantes.
Identificação das Variáveis Mais Discriminantes: Identificar as variáveis mais relevantes que contribuem significativamente para a discriminação entre os grupos.
pacman::p_load('MASS','WeDiBaDis', 'psych','car')
data(wine, package='rattle')
attach(wine)
names(wine)
## [1] "Type" "Alcohol" "Malic" "Ash"
## [5] "Alcalinity" "Magnesium" "Phenols" "Flavanoids"
## [9] "Nonflavanoids" "Proanthocyanins" "Color" "Hue"
## [13] "Dilution" "Proline"
1. Álcool (Alcohol): É a substância presente no vinho que confere o teor alcoólico, resultado da fermentação dos açúcares presentes nas uvas.
2. Malic: Refere-se ao ácido málico, um ácido orgânico presente nas uvas e que afeta o sabor e a acidez do vinho.
3. Ash (Cinzas): Representa a quantidade de cinzas deixadas após a incineração de uma amostra, indicando a quantidade de minerais presentes.
4. Alcalinidade (Alkalinity): A alcalinidade se refere à presença de substâncias alcalinas, indicando a capacidade de neutralizar a acidez.
5. Magnésio (Magnesium): Um mineral presente nas uvas e no solo, que pode afetar o crescimento da videira e a composição química do vinho.
6. Fenóis (Phenols): São compostos que contribuem para a cor, sabor e textura do vinho. Podem ser antioxidantes e afetar a sensação de adstringência.
7. Flavanóides (Flavonoids): São um tipo de fenol que afeta a cor e o sabor do vinho, e podem ter propriedades antioxidantes.
8. Não-flavanóides (Non-flavonoids): Outro grupo de compostos que inclui substâncias como ácidos fenólicos, taninos e outros, que também afetam as características do vinho.
9. Proantocianinas (Proanthocyanidins): São taninos encontrados nas uvas e no vinho, que contribuem para a adstringência e estrutura do vinho.
10. Cor (Color): Refere-se à tonalidade e intensidade da cor do vinho, influenciada pelos pigmentos presentes nas uvas.
11. Matiz (Hue): É uma característica da cor que descreve a tonalidade específica do vinho, como vermelho, roxo, âmbar, etc.
12. Diluição (Dilution): Indica a proporção de uma substância que foi misturada ou diluída com outra, influenciando a concentração final.
13. Prolina (Proline): É um aminoácido que pode estar presente nas uvas e influenciar o sabor e a qualidade do vinho.
head(wine)
A análise descritiva é uma técnica estatística que tem como objetivo apresentar uma descrição resumida dos dados. Essas medidas descritivas auxiliam na sumarização e compreensão da distribuição dos dados como média, mediana, moda, mínimo, máximo e entre outras.
summary(wine)
## Type Alcohol Malic Ash Alcalinity
## 1:59 Min. :11.03 Min. :0.740 Min. :1.360 Min. :10.60
## 2:71 1st Qu.:12.36 1st Qu.:1.603 1st Qu.:2.210 1st Qu.:17.20
## 3:48 Median :13.05 Median :1.865 Median :2.360 Median :19.50
## Mean :13.00 Mean :2.336 Mean :2.367 Mean :19.49
## 3rd Qu.:13.68 3rd Qu.:3.083 3rd Qu.:2.558 3rd Qu.:21.50
## Max. :14.83 Max. :5.800 Max. :3.230 Max. :30.00
## Magnesium Phenols Flavanoids Nonflavanoids
## Min. : 70.00 Min. :0.980 Min. :0.340 Min. :0.1300
## 1st Qu.: 88.00 1st Qu.:1.742 1st Qu.:1.205 1st Qu.:0.2700
## Median : 98.00 Median :2.355 Median :2.135 Median :0.3400
## Mean : 99.74 Mean :2.295 Mean :2.029 Mean :0.3619
## 3rd Qu.:107.00 3rd Qu.:2.800 3rd Qu.:2.875 3rd Qu.:0.4375
## Max. :162.00 Max. :3.880 Max. :5.080 Max. :0.6600
## Proanthocyanins Color Hue Dilution
## Min. :0.410 Min. : 1.280 Min. :0.4800 Min. :1.270
## 1st Qu.:1.250 1st Qu.: 3.220 1st Qu.:0.7825 1st Qu.:1.938
## Median :1.555 Median : 4.690 Median :0.9650 Median :2.780
## Mean :1.591 Mean : 5.058 Mean :0.9574 Mean :2.612
## 3rd Qu.:1.950 3rd Qu.: 6.200 3rd Qu.:1.1200 3rd Qu.:3.170
## Max. :3.580 Max. :13.000 Max. :1.7100 Max. :4.000
## Proline
## Min. : 278.0
## 1st Qu.: 500.5
## Median : 673.5
## Mean : 746.9
## 3rd Qu.: 985.0
## Max. :1680.0
par(mfrow=c(2,3))
hist(wine$Alcohol , col = "blue", main = "Gráfico de Álcool ")
hist(wine$Malic , col = "lightgreen", main = "Gráfico do Ácido Orgânico ")
hist(wine$Ash , col = "orange" , main = "Gráfico de Minerais(cinzas)")
hist(wine$Alcalinity , col = "red", main = "Gráfico Alcalinidade ")
hist(wine$Magnesium , col = "green", main = "Gráfico de Magnésio")
A análise discriminante é uma técnica que pode ser utilizada para classificar elementos de uma amostra ou população e ainda indicar os objetos com maior poder de discriminação dos grupos em que eles se encontram.
pairs.panels(wine[2:6],
gap = 0,
bg = c("red","green","purple")[wine$Type],
pch = 21)
A correlação entre variáveis é uma medida estatística que quantifica a relação entre duas ou mais variáveis. Ela indica a direção e a intensidade da associação entre as variáveis, ajudando a entender se e como elas estão relacionadas.Podemos observar que as variáveis com a maior correlação foi (Ash e Alcalinity) . Já a menor correlação foi expressa por (Alcalinity e Magnesium).
Para separar os vinhos por cultivar (G=3), usamos 13 variáveis (p=13) e podemos ter no máximo 2 funções discriminantes úteis.
set.seed(5)
ind<-sample(2,nrow(wine),
replace = TRUE,
prob = c(0.7,0.3))
training <- wine[ind==1,]
testing<- wine[ind==2,]
As variaveis ficaram divididas , training = 120 observações e testing = 58 observações.
Logo podemos realizar uma análise discriminante linear usando a função “lda()” do pacote R MASS.
wine.lda <- lda(Type ~ ., training)
wine.lda
## Call:
## lda(Type ~ ., data = training)
##
## Prior probabilities of groups:
## 1 2 3
## 0.3416667 0.3666667 0.2916667
##
## Group means:
## Alcohol Malic Ash Alcalinity Magnesium Phenols Flavanoids
## 1 13.72220 1.973659 2.475366 17.23171 105.36585 2.807561 2.974146
## 2 12.21000 1.958182 2.224318 19.98864 90.97727 2.267045 2.044318
## 3 13.06457 3.363143 2.422000 21.24286 98.74286 1.645714 0.764000
## Nonflavanoids Proanthocyanins Color Hue Dilution Proline
## 1 0.2921951 1.889024 5.514390 1.0802439 3.133415 1133.7073
## 2 0.3665909 1.645000 2.980000 1.0040909 2.803636 489.3409
## 3 0.4642857 1.118857 7.192857 0.6891429 1.686571 629.0000
##
## Coefficients of linear discriminants:
## LD1 LD2
## Alcohol -0.595721534 0.855886482
## Malic 0.038715153 0.334961255
## Ash -0.254900176 2.406922071
## Alcalinity 0.114044000 -0.108830640
## Magnesium -0.015928704 0.006474268
## Phenols 0.621317704 -0.077448810
## Flavanoids -1.920773694 -0.666807285
## Nonflavanoids -1.463525412 -1.182659006
## Proanthocyanins 0.468809728 -0.379896901
## Color 0.305794334 0.263782978
## Hue -0.933056762 -0.897432185
## Dilution -1.114203303 -0.148741068
## Proline -0.003165396 0.002734247
##
## Proportion of trace:
## LD1 LD2
## 0.711 0.289
wine.lda$counts
## 1 2 3
## 41 44 35
A Probabilidades prévias dos grupos fornece as probabilidades prévias estimadas para cada grupo (ou classe) que o modelo está tentando classificar. Neste caso, existem três grupos (classes) denotados como 1, 2 e 3. As probabilidades prévias indicam a proporção de cada grupo no conjunto de dados de treinamento.
- O Grupo 1 tem uma probabilidade prévia de aproximadamente 0,3417.
- O Grupo 2 tem uma probabilidade prévia de aproximadamente 0,3667.
- O Grupo 3 tem uma probabilidade prévia de aproximadamente 0,2917.
A maior média dentre as características listadas nos três grupos é a do atributo “Proline” no Grupo 1, que é aproximadamente 1133.7073.
Logo podemos identidicar a primeira função discriminante é uma combinação linear das variáveis:
Uma forma eficaz de apresentar os resultados de uma análise discriminante linear (LDA) é por meio de um histograma empilhado dos valores da função discriminante para as amostras de grupos distintos.
wine.lda.values <- predict(wine.lda)
ldahist(data = wine.lda.values$x[,1], g=Type)
Função discriminante separa essas cultivares, fazendo um histograma empilhado dos valores da segunda função discriminante:
{r} ldahist(data = wine.lda.values$x[,2], g=Type)
Gráficos de dispersão das funções discriminantes
plot(wine.lda.values$x[,1],wine.lda.values$x[,2]) # make a scatterplot
text(wine.lda.values$x[,1],wine.lda.values$x[,2],Type,cex=0.7,pos=4,col="red") # add labels
library(devtools)
## Carregando pacotes exigidos: usethis
library(ggord)
ggord(wine.lda, training$Type, ylim = c(-10,10))
p1<- predict(wine.lda, training)$class
tab<-table(Predicted = p1, Actual = training$Type)
tab
## Actual
## Predicted 1 2 3
## 1 41 0 0
## 2 0 43 0
## 3 0 1 35
A matriz de confusão indica que o modelo teve um desempenho bastante bom na classificação das observações nas três classes (1, 2 e 3), com apenas um erro de classificação.
A diagonal principal são os acertos da predição, é importante para avaliar o desempenho global do modelo .
sum(diag(tab))/sum(tab)
## [1] 0.9916667
A taxa de acurácia do modelo de treino calculada com base na matriz de confusão foi de 99.17%, ou seja, a alta taxa de acurácia sugere que o modelo está fazendo previsões precisas.
p2<- predict(wine.lda, testing)$class
tab1<- table(Predicted = p2 , Actual = testing$Type)
tab1
## Actual
## Predicted 1 2 3
## 1 18 2 0
## 2 0 25 0
## 3 0 0 13
sum(diag(tab1))/sum(tab1)
## [1] 0.9655172
A taxa de acurácia do modelo de teste calculada com base na matriz de confusão foi de 96.55%, ou seja, a acurácia sugere que o modelo está fazendo previsões precisas.