Laporan ini merupakan kelanjutan dari eksplorasi data yang telah dilakukan sebelumnya. Kini perhatian dialihkan pada dataset Bike Sharing yang mencatat aktivitas penyewaan sepeda harian di Washington, D.C. selama dua tahun (731 hari pengamatan).
Analisis terbagi menjadi dua bagian utama. Pertama, visualisasi univariate untuk memahami karakter dasar variabel
cnt(total penyewaan) melalui histogram, density plot, boxplot, dan violin plot. Kedua, visualisasi bivariate untuk melihat hubungan antara jumlah penyewaan dengan variabel lain seperti suhu (temp), musim (season_label), kondisi cuaca (weather_label), tipe hari (workingday_label), kelembapan (hum), dan kecepatan angin (windspeed) menggunakan scatter plot, boxplot, dan violin plot.Dari visualisasi univariate ditemukan bahwa sebagian besar penyewaan berada di kisaran 4.000–5.500 unit per hari, dengan beberapa hari mencapai 8.000 unit dan hari lain di bawah 1.000 unit. Dari visualisasi bivariate teridentifikasi bahwa suhu dan musim menjadi faktor paling dominan, kondisi cuaca sangat berpengaruh, dan terdapat perbedaan pola antara hari kerja dengan akhir pekan. Sementara itu, kelembapan serta kecepatan angin memiliki pengaruh yang lebih lemah.
Temuan dari eksplorasi ini diharapkan dapat memberikan wawasan bagi pengelola layanan dalam merencanakan strategi operasional dan pengembangan bisnis ke depan, serta menjadi landasan untuk analisis lanjutan seperti pemodelan prediktif.
Dataset ini berasal dari sistem bike sharing di Washington, D.C., yang diperoleh dari UCI Machine Learning Repository. Dataset mencatat aktivitas penyewaan sepeda setiap hari selama dua tahun. Setelah memahami dalam kondisi apa data dikumpulkan (musim, cuaca, dan jenis hari), langkah berikutnya adalah melihat bagaimana pola nilai numerik dalam dataset.
# Memuat dataset
bike_data <- read.csv("day.csv")
colnames(bike_data)
## [1] "instant" "dteday" "season" "yr" "mnth"
## [6] "holiday" "weekday" "workingday" "weathersit" "temp"
## [11] "atemp" "hum" "windspeed" "casual" "registered"
## [16] "cnt"
str(bike_data)
## 'data.frame': 731 obs. of 16 variables:
## $ instant : int 1 2 3 4 5 6 7 8 9 10 ...
## $ dteday : chr "2011-01-01" "2011-01-02" "2011-01-03" "2011-01-04" ...
## $ season : int 1 1 1 1 1 1 1 1 1 1 ...
## $ yr : int 0 0 0 0 0 0 0 0 0 0 ...
## $ mnth : int 1 1 1 1 1 1 1 1 1 1 ...
## $ holiday : int 0 0 0 0 0 0 0 0 0 0 ...
## $ weekday : int 6 0 1 2 3 4 5 6 0 1 ...
## $ workingday: int 0 0 1 1 1 1 1 0 0 1 ...
## $ weathersit: int 2 2 1 1 1 1 2 2 1 1 ...
## $ temp : num 0.344 0.363 0.196 0.2 0.227 ...
## $ atemp : num 0.364 0.354 0.189 0.212 0.229 ...
## $ hum : num 0.806 0.696 0.437 0.59 0.437 ...
## $ windspeed : num 0.16 0.249 0.248 0.16 0.187 ...
## $ casual : int 331 131 120 108 82 88 148 68 54 41 ...
## $ registered: int 654 670 1229 1454 1518 1518 1362 891 768 1280 ...
## $ cnt : int 985 801 1349 1562 1600 1606 1510 959 822 1321 ...
Berdasarkan output di atas, dataset ini memiliki 16
variabel dari total 731 observasi, termasuk
variabel numerik dan kategorik. Variabel numerik dalam dataset ini
antara lain temp, atemp, hum,
windspeed, casual, registered,
dan cnt. Variabel-variabel ini memberikan informasi tentang
suhu, kelembapan, kecepatan angin, jumlah penyewaan oleh pengguna
kasual, pengguna terdaftar, dan total penyewaan.
Untuk memudahkan interpretasi, beberapa variabel kategorik akan di-recode menjadi label yang lebih deskriptif.
bike_data <- bike_data %>%
mutate(
season_label = case_when(
season == 1 ~ "Spring",
season == 2 ~ "Summer",
season == 3 ~ "Fall",
season == 4 ~ "Winter"
),
weather_label = case_when(
weathersit == 1 ~ "Cerah/Berawan Ringan",
weathersit == 2 ~ "Berkabut/Berawan",
weathersit == 3 ~ "Hujan Ringan/Salju",
weathersit == 4 ~ "Hujan Deras/Badai"
),
workingday_label = case_when(
workingday == 0 ~ "Hari Libur",
workingday == 1 ~ "Hari Kerja"
)
)
Dengan melakukan recode pada variabel kategorik, kita dapat lebih mudah memahami dan menginterpretasikan visualisasi yang akan dibuat. Misalnya, ketika membuat grafik yang menunjukkan jumlah penyewaan berdasarkan musim, label “Spring”, “Summer”, “Fall”, dan “Winter” akan muncul, bukan angka 1,2,3,4.
datatable(bike_data, options = list(pageLength = 5, autoWidth = TRUE))
Sebelum melihat hubungan antar variabel, penting untuk memahami
karakter masing-masing variabel secara mandiri. Fokus utama di sini
adalah variabel cnt yang menunjukkan total penyewaan sepeda
harian.
Berapa jumlah penyewaan sepeda yang paling sering terjadi?
ggplot(bike_data, aes(x = cnt)) +
geom_histogram(binwidth = 100, fill = "steelblue", color = "white") +
labs(
title = "Histogram of Total Bike Rentals",
x = "Total Rentals (cnt)",
y = "Frequency"
) +
theme_minimal()
Visualisasi data di atas menunjukkan distribusi jumlah penyewaan sepeda harian (
cnt). Pada grafik tersebut, sumbu x menunjukkan jumlah penyewaan sepeda, sedangkan sumbu y merepresentasikan frekuensi atau banyaknya hari yang memiliki jumlah penyewaan pada kisaran tertentu. Melalui visualisasi ini, terlihat bahwa sebagian besar data terkonsentrasi pada nilai menengah, yaitu sekitar 4.000 hingga 5.500 penyewaan per hari. Hal ini menunjukkan bahwa pada mayoritas hari, tingkat penggunaan sepeda berada pada level yang relatif stabil.Namun demikian, terdapat beberapa hari dengan jumlah penyewaan yang sangat tinggi, mencapai sekitar 8.000 penyewaan per hari, serta beberapa hari dengan jumlah penyewaan yang jauh lebih rendah, yaitu di bawah 1.000 penyewaan. Hal ini menunjukkan adanya variasi penggunaan sepeda dari hari ke hari. Secara visual, distribusi data tampak tidak sepenuhnya simetris dan sedikit memanjang ke sisi kanan, yang mengindikasikan adanya lonjakan penggunaan pada kondisi tertentu.
Di kisaran mana penyewaan paling banyak terkonsentrasi?
ggplot(bike_data, aes(x = cnt)) +
geom_density(fill = "lightblue", alpha = 0.5) +
labs(
title = "Density Plot of Total Bike Rentals",
x = "Total Rentals (cnt)",
y = "Density"
) +
theme_minimal()
Density plot di atas merupakan bentuk pemulusan dari histogram yang digunakan untuk melihat pola distribusi jumlah penyewaan sepeda harian secara lebih halus. Berbeda dengan histogram yang menampilkan batang frekuensi, density plot menunjukkan kurva kepadatan sehingga pola distribusi lebih mudah diamati.
Dari grafik terlihat bahwa kurva memiliki satu puncak utama pada kisaran sekitar 4.500–5.000 penyewaan per hari, yang menunjukkan bahwa nilai tersebut merupakan tingkat penggunaan yang paling sering terjadi. Hal ini menegaskan bahwa mayoritas hari memiliki jumlah penyewaan pada level menengah, sehingga dapat dikatakan penggunaan sepeda cenderung stabil di sekitar nilai tersebut.
Selain puncak utama, terlihat adanya bagian kurva yang melebar ke sisi kanan hingga mendekati 8.000 penyewaan, yang menunjukkan adanya hari-hari dengan jumlah penyewaan yang lebih tinggi. Sementara itu, sisi kiri kurva yang memanjang ke nilai rendah menunjukkan bahwa terdapat juga hari dengan penggunaan yang relatif sedikit, meskipun jumlahnya tidak dominan. Bentuk kurva yang tidak sepenuhnya simetris mengindikasikan bahwa distribusi data sedikit condong ke kanan.
Apakah ada hari dengan jumlah penyewaan yang jauh di luar kebiasaan?
ggplot(bike_data, aes(y = cnt)) +
geom_boxplot(fill = "lightblue", color = "darkblue") +
coord_flip() +
labs(
title = "Boxplot of Total Bike Rentals",
y = "Total Rentals (cnt)"
) +
theme_minimal()
Boxplot di atas digunakan untuk merangkum distribusi jumlah penyewaan sepeda harian melalui ukuran statistik utama, yaitu median, kuartil, serta rentang data. Berbeda dengan histogram dan density plot yang menampilkan bentuk distribusi, boxplot membantu melihat pusat data, penyebaran, dan kemungkinan nilai ekstrem secara ringkas.
Garis di dalam kotak menunjukkan median (nilai tengah) yang berada di sekitar 4.500–5.000 penyewaan per hari. Hal ini menandakan bahwa setengah dari jumlah hari memiliki penyewaan di bawah nilai tersebut dan setengah lainnya di atasnya, sehingga median dapat dianggap sebagai tingkat penggunaan tipikal harian.
Batas bawah dan atas kotak merepresentasikan Kuartil 1 (Q1) dan Kuartil 3 (Q3), yang kira-kira berada pada kisaran 3.000 hingga 6.000 penyewaan. Rentang ini disebut interquartile range (IQR) dan menunjukkan bahwa 50% data berada pada interval tersebut. Artinya, sebagian besar hari memiliki jumlah penyewaan dalam kisaran menengah, sehingga variasi penggunaan masih tergolong wajar.
Garis whisker yang memanjang ke kiri dan kanan menunjukkan rentang data minimum dan maksimum yang masih berada dalam batas wajar. Dari boxplot ini tidak terlihat titik pencilan yang menonjol, sehingga dapat dikatakan tidak ada nilai yang sangat ekstrem secara visual.
Bagaimana bentuk distribusi sekaligus ringkasan statistik dalam satu tampilan?
ggplot(bike_data, aes(x = "", y = cnt)) +
geom_violin(fill = "lightblue", color = "darkblue", alpha = 0.6) +
geom_boxplot(width = 0.1, fill = "white", color = "black", outlier.shape = NA) +
labs(
title = "Violin Plot with Boxplot of Total Bike Rentals",
x = "",
y = "Total Rentals (cnt)"
) +
coord_flip() +
theme_minimal()
Visualisasi di atas merupakan kombinasi antara violin plot dan boxplot untuk menggambarkan distribusi jumlah penyewaan sepeda harian. Violin plot menunjukkan bentuk kepadatan data, di mana bagian yang lebih lebar menandakan bahwa lebih banyak hari memiliki jumlah penyewaan pada kisaran tersebut. Terlihat bahwa distribusi data paling padat berada pada kisaran sekitar 4.000 hingga 5.500 penyewaan per hari, yang menunjukkan bahwa nilai tersebut merupakan tingkat penggunaan yang paling sering terjadi.
Sementara itu, boxplot di dalam violin memberikan informasi statistik ringkas. Garis di tengah kotak menunjukkan median jumlah penyewaan, sedangkan batas kotak menunjukkan kuartil pertama dan kuartil ketiga, yang menggambarkan rentang di mana 50% data berada. Whisker yang memanjang ke kedua sisi menunjukkan bahwa terdapat variasi penggunaan dari nilai yang relatif rendah hingga mendekati 8.000 penyewaan per hari.
Bentuk violin yang melebar di bagian tengah dan meruncing di bagian atas dan bawah menunjukkan bahwa sebagian besar data terkonsentrasi pada nilai menengah, dengan lebih sedikit hari yang memiliki jumlah penyewaan sangat rendah atau sangat tinggi. Kombinasi visual ini membantu memahami pola distribusi, tingkat pemusatan data, serta variasi penggunaan sepeda secara lebih komprehensif.
Dari keempat visualisasi di atas, dapat disimpulkan bahwa jumlah penyewaan sepeda harian memiliki variasi yang cukup signifikan. Mayoritas hari memiliki tingkat penggunaan yang relatif stabil di kisaran menengah (4.000–5.500 penyewaan), namun terdapat pula hari-hari dengan jumlah penyewaan yang jauh lebih tinggi (mendekati 8.000) atau lebih rendah (di bawah 1.000). Distribusi data sedikit miring ke kanan, mengindikasikan adanya lonjakan penggunaan pada kondisi tertentu. Tidak ditemukan pencilan ekstrem yang mencolok, menunjukkan bahwa variasi yang terjadi masih dalam batas wajar.
Setelah memahami pola distribusi satu variabel, analisis dapat dilanjutkan ke tahap berikutnya, yaitu visualisasi bivariate. Visualisasi ini digunakan untuk melihat hubungan antara jumlah penyewaan sepeda dengan faktor-faktor seperti suhu, musim, kondisi cuaca, dan jenis hari.
Apakah suhu memengaruhi jumlah penyewaan sepeda?
ggplot(bike_data, aes(x = temp, y = cnt)) +
geom_point(color = "purple4", alpha = 0.5) +
labs(
title = "Scatter Plot of Total Bike Rentals vs Temperature",
x = "Temperature (temp)",
y = "Total Rentals (cnt)"
) +
theme_minimal()
Scatter plot di atas menunjukkan hubungan antara suhu (
temp) dan jumlah penyewaan sepeda (cnt). Setiap titik pada grafik mewakili satu hari, dengan posisi horizontal menunjukkan suhu dan posisi vertikal menunjukkan jumlah penyewaan sepeda pada hari tersebut. Dari visualisasi ini terlihat bahwa terdapat pola positif antara suhu dan jumlah penyewaan sepeda, di mana semakin tinggi suhu, semakin banyak penyewaan sepeda yang terjadi. Hal ini menunjukkan bahwa cuaca yang lebih hangat cenderung meningkatkan penggunaan sepeda, sementara suhu yang lebih rendah mungkin membuat orang enggan untuk menyewa sepeda. Meskipun terdapat beberapa titik yang menyebar, pola umum menunjukkan bahwa suhu memiliki pengaruh positif terhadap jumlah penyewaan sepeda.
Apakah musim berpengaruh terhadap jumlah penyewaan sepeda?
ggplot(bike_data, aes(x = season_label, y = cnt)) +
geom_boxplot(fill = "#A47DAB", color = "purple4") +
labs(
title = "Boxplot of Total Bike Rentals by Season",
x = "Season",
y = "Total Rentals (cnt)"
) +
theme_minimal()
Boxplot bivariate di atas digunakan untuk membandingkan distribusi jumlah penyewaan sepeda berdasarkan kategori musim. Setiap kotak pada grafik mewakili distribusi penyewaan sepeda untuk masing-masing musim, dengan garis di dalam kotak menunjukkan median, batas kotak menunjukkan kuartil pertama dan ketiga, serta whisker yang memanjang menunjukkan rentang data.
Dari visualisasi ini terlihat bahwa musim Summer memiliki jumlah penyewaan sepeda yang lebih tinggi dibandingkan dengan musim lainnya, dengan median yang berada di kisaran 5.000 penyewaan per hari. Sementara itu, musim Winter memiliki jumlah penyewaan yang lebih rendah, dengan median di bawah 3.000 penyewaan per hari. Hal ini menunjukkan bahwa penggunaan sepeda cenderung meningkat selama musim panas dan menurun selama musim dingin, kemungkinan karena faktor cuaca yang memengaruhi kenyamanan dalam menggunakan sepeda.
Apakah kondisi cuaca memengaruhi jumlah penyewaan sepeda?
ggplot(bike_data, aes(x = weather_label, y = cnt)) +
geom_violin(fill = "#A47DAB", color = "purple4", alpha = 0.6) +
geom_boxplot(width = 0.1, fill = "white", color = "black", outlier.shape = NA) +
labs(
title = "Violin Plot of Total Bike Rentals by Weather Condition",
x = "Weather Condition",
y = "Total Rentals (cnt)"
) +
theme_minimal()
Violin plot bivariate di atas digunakan untuk membandingkan distribusi jumlah penyewaan sepeda berdasarkan kondisi cuaca. Setiap bentuk violin mewakili distribusi penyewaan sepeda untuk masing-masing kondisi cuaca, dengan bagian yang lebih lebar menunjukkan bahwa lebih banyak hari memiliki jumlah penyewaan pada kisaran tersebut. Boxplot di dalam violin memberikan informasi statistik ringkas, seperti median dan kuartil.
Dari visualisasi ini terlihat bahwa kondisi cuaca yang cerah (Cerah/Berawan Ringan) memiliki distribusi penyewaan sepeda yang lebih tinggi dan lebih padat dibandingkan dengan kondisi cuaca lainnya. Kondisi Berkabut/Berawan masih menunjukkan penyewaan yang cukup tinggi, sementara kondisi Hujan Ringan/Salju memiliki distribusi yang jauh lebih rendah. Hal ini menunjukkan bahwa kondisi cuaca yang baik cenderung meningkatkan penggunaan sepeda, sementara kondisi cuaca yang buruk dapat mengurangi minat orang untuk menyewa sepeda.
Apakah pola penyewaan berbeda antara hari kerja dan akhir pekan?
ggplot(bike_data, aes(x = workingday_label, y = cnt)) +
geom_boxplot(fill = "lightcoral", color = "darkred") +
labs(
title = "Perbandingan Penyewaan Sepeda: Hari Kerja vs Akhir Pekan",
x = "Tipe Hari",
y = "Jumlah Penyewaan (cnt)"
) +
theme_minimal()
Boxplot di atas membandingkan distribusi jumlah penyewaan sepeda antara hari kerja dan hari libur. Dari visualisasi ini, terlihat perbedaan yang cukup jelas antara kedua kategori.
Pada hari kerja, jumlah penyewaan cenderung lebih tinggi dengan rentang yang lebih lebar. Median penyewaan berada di kisaran 4.500–5.000, dengan sebagian besar data terkonsentrasi antara 3.000 hingga 6.000 penyewaan. Hal ini wajar karena pada hari kerja, masyarakat menggunakan sepeda untuk mobilitas ke tempat kerja atau aktivitas rutin lainnya.
Sementara pada hari libur, distribusi penyewaan lebih bervariasi dengan bentuk yang sedikit berbeda. Meskipun mediannya tidak jauh berbeda, terdapat kecenderungan bahwa penyewaan pada hari libur lebih banyak didominasi oleh pengguna kasual (rekreasi) dibandingkan pengguna terdaftar yang rutin. Hal ini terlihat dari adanya sebaran data yang lebih lebar di bagian atas, menunjukkan bahwa pada hari libur tertentu, jumlah penyewaan bisa mencapai angka yang sangat tinggi, kemungkinan karena faktor cuaca yang mendukung atau acara khusus di akhir pekan.
Perbedaan pola ini penting dipahami untuk penyesuaian strategi operasional, seperti penambahan stok sepeda pada hari kerja untuk memenuhi kebutuhan komuter, atau promosi khusus di akhir pekan untuk menarik pengguna rekreasi.
Apakah tingkat kelembapan memengaruhi jumlah penyewaan sepeda?
ggplot(bike_data, aes(x = hum, y = cnt)) +
geom_point(color = "darkred", alpha = 0.5) +
labs(
title = "Scatter Plot Hubungan Kelembapan dan Jumlah Penyewaan Sepeda",
x = "Kelembapan (hum)",
y = "Jumlah Penyewaan (cnt)"
) +
theme_minimal()
Scatter plot ini menunjukkan hubungan antara tingkat kelembapan (
hum) dan jumlah penyewaan sepeda (cnt). Setiap titik mewakili satu hari pengamatan.Dari visualisasi terlihat bahwa titik-titik menyebar tanpa pola yang jelas. Tidak seperti suhu yang menunjukkan hubungan positif, kelembapan tidak menunjukkan kecenderungan yang konsisten terhadap jumlah penyewaan. Pada berbagai tingkat kelembapan, dari rendah hingga tinggi, jumlah penyewaan tetap bervariasi secara acak.
Namun demikian, ada sedikit indikasi bahwa pada kelembapan sangat tinggi (di atas 0,8), jumlah penyewaan cenderung menurun. Hal ini masuk akal karena kelembapan tinggi biasanya berkaitan dengan cuaca yang tidak nyaman atau bahkan hujan, yang dapat mengurangi minat orang untuk bersepeda. Sebaliknya, pada kelembapan menengah (sekitar 0,4–0,7), penyewaan justru menunjukkan variasi tertinggi, tergantung pada faktor lain seperti suhu atau kondisi cuaca secara umum.
Secara keseluruhan, kelembapan bukanlah faktor utama yang menentukan jumlah penyewaan. Pengaruhnya lebih bersifat tidak langsung dan perlu dipertimbangkan bersama variabel lain seperti suhu dan kondisi cuaca.
Bagaimana pengaruh kecepatan angin terhadap penggunaan sepeda?
ggplot(bike_data, aes(x = windspeed, y = cnt)) +
geom_point(color = "darkred", alpha = 0.5) +
labs(
title = "Scatter Plot Hubungan Kecepatan Angin dan Jumlah Penyewaan Sepeda",
x = "Kecepatan Angin (Windspeed)",
y = "Jumlah Penyewaan (cnt)"
) +
theme_minimal()
Scatter plot ini menggambarkan hubungan antara kecepatan angin (
windspeed) dan jumlah penyewaan sepeda (cnt).Dari sebaran titik yang ada, tidak terlihat pola yang jelas antara kecepatan angin dan jumlah penyewaan. Pada kecepatan angin rendah hingga sedang (0,0–0,3), penyewaan bervariasi dari sangat rendah hingga sangat tinggi. Hal ini menunjukkan bahwa selama angin tidak terlalu kencang, orang tetap bersepeda selama faktor lain (suhu, cuaca) mendukung.
Namun, ketika kecepatan angin mulai tinggi (di atas 0,3), terlihat bahwa jumlah penyewaan cenderung menurun dan tidak ada lagi penyewaan yang sangat tinggi. Ini masuk akal secara intuitif karena angin kencang membuat bersepeda menjadi tidak nyaman dan bahkan berisiko, terutama untuk pengguna kasual yang bersepeda untuk rekreasi.
Meskipun demikian, pengaruh kecepatan angin tidak sekuat suhu atau kondisi cuaca. Masih ada hari-hari dengan angin cukup kencang namun penyewaan tetap terjadi, kemungkinan karena pengguna terdaftar yang tetap membutuhkan sepeda untuk mobilitas rutinnya.
Dari keenam visualisasi bivariate yang telah dilakukan, diperoleh beberapa temuan penting:
Faktor yang paling berpengaruh terhadap jumlah penyewaan sepeda adalah suhu dan musim. Suhu menunjukkan hubungan positif yang konsisten: semakin hangat suhu, semakin tinggi penyewaan. Musim panas (Summer) menjadi puncak penggunaan, sementara musim dingin (Winter) menjadi titik terendah. Hal ini mengonfirmasi bahwa kenyamanan cuaca menjadi pertimbangan utama dalam bersepeda.
Kondisi cuaca juga memiliki pengaruh signifikan. Cuaca cerah menghasilkan penyewaan tertinggi dengan distribusi paling padat, sementara hujan ringan/salju menurunkan penyewaan secara drastis. Ini wajar karena keamanan dan kenyamanan berkendara sangat tergantung pada kondisi cuaca saat itu.
Terdapat perbedaan pola antara hari kerja dan hari libur. Hari kerja didominasi pengguna dengan pola stabil (kemungkinan pengguna terdaftar untuk komuter), sementara hari libur membuka peluang penyewaan tinggi dari pengguna kasual yang bersepeda untuk rekreasi.
Faktor seperti kelembapan dan kecepatan angin memiliki pengaruh yang lebih lemah dan tidak konsisten. Keduanya baru terlihat berpengaruh pada kondisi ekstrem (kelembapan sangat tinggi atau angin sangat kencang), namun dalam rentang normal, faktor lain lebih dominan.
Temuan ini menunjukkan bahwa penggunaan sepeda bersifat musiman dan sangat dipengaruhi oleh kenyamanan cuaca, dengan pola yang berbeda antara pengguna rutin dan pengguna rekreasi.
Dari analisis 731 hari data penyewaan sepeda, diperoleh dua kelompok temuan:
Dari visualisasi univariate:
Jumlah penyewaan sepeda harian paling banyak berada di kisaran 4.000–5.500 unit. Ini menunjukkan tingkat penggunaan yang relatif stabil di sebagian besar hari.
Meski demikian, terdapat hari-hari dengan penyewaan sangat tinggi hingga 8.000 unit dan hari-hari dengan penyewaan di bawah 1.000 unit.
Distribusi data sedikit miring ke kanan, mengindikasikan adanya lonjakan penggunaan pada kondisi tertentu.
Tidak ditemukan pencilan ekstrem yang mencolok, artinya variasi yang terjadi masih dalam batas wajar.
Dari visualisasi bivariate:
Suhu menjadi faktor paling dominan terhadap penyewaan. Hubungan positif terlihat jelas bahwa semakin hangat suhu, semakin tinggi penyewaan sepeda.
Musim memperkuat temuan ini. Musim panas (Summer) mencatat penyewaan tertinggi, sementara musim dingin (Winter) menjadi periode terendah.
Kondisi cuaca sangat berpengaruh di mana cuaca cerah menghasilkan penyewaan tertinggi, sedangkan hujan ringan atau salju menurunkan penyewaan secara drastis.
Tipe hari menunjukkan pola berbeda. Hari kerja didominasi pengguna rutin dengan pola stabil. Akhir pekan justru membuka peluang penyewaan tinggi dari pengguna rekreasi, meski variasinya lebih besar.
Kelembapan dan kecepatan angin pengaruhnya lemah terhadap penyewaan. Keduanya baru terasa pada kondisi ekstrem, seperti kelembapan sangat tinggi atau angin sangat kencang.
Untuk Pengelola Layanan:
Sesuaikan operasi secara musiman dengan meningkatkan ketersediaan sepeda di musim panas saat permintaan tinggi. Efisiensi bisa dilakukan di musim dingin dengan mengurangi unit operasional.
Bedakan strategi pemasaran. Misalnya, program loyalitas atau langganan cocok untuk pengguna rutin di hari kerja dan promosi rekreasi seperti paket wisata lebih tepat untuk akhir pekan.
Manfaatkan data cuaca. Data prakiraan cuaca ke aplikasi dapat membantu pengguna merencanakan perjalanan, seperti notifikasi kondisi mendukung bisa meningkatkan penggunaan, peringatan cuaca buruk bisa mengurangi risiko.
Untuk Analisis Lanjutan:
Kembangkan model prediktif, misalnya merkirakan jumlah penyewaan berdasarkan prakiraan cuaca untuk perencanaan stok dan sumber daya.
Pisahkan segmen pengguna. Analisis lebih detail
pada pengguna kasual (casual) dan terdaftar
(registered) akan mengungkap perilaku yang
berbeda.
Eksplorasi pola waktu dengan meihat pengaruh
bulan (mnth) atau hari dalam minggu (weekday)
terhadap pola penyewaan.
Lakukan analisis multivariat, yakni memahami interaksi antar faktor, misalnya bagaimana pengaruh suhu berbeda antara hari kerja dan akhir pekan.
Tools: RStudio, RMarkdown, ggplot2,
dplyr, scales, DT
Dataset: Bike Sharing Dataset (UCI Machine Learning Repository) yang diunduh dari link ini
Referensi: Annisa Nurizki. (2026). Visualisasi Data Kontinu (Univariate & Bivariate). [online] Tersedia di: https://rpubs.com/annisanzikyy/visdat-kontinu
Publikasi: Laporan ini diunggah ke RPubs sebagai bagian dari portofolio profesional