November 30, 2021
Statistik Deskriptif dan Inferensial Pada Python (Instagram Post)

Statistik Deskriptif dan Inferensial Pada Python

Statistika deskriptif dan inferensial merupakan cabang besar dari ilmu Statistika. Pada artikel ini akan dijelaskan beberapa bagian dari kedua hal tersebut.

Statistik Deskriptif

Statistik deskriptif adalah cara untuk mengatur, melihat, dan mendeskripsikan kumpulan data menggunakan tabel, bagan, dan banyak parameter numerik lainnya. Beberapa istilah statistik yang termasuk dalam kelompok Deskripsi adalah:

  • Mean – Nilai rata-rata dari data yang bertipe numerik/angka.
  • Median – Nilai tengah yang membagi data terurut menjadi 2 bagian sama besar.
  • Mode – Nilai yang paling sering muncul dari data.
  • Standard Deviation – Rata-rata kuadrat dari selisih/jarak setiap observasi dengan nilai mean. 
  • Correlation – Nilai yang menggambarkan keeratan hubungan antara dua variabel numerik. Belum tentu menggambarkan hubungan sebab akibat.
  • Variance – Nilai yang menggambarkan seberapa bervariasi/beragamnya suatu data bertipe numerik/angka.

Seorang Data Scientists sangat memerlukan statistik deskriptif untuk mengenali pola dari datanya . Namun, jenis statistik ini hanya dapat digunakan dengan sampel data yang diselidiki dan tidak dapat digunakan untuk menarik generalisasi atau inferensi tentang populasi atau kelompok lain. Contohnya adalah kumpulan data untuk kota-kota yang menggunakan handphone atau memiliki sepeda motor . Misalnya, menurut BPS (Badan Pusat Statistik), jumlah sepeda motor di Indonesia mencapai 161,44 juta pada tahun 2018. Jumlah handphone sudah mencapai 120,1 juta.

Statistik inferensial

Statistik inferensial adalah teknik yang dapat digunakan untuk menganalisis sekelompok kecil sampel dari data induk atau populasi untuk membuat prediksi dan kesimpulan tentang kelompok data induk atau populasi. Statistik inferensial adalah ringkasan dari semua metode untuk menganalisis beberapa data dan mengarah pada prediksi atau kesimpulan tentang seluruh data induk (populasi). Generalisasi yang terkait dengan inferensi statistik tidak pasti karena didasarkan pada informasi parsial yang diperoleh dari bagian-bagian data. Jadi apa yang didapatkan hanyalah prediksi.

Berdasarkan ruang lingkup bahasannya, statistika inferensial mencakup:

  • Probabilitas atau teori kemungkinan
  • Dristribusi teoritis
  • Analisis kovarians
  • Sampling dan sampling distribusi
  • Pendugaan populasi atau teori populasi
  • Analisis varians
  • Uji Hipotesis
  • Analisis korelasi dan uji signifikasi
  • Analisis regresi untuk peramalan

Statistik deskriptif dan inferensial pada Python

Statistik Deskriptif Statistik deskriptif berkaitan dengan penyajian dan pengumpulan data

import library yang digunakan

In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
In [2]:
# membuat data berupa data umur antara 20-35 sebanyak 10 buah
df1 = pd.DataFrame(dict(id=range(10), umur= np.random.randint(20,35, size=10)))
df1
Out[2]:
id umur
0 0 21
1 1 25
2 2 22
3 3 32
4 4 30
5 5 27
6 6 31
7 7 33
8 8 27
9 9 20
In [3]:
# mencari rata-rata
df1.umur.mean()
Out[3]:
26.8
In [4]:
# mencari nilai tengah
df1.umur.median()
Out[4]:
27.0
In [5]:
# mencari data yang paling banyak muncul
df1.umur.mode()
Out[5]:
0    27
dtype: int64
In [6]:
# mencari variance
df1.umur.var()
Out[6]:
22.177777777777777
In [7]:
# mencari standar deviasi
df1.umur.std()
Out[7]:
4.7093288033198295
In [8]:
# mencari rentang data
df1.umur.max() - df1.umur.min()
Out[8]:
13
In [9]:
# melihat sebaran menggunakan boxplot
df1.boxplot(column='umur', return_type='axes')
Out[9]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f352440bf90>

Skewness dan Kurtosisskewness dan kurtosis.JPG

In [10]:
# mencari nilai skewness
df1['umur'].skew()
Out[10]:
-0.18638654204889551
In [11]:
# mencari nilai kurtosis
df1['umur'].kurt()
Out[11]:
-1.4834127172180032

Statistik Inferensial
Analisis statistik inferensial menyimpulkan sifat-sifat suatu populasi, misalnya dengan menguji hipotesis dan menurunkan perkiraan

import library yang digunakan

In [ ]:
import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt
In [ ]:
# membuat data sebanyak 1000 buah
populasi = np.random.randint(10, 20, 1000)

np.random.seed(10)

# membuat list untuk menyimpan perkiraan setiap pengambilan sampel data
perkiraan = []

# membuat 
for x in range(200):
  # mengambil sampel 100 data dari populasi
  sampel = np.random.choice(a=populasi, size=100)

  # merata-ratakan data sampel dan disimpan pada list
  perkiraan.append(sampel.mean())
In [ ]:
# mencari rata-rata dari populasi]
populasi.mean()
Out[ ]:
14.488
In [ ]:
pd.DataFrame(perkiraan).plot(kind='density')
Out[ ]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f3477348e10>

Titik Perkiraan
Interval Kepercayaan
intervalKepercayaan.JPG

Error Margin $$marginOfError = (criticalValue)* \frac{(standarDeviation)}{\sqrt(sampleSize)}$$

In [ ]:
z_critical = stats.norm.ppf(q = 0.975)
In [ ]:
margin_of_error = z_critical * (np.std(perkiraan)/np.sqrt(200))
margin_of_error
Out[ ]:
0.038179549438841553
In [ ]:
# lower : sampel_mean - margin_of_error
np.mean(perkiraan) - margin_of_error
Out[ ]:
14.418270450561158
In [ ]:
# upper : sampel_mean + margin_of_error
np.mean(perkiraan) + margin_of_error
Out[ ]:
14.494629549438843
In [ ]:
t_critical = stats.t.ppf(q = 0.975, df=24)
In [ ]:
margin_of_error = t_critical * (np.std(perkiraan)/np.sqrt(200))
margin_of_error
Out[ ]:
0.040204165888753675
In [ ]:
# lower : sampel_mean - margin_of_error
np.mean(perkiraan) - margin_of_error
Out[ ]:
14.416245834111246
In [ ]:
# upper : sampel_mean + margin_of_error
np.mean(perkiraan) + margin_of_error
Out[ ]:
14.496654165888755

Kesimpulan mengenai statistik deskriptif dan inferensial

Statistik deskriptif hanya sebatas menampilkan data dalam bentuk tabel, bagan, grafik, dan besaran lainnya. Selain statistik deskriptif, statistik inferensial sekarang dapat digunakan untuk menarik kesimpulan tentang populasi dari sampel. Sehingga dapat disimpulkan inferensi statistik melalui tahapan pengujian hipotesis dan pengujian statistik. Artikel lain terkait statistik dapat dilihat di sini.

Rajo Intan

Blogger, pemiliki Onestring Lab, menulis artikel terkait teknologi informasi dan pendidikan. Web Developer, berpengalaman lebih dari 20 tahun mengembangkan berbagai aplikasi dan sistem informasi. Kerjasama kontak di onestringlab@gmail.com atau https://forms.gle/xAGKkpi6B3BzJyzk7

View all posts by Rajo Intan →