Cara menggunakan PECENTILE pada Python
Photo by Carlos Muza on Unsplash
Buat saya, statistik deskriptif adalah salam kenal antara kita dengan data yang kita hadapi. Sederhananya, statistik deskriptif memberikan deskripsi data secara ringkas dari bagaimana bentuk distribusi datanya, sampai ukuran penyebaran dari data tersebut. Dan kali ini, saya akan dibantu dengan salah satu dataset terkenal yaitu dataset Titanic. Dimana umumnya, dataset ini digunakan untuk menganalisa kelangsungan hidup seseorang (survival analysis). Dataset ini saya ambil dari library Seaborn, yang dapat diakses dengan: # pip install seaborn Outputnya adalah sebuah Pandas.DataFrame, yang dapat dilihat di bawah: Bisa dilihat terdapat missing value (NaN) pada dataset. Namun dalam artikel ini, saya tidak akan membahasnya. Jadi sebaiknya, saya biarkan tetap begitu. Kemudian pada pandas.DataFrame terdapat sebuah method yaitu .describe(). Yang tentunya, akan sangat membantu kita menunjukkan deskripsi pada data Titanic di atas. # pip install numpy Yang outputnya: Pada fitur age, deck, dan embark_town punya jumlah data (count) yang lebih sedikit di antara fitur lainnya, dikarenakan adanya missing value (NaN) yang telah disinggung sebelumnya. Kalau misalnya saja, kita ambil fitur harga tiket (fare), kita bisa lihat bahwa distribusi fitur ini mempunyai skew yang positif (atau menceng ke kanan). Itu dapat dilihat dari fitur fare yang punya mean > median(50%)-nya. Untuk distribusinya dapat dilihat di bawah: plt.figure(figsize = (10, 6)) Bentuk distribusi ini sering terjadi dikarenakan pada fitur ini mempunyai outliers. Karena saya telah menyingung istilah median (50%) dan mean, ada baiknya saya lanjutkan dengan suatu istilah di statistik yang disebut Measures of Central Tendency. Measures of Central TendencySeperti yang dapat kita tebak, ini membicarakan atau mendeskripsikan posisi tengah pada distribusi data. Pada umumnya, kita hanya akan membicarakan mean, median, dan mode.
Bagaimana dengan sisanya? std? 25%? 50%? atau yang lainnya? Dari sini kita akan membicarakan istilah lainnya pada statistik yang disebut Measure of Spread. Measure of SpreadSekali lagi, bisa kita tebak, ini membicarakan seberapa tersebarnya data yang kita miliki. Ukuran yang umumnya digunakan:
Dimana n adalah jumlah data, x̄ adalah rata-rata data (memang biasanya, untuk populasi, tidak menggunakan simbol x̄, tapi menggunakan simbol μ. Tapi mari kita biarkan tetap begitu). Jadi dari sini, kita dapat menarik kesimpulan, semakin jauh data dengan rata-ratanya, semakin besar juga Standard Deviation-nya. Dan untuk Variance dia adalahkuadrat dari Standard Deviation: Persamaan variansi untuk populasiPersamaan variansi untuk sampleKarena Variance dikuadratkan, maka yang semakin jauh akan semakin membuat variansi besar. Itu kenapa menurut saya, Variance lebih intuitif, saya melihatnya seperti jarak, lebar pada distribusi data. Standard Deviationjuga menjadi variabel yang penting dari suatu aturan di statistik yang dinamakan Empirical Ruleatau68–95–99.7 rule. Begini aturannya, jika misalnya data kita berbentuk Distribusi Normal (beberapa orang menyebutnya Gauss atau Bell-Curve) maka:
Atau jika di visualisasikan: import numpy as np # pip install numpy Distribusi Normal di atas, mempunyai rata-rata = 0 dan standar deviasi = 1 atau seringkali, disebut standard normal distribution. Jadi misalnya, kalau saya tulis ulang poin 1, artinya ≈68% data berada di antara garis biru. atau pada poin 2, artinya ≈95% data berada di antara garis merah. Dan begitu seterusnya. Namun memang, adanya kekurangan pada Standar Deviasi. Mengingat dari persamaan di atas, standar deviasi tergantung pada rata-rata data. Itu kenapa, standar deviasi juga terpengaruh dengan outliers. Jika mean tidak terlalu baik dalam menjelaskan data, maka sebaiknya gunakan alternatif lain. Yaitu gunakan Quartile dan Median. 2. Quartile Bayangkan data kita dipotong menjadi empat bagian dan nilai-nilai yang membagi data itulah yang disebut Quartile. Dan bagiannya disebut Quarter. Ada tiga jenis Quartile, yaitu Q1 (nilai di antara median dengan data terkecil), Q2 (median), dan Q3 (nilai di antara median dengan data terbesar). Kalau kita kembali ke tabel deskripsi statistik di awal, kalian akan melihat ‘25%’, ‘50%’, dan ‘75%’ itu adalah Percentile. Namun menurut saya, itu sama saja dengan Quartile. Misalnya, untuk Q1 = 25th percentile, Q2 = 50th Percentile danQ3 = 75th percentile. Tapi memang, ini tergantung masing-masing orang, lebih senang menggunakan istilah yang mana. Adanya konsep penting pada statistik yang berhubungan dengan Quartile disebut InterQuartile Range (IQR). Secara persamaan, dapat ditulis begini: Jadi kalian dapat menyimpulkan, bahwa 50% data berada di sini. Buat saya, ini menjadi konsep penting, karena saya sendiri paling sering menggunakannya untuk mendeteksi outliers. Mendeteksi outliers, menggunakan metode IQR cukup mudah dilakukan. Kita hanya perlu membuat dua batas, yaitu batas atas dan batas bawah yang dimana: Agar lebih jelas, saya akan meminta bantuan Boxplot dalam memvisualkan Quartile. Ambil saja, fitur umur (age) pada dataset Titanic di atas. plt.figure(figsize = (10, 5))boxplot Dikarenakan tidak adanya orang yang berumur di bawah nol, jadi batas bawahnya adalah orang dengan umur terendah di dataset Titanic ini, sepertinya seorang bayi. Untuk mendapatkan data-data outliers, kita hanya perlu memilih data yang kondisinya di luar batas bawah atau batas atas. Cara memilih data dengan suatu kondisi, pernah saya tulis sebelumnya, yang dapat di cek di sini. Saya harap tulisan ini dapat membantu… Terimakasih telah membacanya sampai selesai… |