Το επιλεγμένο σύνολο δεδομένων περιέχει πληροφορίες σχετικά με διάφορα μοντέλα φορητών υπολογιστών, τις προδιαγραφές τους και τις αντίστοιχες τιμές τους. Είναι χρήσιμο για την ανάλυση του τρόπου με τον οποίο διάφορα χαρακτηριστικά (όπως η μάρκα, το μέγεθος της οθόνης, η μνήμη RAM και ο επεξεργαστής) επηρεάζουν την τιμή ενός φορητού υπολογιστή. Αυτό το σύνολο δεδομένων μπορεί να βοηθήσει τις επιχειρήσεις, τους καταναλωτές και τους αναλυτές να κατανοήσουν τις τάσεις της αγοράς και τις στρατηγικές τιμολόγησης.
Μετατροπή των Inches και RAM.
Στο αρχικό Dataset, τα attributes Inches,
Weight και RAM ήταν τύπου
Categorical, παρά το γεγονός ότι ήταν νούμερα.
Έγινε η μετατροπή τους σε Numeric για την καλύτερη
ερμηνεία του συνόλου.
Μετατροπή των τιμών.
Οι τιμές των φορητών υπολογιστών ήταν εκφρασμένες σε Ρουπία
Ινδίας.
Αυτές μετατράπηκαν σε ευρώ και έγινε στρογγυλοποίηση
των 2 δεκαδικών στοιχείων για καλύτερη κατανόηση του
συνόλου.
Έλεγχος και χειρισμός ελλιπών τιμών.
Τα αντικείμενα του συνόλου δεδομένων ήταν 1303.
Μετά τον έλεγχο για διπλότυπα και την αφαίρεση
των ελλιπών τιμών,
έμειναν 1273 αντικείμενα.
kable(df, format = "html", align = "c", escape = FALSE) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"),
full_width = FALSE, position = "center") %>%
column_spec(3, bold = TRUE)| Χαρακτηριστικό | Περιγραφή | Τύπος |
|---|---|---|
| Εταιρεία | Η μάρκα του φορητού υπολογιστή (π.χ. Dell, HP, Apple). | Categorical |
| TypeName | Η κατηγορία/ο τύπος του φορητού υπολογιστή (π.χ. Gaming, Ultrabook, Notebook). | Categorical |
| Inches | Το μέγεθος της οθόνης του φορητού υπολογιστή σε ίντσες. | Numeric |
| ScreenResolution | Η ανάλυση της οθόνης (π.χ. 1920x1080, 4K). | Categorical |
| CPU | Τα στοιχεία του επεξεργαστή (π.χ. Intel Core i5, AMD Ryzen 7). | Categorical |
| RAM | Η ποσότητα της μνήμης τυχαίας προσπέλασης (RAM) σε gigabytes (GB). | Numeric |
| Μνήμη | Ο τύπος και το μέγεθος του αποθηκευτικού χώρου (π.χ. 256 GB SSD, 1 TB HDD). | Categorical |
| GPU | Η μονάδα επεξεργασίας γραφικών (π.χ. NVIDIA GTX 1650, Intel HD Graphics). | Categorical |
| Βάρος | Το βάρος του φορητού υπολογιστή σε κιλά(kg). | Numeric |
| Λειτουργικό Σύστημα | Το λειτουργικό σύστημα του φορητού υπολογιστή (π.χ. Windows, macOS, Linux). | Categorical |
| Τιμή | Η τιμή του φορητού υπολογιστή σε Ευρώ. | Numeric |
| IsExpensive | Κατηγοριοποιεί τα λάπτοπ σε ακριβά και μη ακριβά εάν η τιμή τους ξεπερνάει τα 800 ευρώ | Boolean |
Ξεκίνησα δημιουργώντας το μοντέλο μου μία ανεξάρτητη μεταβλητή και σύμφωνα με την μέθοδο πρόσθεσης μεταβλητών θα προσθέτω και άλλες ανεξάρτητες μεταβλητές στην πορεία για να δώ αν προσφέρουν αξία για να τις καρτήσω στο μοντέλο μου.
## [1] 0.6866854
##
## Call:
## lm(formula = laptopData$Price ~ laptopData$Ram, data = laptopData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2814.23 -184.48 -57.16 141.87 1667.70
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 223.004 14.727 15.14 <2e-16 ***
## laptopData$Ram 48.946 1.454 33.66 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 288.6 on 1270 degrees of freedom
## Multiple R-squared: 0.4715, Adjusted R-squared: 0.4711
## F-statistic: 1133 on 1 and 1270 DF, p-value: < 2.2e-16
## [1] 288.3253
Η πρώτη μεταβλητή που επέλεξα είναι η Ram λόγω της υψηλής συσχέτησης (0.6866) που έχει με την εξαρτημένη μεταβλητή. Το R-squared (0.4711) δείχνει ότι το μοντέλο εξηγεί περίπου το 47% της διακύμανσης των δεδομένων, που υποδεικνύει ότι το μοντέλο έχει κάποιου βαθμού predictive δύναμη, αλλά δεν είναι εξαιρετικό. Από την άλλη, η τιμή RMSE = 288.33 δείχνει τη μέση απόκλιση των προβλέψεων από τις πραγματικές τιμές, πράγμα που σημαίνει ότι η μέση διαφορά μεταξύ των προβλεπόμενων και των πραγματικών τιμών είναι περίπου 288 ευρώ.
## [1] 0.04470401
#Price vs Ram + Inches
model_ri <- lm(laptopData$Price ~ laptopData$Ram + laptopData$Inches, data = laptopData)
summary(model_ri)##
## Call:
## lm(formula = laptopData$Price ~ laptopData$Ram + laptopData$Inches,
## data = laptopData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2864.68 -182.82 -58.01 131.39 1678.60
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 384.218 63.127 6.086 1.53e-09 ***
## laptopData$Ram 49.493 1.466 33.772 < 2e-16 ***
## laptopData$Inches -10.961 4.174 -2.626 0.00875 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 287.9 on 1269 degrees of freedom
## Multiple R-squared: 0.4744, Adjusted R-squared: 0.4736
## F-statistic: 572.7 on 2 and 1269 DF, p-value: < 2.2e-16
## [1] 287.5451
Η προσθήκη της μεταβλητής Inches στο μοντέλο, παρότι η συσχέτισή της με την τιμή είναι χαμηλή (r ≈ 0.045), βελτιώνει ελαφρώς την ακρίβεια του μοντέλου. Συγκεκριμένα, το R-squared αυξάνεται από 0.4711 σε 0.4744, δείχνοντας ότι το μοντέλο εξηγεί πλέον ένα λίγο μεγαλύτερο ποσοστό της διακύμανσης της τιμής. Παράλληλα, η τιμή του RMSE μειώνεται από 288.33 σε 287.55, κάτι που σημαίνει ότι η μέση απόκλιση των προβλέψεων από τις πραγματικές τιμές μειώνεται κατά περίπου 0.8 ευρώ. Αν και η βελτίωση είναι περιορισμένη, είναι μετρήσιμη και στατιστικά σημαντική, γεγονός που δείχνει ότι η μεταβλητή Inches προσθέτει κάποια αξία στο μοντέλο και μπορεί να συμπεριληφθεί.
## [1] 0.04470401
#Price vs Ram + Inches + Weight
model_riw <- lm(laptopData$Price ~ laptopData$Ram + laptopData$Inches + + laptopData$Weight, data = laptopData)
summary(model_riw)##
## Call:
## lm(formula = laptopData$Price ~ laptopData$Ram + laptopData$Inches +
## +laptopData$Weight, data = laptopData)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2854.92 -182.65 -58.14 132.19 1677.47
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 387.949 64.510 6.014 2.37e-09 ***
## laptopData$Ram 49.349 1.513 32.607 < 2e-16 ***
## laptopData$Inches -11.758 4.759 -2.470 0.0136 *
## laptopData$Weight 4.524 11.881 0.381 0.7034
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 288 on 1267 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.4745, Adjusted R-squared: 0.4733
## F-statistic: 381.4 on 3 and 1267 DF, p-value: < 2.2e-16
## [1] 287.4808
Η προσθήκη της μεταβλητής Weight στο μοντέλο, μαζί με τις Ram και Inches, δεν φαίνεται να προσφέρει ουσιαστική βελτίωση στην ακρίβεια του. Συγκεκριμένα, το R-squared αυξάνεται ελάχιστα από 0.4744 σε 0.4745, κάτι που υποδηλώνει ότι εξηγείται σχεδόν το ίδιο ποσοστό της διακύμανσης της τιμής. Αντίστοιχα, η τιμή του RMSE μειώνεται ελάχιστα από 287.55 σε 287.48, δηλαδή μόλις κατά 0.07 ευρώ, μια μεταβολή που είναι αμελητέα. Επιπλέον, η μεταβλητή Weight εμφανίζεται στατιστικά μη σημαντική (p = 0.7034), γεγονός που ενισχύει την άποψη ότι δεν συμβάλλει ουσιαστικά στο μοντέλο. Συνεπώς, η μεταβλητή Weight δεν προσθέτει αξία στο μοντέλο και δεν κρίνεται απαραίτητο να συμπεριληφθεί.
Άρα το μοντέλο στο οποίο καταλήγω έχει μόνο δύο ανεξάρτητες μεταβλητές, την RAM και την Inches.
#Best model chart
ggplot(laptopData, aes(x = Ram, y = Price)) +
geom_point() +
labs(x = "Ram + Inches", y = "Price") +
geom_abline(aes(intercept = coef(model_ri)[1],
slope = coef(model_ri)[2]), colour = "red")