Exploratory Data Analysis for Student Alcohol Consumption

Insan Cahya Setia
8 min readApr 4, 2021

--

https://dimensionless.in/exploratory-data-analysis-with-python/

Halo teman-teman data semuanya, kembali lagi bersama saya. Kali ini kita akan melakukan Exploratory Data Analysis (EDA) untuk data konsumsi alkohol pada siswa. Data ini merupakan data hasil survei terhadap siswa yang mengambil kursus matematika dan Bahasa Portugal di sekolah menengah. Namum kali ini kita hanya akan melakukan EDA untuk siswa yang mengambil kursus matematika. Kali ini EDA yang kita lakukan akan fokus pada visualisasi data. Visualisasi salah satu cara yang bisa kita lakukan untuk mengenal data yang sedang kita olah, daripada kita harus melihat data dalam bentuk tabel yang mungkin untuk sebagian orang akan sedikit “membosankan”. Pada EDA kali ini library yang akan kita gunakan yaitu Pandas untuk manipulasi data, selanjutnya Matplotlib dan Seaborn untuk viluasisasi data. Untuk keterangan lebih lanjut tentang variabel data apa saja yang digunakan kalian bisa lihat disini.

Pertama-tama kita akan membaca data menggunakan function read_csv(). Selanjutnya kita lihat data apa saja yang digunakan. Kita akan melihat lima data teratas menggunakan function head().

Lima data teratas

Selanjutnya kita akan melihat informasi seperti jumlah baris dan kolom pada dataset yang kita gunakan menggunakan function info().

Informasi dataset

Terlihat bahwa dataset yang kita gunakan memiliki 395 baris dan 30 kolom, juga terlihat tipe data untuk setiap kolom yang digunakan. Untuk melihat jumlah baris dan kolom kalian juga bisa menggunakan shape atau untuk melihat tipe data setiap kolom juga bisa menggunakan dtypes.

Selanjutnya kita akan melihat statistik deskriptif seperti rata-rata setiap kolom ataupun nilai maksimal dari setiap kolom menggunakan function describe().

Statistik deskriptif dataset

Dari gambar diatas terlihat bahwa rata-rata siswa berusia 16.69 tahun dan usia maksimal siswa yaitu 22 tahun.

Apakah dataset yang kita gunakan memiliki missing value? Untuk mengeceknya kita bisa gunakan function isnull() dan any().

Informasi missing value

Ternyata data yang kita gunakan tidak memiliki missing value, maka kita bisa lanjutkan pada tahapan berikutnya.

Pertama EDA yang akan kita lakukan yaitu melihat korelasi antar variabel atau kolom. Dikatakan memiliki korelasi yang positif jika nilai korelasi lebih dari nol. Sebaliknya dikatakan memiliki korelasi negarif jika nilai korelasi kurang dari nol. Hanya kolom dengan tipe data numerik yang akan dikalkulasi nilai korelasinya, sementara variabel selain tipe data numerik diabaikan. Untuk menghitung nilai korelasi kita bisa menggunakan function corr(). Agar lebih memudahkan dalam membaca hasil korelasi kita bisa visualisasikan nilai korelasi menggunakan heatmap().

Korelasi variabel

Dari visualisasi korelasi diatas terlihat nilai setiap variabel. Contohnya variabel goout memiliki korelasi yang cukup kuat dengan Walc, juga nilai siswa pada periode kedua(G2) memiliki korelasi yang kuat dengan nilai akhir siswa (G3).

Bagaimana distibusi jumlah siswa di kedua sekolah, yaitu Gabriel Pereira (GP) dan Mousinho da Silveira (MP) berdasarkan lokasi tempat tinggal siswa (location)?

Distribusi setiap sekolah berdasarkan lokasi tempat tinggal

Ternyata survei yang dilakukan rata-rata terhadap siswa dari sekolah Gabriel Pereira dengan lokasi tempat tinggal siswa didominasi dari daerah perkotaan. Untuk survei yang dilakukan terhadap siswa yang bersekolah di Mousinho da Silveira lebih banyak siswa yang berasal dari daerah pedesaan meskipun selisihnya hanya sedikit.

Selanjutnya kita lihat bagaimana distibusi jenis kelamin untuk siswa, apakah didominasi oleh laki-laki atau perempuan?

Distribusi jenis kelamin

Ternyata survei yang dilakukan terdapat siswa dari kedua sekolah didominasi oleh siswa dengan jenis kelamin perempuan yaitu sekitar 52.66%.

Lalu bagaimana untuk siswa yang mengkonsumsi alkoloh, apakah di dominasi oleh perempuan?

Konsumsi alkohol siswa pada akhir pekan berdasarkan jenis kelamin

Ternyata siswa dengan jenis kelamin laki-laki cenderung mengkonsumsi alkohol pada akhir pekan lebih banyak dari perempuan.

Lalu bagaimana distribusi untuk usia setiap siswa?

Distribusi usia siswa

Usia siswa pada saat survei cenderung berusia 15 sampai 18 tahun dengan kebanyakan berusia 16 tahun.

Bagaimana distribusi untuk jumlah anggota keluarga setiap siswa, apakah setiap siswa mempunyai anggota keluarga lebih dari tiga orang?

Distribusi jumlah anggota keluarga

Ternyata sebanyak 71.14% siswa mempunyai anggota keluarga kurang dari tiga, lalu sebanyak 28.86% siswa mempunya anggota keluarga lebih dari tiga.

Lalu bagaimana untuk status tempat tinggal setiap siswa, apakah tinggal bersama kedua orang tuanya atau terpisah?

Distrubusi status tinggal

Kebanyakan siswa masih tinggal bersama orang tuanya, yaitu sekitar 89.62%, sedangkan sekitar 10.38% sudah tinggal terpisah.

Lalu kita akan melihat distribusi jumlah waktu belajar setiap siswa, apakah cenderung memiliki jumlah waktu belajar yang lebih lama?

Distribusi waktu belajar siswa mingguan

Ternyata siswa cenderung belajar sekitar 2 sampai 5 jam setiap minggu nya. Hanya sedikit siswa yang belajar lebih dari 10 jam perminggu.

Apakah siswa yang memiliki waktu belajar (study_time) yang lebih tinggi cenderung mendapatkan nilai akhir (G3) yang lebih baik? Mari kita bandingkan rata-rata nilai akhir di antara siswa di setiap kategori.

Korelasi antara lamanya waktu dan nilai akhir

Dalam survei yang dilakukan ternyata siswa yang belajar lebih banyak rata-rata memiliki nilai akhir yang sedikit lebih tinggi, tetapi itu bukan hubungan yang kuat.

Dalam latihan sebelumnya, kita telah mengeksplorasi hubungan antara waktu belajar (study_time) dan nilai akhir (G3) dengan menggunakan diagram batang untuk membandingkan nilai akhir di antara siswa dalam kategori yang berbeda, yaitu lamanya waktu belajar siswa.

Untuk kali ini, kita akan mencoba menggunakan tampilan boxplot pada hubungan kedua variabel ini.

Korelasi antara lamanya waktu dan nilai akhir dalam boxplot

Dari hasil visualisasi diatas ternyata nilai rata-rata di antara siswa yang belajar kurang dari 2 jam adalah 10.0.

Kita ingin mengetahui apakah siswa yang mempunyai waktu luang (freetime) cenderung pergi keluar(goout) bersama teman-temannya?

Korelasi antara waktu luang dengan siswa pergi keluar

Dari visualisasi diatas terlihat ternyata waktu luang mempunyai hubungan dengan siswa akan pergi keluar. Artinya saat mereka mempunyai waktu luang kemungkinan besar mereka juga akan pergi keluar untuk sekedar bermain atau pergi bersama teman-temannya.

Lalu apakah saat para siswa pergi keluar (goout) bersama teman-temannya mempunyai hubungan dengan seringnya mereka mengonsumsi alkohol (Walc) pada akhir pekan? Kita bisa akan melihat trennya menggunakan line plot.

Korelasi antara siswa yang pergi keluar dengan konsumsi alkohol pada akhir pekan

Bisa kita lihat ternyata seringnya siswa pergi keluar, baik untuk bermain atau pergi bersama teman-temannya mempunyai hubungan dengan mereka mengonsumsi alkohol saat akhir pekan. Artinya saat mereka pergi keluar kemungkinan besar mereka juga akan mengonsumsi alkohol pada akhir pekan.

Selanjutnya kita akan melihat hubungan antara jumlah ketidakhadiran (absences) siswa di sekolah dan nilai akhir (G3) dalam mata pelajaran matematika, yang dikelompokkan berdasarkan tempat tinggal siswa (pedesaan dan perkotaan).

Korelasi antara kehadiran dan nilai akhir berdasarkan tempat tinggal siswa

Sepertinya siswa dengan tingkat ketidakhadiran yang lebih tinggi cenderung memiliki nilai yang lebih rendah, baik di daerah pedesaan atau perkotaan.

Mari kita lanjutkan eksplorasi kita. Di sini, kita akan menjawab pertanyaan berikut: Apakah nilai periode pertama siswa (G1) cenderung berkorelasi dengan nilai akhir (G3)?

Korelasi antara nilai periode pertama dan nilai akhir

Dari visualisasi atas bisa kita lihat ternyata nilai periode pertama berkorelasi dengan nilai akhir siswa.

Ada banyak aspek seorang siswa yang dapat menghasilkan nilai akhir yang lebih tinggi atau lebih rendah di kelas. Misalnya, beberapa siswa menerima dukungan pendidikan tambahan dari sekolah mereka (schoolsup) atau dari keluarga mereka (famsup), yang dapat menghasilkan nilai yang lebih tinggi. Mari kita coba melihat kedua faktor ini dengan membuat subplot berdasarkan apakah siswa tersebut menerima dukungan pendidikan tambahan dari sekolah atau keluarganya.

Korelasi antara nilai periode pertama dan nilai akhir berdasarkan dukungan sekolah
Korelasi antara nilai periode pertama dan nilai akhir berdasarkan dukungan sekolah dan keluarga

Sepertinya nilai semester pertama memang berkorelasi dengan nilai akhir, terlepas dari dukungan apa yang diterima siswa.

Sekarang kita akan membandingkan distribusi nilai akhir (G3) antara siswa yang memiliki akses internet (internet) di rumah dan yang tidak. Untuk melakukannya, kita akan menggunakan variabel internet, yang merupakan indikator biner (ya / tidak) tentang apakah siswa memiliki akses internet di rumah.

Karena internet mungkin kurang dapat diakses di daerah pedesaan, kami akan menambahkan subkelompok berdasarkan tempat tinggal siswa. Untuk itu, kita dapat menggunakan variabel location yang merupakan indikator apakah seorang siswa tinggal di lokasi perkotaan atau pedesaan.

Korelasi antara akses internet dan nilai akhir berdasarkan tempat tinggal

Nilai median di antara masing-masing kelompok cukup mirip, tetapi penyebaran distribusinya terlihat lebih besar di antara siswa yang memiliki akses internet.

Selanjutnya kita akan membandingkan distribusi nilai akhir (G3) antara siswa yang memiliki hubungan asmara (romantic) dan yang tidak. Kita akan menggunakan variabel romantic, yang merupakan indikator biner (ya / tidak) apakah siswa tersebut berada dalam hubungan romantis.

Korelasi antara hubungan asmara dan nilai akhir

Nilai median antara kedua kelompok ini sama, tetapi nilai akhir maksimal lebih tinggi pada siswa yang tidak berada dalam hubungan asmara.

Apakah kualitas hubungan keluarga siswa mempengaruhi jumlah ketidakhadiran siswa di sekolah? Di sini, kita akan menggunakan variabel famrel yang mendeskripsikan kualitas hubungan keluarga siswa dari 1 (sangat buruk) hingga 5 (sangat baik).

Korelasi antara hubungan keluarga dan jumlah kehadiran

Ternyata hubungan keluarga yang baik berkorelasi terhadap jumlah absen siswa. Tetapi meskipun jumlah rata-rata ketidakhadiran sedikit lebih kecil di antara siswa dengan kualitas hubungan keluarga yang baik, interval kepercayaan yang besar memberi tahu kita bahwa kita tidak dapat memastikan adanya hubungan yang sebenarnya di sini.

Hubungan keluarga ternyata berkorelasi terhadap jumlah absen siswa. Lalu bagaimana korelasi antara hubungan keluarga (famrel) dengan nilai akhir siswa (G3)?

Korelasi antara hubungan keluarga dan nilai akhir

Ternyata memang hubungan keluarga cukup berkorelasi dengan nilai akhir siswa, tetapi memang itu bukan hubungan yang kuat.

Kali ini, kita akan mengajukan pertanyaan: Apakah menjalin hubungan romantis dikaitkan dengan kehadiran sekolah yang lebih tinggi atau lebih rendah? Dan apakah asosiasi ini berbeda dengan sekolah mana yang dihadiri siswa? Mari kita cari tahu menggunakan pointplot.

Korelasi antara hubungan asmara dan jumlah kehadiran berdasarkan asal sekolah

Karena mungkin ada siswa yang keluar dengan banyak ketidakhadiran, impor fungsi median dari numpy dan tampilkan jumlah nilai tengah (median) ketidakhadiran daripada rata-rata (mean).

Korelasi antara hubungan asmara dan jumlah kehadiran berdasarkan asal sekolah menggunakan nilai tengah

Sepertinya siswa dalam hubungan asmara memiliki rata-rata dan jumlah rata-rata ketidakhadiran yang lebih tinggi di sekolah Gabriel Pereira, tetapi asosiasi ini tidak berlaku untuk sekolah Mousinho da Silveira.

Akhirnya sudah juga kita mengeksplorasi data survei tentang konsumsi alkohol pada siswa. Bagaimana menurut Kamu, apakah kamu menemukan insight dari ekslorasi yang sudah kita lakukan diatas?

Baik cukup sekian pembahasan tentang Exploratory Data Analysis yang sudah kita bahas. Bagi kalian yang ingin melihat projectnya kalian bisa lihat di Github saya disini. Sampai jumpa di lain kesempatan, tunggu pembahasan-pembahasan lain yang akan saya paparkan di waktu yang akan datang. So stay tune… #dontstoptolearn

--

--