Blog Entry 5: Predictive Analytics in Travel Planning
Title: Predictive Analytics in Travel Planning
Overview
In today’s fast-paced world, efficient travel planning is essential
for individuals, businesses, and transportation authorities alike.
Predictive analytics, particularly using machine learning models like
Random Forest, can revolutionize travel planning by forecasting travel
demand accurately. In this blog post, we explore how predictive
analytics can enhance travel planning, using a Random Forest model as an
example.
#Loading required libraries
#install.packages("randomForest")
library(randomForest)
## randomForest 4.7-1.1
## Type rfNews() to see new features/changes/bug fixes.
##
## Attaching package: 'ggplot2'
## The following object is masked from 'package:randomForest':
##
## margin
#Generating sample travel data
set.seed(123)
n <- 1000
travel_data <- data.frame(
travel_date = seq(as.Date("2022-01-01"), by = "day", length.out = n),
travel_demand = rpois(n, lambda = 50)
)
#Preprocess data
travel_data$month <- as.numeric(format(travel_data$travel_date, "%m"))
travel_data$day <- as.numeric(format(travel_data$travel_date, "%d"))
travel_data$weekday <- as.numeric(format(travel_data$travel_date, "%u"))
travel_data$is_weekend <- ifelse(travel_data$weekday %in% c(6, 7), 1, 0)
#Splitting data into training and testing sets
set.seed(456)
train_indices <- sample(1:nrow(travel_data), 0.8 * n)
train_data <- travel_data[train_indices, ]
test_data <- travel_data[-train_indices, ]
#Training Random Forest model
rf_model <- randomForest(travel_demand ~ month + day + weekday + is_weekend, data = train_data)
#Predicting travel demand for testing data
predictions <- predict(rf_model, newdata = test_data)
#Visualize predicted vs. actual travel demand
plot_data <- data.frame(
Actual = test_data$travel_demand,
Predicted = predictions
)
ggplot(plot_data, aes(x = Actual, y = Predicted)) +
geom_point() +
geom_abline(slope = 1, intercept = 0, color = "red", linetype = "dashed") +
labs(x = "Actual Travel Demand", y = "Predicted Travel Demand", title = "Actual vs. Predicted Travel Demand")

Conclusion:
In conclusion, predictive analytics, powered by machine learning
models like Random Forest, offers a powerful tool for enhancing travel
planning. By leveraging historical data and relevant features, these
models can provide valuable insights into future travel demand, enabling
transportation agencies, businesses, and individuals to optimize
resource allocation, improve operational efficiency, and deliver better
customer experiences. As technology continues to advance, the
integration of predictive analytics into travel planning processes will
become increasingly essential for navigating the complexities of modern
transportation systems.
LS0tDQp0aXRsZTogIkJsb2cgNSBEYXRhIDYyMSINCmF1dGhvcjogIkxhdXJhIEIiDQpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiDQpvdXRwdXQ6IG9wZW5pbnRybzo6bGFiX3JlcG9ydA0KLS0tDQoNCiMjIEJsb2cgRW50cnkgNTogUHJlZGljdGl2ZSBBbmFseXRpY3MgaW4gVHJhdmVsIFBsYW5uaW5nDQoNCg0KDQpUaXRsZTogUHJlZGljdGl2ZSBBbmFseXRpY3MgaW4gVHJhdmVsIFBsYW5uaW5nDQoNCiMjIyBPdmVydmlldw0KDQpJbiB0b2RheSdzIGZhc3QtcGFjZWQgd29ybGQsIGVmZmljaWVudCB0cmF2ZWwgcGxhbm5pbmcgaXMgZXNzZW50aWFsIGZvciBpbmRpdmlkdWFscywgYnVzaW5lc3NlcywgYW5kIHRyYW5zcG9ydGF0aW9uIGF1dGhvcml0aWVzIGFsaWtlLiBQcmVkaWN0aXZlIGFuYWx5dGljcywgcGFydGljdWxhcmx5IHVzaW5nIG1hY2hpbmUgbGVhcm5pbmcgbW9kZWxzIGxpa2UgUmFuZG9tIEZvcmVzdCwgY2FuIHJldm9sdXRpb25pemUgdHJhdmVsIHBsYW5uaW5nIGJ5IGZvcmVjYXN0aW5nIHRyYXZlbCBkZW1hbmQgYWNjdXJhdGVseS4gSW4gdGhpcyBibG9nIHBvc3QsIHdlIGV4cGxvcmUgaG93IHByZWRpY3RpdmUgYW5hbHl0aWNzIGNhbiBlbmhhbmNlIHRyYXZlbCBwbGFubmluZywgdXNpbmcgYSBSYW5kb20gRm9yZXN0IG1vZGVsIGFzIGFuIGV4YW1wbGUuDQoNCmBgYHtyfQ0KI0xvYWRpbmcgcmVxdWlyZWQgbGlicmFyaWVzDQojaW5zdGFsbC5wYWNrYWdlcygicmFuZG9tRm9yZXN0IikNCmxpYnJhcnkocmFuZG9tRm9yZXN0KQ0KbGlicmFyeShnZ3Bsb3QyKQ0KDQojR2VuZXJhdGluZyBzYW1wbGUgdHJhdmVsIGRhdGENCnNldC5zZWVkKDEyMykNCm4gPC0gMTAwMA0KdHJhdmVsX2RhdGEgPC0gZGF0YS5mcmFtZSgNCiAgdHJhdmVsX2RhdGUgPSBzZXEoYXMuRGF0ZSgiMjAyMi0wMS0wMSIpLCBieSA9ICJkYXkiLCBsZW5ndGgub3V0ID0gbiksDQogIHRyYXZlbF9kZW1hbmQgPSBycG9pcyhuLCBsYW1iZGEgPSA1MCkNCikNCg0KI1ByZXByb2Nlc3MgZGF0YQ0KdHJhdmVsX2RhdGEkbW9udGggPC0gYXMubnVtZXJpYyhmb3JtYXQodHJhdmVsX2RhdGEkdHJhdmVsX2RhdGUsICIlbSIpKQ0KdHJhdmVsX2RhdGEkZGF5IDwtIGFzLm51bWVyaWMoZm9ybWF0KHRyYXZlbF9kYXRhJHRyYXZlbF9kYXRlLCAiJWQiKSkNCnRyYXZlbF9kYXRhJHdlZWtkYXkgPC0gYXMubnVtZXJpYyhmb3JtYXQodHJhdmVsX2RhdGEkdHJhdmVsX2RhdGUsICIldSIpKQ0KdHJhdmVsX2RhdGEkaXNfd2Vla2VuZCA8LSBpZmVsc2UodHJhdmVsX2RhdGEkd2Vla2RheSAlaW4lIGMoNiwgNyksIDEsIDApDQoNCiNTcGxpdHRpbmcgZGF0YSBpbnRvIHRyYWluaW5nIGFuZCB0ZXN0aW5nIHNldHMNCnNldC5zZWVkKDQ1NikNCnRyYWluX2luZGljZXMgPC0gc2FtcGxlKDE6bnJvdyh0cmF2ZWxfZGF0YSksIDAuOCAqIG4pDQp0cmFpbl9kYXRhIDwtIHRyYXZlbF9kYXRhW3RyYWluX2luZGljZXMsIF0NCnRlc3RfZGF0YSA8LSB0cmF2ZWxfZGF0YVstdHJhaW5faW5kaWNlcywgXQ0KDQojVHJhaW5pbmcgUmFuZG9tIEZvcmVzdCBtb2RlbA0KcmZfbW9kZWwgPC0gcmFuZG9tRm9yZXN0KHRyYXZlbF9kZW1hbmQgfiBtb250aCArIGRheSArIHdlZWtkYXkgKyBpc193ZWVrZW5kLCBkYXRhID0gdHJhaW5fZGF0YSkNCg0KI1ByZWRpY3RpbmcgdHJhdmVsIGRlbWFuZCBmb3IgdGVzdGluZyBkYXRhDQpwcmVkaWN0aW9ucyA8LSBwcmVkaWN0KHJmX21vZGVsLCBuZXdkYXRhID0gdGVzdF9kYXRhKQ0KDQojVmlzdWFsaXplIHByZWRpY3RlZCB2cy4gYWN0dWFsIHRyYXZlbCBkZW1hbmQNCnBsb3RfZGF0YSA8LSBkYXRhLmZyYW1lKA0KICBBY3R1YWwgPSB0ZXN0X2RhdGEkdHJhdmVsX2RlbWFuZCwNCiAgUHJlZGljdGVkID0gcHJlZGljdGlvbnMNCikNCg0KZ2dwbG90KHBsb3RfZGF0YSwgYWVzKHggPSBBY3R1YWwsIHkgPSBQcmVkaWN0ZWQpKSArDQogIGdlb21fcG9pbnQoKSArDQogIGdlb21fYWJsaW5lKHNsb3BlID0gMSwgaW50ZXJjZXB0ID0gMCwgY29sb3IgPSAicmVkIiwgbGluZXR5cGUgPSAiZGFzaGVkIikgKw0KICBsYWJzKHggPSAiQWN0dWFsIFRyYXZlbCBEZW1hbmQiLCB5ID0gIlByZWRpY3RlZCBUcmF2ZWwgRGVtYW5kIiwgdGl0bGUgPSAiQWN0dWFsIHZzLiBQcmVkaWN0ZWQgVHJhdmVsIERlbWFuZCIpDQoNCmBgYA0KDQoNCiMjIENvbmNsdXNpb246DQoNCkluIGNvbmNsdXNpb24sIHByZWRpY3RpdmUgYW5hbHl0aWNzLCBwb3dlcmVkIGJ5IG1hY2hpbmUgbGVhcm5pbmcgbW9kZWxzIGxpa2UgUmFuZG9tIEZvcmVzdCwgb2ZmZXJzIGEgcG93ZXJmdWwgdG9vbCBmb3IgZW5oYW5jaW5nIHRyYXZlbCBwbGFubmluZy4gQnkgbGV2ZXJhZ2luZyBoaXN0b3JpY2FsIGRhdGEgYW5kIHJlbGV2YW50IGZlYXR1cmVzLCB0aGVzZSBtb2RlbHMgY2FuIHByb3ZpZGUgdmFsdWFibGUgaW5zaWdodHMgaW50byBmdXR1cmUgdHJhdmVsIGRlbWFuZCwgZW5hYmxpbmcgdHJhbnNwb3J0YXRpb24gYWdlbmNpZXMsIGJ1c2luZXNzZXMsIGFuZCBpbmRpdmlkdWFscyB0byBvcHRpbWl6ZSByZXNvdXJjZSBhbGxvY2F0aW9uLCBpbXByb3ZlIG9wZXJhdGlvbmFsIGVmZmljaWVuY3ksIGFuZCBkZWxpdmVyIGJldHRlciBjdXN0b21lciBleHBlcmllbmNlcy4gQXMgdGVjaG5vbG9neSBjb250aW51ZXMgdG8gYWR2YW5jZSwgdGhlIGludGVncmF0aW9uIG9mIHByZWRpY3RpdmUgYW5hbHl0aWNzIGludG8gdHJhdmVsIHBsYW5uaW5nIHByb2Nlc3NlcyB3aWxsIGJlY29tZSBpbmNyZWFzaW5nbHkgZXNzZW50aWFsIGZvciBuYXZpZ2F0aW5nIHRoZSBjb21wbGV4aXRpZXMgb2YgbW9kZXJuIHRyYW5zcG9ydGF0aW9uIHN5c3RlbXMuDQoNCg0KDQoNCg==