Εργασία 5
2025-04-06
Περιγραφή Dataset
Το dataset “Wine Quality” είναι διαθέσιμο από το UCI Machine Learning Repository και περιέχει χημικά και αισθητικά χαρακτηριστικά κρασιών, με στόχο την πρόβλεψη της ποιότητας τους. Το αρχείο που εξετάζουμε είναι το winequality-red.csv, το οποίο περιλαμβάνει δεδομένα για κόκκινα κρασιά από την Πορτογαλία.
Γενικά Στατιστικά
Σύνολο εγγραφών: 1.599 δείγματα κρασιών
Αριθμός χαρακτηριστικών (features): 11 χημικά χαρακτηριστικά + 1 στόχος (ποιότητα)
Περιγραφή μεταβλητών- fixed acidity: Σταθερή οξύτητα
- volatile acidity: Πτητική οξύτητα
- citric acid: Κιτρικό οξύ
- residual sugar: Υπολειπόμενα σάκχαρα
- chlorides: Χλωριούχα
- free sulfur dioxide: Ελεύθερο διοξείδιο του θείου
- total sulfur dioxide: Συνολικό διοξείδιο του θείου
- density: Πυκνότητα
- pH: Επίπεδο pH
- sulphates: Θειικά
- alcohol: Περιεκτικότητα σε αλκοόλ
- quality: Βαθμολογία ποιότητας (0–10, integer - στόχος)
Σκοπός του 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 είναι μικρές.