Statistik Dekriptif¶
Pengertian¶
Statistik Deskriptif adalah sebuah representasi keseluruhan himpunan data spesifik dengan memberikan ringkasan pendek tentang sampel dan ukuran data.
Tipe Statistik Deskriptif¶
Mean (rata-rata)¶
$$ \bar x ={\sum \limits_{i=1}^{n} x_i \over N} = {x_1 + x_2 + x_3 + ... + x_n \over N} $$ Dimana:
x bar = x rata-rata = nilai rata-rata sampel
x = data ke n
n = banyaknya data
Median¶
Dimana :
Me = Median dari kelompok data
n = banyak data
Modus¶
$$ M_o = Tb + p{b_1 \over b_1 + b_2} $$ Dimana:
Mo = modus dari kelompok data
Tb = tepi bawah dari elemen modus
b1 = selisih frekuensi antara elemen modus dengan elemet sebelumnya
b2 = selisih frekuensi antara elemen modus dengan elemen sesudahnya
p = panjang interval
nilai b1 dan b2 –> adalah mutlak (selalu positif)
Varians¶
$$ \sigma^2 = {\sum \limits_{i=1}^{n} (x_i - \bar x)^2 \over n} $$ Dimana :
xi = titik data
x bar = rata-rata dari semua titik data
n = banyak dari dari anggota data
Standar Deviasi¶
Skewness¶
Dimana :
xi = titik data
x bar = rata-rata dari distribusi
n = jumlah titik dalam distribusi
o = standar deviasi
Quartile¶
Dimana :
Q = Nilai dari quartile
n = banyak dari himpunan data
Penerapan Statistik Deskriptif Menggunakan Python¶
Alat dan Bahan¶
Pada penerapan ini saya menggunakan 500 data random yang disimpan dalam bentuk .csv dan untuk mempermudah dalam penerapan tersebut, perlu disiapkan library python yang dapat didownload secara gratis.
dalam kasus ini, library python yang digunakan adalah sebagai berikut:
- pandas, digunakan untuk data manajemen dan data analysis.
- scipy, merupakan library berisi kumpulan algoritma dan fungsi matematika.
Pertama¶
pada langkah ini kita memasukkan library yang telah disiapkan sebelumya
import pandas as pd from scipy import stats
Kedua¶
dan selanjutnya memuat data csv yang telah disiapkan
df = pd.read_csv('sample_data.csv', sep=';')
Ketiga¶
data = {"Stats" : ['Min','Max','Mean','Standard Deviasi','Variasi','Skewnes', 'Quartile 1','Quartile 2', 'Quartile 3', 'Median','Modus']} for i in df.columns: data[i] = [df[i].min(), df[i].max(), df[i].mean(), round(df[i].std(), 2),round(df[i].var(), 2), round(df[i].skew(), 2), df[i].quantile(0.25), df[i].quantile(0.5), df[i].quantile(0.75), df[i].median(), stats.mode(df[i]).mode[0]]
Keempat¶
terakhir adalah menvisualisasikan hasil tersebut dalam bentuk dataframe
tes = pd.DataFrame(data, columns = ['Stats'] + [x for x in df.columns]) tes
setelah jalankan, program tersebut akan menampilkan seperti berikut:
Stats | X1 | X2 | X3 | X4 | |
---|---|---|---|---|---|
0 | Min | 30.000 | 30.000 | 30.000 | 30.000 |
1 | Max | 80.000 | 80.000 | 80.000 | 80.000 |
2 | Mean | 54.608 | 53.524 | 54.996 | 55.046 |
3 | Standard Deviasi | 14.720 | 15.110 | 14.470 | 14.560 |
4 | Variasi | 216.750 | 228.440 | 209.360 | 211.970 |
5 | Skewnes | 0.050 | 0.110 | 0.020 | -0.020 |
6 | Quartile 1 | 42.000 | 40.000 | 43.000 | 43.750 |
7 | Quartile 2 | 54.000 | 52.000 | 55.000 | 54.000 |
8 | Quartile 3 | 68.000 | 67.000 | 67.000 | 67.000 |
9 | Median | 54.000 | 52.000 | 55.000 | 54.000 |
10 | Modus | 77.000 | 38.000 | 38.000 | 54.000 |
Mencari Outlier¶
def dekteksi_outlier(df_in): outliers = [] threshold = 3 for col_name in df_in: mean = df_in[col_name].mean() std = df_in[col_name].std() i=1 for y in df_in[col_name]: z_score = (y - mean) / std if abs(z_score) > threshold: outliers.append([col_name,y,i]) i+=1 return outliers for i in dekteksi_outlier(df): print('Data sampah',i[1],'dikolom',i[0],'pada baris',i[2])
dari fungsi diatas akan mengembalikan outlier dari data csv ditersebut.
Data sampah ( 322 ) dikolom X1 pada baris 453 Data sampah ( 600 ) dikolom X1 pada baris 489 Data sampah ( 115 ) dikolom X2 pada baris 449 Data sampah ( 336 ) dikolom X3 pada baris 406 Data sampah ( 145 ) dikolom X4 pada baris 407 Data sampah ( 120 ) dikolom X4 pada baris 413
Source¶
Seluruh file percobaan ada pada link berikut : disini
Referensi¶
- http://blog.ub.ac.id/adiarsa/2012/03/14/mean-median-modus-dan-standar-deviasi/
- http://statutorial.blogspot.com/2008/01/skewness-dan-kurtosis.html
- https://www.rumusstatistik.com/2013/07/varian-dan-standar-deviasi-simpangan.html
- https://www.rumusstatistik.com/2016/12/membuat-rumus-matematika-dengan-latex.html
- https://englishccit.wordpress.com/2012/03/27/pengertian-statistik-deskriptif/#more-1194
- https://medium.com/datadriveninvestor/finding-outliers-in-dataset-using-python-efc3fce6ce32