Statistic Using Python For Data Science
Statistic Using Python For Data Science
Dadan Dahman W.
Mar 16, 2021
Penting mempelajari Statistika karena merupakan salah 1 fundamental dasar belajar data science. Pada modul ini, kamu
akan dibekali dengan banyak teori dasar mengenai statistika.
Di dalam mempelajari statistika, akan mempelajari bagaimana caranya mengorganisir dan membuat kesimpulan dari data.
Kegiatan mengorganisir dan membuat kesimpulan dari data disebut sebagai statistika deskriptif. Ada banyak cara bagaimana kita
menyimpulkan suatu data, misalnya dengan membuat grafik atau dengan angka, misalnya mengambil suatu rata-rata dari data.
Selanjutnya ketika harus mengambil keputusan dari data yang sudah diolah, kemudian akan menggunakan statistika inferensial
sehingga dapat mengambil keputusan yang benar dari data yang juga sudah diolah dengan benar.
Siswa
Warga negara
Hewan
Kendaraan
Populasi: Adalah koleksi dari keseluruhan observasi. Beberapa contoh diantaranya adalah:
Sampel: Adalah sub koleksi dari populasi. Beberapa contoh diantaranya adalah:
Parameter adalah penjelasan atas populasi sedangkan statistik hanya menjelaskan sampel dari populasi. Untuk kasus terkait
segmentasi pasar, mengukur revenue dari setiap orang di dalam segmen adalah parameter sedangkan jika kita hanya mengambil
20% dari tiap segmen hal ini dikatakan sebagai statistik.
Data kualitatif adalah data yang diperoleh dari mengkategorikan atau menjelaskan suatu atribut dari populasi atau sampel.
Biasanya disebut juga sebagai data kategorik. Beberapa contoh data kualitatif misalnya warna rambut, golongan darah, nama
jalan, nama produk yang digunakan dan lain sebagainya.Biasanya data kualitatif selalu disebutkan dalam bentuk kata ataupun
simbol.
Data kuantitatif adalah data yang diperoleh dari ukuran atau hitungan di suatu populasi atau sampel. Data kuantitatif selalu
berbentuk angka. Data seperti gaji, berat badan, populasi di suatu negara, dan jumlah pelanggan yang dimiliki suatu e-
commerce termasuk data kuantitatif. Data kuantitatif sendiri dapat dibagi menjadi dua yaitu data diskrit dan data kontinu.
Data yang diperoleh dari hasil perhitungan adalah data diskrit: jumlah pelanggan, jumlah produk, dan jumlah telefon yang diterima
oleh customer service per harinya adalah beberapa contoh data diskrit.
Data yang diperoleh dari hasil perhitungan namun dapat memuat rasio, desimal, atau bilangan irasional adalah data kontinu: berat
badan, tinggi badan, waktu, dan gaji adalah beberapa contoh data kontinu.
Tipe Statistika
Statistika deskriptif digunakan untuk melakukan eksplorasi pada data, biasanya menggunakan teknik visualisasi data sebagai
alat bantu untuk memahami bagaimana bentuk distribusi dan hubungan antara satu titik data dengan titik data lainnya.
Statistika inferensial digunakan untuk melakukan pemgambilan keputusan atas suatu simpulan terkait dengan data yang sedang
dianalisa. Statistika inferensi memungkinkan kita mengambil kesimpulan dari suatu populasi dengan menggunakan sampel yang
diambil dari populasi tersebut.
Skala ordinal adalah skala yang digunakan untuk mengurutkan suatu objek pengamatan dimana suatu titik pengamatan memiliki
nilai yang lebih rendah atau tinggi dibanding nilai lainnya. Sebagai contoh yang termasuk skala nominal adalah kelas, jabatan,
tingkat pendidikan, dan sebagainya.
Skala rasio memiliki kemiripan dengan skala interval, perbedaannya terletak pada nilai 0 pada skala rasio. Berbeda dengan skala
interval yang tidak memiliki nilai 0 yang tidak pasti.
numpy: digunakan untuk melakukan analisa data numerik dan perhitungan berbasis vektor atau matriks
pandas: digunakan untuk melakukan pengolahan data tabular
matplotlib: digunakan untuk melakukan ploting atau penggambaran grafik, dapat digunakan sebagai alat bantu dalam analisa
data
statsmodels: digunakan untuk melakukan uji hipotesa, eksplorasi data maupun pemodelan statistika
scipy: digunakan untuk melakukan uji statistika, juga dapat digunakan untuk melakukan pemodelan statistika
Sebenarnya masih banyak lagi library python untuk pengolahan data statistika, namun untuk materi ini cukup 4 atau 5 library di
atas saja yang sering digunakan.
Numpy adalah library yang biasanya digunakan untuk manipulasi array atau vektor. Perhitungan yang melibatkan operasi pada
objek berbentuk matriks, vektor atau bahkan multidimensi vektor (misalnya data gambar dengan skema warna RGB) dapat kita
lakukan dengan menggunakan numpy.
Pandas adalah library yang biasanya digunakan untuk analisa data atau biasa disebut sebagai data wrangling. Biasanya data
yang diolah oleh pandas berbentuk tabular atau tabel layaknya spreadsheet di Excel. Pandas menggunakan numpy sebagai back-
end sehingga beberapa fungsi atau method dari numpy dapat digunakan di objek pandas.
Load Library
Biasanya pada awal mula sebelum melakukan pengolahan data kita memanggil library yang diinginkan untuk digunakan dalam
analisa data, dalam hal ini kita akan memuat numpy dan pandas.
Load Dataset
Pada tahap pertama ketika ingin menganalisa data kita biasanya memuat data yang disimpan di salah satu folder untuk dimuat ke
IDE atau interactive notebook seperti Jupyter. Untuk memuat data dalam format csv kita dapat menggunakan
method .read_csv() dari pandas.
Inspeksi Data
Untuk melihat keseluruhan data cukup memanggil nama variabelnya.
print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))# melihat 5 data pada baris terakhir
print (raw_data.tail())
Metode Shape
Untuk melihat dimensi dari data kita dapat menggunakan method shape untuk mengambil jumlah data, kita bisa mengambil
nilai shape pada indeks ke 0
Melihat Kolom
Untuk melihat kolom apa saja yang terdapat pada dataset cukup menggunakan method columns:
print(raw_data.columns)
Metode Isna
Ada berapa banyak data yang hilang dari dataset? untuk melihat data dari dataset bisa menggunakan method isna
Nilai kolom akan bernilai False jika tidak terdapat nilai na dan akan bernilai True jika sebaliknya.
Untuk menghitung jumlah data yang hilang dari dataset, bisa menggabungkan method isna dengan method sum
print (raw_data.isna())
print (raw_data.isna().sum())
Metode Describe
Untuk bisa melihat ringkasan dari data misalnya rerata, jumlah, nilai maksimum-minimum dan ukuran lainnya, kita dapat
menggunakan method .describe()
raw_data.describe()
Selain itu terdapat beberapa fungsi yang umumnya dipakai dalam analisa data, diantaranya adalah:
# Mencari nilai maksimum dari tiap kolom
raw_data.max()# Mencari nilai minimum dari tiap kolom
raw_data.min()# Mencari nilai maksimum dari kolom 'Harga'
raw_data['Harga'].max()
Metode Sum
Jumlah dari semua nilai pada kolom dengan method .sum()
Metode Loc
Untuk memilih baris, kita dapat menggunakan [m:n] untuk mengambil baris data ke-m sampai ke-(n-1) atau bisa juga
menggunakan method loc untuk pemilihan baris yang lebih spesifik.
# mengambil data dari baris ke-0 sampai baris ke-(10-1) atau baris ke-9
print (raw_data[:10])# mengambil data dari baris ke-3 sampai baris ke-(5-1) atau baris ke-4
print (raw_data[3:5])
# Mengambil kolom 'Harga' dan 'Tingkat Kepuasan' dan ambil baris ke-1, ke-10 dan ke-15
print (raw_data[['Harga', 'Tingkat Kepuasan']].loc[[1,10,15]])
Rata-rata atau mean adalah salah satu ukuran pusat yang nilainya diperoleh dengan cara menjumlahkan semua nilai titik data
yang ada lalu dibagi oleh jumlah data. Secara matematis hal ini dapat dirumuskan sebagai berikut:
Dimana:
x¯ adalah rerata
x1,x2,…,xn adalah titik data
n adalah jumlah data
Kita dapat menghitung nilai rata-rata menggunakan method .mean() pada numpy atau pandas sebagaimana pada contoh berikut:
# menghitung rerata pendapatan menggunakan method .mean pada objek pandas DataFrame
print (produk_A['Pendapatan'].mean())
# menghitung rerata pendapatan menggunakan method .mean pada objek pandas DataFrame dengan numpy
print (np.mean(produk_A['Pendapatan']))
Median
Median adalah salah satu ukuran pusat yang nilainya terletak di tengah titik data. Sebagai gambaran, jika kita memiliki titik data
bernilai 1, 2, 3, 4, 4, 5, 6 maka median dari sekumpulan titik data tersebut adalah 4. Namun jika kita memiliki titik data bernilai 1, 2,
3, 3 maka media dari sekumpulan titik data tersebut adalah:
Kita dapat menemukan nilai median dengan menggunakan method .median() pada numpy maupun pandas sebagaimana contoh
berikut:
print(raw_data)
# Hitung median dari pendapatan menggunakan pandas
print(produk_A['Pendapatan'].median())
Modus
Modus didefinisikan sebagai data yang memiliki frekuensi kemunculan terbanyak/terbesar. Sebagai contoh, jika terdapat titik data
seperti berikut: 1, 1, 1, 1, 2, 3, 3, 4 maka modus dari data tersebut adalah 1 karena 1 muncul sebanyak 4 kali, lebih banyak
dibanding titik data lainnya.
Kuantil
Kuantil adalah nilai-nilai data yang membagi data yang telah diurutkan sebelumnya menjadi beberapa bagian yang sama besar
ukurannya. Beberapa ukuran fraktil ini diantaranya adalah:
Kuartil: Adalah kuantil yang membagi data menjadi empat bagian sama besar. Kuartil ke-2 dari adalah median dari data
tersebut.
Desil: Adalah kuantil yang membagi data menjadi 10 bagian sama besar.
Persentil: Adalah kuantil yang membagi data menjadi 100 bagian sama besar.
# menghitung rerata dan median Pendapatan dan Harga dari tiap produk
print(raw_data[['Pendapatan', 'Harga', 'Produk']].groupby('Produk').agg([np.mean, np.median]))
Terdapat beberapa ukuran sebaran yang biasanya digunakan tergantung pada jenis atau tipe datanya, yaitu:
Proporsi Kategori
Proporsi kategori adalah ukuran sebaran yang paling sederhana dari ukuran sebaran pada data nomisal dan ordinal. Secara
matematis dapat dirumuskan sebagai:
Range=max(X)−min(X)
Variansi
Variansi adalah ukuran sebaran pusat yang diperoleh dengan cara menghitung jarak antara tiap titik data pada sampel atau
populasi dengan nilai mean. Secara matematis variansi dirumuskan sebagai berikut:
Note: Perhatikan bahwa nilai variansi keduanya berbeda. Hal ini karena secara default pandas menggunakan variansi sampel
sedangkan numpy menggunakan variansi populasi. Untuk memperoleh hasil yang sama kita dapat menggunakan
parameter ddof=0 pada method .var() untuk memperoleh variansi populasi.
# menghitung deviasi baku sampel pendapatan menggunakan method std() dari pandas
print (raw_data['Pendapatan'].std())
# menghitung deviasi baku sampel pendapatan menggunakan method std() dari numpy
print (np.std(raw_data['Pendapatan'], ddof = 1))
Korelasi
Korelasi adalah salah satu metode statistika yang dapat digunakan untuk mengukur seberapa besar hubungan antara satu variabel
dengan variabel lainnya. Sebagai contoh, misalnya mencari hubungan antara tinggi badan dengan berat badan, mencari hubungan
antara gender dengan penghasilan dan masih banyak aplikasi penggunaan korelasi.
Terdapat beberapa metode yang dapat digunakan untuk menghitung korelasi antara sepasang variabel tergantung tipe dari
sepasang variabel tersebut. Diantaranya adalah:
1. Korelasi Pearson
2. Korelasi Spearman
3. Korelasi Kendall
Korelasi Pearson
Korelasi Pearson atau sering juga disebut sebagai Pearson’s product moment correlation adalah pengukuran korelasi parametrik
yang menghasilkan koefisien korelasi. Koefisien korelasi ini dapat digunakan untuk mengukur kekuatan hubungan atau asosiasi
linier antara dua variabel. Artinya jika hubungan kedua variabel tidak linier maka koefisien korelasi Pearson tidak dapat digunakan
untuk mengukur kekuatan hubungan antara kedua variabel.
Selain itu nilai dari koefisien pearson dapat digunakan untuk mengukur arah dari hubungan tersebut: positif atau negatif.
Hubungan antar variabel dikatakan positif jika nilai salah satu variabel naik maka nilai variabel lainnya juga naik. Sebaliknya,
hubungan antar variabel dikatakan negatif jika nilai salah satu variabel naik maka nilai variabelnya turun. Gambar berikut
dapat menjelaskan maksud dari kekuatan dan arah dari korelasi antar kedua variabel.
Sumber Gambar: https://www.mathsisfun.com
Beberapa asumsi yang harus dipenuhi untuk menggunakan korelasi Pearson diantaranya adalah:
Korelasi Spearman
Korelasi Spearman atau sering juga disebut sebagai Spearman’s rank correlation adalah pengukuran korelasi non-parametrik.
Artinya kita mencoba mengukur hubungan antara kedua variabel tanpa menghiraukan asumsi seperti distribusi dari kedua variabel
dan asumsi lainnya. Secara kriteria memiliki kemiripan dengan korelasi Pearson walau korelasi Spearman bisa digunakan untuk
data bertipe ordinal. Perbedaannya hanya terletak pada pengubahan data dalam bentuk ranking sebelum menghitung nilai
korelasinya.
Dimana:
Korelasi Kendall
Korelasi Kendall atau sering juga disebut juga sebagai Kendall’s tank correlation atau korelasi Tau (τ) adalah pengukuran korelasi
non-parametrik.
Perhatikan bahwa hanya variabel bertipe numerik saja yang dihitung nilai korelasinya. Selain itu
secara default method .corr() memiliki parameter method bernilai pearson sehingga nilai korelasi di atas adalah korelasi Pearson.
Untuk menggantinya menjadi korelasi Kendall atau korelasi Spearman kita cukup menambahkan
parameter method='kendall' atau method='spearman' pada method .corr() sebagaimana contoh berikut:
Berdasarkan kriteria di atas, kita dapat menilai bahwa hubungan antara variabel ‘Total’ dan ‘Jumlah’ hubungannya sedang dan
positif (r = 0.636097) sedangkan hubungan antara ‘Pendapatan’ dan ‘Tingkat Kepuasan’ hubungannya lemah dan negatif (r = -
0.088339).
Namun, perlu diperhatikan bahwa walaupun kita dapat menilai kuat hubungan antara kedua variabel, namun kita tidak bisa
menentukan arah dari hubugan tersebut. Sebagai contoh, walaupun antara variabel ‘Total’ dan ‘Jumlah’ memiliki hubungan yang
sedang, tidak berarti kita bisa mengetahui apakah kenaikan nilai ‘Total’ berefek positif terhadap ‘Jumlah’ atau sebaliknya.
Penutup
Selamat! Kamu sudah menyelesaikan materi Statistic using Python for Data Science dengan baik. Pada materi ini, kamu sudah
dapat memahami :
Namun, pelajaranmu mengenai Statistik tidak berhenti sampai di sini. Masih ada materi berikutnya yang dapat kamu akses untuk
memperdalam ilmu pengetahuanmu.