Visualisasi bivariat merupakan tahap penting dalam Exploratory Data Analysis (EDA) karena memungkinkan analis memahami bagaimana dua variabel saling berinteraksi dan membentuk pola tertentu. Jika visualisasi univariat berfokus pada karakteristik satu variabel, maka visualisasi bivariat membantu menjawab pertanyaan yang lebih mendalam seperti apakah terdapat hubungan, seberapa kuat hubungan tersebut, serta bagaimana bentuk pola yang terbentuk.
Pada tugas ini digunakan dataset diamonds dari package ggplot2 yang berisi lebih dari 50.000 observasi berlian dengan berbagai atribut seperti carat, price, depth, table, cut, color, dan clarity.
Scatter plot adalah grafik yang menunjukkan hubungan antara dua variabel numerik. Setiap titik pada scatter plot mewakili satu pengamatan, dengan posisi titik ditentukan oleh nilai kedua variabel. Pada kasus ini kita ingin melihat pola hubungan antara berat berlian (carat) terhadap harga berlian (price), kemudian muncul 1 pertanyaan, yaitu:
Secara logis, semakin besar ukuran berlian, semakin mahal harganya. Namun, apakah hubungan tersebut linear? Apakah terdapat pola tertentu atau anomali? Scatter plot digunakan untuk menjelaskan arah hubungan tersebut serta melihat bagaimana pola tersebut dapat mempengaruhi harga berlian di pasaran.
Scatter plot di atas menunjukkan hubungan antara berat berlian (carat) dan harga berlian (price). Setiap titik pada grafik mewakili satu berlian, dengan posisi horizontal menunjukkan berat berlian dan posisi vertikal menunjukkan harga berlian. Dari visualisasi ini terlihat bahwa terdapat pola positif yang kuat antara berat berlian dan harga berlian, di mana semakin besar berat dari suatu berlian, maka semakin tinggi harga dari suatu berlian. Namun hubungan ini tidak sepenuhnya linea, Pada berat berlian yang besar, kenaikan harga terlihat semakin tajam (cenderung eksponensial). Selain itu, terdapat variasi harga pada carat yang sama, yang mengindikasikan bahwa faktor lain seperti cut, color, dan clarity juga berpengaruh terhadap harga.
Boxplot bivariate digunakan untuk membandingkan distribusi variabel numerik (cnt) berdasarkan kategori dari variabel lain, seperti musim (season). Pada kasus ini kita ingin melihat pola distribusi antara harga berlian (price) pada setiap kualitas potongan (cut), kemudian muncul 1 pertanyaan, yaitu:
Variabel cut bersifat kategorik, sedangkan price numerik. Untuk melihat perbedaan distribusi harga pada tiap kategori cut, digunakan boxplot. Visualisasi ini membantu memahami apakah kualitas potongan berpengaruh terhadap harga.
Boxplot bivariat di atas digunakan untuk membandingkan distribusi harga berlian (price) berdasarkan kualitas potongan (cut). Setiap kotak pada grafik mewakili distribusi harga berlian untuk masing-masing kualitas potongan, dengan garis di dalam kotak menunjukkan median, batas kotak menunjukkan kuartil pertama (Q1) dan kuartil ketiga (Q3), serta whisker yang memanjang menunjukkan rentang data. Dari visualisasi ini terlihat bahwa kategori Premium dan Ideal memiliki median harga tinggi, tetapi kategori Fair juga menunjukkan harga yang cukup tinggi, dapat dilihat juga bahwa masing masing kualitas memiliki outlier yang cukup banyak. Hal ini menunjukkan bahwa kualitas potongan (cut) bukan satu-satunya faktor penentu harga (price). Kemungkinan besar, berlian dengan kualitas potongan yang rendah tetapi berat berlian yang sangat besar tetap memiliki harga tinggi. Artinya, harga adalah hasil interaksi banyak variabel, bukan hanya satu faktor kualitas.
Jitter plot bivariate digunakan untuk menampilkan sebaran data pada level observasi individual, terutama ketika visualisasi agregatif seperti boxplot belum mampu menunjukkan variasi dan kepadatan data secara rinci. Dengan menambahkan sedikit pergeseran acak pada sumbu kategorik, jitter plot membantu menghindari tumpang tindih titik dan memperlihatkan struktur data yang tersembunyi. Pada Visualisasi 2 (Boxplot), distribusi harga berlian (price) berdasarkan kualitas potongan (cut) telah ditampilkan dalam bentuk ringkasan statistik. Namun, boxplot memiliki keterbatasan karena hanya menampilkan informasi kuartil dan median, sehingga pola kepadatan dan sebaran titik individu tidak terlihat secara eksplisit. Oleh karena itu, jitter plot digunakan sebagai pelengkap untuk menjawab pertanyaan berikut:
Jitter plot bivariate di atas memperlihatkan sebaran harga berlian (price) pada setiap kualitas potongan (cut) secara lebih rinci dibandingkan boxplot. Terlihat bahwa meskipun Visualisasi 2 menunjukkan median harga yang relatif tinggi pada kategori Ideal dan Premium, jitter plot mengungkap bahwa sebagian besar titik data pada kategori tersebut terkonsentrasi pada harga menengah, dengan sejumlah kecil observasi pada harga yang sangat tinggi.
Selain itu, jitter plot menunjukkan bahwa kategori Fair memiliki jumlah observasi yang relatif lebih sedikit, tetapi memiliki beberapa berlian dengan harga sangat tinggi. Pola ini kurang terlihat jelas pada boxplot karena ringkasan statistik dapat menyamarkan kepadatan dan distribusi titik individual. Dengan demikian, jitter plot membantu menjelaskan kelemahan boxplot dalam menangkap variasi internal data dan memperkuat kesimpulan bahwa kualitas potongan (cut) bukan satu-satunya faktor penentu harga berlian. Berat berlian (carat) dan karakteristik lain kemungkinan memiliki pengaruh yang lebih dominan terhadap harga.
Berdasarkan hasil eksplorasi dan visualisasi data bivariat menggunakan dataset diamonds, dapat disimpulkan bahwa harga berlian merupakan hasil interaksi kompleks dari berbagai karakteristik fisik, bukan ditentukan oleh satu variabel tunggal.
Visualisasi pertama menunjukkan bahwa berat berlian (carat) memiliki hubungan yang sangat kuat dan positif dengan harga (price). Semakin besar carat, harga berlian cenderung meningkat secara signifikan, bahkan menunjukkan pola non-linear. Temuan ini menegaskan bahwa carat merupakan faktor dominan dalam pembentukan harga berlian.
Visualisasi kedua, melalui boxplot, memperlihatkan bahwa kualitas potongan (cut) memiliki pengaruh terhadap distribusi harga. Kategori dengan kualitas potongan lebih baik seperti Ideal dan Premium cenderung memiliki median harga yang lebih tinggi. Namun, keberadaan banyak outlier dan tumpang tindih rentang harga antar kategori menunjukkan bahwa pengaruh cut tidak berdiri sendiri.
Visualisasi ketiga menggunakan jitter plot melengkapi keterbatasan boxplot dengan menampilkan sebaran data pada level observasi individual. Dari visualisasi ini terlihat bahwa sebagian besar berlian pada setiap kategori cut terkonsentrasi pada harga menengah, sementara harga yang sangat tinggi hanya dimiliki oleh sebagian kecil observasi. Jitter plot juga mengungkap bahwa kategori dengan kualitas potongan rendah tetap dapat memiliki berlian berharga tinggi, yang kemungkinan dipengaruhi oleh faktor lain seperti carat, warna, dan kejernihan.
Secara keseluruhan, visualisasi bivariat dalam analisis ini berperan penting sebagai alat eksploratif untuk memahami pola hubungan antar variabel sebelum dilakukan analisis statistik lanjutan. Pendekatan visual ini membantu membangun pemahaman yang lebih komprehensif dan mencegah kesimpulan yang terlalu sederhana dalam menafsirkan faktor-faktor penentu harga berlian.