Pendahuluan

Eksplorasi data merupakan tahap awal dalam analisis statistik yang bertujuan untuk memahami pola, karakteristik, dan hubungan antar variabel dalam suatu dataset. Pada analisis ini digunakan dataset bike sharing yang memuat informasi mengenai kondisi cuaca, musim, tipe hari, serta jumlah total penyewaan sepeda.

Analisis yang dilakukan berfokus pada visualisasi bivariat untuk melihat hubungan antara variabel numerik maupun perbandingan distribusi berdasarkan kategori tertentu. Beberapa metode visualisasi yang digunakan antara lain scatter plot, boxplot, bar plot, dan violin plot. Melalui visualisasi ini, diharapkan dapat diperoleh gambaran mengenai faktor-faktor yang memengaruhi jumlah penyewaan sepeda.

bike_data <- read.csv("day.csv")
bike_data$season <- factor(bike_data$season, levels = c(1,2,3,4), 
                           labels = c("Spring", "Summer", "Fall", "Winter"))
bike_data$workingday <- factor(bike_data$workingday, levels = c(0,1), 
                               labels = c("Holiday", "Working Day"))
bike_data$weathersit <- factor(bike_data$weathersit, levels = c(1,2,3), 
                               labels = c("Clear", "Mist", "Light Snow/Rain"))
ggplot(bike_data, aes(x = temp, y = cnt)) + 
  geom_point(color = "steelblue", alpha = 0.5) + 
  labs(title = "Scatter Plot of Total Bike Rentals vs Temperature",
       x = "Temperature (temp)",
       y = "Total Rentals (cnt)") +
  theme_minimal()

ggplot(bike_data, aes(x = season, y = cnt)) + 
  geom_boxplot(fill = "lightblue", color = "darkblue") + 
  labs(title = "Boxplot of Total Bike Rentals by Musim",
       x = "Musim",
       y = "Total Rentals (cnt)") +
  theme_minimal()

ggplot(bike_data, aes(x = weathersit, y = cnt)) + 
  geom_violin(fill = "lightcoral", color = "darkred", alpha = 0.6) + 
  geom_boxplot(width = 0.1, fill = "white", color = "black", outlier.shape = NA) + 
  labs(title = "Violin Plot of Total Bike Rentals by Kondisi Cuaca",
       x = "Kondisi Cuaca",
       y = "Total Rentals (cnt)") +
  theme_minimal()

ggplot(bike_data, aes(x = windspeed, y = cnt)) +
  geom_point(color = "steelblue", alpha = 0.5) +
  geom_smooth(method = "lm", color = "red") + 
  labs(title = "Hubungan Kecepatan Angin terhadap Total Penyewaan",
       x = "Windspeed (Normalized)", 
       y = "Total Penyewa (cnt)") +
  theme_light()
## `geom_smooth()` using formula = 'y ~ x'

interpretasinya: Visualisasi scatter plot menunjukkan hubungan antara kecepatan angin (windspeed) dan total penyewaan sepeda (cnt). Berdasarkan grafik serta garis regresi linear yang ditambahkan, terlihat kecenderungan hubungan negatif, di mana semakin tinggi kecepatan angin maka jumlah penyewaan sepeda cenderung menurun. Hal ini dapat dijelaskan secara logis karena kondisi angin yang kencang kurang nyaman bagi pengguna sepeda. Namun, sebaran titik yang cukup menyebar menunjukkan bahwa hubungan ini tidak terlalu kuat dan masih dipengaruhi oleh faktor lain.

ggplot(bike_data, aes(x = workingday, y = cnt, fill = workingday)) +
  geom_boxplot() +
  labs(title = "Distribusi Penyewa: Hari Kerja vs Hari Libur",
       x = "Tipe Hari", 
       y = "Total Penyewa (cnt)") +
  scale_fill_manual(values = c("#FF9999", "#99CCFF")) +
  theme_minimal()

interpretasinya: Boxplot ini membandingkan distribusi jumlah penyewaan sepeda antara hari kerja dan hari libur. Terlihat adanya perbedaan median dan rentang distribusi antara kedua kategori tersebut. Umumnya, jumlah penyewaan pada hari kerja cenderung lebih stabil, sedangkan pada hari libur variasinya bisa lebih besar. Hal ini menunjukkan bahwa tipe hari berpengaruh terhadap pola penyewaan sepeda, kemungkinan karena perbedaan aktivitas masyarakat pada hari kerja dan hari libur.

weather_summary <- bike_data %>% 
  group_by(weathersit) %>% 
  summarise(mean_cnt = mean(cnt))

ggplot(weather_summary, aes(x = weathersit, y = mean_cnt, fill = weathersit)) +
  geom_col() +
  labs(title = "Rata-rata Penyewa Berdasarkan Kondisi Cuaca",
       x = "Kondisi Cuaca", 
       y = "Rata-rata Jumlah Penyewa") +
  theme_minimal() +
  scale_fill_brewer(palette = "Set2")

interpretasinya: Grafik batang menampilkan rata-rata jumlah penyewaan sepeda untuk setiap kondisi cuaca (weathersit). Terlihat bahwa kondisi cuaca yang lebih baik memiliki rata-rata penyewaan yang lebih tinggi dibandingkan kondisi cuaca yang kurang baik. Hal ini menunjukkan bahwa faktor cuaca memiliki pengaruh yang cukup signifikan terhadap keputusan masyarakat untuk menyewa sepeda. Cuaca yang cerah atau mendukung aktivitas luar ruangan meningkatkan minat penggunaan sepeda.

ggplot(bike_data, aes(x = season, y = cnt, fill = season)) +
  geom_violin(alpha = 0.6) +
  geom_boxplot(width = 0.1, fill = "white", outlier.shape = NA) +
  labs(title = "Kepadatan Penyewa di Setiap Musim",
       x = "Musim", 
       y = "Total Penyewa (cnt)") +
  theme_classic()

interpretasinya: Violin plot ini menggambarkan kepadatan distribusi jumlah penyewaan sepeda pada masing-masing musim. Dari bentuk violin dapat terlihat perbedaan pola distribusi dan variasi penyewaan antar musim. Beberapa musim menunjukkan distribusi yang lebih lebar, yang menandakan variasi jumlah penyewaan yang lebih besar. Selain itu, posisi median pada boxplot di dalam violin memperlihatkan musim tertentu memiliki tingkat penyewaan yang relatif lebih tinggi dibanding musim lainnya. Hal ini menunjukkan bahwa musim merupakan salah satu faktor yang memengaruhi intensitas penyewaan sepeda.

Kesimpulan

Berdasarkan hasil visualisasi yang telah dilakukan, dapat disimpulkan bahwa beberapa faktor memiliki keterkaitan dengan jumlah penyewaan sepeda. Kecepatan angin menunjukkan kecenderungan hubungan negatif terhadap jumlah penyewaan, di mana semakin tinggi kecepatan angin maka jumlah penyewa cenderung menurun. Selain itu, perbedaan tipe hari (hari kerja dan hari libur) juga memperlihatkan variasi distribusi jumlah penyewaan.

Kondisi cuaca dan musim turut memberikan pengaruh terhadap rata-rata serta distribusi jumlah penyewaan sepeda. Cuaca yang lebih baik dan musim tertentu cenderung memiliki jumlah penyewaan yang lebih tinggi. Secara keseluruhan, hasil analisis menunjukkan bahwa faktor lingkungan dan waktu memiliki peran dalam menentukan intensitas penggunaan sepeda.