Cara menggunakan python percentile

Menurut wikipedia Statistik (bukan statistika!) adalah besaran dalam statistika yang mencirikan keadaan cuplikan (sampel). Statistik adalah penduga (estimator) bagi parameter. Parameter sendiri mencirikan populasi. Nama statistik kerap kali sama dengan nama parameter, seperti "rerata" (mean), "simpangan baku", dan "koefisien korelasi", tetapi memiliki batasan matematis yang dapat berbeda.

Penting mempelajari Statistika karena merupakan salah 1 fundamental dasar belajar data science. Pada modul ini, kamu akan dibekali dengan banyak teori dasar mengenai statistika.

Photo by billow926 on UnsplashPengenalan Statistika dan Package Statistika di Python

Secara definisi, statistika adalah bidang studi yang mempelajari bagaimana mengumpulkan dan menganalisa data. Jika mengambil definisi yang lebih lengkap, maka statistika dapat didefinisikan sebagai ilmu yang mempelajari cara pengumpulan data, menganalisis data untuk mendapatkan kesimpulan informasi sampai dapat dijadikan dasar pembuatan keputusan atau kebijakan.

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.

Beberapa Konsep Dasar Statistika

Populasi, sampel dan observasi/pengamatan

Observasi: Adalah suatu unit yang diukur dengan data. Beberapa contoh diantaranya adalah:

  • Siswa
  • Warga negara
  • Hewan
  • Kendaraan

Populasi: Adalah koleksi dari keseluruhan observasi. Beberapa contoh diantaranya adalah:

  • Semua siswa yang ada di sekolah
  • Semua warga negara Indonesia,
  • Semua hewan yang ada di hutan lindung,
  • Semua kendaraan di Jakarta

Sampel: Adalah sub koleksi dari populasi. Beberapa contoh diantaranya adalah:

  • 5 siswa dari masing-masing kelas di suatu sekolah
  • 100 warga negara Indonesia yang diambil dari beberapa wilayah
  • Beberapa species hewan tertentu di suatu hutan lindung
  • 3 jenis kendaraan di Jakarta

Statistik dan Parameter

Setiap kita mengkaji suatu permasalahan, biasanya kita menggunakan beberapa individu dari grup-grup tertentu. Misalnya, ketika kita ingin mengetahui prestasi siswa di suatu sekolah untuk mata pelajaran matematika, kita bisa saja menghitung semua nilai siswa lalu ambil nilai rata-ratanya. Atau dalam konteks pemasaran, kita ingin tahu untuk setiap segmen pasar, berapa besar pendapata yang bisa kita peroleh dari tiap segmen. Namun ada kalanya kita hanya butuh sebagian kecil dari grup dikarenakan beberapa keterbatasan seperti biaya pengambilan data yang terlalu mahal atau bisa karena membutuhkan waktu analisis yang singkat karena harus membuat keputusan saat itu juga. Jika kasus seperti ini biasanya kita hanya mengambil sebagian kecil dari grup. Misalnya kita hanya mengambil 10 siswa dari tiap kelas untuk menghitung prestasi siswa atau kita hanya mengambil 20% dari tiap segmen pasar kita. Hal ini yang memunculkan dua istilah untuk kedua kasus ini: parameter dan statistik

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 dan Data Kuantitatif

Terdapat dua kategori data yang terdapat pada populasi atau sampel, yaitu data kualitatif dan data kuantitatif.

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 Pengukuran — Data Kategorikal

Skala nominal adalah skala yang digunakan untuk mengkategorikan suatu objek pengamatan dengan objek pengamatan lainnya. Sebagai contoh yang termasuk skala nominal seperti gender, kategori barang, ras, status pernikahan dan lain sebagainya

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 Pengukuran — Data Numerikal

Skala interval adalah skala yang digunakan untuk tidak hanya untuk mengklasifikasikan maupun memberikan tingkatan pada suatu titik pengamatan, namun kita dapat mengukur seberapa besar nilai antara suatu titik pengamatan dengan titik pengamatan lainnya. Beberapa contoh yang termasuk skala interval diantaranya adalah suhu tubuh dan jarak.

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.

Package Statistika di Python

Untuk melakukan perhitungan statistika, kita dapat menggunakan beberapa package atau library berikut yang tersedia di Python. Diantaranya adalah:

  • print (raw_data)
    # melihat 10 data pada baris pertama
    print (raw_data.head(10))
    # melihat 5 data pada baris terakhir
    print (raw_data.tail())
    1: digunakan untuk melakukan analisa data numerik dan perhitungan berbasis vektor atau matriks
  • print (raw_data)
    # melihat 10 data pada baris pertama
    print (raw_data.head(10))
    # melihat 5 data pada baris terakhir
    print (raw_data.tail())
    2: digunakan untuk melakukan pengolahan data tabular
  • print (raw_data)
    # melihat 10 data pada baris pertama
    print (raw_data.head(10))
    # melihat 5 data pada baris terakhir
    print (raw_data.tail())
    3: digunakan untuk melakukan ploting atau penggambaran grafik, dapat digunakan sebagai alat bantu dalam analisa data
  • print (raw_data)
    # melihat 10 data pada baris pertama
    print (raw_data.head(10))
    # melihat 5 data pada baris terakhir
    print (raw_data.tail())
    4: digunakan untuk melakukan uji hipotesa, eksplorasi data maupun pemodelan statistika
  • print (raw_data)
    # melihat 10 data pada baris pertama
    print (raw_data.head(10))
    # melihat 5 data pada baris terakhir
    print (raw_data.tail())
    5: 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.

Pengenalan Numpy dan Pandas

Kedua library ini,

print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
1 dan
print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
2, adalah library yang umum digunakan untuk melakukan pengolahan data, mulai dari membaca data dalam format tertentu (
print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
8,
print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
9,
# melihat dimensi dari raw_data
print (raw_data.shape)
# mengambil jumlah data
print (raw_data.shape[0])
0,
# melihat dimensi dari raw_data
print (raw_data.shape)
# mengambil jumlah data
print (raw_data.shape[0])
1) atau dari sumber tertentu (
# melihat dimensi dari raw_data
print (raw_data.shape)
# mengambil jumlah data
print (raw_data.shape[0])
2,
# melihat dimensi dari raw_data
print (raw_data.shape)
# mengambil jumlah data
print (raw_data.shape[0])
3), melakukan inspeksi (mengecek data yang hilang, inkonsistensi pada data) dan pengolahan data (transformasi nilai, encoding, normalisasi) sampai visualisasi data untuk membuat laporan atau mempersiapkan data untuk membuat model.

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

print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
1.

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

print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
1 dan
print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
2.

# memuat numpy sebagai np
import numpy as np

# memuat pandas sebagai pd
import pandas as pd

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

print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
8 kita dapat menggunakan method
# melihat dimensi dari raw_data
print (raw_data.shape)
# mengambil jumlah data
print (raw_data.shape[0])
8 dari pandas.

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')

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

# melihat dimensi dari raw_data
print (raw_data.shape)
# mengambil jumlah data
print (raw_data.shape[0])
9untuk mengambil jumlah data, kita bisa mengambil nilai
# melihat dimensi dari raw_data
print (raw_data.shape)
# mengambil jumlah data
print (raw_data.shape[0])
9 pada indeks ke
print(raw_data.columns)
1

# melihat dimensi dari raw_data
print (raw_data.shape)
# mengambil jumlah data
print (raw_data.shape[0])

Melihat Kolom

Untuk melihat kolom apa saja yang terdapat pada dataset cukup menggunakan method

print(raw_data.columns)
2:

print(raw_data.columns)

Metode Isna

Ada berapa banyak data yang hilang dari dataset? untuk melihat data dari dataset bisa menggunakan method

print(raw_data.columns)
3

Nilai kolom akan bernilai

print(raw_data.columns)
4 jika tidak terdapat nilai
print(raw_data.columns)
5 dan akan bernilai
print(raw_data.columns)
6 jika sebaliknya.

Untuk menghitung jumlah data yang hilang dari dataset, bisa menggabungkan method

print(raw_data.columns)
3 dengan method
print(raw_data.columns)
8

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

print(raw_data.columns)
9

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()

# Mencari nilai minimum dari kolom 'Harga'
raw_data['Harga'].min()

Metode Sum

Jumlah dari semua nilai pada kolom dengan method

print (raw_data.isna())
print (raw_data.isna().sum())
0

# menghitung jumlah dari semua kolom
print (raw_data.sum())

# menghitung jumlah dari semua kolom bertipe data numerik saja
raw_data.sum(numeric_only=True)

# menghitung jumlah dari kolom 'Harga' dan 'Pendapatan'
raw_data[['Harga', 'Pendapatan']].sum()

Manipulasi Dataframe — Memilih Kolom dan Baris

Terkadang kita hanya ingin melakukan analisa sebagian kecil dari data atau hanya beberapa kolom saja, untuk itu kita dapat melakukan slice-and-dice pada data yang kita punya.

Untuk memilih kolom untuk dianalisa, kita dapat memanggil objek

print (raw_data.isna())
print (raw_data.isna().sum())
1 yang sudah dibuat dan menggunakan tanda
print (raw_data.isna())
print (raw_data.isna().sum())
2 untuk memilih satu kolom atau
print (raw_data.isna())
print (raw_data.isna().sum())
3 untuk memilih lebih dari 1 kolom.

# Memilih kolom 'Pendapatan' saja
print (raw_data['Pendapatan'])

# Memilih kolom 'Jenis Kelamin' dan 'Pendapatan'
print (raw_data[['Jenis Kelamin', 'Pendapatan']])

Metode Loc

Untuk memilih baris, kita dapat menggunakan

print (raw_data.isna())
print (raw_data.isna().sum())
4 untuk mengambil baris data ke-m sampai ke-(n-1) atau bisa juga menggunakan method
print (raw_data.isna())
print (raw_data.isna().sum())
5 untuk pemilihan baris yang lebih spesifik.

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
0

Ukuran Pusat (Measures of Central Tendency)

Ukuran pusat (measures of central tendency) adalah statistika deskriptif yang dapat digunakan untuk membantu kita mengidentifikasi kasus-kasus tipikal di dalam sebuah sampel atau populasi. Terdapat beberapa jenis ukuran pusat yang dapat digunakan untuk menganalisa data yaitu mean, median, modus.

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

print (raw_data.isna())
print (raw_data.isna().sum())
6 pada numpy atau pandas sebagaimana pada contoh berikut:

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
1

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

print (raw_data.isna())
print (raw_data.isna().sum())
7 pada numpy maupun pandas sebagaimana contoh berikut:

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
2

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.

Kita dapat menggunakan method

print (raw_data.isna())
print (raw_data.isna().sum())
8 pada pandas sebagaimana contoh berikut:

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
3

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.
# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
4

Agregasi Data dengan method .agg()

Ada kalanya kita ingin menghitung sekaligus beberapa ukuran, misalnya menghitung nilai mean sekaligus menghitung nilai median. Kita dapat melakukan kedua hal tersebut dengan menggunakan method

print (raw_data.isna())
print (raw_data.isna().sum())
9 pada objek pandas DataFrame sebagaimana contoh berikut:

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
5

Ukuran Sebaran (Measures of Dispersion)

Ukuran sebaran (measure of dispersion) adalah statistika deskriptif yang digunakan untuk membantu kita memahami sebaran titik data di dalam sebuah sampel ataupun populasi.

Terdapat beberapa ukuran sebaran yang biasanya digunakan tergantung pada jenis atau tipe datanya, yaitu:

Tipe Data Nominal dan Ordinal

  • Proporsi Kategori (Categorical Proportion)
  • Persen Proporsi (Percent Proportion)
  • Rasio Variasi (Variation Ratio)

Tipe Data Interval dan Rasio

  • Rentang (Range)
  • Variansi (Variance)
  • Deviasi Baku (Standard Deviation)

Proporsi Kategori

Proporsi kategori adalah ukuran sebaran yang paling sederhana dari ukuran sebaran pada data nomisal dan ordinal. Secara matematis dapat dirumuskan sebagai:

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
6

Ukuran Sebaran pada Data Interval dan Rasio

Rentang (range), Rentang adalah jarak antara nilai maksimum dengan nilai minimum. Semakin besar jarang antara nilai maksimum dan minimum semakin besar pula sebaran datanya. Secara matematis dapat dituliskan sebagai berikut:

Range=max(X)−min(X)

Dengan X adalah sampel atau populasi yang sedang diamati.

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
7

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:

Untuk menghitung variansi kita dapat menggunakan method

raw_data.describe()
0 dari
print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
1 maupun
print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
2.

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

raw_data.describe()
3 pada method
raw_data.describe()
4 untuk memperoleh variansi populasi.

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
8

Deviasi Baku (Standard Deviation)

Deviasi baku adalah ukuran sebaran pusat yang diperoleh dengan cara menarik akar kuadrat dari hasil perhitungan variansi. Hal ini dilakukan karena nilai variansi umumnya memiliki nilai yang lebih besar daripada nilai aslinya sebagai efek dari pengkuadratan dan ini menjadikan variansi sulit untuk diinterpretasikan. Secara matematis deviasi baku dapat dirumuskan sebagi berikut:

Kita dapat menghitung deviasi baku menggunakan method

raw_data.describe()
5 dari
print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
1 maupun
raw_data.describe()
7

# memuat data bernama 'dataset_statistics.csv' dan memasukkan hasilnya ke dalam 'raw_data'raw_data = pd.read_csv("https://storage.googleapis.com/dqlab-dataset/dataset_statistic.csv", sep=';')
9

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:

  1. Nilai berskala interval/rasio
  2. Terdapat hubungan linier antara kedua variabel, yaitu kita dapat menggambarkan hubungan kedua variabel sebagai garis lurus.
  3. Kedua variabel berdistribusi normal
  4. Homoskedastis, atau data berdistribusi seragam dalam garis regresi

Secara matematis, korelasi pearson dapat dirumuskan sebagai berikut:

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.

Secara matematis, korelasi Spearman dapat dihitung menggunakan rumus berikut:

Dimana:

  • ρ adalah nilai korelasi Spearman
  • di adalah nilai beda antara kedua variabel
  • n adalah jumlah data

Korelasi Kendall

Korelasi Kendall atau sering juga disebut juga sebagai Kendall’s tank correlation atau korelasi Tau (τ) adalah pengukuran korelasi non-parametrik.

Secara matematis, korelasi Kendall dapat dihitung menggunakan rumus berikut:

Menghitung Korelasi

ntuk menghitung korelasi antara kedua variabel, kita dapat menggunakan method

raw_data.describe()
8 dari pandas.

Perhatikan bahwa hanya variabel bertipe numerik saja yang dihitung nilai korelasinya. Selain itu secara default method

raw_data.describe()
8 memiliki parameter
# 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()

# Mencari nilai minimum dari kolom 'Harga'
raw_data['Harga'].min()
0 bernilai
# 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()

# Mencari nilai minimum dari kolom 'Harga'
raw_data['Harga'].min()
1 sehingga nilai korelasi di atas adalah korelasi Pearson. Untuk menggantinya menjadi korelasi Kendall atau korelasi Spearman kita cukup menambahkan parameter
# 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()

# Mencari nilai minimum dari kolom 'Harga'
raw_data['Harga'].min()
2 atau
# 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()

# Mencari nilai minimum dari kolom 'Harga'
raw_data['Harga'].min()
3 pada method
raw_data.describe()
8 sebagaimana contoh berikut:

print (raw_data)
# melihat 10 data pada baris pertama
print (raw_data.head(10))
# melihat 5 data pada baris terakhir
print (raw_data.tail())
0

Interpretasi Nilai Korelasi dan Kaitannya dengan Kausalitas

Perhatikan nilai korelasi Pearson dari

# 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()

# Mencari nilai minimum dari kolom 'Harga'
raw_data['Harga'].min()
5 berikut:

Perhatikan bahwa beberapa pasang variabel memiliki nilai korelasi yang positif maupun negatif. Selain itu terdapat nilai yang sangat kecil hingga mendekati nol, namun ada juga yang cukup besar diatas 0.5, misalnya korelasi antara ‘Jumlah’ dan ‘Pendapatan’. Besar kecilnya suatu nilai korelasi dari sepasang variabel menandakan seberapa kuat hubungan linier antara kedua variabel tersebut. Sebagai acuan untuk mengukur seberapa kuat korelasi sepasang variabel, kita dapat menggunakan ukuran 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 :

  • Pengenalan mengenai stastistik.
  • Cara membaca data dalam format CSV.
  • Estimasi karakteristik (Mean, Median, Modus).
  • Skala pengukuran data.
  • Ukuran sebaran data.
  • Perbedaan statistik deskriptif dan statistik inferensia.
  • Mengenal jenis-jenis korelasi.

Namun, pelajaranmu mengenai Statistik tidak berhenti sampai di sini. Masih ada materi berikutnya yang dapat kamu akses untuk memperdalam ilmu pengetahuanmu.