This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.
Στόχος της εργασίας είναι η πρόβλεψη της τιμής ενός αεροπορικού εισιτηρίου (Price_USD) με βάση διάφορους παράγοντες όπως η απόσταση, η εταιρεία και οι ημέρες πριν την αναχώρηση.
data <- read.csv(“airline_ticket_prices_dataset.csv”)
head(data)
str(data)
Το dataset περιλαμβάνει:
Price_USD: Τιμή εισιτηρίου (εξαρτημένη μεταβλητή)
Distance_km: Απόσταση πτήσης
Days_Before_Departure: Πόσες μέρες πριν έγινε η κράτηση
Class: Κατηγορία θέσης
Airline: Αεροπορική εταιρεία
Scatterplot: Απόσταση vs Τιμή
plot(data\(Distance_km, data\)Price_USD, main=“Price vs Distance”, xlab=“Distance (km)”, ylab=“Price (USD)”)
Scatterplot: Days Before Departure
plot(data\(Days_Before_Departure, data\)Price_USD, main=“Price vs Days Before Departure”, xlab=“Days Before Departure”, ylab=“Price (USD)”)
Boxplot: Class
boxplot(Price_USD ~ Class, data=data, main=“Price ανά Class”)
Συσχετίσεις
numeric_data <- data[, c(“Distance_km”, “Days_Before_Departure”, “Price_USD”)] cor(numeric_data)
4.1 Απλό Μοντέλο
model1 <- lm(Price_USD ~ Distance_km, data=data) summary(model1)
Σχόλιο:
Το μοντέλο εξετάζει μόνο την επίδραση της απόστασης στην τιμή.
4.2 Δύο Μεταβλητές
model2 <- lm(Price_USD ~ Distance_km + Days_Before_Departure, data=data) summary(model2)
Σχόλιο:
Προσθέτουμε τον χρόνο κράτησης, που πιθανώς επηρεάζει σημαντικά την τιμή.
4.3 Πολλαπλό Μοντέλο
model3 <- lm(Price_USD ~ Distance_km + Days_Before_Departure + Class + Airline, data=data) summary(model3)
Σχόλιο:
Πλήρες μοντέλο με κατηγορικές μεταβλητές.
R-squared summary(model1)\(r.squared summary(model2)\)r.squared summary(model3)$r.squared
SSE
SSE1 <- sum(residuals(model1)^2) SSE2 <- sum(residuals(model2)^2) SSE3 <- sum(residuals(model3)^2)
SSE1 SSE2 SSE3
Το model1 έχει χαμηλότερο R² → περιορισμένη εξήγηση Το model2 βελτιώνεται με την προσθήκη του χρόνου κράτησης Το model3 έχει το υψηλότερο R² και το μικρότερο SSE
Συμπέρασμα: Η τιμή επηρεάζεται από πολλούς παράγοντες και όχι μόνο από την απόσταση.
par(mfrow=c(2,2)) plot(model3)
Η απόσταση έχει θετική σχέση με την τιμή Οι περισσότερες ημέρες πριν την κράτηση τείνουν να μειώνουν την τιμή Η κατηγορία θέσης (Class) έχει σημαντική επίδραση Το πλήρες μοντέλο είναι το πιο αποδοτικό
Η χρήση πολλαπλής γραμμικής παλινδρόμησης επιτρέπει καλύτερη πρόβλεψη της τιμής εισιτηρίων, καθώς λαμβάνει υπόψη περισσότερους παράγοντες.