Το επιλεγμένο dataset αφορά την αγορά μεταχειρισμένων αυτοκινήτων στην Ινδία. Περιλαμβάνει πληροφορίες σχετικά με τα τεχνικά και οικονομικά χαρακτηριστικά κάθε οχήματος, με στόχο την κατανόηση παραγόντων που επηρεάζουν την τελική τιμή πώλησης.
Πηγή δεδομένων:https://www.kaggle.com/datasets/nehalbirla/vehicle-dataset-from-cardekho
Το σύνολο δεδομένων περιλαμβάνει:
🔧 Τεχνικά χαρακτηριστικά (όπως είδος καυσίμου, τύπος κιβωτίου) 📊 Πληροφορίες χρήσης (χιλιόμετρα, προηγούμενοι ιδιοκτήτες) 💰 Οικονομικά στοιχεία (αρχική και τελική τιμή αυτοκινήτου)
Ο παρακάτω πίνακας συνοψίζει τις βασικές μεταβλητές του συνόλου δεδομένων:
| Variable | Description | Variable_Type |
|---|---|---|
| CarName | Όνομα Αυτοκινήτου | Κατηγορική |
| Year | Έτος Δημιουργίας | Αριθμητική |
| SellingPrice | Τιμή Πώλησης | Αριθμητική |
| PresentPrice | Παρούσα Τιμή | Αριθμητική |
| KmsDriven | Χιλιόμετρα Οδήγησης | Αριθμητική |
| FuelType | Τύπος Καυσίμου | Κατηγορική |
| SellerType | Τύπος Πωλητή | Κατηγορική |
| Transmission | Τύπος Αυτοκινήτου | Κατηγορική |
| Owner | Κάτοχοι | Αριθμητική |
Εισάγω τα δεδομένα του dataset για επεξεργασία.
library(readr)
cardataset <- read.csv("car data.csv")
Αφαιρούμε στήλες που δεν συμβάλλουν ουσιαστικά στην αριθμητική ανάλυση και κρατάμε τις μεταβλητές που έχουν άμεση συσχέτιση με την αξία και χρήση των οχημάτων.
colnames(cardataset) = c("CarName", "Year", "SellingPrice", "PresentPrice", "KmsDriven", "FuelType", "SellerType", "Transmission", "Owner")
Δεν θα χρησιμοποιήσουμε τις μεταβλητές CarName, FuelType, SellerType, Transmission.
cardataset$CarName = NULL
cardataset$FuelType = NULL
cardataset$SellerType = NULL
cardataset$Transmission = NULL
cardataset
## Year SellingPrice PresentPrice KmsDriven Owner
## 1 2014 3.35 5.590 27000 0
## 2 2013 4.75 9.540 43000 0
## 3 2017 7.25 9.850 6900 0
## 4 2011 2.85 4.150 5200 0
## 5 2014 4.60 6.870 42450 0
## 6 2018 9.25 9.830 2071 0
## 7 2015 6.75 8.120 18796 0
## 8 2015 6.50 8.610 33429 0
## 9 2016 8.75 8.890 20273 0
## 10 2015 7.45 8.920 42367 0
## 11 2017 2.85 3.600 2135 0
## 12 2015 6.85 10.380 51000 0
## 13 2015 7.50 9.940 15000 0
## 14 2015 6.10 7.710 26000 0
## 15 2009 2.25 7.210 77427 0
## 16 2016 7.75 10.790 43000 0
## 17 2015 7.25 10.790 41678 0
## 18 2016 7.75 10.790 43000 0
## 19 2015 3.25 5.090 35500 0
## 20 2010 2.65 7.980 41442 0
## 21 2016 2.85 3.950 25000 0
## 22 2017 4.90 5.710 2400 0
## 23 2011 4.40 8.010 50000 0
## 24 2014 2.50 3.460 45280 0
## 25 2013 2.90 4.410 56879 0
## 26 2011 3.00 4.990 20000 0
## 27 2013 4.15 5.870 55138 0
## 28 2017 6.00 6.490 16200 0
## 29 2010 1.95 3.950 44542 0
## 30 2015 7.45 10.380 45000 0
## 31 2012 3.10 5.980 51439 0
## 32 2011 2.35 4.890 54200 0
## 33 2014 4.95 7.490 39000 0
## 34 2014 6.00 9.950 45000 0
## 35 2014 5.50 8.060 45000 0
## 36 2011 2.95 7.740 49998 0
## 37 2015 4.65 7.200 48767 0
## 38 2003 0.35 2.280 127000 0
## 39 2016 3.00 3.760 10079 0
## 40 2003 2.25 7.980 62000 0
## 41 2016 5.85 7.870 24524 0
## 42 2014 2.55 3.980 46706 0
## 43 2008 1.95 7.150 58000 0
## 44 2014 5.50 8.060 45780 0
## 45 2012 1.25 2.690 50000 0
## 46 2014 7.50 12.040 15000 0
## 47 2013 2.65 4.890 64532 0
## 48 2006 1.05 4.150 65000 0
## 49 2015 5.80 7.710 25870 0
## 50 2017 7.75 9.290 37000 0
## 51 2012 14.90 30.610 104707 0
## 52 2015 23.00 30.610 40000 0
## 53 2017 18.00 19.770 15000 0
## 54 2013 16.00 30.610 135000 0
## 55 2005 2.75 10.210 90000 0
## 56 2009 3.60 15.040 70000 0
## 57 2015 4.50 7.270 40534 0
## 58 2010 4.75 18.540 50000 0
## 59 2014 4.10 6.800 39485 1
## 60 2014 19.99 35.960 41000 0
## 61 2013 6.95 18.610 40001 0
## 62 2015 4.50 7.700 40588 0
## 63 2014 18.75 35.960 78000 0
## 64 2015 23.50 35.960 47000 0
## 65 2017 33.00 36.230 6000 0
## 66 2014 4.75 6.950 45000 0
## 67 2017 19.75 23.150 11000 0
## 68 2010 9.25 20.450 59000 0
## 69 2011 4.35 13.740 88000 0
## 70 2016 14.25 20.910 12000 0
## 71 2014 3.95 6.760 71000 0
## 72 2011 4.50 12.480 45000 0
## 73 2013 7.45 18.610 56001 0
## 74 2011 2.65 5.710 43000 0
## 75 2014 4.90 8.930 83000 0
## 76 2015 3.95 6.800 36000 0
## 77 2013 5.50 14.680 72000 0
## 78 2004 1.50 12.350 135154 0
## 79 2010 5.25 22.830 80000 0
## 80 2012 14.50 30.610 89000 0
## 81 2016 14.73 14.890 23000 0
## 82 2015 4.75 7.850 40000 0
## 83 2017 23.00 25.390 15000 0
## 84 2015 12.50 13.460 38000 0
## 85 2005 3.49 13.460 197176 0
## 86 2006 2.50 23.730 142000 3
## 87 2010 35.00 92.600 78000 0
## 88 2012 5.90 13.740 56000 0
## 89 2013 3.45 6.050 47000 0
## 90 2014 4.75 6.760 40000 0
## 91 2009 3.80 18.610 62000 0
## 92 2014 11.25 16.090 58242 0
## 93 2005 3.51 13.700 75000 0
## 94 2015 23.00 30.610 40000 0
## 95 2008 4.00 22.780 89000 0
## 96 2012 5.85 18.610 72000 0
## 97 2016 20.75 25.390 29000 0
## 98 2017 17.00 18.640 8700 0
## 99 2013 7.05 18.610 45000 0
## 100 2010 9.65 20.450 50024 0
## 101 2016 1.75 1.900 3000 0
## 102 2017 1.70 1.820 1400 0
## 103 2017 1.65 1.780 4000 0
## 104 2017 1.45 1.600 1200 0
## 105 2017 1.35 1.470 4100 0
## 106 2015 1.35 2.370 21700 0
## 107 2014 1.35 3.450 16500 1
## 108 2013 1.25 1.500 15000 0
## 109 2016 1.20 1.500 18000 0
## 110 2017 1.20 1.470 11000 0
## 111 2016 1.20 1.780 6000 0
## 112 2016 1.15 1.500 8700 0
## 113 2014 1.15 2.400 7000 0
## 114 2016 1.15 1.400 35000 0
## 115 2015 1.15 1.470 17000 0
## 116 2015 1.11 1.470 17500 0
## 117 2013 1.10 1.470 33000 0
## 118 2015 1.10 1.900 14000 0
## 119 2015 1.10 1.470 26000 0
## 120 2013 1.05 1.900 5400 0
## 121 2016 1.05 1.260 5700 0
## 122 2011 1.05 1.500 6900 0
## 123 2016 1.05 1.170 6000 0
## 124 2013 1.00 1.470 46500 0
## 125 2012 0.95 1.750 11500 0
## 126 2009 0.90 1.750 40000 0
## 127 2017 0.90 0.950 1300 0
## 128 2016 0.75 0.800 7000 0
## 129 2017 0.80 0.870 3000 0
## 130 2017 0.78 0.840 5000 0
## 131 2017 0.75 0.870 11000 0
## 132 2015 0.75 0.820 18000 0
## 133 2017 0.75 0.950 3500 0
## 134 2016 0.72 0.950 500 0
## 135 2017 0.65 0.810 11800 0
## 136 2015 0.65 0.740 5000 0
## 137 2014 0.65 1.200 23500 0
## 138 2013 0.65 0.787 16000 0
## 139 2016 0.60 0.870 15000 0
## 140 2015 0.60 0.950 16600 0
## 141 2013 0.60 1.200 32000 0
## 142 2016 0.60 0.800 20000 0
## 143 2015 0.60 0.840 29000 0
## 144 2016 0.60 0.840 25000 0
## 145 2014 0.60 0.990 25000 0
## 146 2012 0.60 0.810 19000 0
## 147 2014 0.55 0.787 15000 0
## 148 2015 0.55 0.840 58000 0
## 149 2010 0.52 0.940 45000 0
## 150 2016 0.51 0.940 24000 0
## 151 2011 0.50 0.826 6000 0
## 152 2016 0.50 0.550 31000 0
## 153 2012 0.50 0.990 13000 0
## 154 2013 0.50 0.990 45000 0
## 155 2014 0.50 0.880 8000 0
## 156 2017 0.48 0.510 4300 0
## 157 2017 0.48 0.520 15000 0
## 158 2015 0.48 0.840 23000 0
## 159 2017 0.48 0.540 8600 0
## 160 2017 0.45 0.510 4000 0
## 161 2011 0.45 0.950 24000 0
## 162 2014 0.45 0.826 23000 0
## 163 2012 0.45 0.990 14500 0
## 164 2010 0.45 0.950 27000 0
## 165 2016 0.45 0.540 14000 0
## 166 2016 0.45 0.540 500 0
## 167 2016 0.45 0.550 1000 0
## 168 2014 0.42 0.810 42000 0
## 169 2013 0.42 0.730 12000 0
## 170 2015 0.40 0.540 14000 0
## 171 2012 0.40 0.830 5500 0
## 172 2015 0.40 0.550 6700 0
## 173 2014 0.40 0.640 13700 0
## 174 2017 0.40 0.510 1300 0
## 175 2015 0.38 0.720 38600 0
## 176 2011 0.38 0.787 75000 0
## 177 2011 0.35 1.050 30000 0
## 178 2016 0.35 0.570 24000 0
## 179 2014 0.35 0.520 19000 0
## 180 2010 0.31 1.050 213000 0
## 181 2012 0.30 0.510 60000 0
## 182 2016 0.30 0.480 50000 0
## 183 2013 0.30 0.580 30000 0
## 184 2013 0.27 0.470 21000 0
## 185 2008 0.25 0.750 26000 1
## 186 2008 0.25 0.580 1900 0
## 187 2010 0.25 0.520 22000 0
## 188 2013 0.25 0.510 32000 0
## 189 2013 0.25 0.570 18000 0
## 190 2005 0.20 0.570 55000 0
## 191 2008 0.20 0.750 60000 0
## 192 2012 0.20 0.570 25000 1
## 193 2007 0.20 0.750 49000 1
## 194 2013 0.20 0.650 24000 1
## 195 2008 0.20 0.787 50000 0
## 196 2015 0.18 0.320 35000 0
## 197 2008 0.17 0.520 500000 0
## 198 2010 0.16 0.510 33000 0
## 199 2011 0.15 0.570 35000 1
## 200 2007 0.12 0.580 53000 0
## 201 2006 0.10 0.750 92233 0
## 202 2010 3.25 6.790 58000 1
## 203 2015 4.40 5.700 28200 0
## 204 2011 2.95 4.600 53460 0
## 205 2015 2.75 4.430 28282 0
## 206 2016 5.25 5.700 3493 1
## 207 2017 5.75 7.130 12479 0
## 208 2015 5.15 5.700 34797 0
## 209 2017 7.90 8.100 3435 0
## 210 2015 4.85 5.700 21125 0
## 211 2012 3.10 4.600 35775 0
## 212 2015 11.75 14.790 43535 0
## 213 2016 11.25 13.600 22671 0
## 214 2011 2.90 6.790 31604 0
## 215 2017 5.25 5.700 20114 0
## 216 2012 4.50 9.400 36100 0
## 217 2016 2.90 4.430 12500 0
## 218 2016 3.15 4.430 15000 0
## 219 2014 6.45 9.400 45078 0
## 220 2012 4.50 9.400 36000 0
## 221 2017 3.50 4.430 38488 0
## 222 2013 4.50 6.790 32000 0
## 223 2014 6.00 7.600 77632 0
## 224 2015 8.25 9.400 61381 0
## 225 2013 5.11 9.400 36198 0
## 226 2011 2.70 4.600 22517 0
## 227 2015 5.25 5.700 24678 0
## 228 2011 2.55 4.430 57000 0
## 229 2012 4.95 9.400 60000 0
## 230 2012 3.10 6.790 52132 0
## 231 2013 6.15 9.400 45000 0
## 232 2017 9.25 9.400 15001 0
## 233 2015 11.45 14.790 12900 0
## 234 2013 3.90 5.700 53000 0
## 235 2015 5.50 5.700 4492 0
## 236 2017 9.10 9.400 15141 0
## 237 2016 3.10 4.430 11849 0
## 238 2015 11.25 13.600 68000 0
## 239 2013 4.80 9.400 60241 0
## 240 2012 2.00 4.430 23709 0
## 241 2012 5.35 9.400 32322 0
## 242 2015 4.75 7.130 35866 1
## 243 2014 4.40 7.130 34000 0
## 244 2016 6.25 7.600 7000 0
## 245 2013 5.95 9.400 49000 0
## 246 2012 5.20 9.400 71000 0
## 247 2012 3.75 6.790 35000 0
## 248 2015 5.95 9.400 36000 0
## 249 2013 4.00 4.600 30000 0
## 250 2016 5.25 7.600 17000 0
## 251 2016 12.90 13.600 35934 0
## 252 2013 5.00 9.900 56701 0
## 253 2015 5.40 6.820 31427 0
## 254 2014 7.20 9.900 48000 0
## 255 2013 5.25 9.900 54242 0
## 256 2012 3.00 5.350 53675 0
## 257 2016 10.25 13.600 49562 0
## 258 2015 8.50 13.600 40324 0
## 259 2015 8.40 13.600 25000 0
## 260 2014 3.90 7.000 36054 0
## 261 2016 9.15 13.600 29223 0
## 262 2016 5.50 5.970 5600 0
## 263 2015 4.00 5.800 40023 0
## 264 2016 6.60 7.700 16002 0
## 265 2015 4.00 7.000 40026 0
## 266 2017 6.50 8.700 21200 0
## 267 2014 3.65 7.000 35000 0
## 268 2016 8.35 9.400 19434 0
## 269 2017 4.80 5.800 19000 0
## 270 2015 6.70 10.000 18828 0
## 271 2011 4.10 10.000 69341 0
## 272 2009 3.00 10.000 69562 0
## 273 2015 7.50 10.000 27600 0
## 274 2010 2.25 7.500 61203 0
## 275 2014 5.30 6.800 16500 0
## 276 2016 10.90 13.600 30753 0
## 277 2015 8.65 13.600 24800 0
## 278 2015 9.70 13.600 21780 0
## 279 2016 6.00 8.400 4000 0
## 280 2014 6.25 13.600 40126 0
## 281 2015 5.25 5.900 14465 0
## 282 2006 2.10 7.600 50456 0
## 283 2014 8.25 14.000 63000 0
## 284 2016 8.99 11.800 9010 0
## 285 2013 3.50 5.900 9800 0
## 286 2016 7.40 8.500 15059 0
## 287 2016 5.65 7.900 28569 0
## 288 2015 5.75 7.500 44000 0
## 289 2015 8.40 13.600 34000 0
## 290 2016 10.11 13.600 10980 0
## 291 2014 4.50 6.400 19000 0
## 292 2015 5.40 6.100 31427 0
## 293 2016 6.40 8.400 12000 0
## 294 2010 3.25 9.900 38000 0
## 295 2014 3.75 6.800 33019 0
## 296 2015 8.55 13.090 60076 0
## 297 2016 9.50 11.600 33988 0
## 298 2015 4.00 5.900 60000 0
## 299 2009 3.35 11.000 87934 0
## 300 2017 11.50 12.500 9000 0
## 301 2016 5.30 5.900 5464 0
Αφαιρούμε πιθανές διπλότυπες εγγραφές:
cardataset = unique(cardataset)
nrow(cardataset)
## [1] 299
Αφού ο αριθμός των εγγραφών παραμένει ίδιος αυτό μας υποδεικνύει ότι δεν υπάρχουν διπλότυπες εγγραφές.
Υπολογίζουμε την ευκλείδεια απόσταση μεταξύ των παρατηρήσεων και εφαρμόζουμε ιεραρχική ομαδοποίηση με τη μέθοδο Ward:
distances = dist(cardataset[0:5], method = "euclidean")
Κάνουμε Ιεραρχική Συσταδοποίηση:
clusterCustomers = hclust(distances, method = "ward.D2")
Χρησιμοποιούμε την εντολή plot:
plot(clusterCustomers)
Συμπερασματικά, η ιεραρχική ομαδοποίηση με βάση την τιμή πώλησης, την αρχική τιμή, τα διανυθέντα χιλιόμετρα και τον αριθμό προηγούμενων ιδιοκτητών κατέδειξε ότι τα αυτοκίνητα μπορούν να ομαδοποιηθούν σε 4–5 διακριτές κατηγορίες. Οι κατηγορίες αυτές παρουσιάζουν παρόμοια χαρακτηριστικά όσον αφορά τη φθορά, την αξία και το ιστορικό χρήσης. Η δομή του δενδρογράμματος υποδηλώνει την ύπαρξη καθαρών ομάδων, γεγονός που μπορεί να αξιοποιηθεί στην αξιολόγηση της αξίας οχημάτων, στη στοχευμένη τιμολόγηση ή και στη συμβουλευτική για μεταχειρισμένες πωλήσεις.
Επιλέγουμε 4 clusters
clusterGroups = cutree(clusterCustomers, k = 5)
tapply(cardataset$Year, clusterGroups, mean)
## 1 2 3 4 5
## 2015.067 2013.007 2010.652 2006.833 2008.000
tapply(cardataset$SellingPrice, clusterGroups, mean)
## 1 2 3 4 5
## 3.992667 4.824851 7.062609 4.025000 0.170000
tapply(cardataset$KmsDriven, clusterGroups, mean)
## 1 2 3 4 5
## 13744.99 44069.92 79471.13 158221.67 500000.00
tapply(cardataset$Owner, clusterGroups, mean)
## 1 2 3 4 5
## 0.03703704 0.03731343 0.00000000 0.50000000 0.00000000
Τί δείχνουν τα clusters στο cardataset
Η λογική είναι η εξής:
Συνδυάζονται τιμή πώλησης, τιμή αγοράς, διανυθέντα χιλιόμετρα και αριθμός ιδιοκτητών ώστε να εντοπιστούν ομάδες αυτοκινήτων με παρόμοια επίπεδα χρήσης και αξίας.
Τα clusters συνήθως ξεχωρίζουν ομάδες που έχουν παρόμοια δημογραφικά & μοτίβα αγορών.
Με βάση παρόμοιες αναλύσεις, τα μοτίβα που εμφανίζονται είναι τα εξής:
| Cluster | Χιλιόμετρα | Τιμή_Πώλησης | Ερμηνεία |
|---|---|---|---|
| 1 | Πολλά | Χαμηλή | Παλιά αυτοκίνητα με υψηλή χρήση |
| 2 | Λίγα | Υψηλή | Καινούρια ή ελαφρώς μεταχειρισμένα, σε καλή κατάσταση |
| 3 | Μέτρια | Μέση | Τυπικά μεταχειρισμένα, ισορροπία κόστους και χρήσης |
| 4 | Λίγα | Υψηλή | Πολυτελή αυτοκίνητα με χαμηλή χρήση |
Αν πάρουμε την μέση τιμή της πρώτης στήλης για το cluster 1 θα έχουμε:
colMeans(subset(cardataset[0:5], clusterGroups == 1))
## Year SellingPrice PresentPrice KmsDriven Owner
## 2.015067e+03 3.992667e+00 5.007822e+00 1.374499e+04 3.703704e-02
Ο Cluster 1 περιλαμβάνει κυρίως οχήματα με υψηλή αρχική τιμή, σχετικά λίγα χιλιόμετρα και λίγους προηγούμενους ιδιοκτήτες, υποδηλώνοντας καλής ποιότητας μεταχειρισμένα.