Εργασία 5

2025-04-06

Μιχαήλ Παπανικολάου

Περιγραφή Dataset

Το dataset “Wine Quality” είναι διαθέσιμο από το UCI Machine Learning Repository και περιέχει χημικά και αισθητικά χαρακτηριστικά κρασιών, με στόχο την πρόβλεψη της ποιότητας τους. Το αρχείο που εξετάζουμε είναι το winequality-red.csv, το οποίο περιλαμβάνει δεδομένα για κόκκινα κρασιά από την Πορτογαλία.


Γενικά Στατιστικά

Σύνολο εγγραφών: 1.599 δείγματα κρασιών

Αριθμός χαρακτηριστικών (features): 11 χημικά χαρακτηριστικά + 1 στόχος (ποιότητα)

Περιγραφή μεταβλητών


Σκοπός του Dataset
Ο βασικός στόχος είναι η πρόβλεψη της ποιότητας του κρασιού βάσει των φυσικοχημικών χαρακτηριστικών του.

Boxplot

ggplot(wine, aes(x = factor(quality), y = volatile.acidity)) +
  geom_boxplot(fill = "#90D5FF") +  # Steel Blue χρώμα
  labs(title = "Volatile Acidity vs Quality",
       x = "Quality",
       y = "Volatile Acidity") +
  theme_minimal()

Το παραπάνω διάγραμμα απεικονίζει τη σχέση μεταξύ της πτητικής οξύτητας (volatile acidity) και της ποιότητας του κόκκινου κρασιού. Παρατηρείται μια φθίνουσα τάση, σύμφωνα με την οποία η αύξηση της ποιότητας σχετίζεται με μείωση της πτητικής οξύτητας. Τα κρασιά χαμηλής ποιότητας (τιμές 3 και 4) εμφανίζουν γενικά υψηλότερες συγκεντρώσεις πτητικής οξύτητας και μεγαλύτερη διακύμανση, ενώ αντίθετα, τα κρασιά υψηλής ποιότητας (7 και 8) παρουσιάζουν χαμηλότερες τιμές με μικρότερη διασπορά και λιγότερες εξαιρέσεις.

Scatterplot

ggplot(wine, aes(x = density, y = alcohol)) +
  geom_point(alpha = 0.5, color = "#D55E00") +
  labs(title = "Alcohol vs Density",
       x = "Density",
       y = "Alcohol") +
  theme_minimal()

Το διάγραμμα διασποράς που απεικονίζει τη σχέση μεταξύ της περιεκτικότητας σε αλκοόλ και της πυκνότητας του κρασιού, αποκαλύπτει μια ξεκάθαρη αρνητική συσχέτιση. Συγκεκριμένα, παρατηρείται ότι όσο αυξάνεται η περιεκτικότητα σε αλκοόλ, η πυκνότητα του κρασιού τείνει να μειώνεται. Το φαινόμενο αυτό είναι αναμενόμενο, καθώς το αλκοόλ έχει μικρότερη πυκνότητα από το νερό, επομένως κρασιά με υψηλότερη περιεκτικότητα σε αλκοόλ είναι γενικά λιγότερο πυκνά. Το σχήμα υποδηλώνει μια σχετικά συνεπή τάση, χωρίς όμως να είναι απόλυτα γραμμική, γεγονός που μπορεί να οφείλεται σε παρεμβολές άλλων χημικών παραμέτρων.

Histogram

# Ιστογράφημα για την "fixed acidity"
ggplot(wine, aes(x = fixed.acidity)) +
  geom_histogram(binwidth = 1, fill = "blue", color = "black", alpha = 0.7) +
  labs(title = "Ιστογράφημα της Σταθερής Οξύτητας", x = "Σταθερή Οξύτητα", y = "Συχνότητα") +
  theme_minimal()


Το ιστόγραμμα παρουσιάζει την κατανομή της σταθερής οξύτητας στα κρασιά του δείγματος. Η πλειονότητα των παρατηρήσεων εντοπίζεται μεταξύ των τιμών 6 και 9, γεγονός που δείχνει ότι τα περισσότερα κρασιά διαθέτουν μέτρια επίπεδα σταθερής οξύτητας. Η κατανομή εμφανίζει δεξιά ασυμμετρία, καθώς παρατηρούνται λιγότερες αλλά υπαρκτές περιπτώσεις με υψηλότερες τιμές οξύτητας.

Bar Chart

# Ραβδόγραμμα για την "quality"
ggplot(wine, aes(x = factor(quality))) +  # factor για να το θεωρήσουμε κατηγορικό
  geom_bar(fill = "steelblue", color = "black") +
  labs(title = "Κατανομή Βαθμολογίας Ποιότητας Κρασιού",
       x = "Βαθμολογία Ποιότητας", y = "Συχνότητα") +
  theme_minimal()

Το διάγραμμα απεικονίζει την κατανομή της βαθμολογίας ποιότητας των κρασιών. Παρατηρείται ότι οι περισσότερες ετικέτες συγκεντρώνονται γύρω από τις τιμές 5 και 6, οι οποίες εμφανίζουν τη μεγαλύτερη συχνότητα. Αντίθετα, οι ακραίες τιμές της κλίμακας, όπως οι βαθμολογίες 3, 4, 7 και 8, είναι πολύ λιγότερο συχνές. Η κατανομή υποδηλώνει ότι τα κρασιά του δείγματος χαρακτηρίζονται κυρίως από μέτρια ποιότητα.



Μοντέλα Γραμμικής Παλινδρόμησης


Πρόβλεψη ποιότητας μέσω του ποσοστού αλκοόλης

## 
## Call:
## lm(formula = quality ~ alcohol, data = wine)
## 
## 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
## [1] 0.503984
## [1] 0.2267344

Το μοντέλο παρουσίασε R-squared error ίσο με 0.2267, το οποίο υποδηλώνει ότι το αλκοόλ εξηγεί περίπου το 22.67% της μεταβλητότητας στην ποιότητα του κρασιού. Αυτός ο συντελεστής R-squared είναι σχετικά χαμηλός, που σημαίνει ότι άλλα χαρακτηριστικά του κρασιού πιθανότατα παίζουν σημαντικότερο ρόλο στην πρόβλεψη της ποιότητας του κρασιού και το SSE είναι ίσο με 0.7104, που υποδεικνύει το μέσο σφάλμα απόκλισης των παρατηρήσεων από την προγνωστική γραμμή.


Προσθήκη πτητικής οξύτητας


## 
## Call:
## lm(formula = quality ~ alcohol + volatile.acidity, data = wine)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.59342 -0.40416 -0.07426  0.46539  2.25809 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       3.09547    0.18450   16.78   <2e-16 ***
## alcohol           0.31381    0.01601   19.60   <2e-16 ***
## volatile.acidity -1.38364    0.09527  -14.52   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6678 on 1596 degrees of freedom
## Multiple R-squared:  0.317,  Adjusted R-squared:  0.3161 
## F-statistic: 370.4 on 2 and 1596 DF,  p-value: < 2.2e-16
## [1] 0.4451509
## [1] 0.3170024


Με την προσθήκη της μεταβλητής “πτητική οξύτητα”, το R-squared αυξήθηκε από 0.2267 σε 0.3170. Αυτό δείχνει ότι η “πτητική οξύτητα” προσφέρει σημαντική επιπλέον εξήγηση για την ποιότητα του κρασιού, καθώς το μοντέλο πλέον εξηγεί το 31.7% της μεταβλητότητας στην ποιότητα. Αυτό καταδεικνύει ότι η “πτητική οξύτητα” έχει μια ισχυρή επίδραση στην ποιότητα του κρασιού και βοηθάει να βελτιωθεί το μοντέλο, μειώνοντας το SSE σε 0.6678 από 0.7104.


Προσθήκη σταθερής οξύτητας

## 
## Call:
## lm(formula = quality ~ alcohol + volatile.acidity + fixed.acidity, 
##     data = wine)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.65565 -0.39856 -0.08143  0.46879  2.28524 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       2.674469   0.218033   12.27  < 2e-16 ***
## alcohol           0.320726   0.016064   19.96  < 2e-16 ***
## volatile.acidity -1.286244   0.098716  -13.03  < 2e-16 ***
## fixed.acidity     0.035763   0.009961    3.59  0.00034 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6653 on 1595 degrees of freedom
## Multiple R-squared:  0.3225, Adjusted R-squared:  0.3212 
## F-statistic: 253.1 on 3 and 1595 DF,  p-value: < 2.2e-16
## [1] 0.4415823
## [1] 0.3224777

Με την προσθήκη της μεταβλητής “σταθερή οξύτητα”, το R-squared αυξήθηκε ελαφρώς, φτάνοντας στην τιμή 0.3225 από 0.3170. Επίσης, η τιμή του SSE μειώθηκε ελαφρώς από 0.6678 σε 0.6653, κάνοντάς το μοντέλο λίγο πιο ακριβές.

Προσθήκη κιτρικού οξέος

## 
## Call:
## lm(formula = quality ~ alcohol + volatile.acidity + fixed.acidity + 
##     citric.acid, data = wine)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.66067 -0.39574 -0.08317  0.45552  2.30153 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       2.62245    0.21892  11.979  < 2e-16 ***
## alcohol           0.32452    0.01613  20.122  < 2e-16 ***
## volatile.acidity -1.41997    0.11450 -12.401  < 2e-16 ***
## fixed.acidity     0.05597    0.01328   4.214 2.65e-05 ***
## citric.acid      -0.31378    0.13667  -2.296   0.0218 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6645 on 1594 degrees of freedom
## Multiple R-squared:  0.3247, Adjusted R-squared:  0.323 
## F-statistic: 191.6 on 4 and 1594 DF,  p-value: < 2.2e-16
## [1] 0.4401269
## [1] 0.3247107

Η προσθήκη του “κιτρικού οξέος” δεν είχε μεγάλη επίδραση στο R-squared, το οποίο αυξήθηκε ελαφρώς στο 0.3247. Αυτή η αλλαγή είναι μικρή, και το μοντέλο παρέμεινε ουσιαστικά στα ίδια επίπεδα απόδοσης. Η βελτίωση του SSE ήταν επίσης μικρή, υποδεικνύοντας ότι το “κιτρικό οξύ” δεν προσέφερε σημαντική νέα πληροφορία για την πρόβλεψη της ποιότητας του κρασιού σε σχέση με τις προηγούμενες μεταβλητές.

Συμπεράσματα

Η βελτίωση του μοντέλου φαίνεται να φτάνει ένα σημείο κορεσμού μετά την προσθήκη των βασικών μεταβλητών, “αλκοόλ” και “πτητική οξύτητα”. Η περαιτέρω προσθήκη άλλων παραμέτρων, όπως η “σταθερή οξύτητα” και το “κιτρικό οξύ”, δεν φαίνεται να συνεισφέρουν σημαντικά στην εξήγηση της ποιότητας του κρασιού, καθώς η βελτίωση του R-squared και η μείωση του SSE είναι μικρές.