Cara membuat plot qq dengan python


Plot QQ , kependekan dari “quantile-quantile”, sering digunakan untuk mengevaluasi apakah suatu kumpulan data berpotensi berasal dari distribusi teoretis atau tidak.

Dalam kebanyakan kasus, jenis plot ini digunakan untuk menentukan apakah suatu kumpulan data mengikuti distribusi normal atau tidak.

Tutorial ini menjelaskan cara membuat plot QQ untuk kumpulan data dengan Python.

Contoh: plot QQ dengan Python

Misalkan kita memiliki kumpulan data berikut yang berisi 100 nilai:

 import numpy as np

#create dataset with 100 values that follows a normal distribution
np.random.seed(0)
data = np.random.normal(0,1, 1000)

#view first 10 values
data[:10] 

array([ 1.76405235, 0.40015721, 0.97873798, 2.2408932 , 1.86755799,
       -0.97727788, 0.95008842, -0.15135721, -0.10321885, 0.4105985 ])

Untuk membuat plot QQ untuk dataset ini, kita dapat menggunakan fungsi qqplot() dari perpustakaan statsmodels:

 import statsmodels.api as sm
import matplotlib.pyplot as plt

#create QQ plot with 45-degree line added to plot
fig = sm.qqplot(data, line='45')
plt.show()

Plot QQ dengan Python

Dalam plot QQ, sumbu x menampilkan kuantil teoretis . Artinya, ini tidak menampilkan data Anda yang sebenarnya, melainkan menunjukkan di mana data Anda akan berada jika didistribusikan secara normal.

Sumbu Y menampilkan data Anda saat ini . Artinya jika nilai data mengikuti garis kira-kira lurus dengan sudut 45 derajat, maka data tersebut berdistribusi normal.

Dapat kita lihat pada plot QQ di atas bahwa nilai datanya cenderung mengikuti 45 derajat, artinya kemungkinan besar datanya berdistribusi normal. Hal ini tidak mengherankan karena kami menghasilkan 100 nilai data menggunakan fungsi numpy.random.normal() .

Sebagai gantinya, pertimbangkan jika kita membuat kumpulan data yang terdiri dari 100 nilai yang terdistribusi secara merata dan membuat plot QQ untuk kumpulan data tersebut:

 #create dataset of 100 uniformly distributed values
data = np.random.uniform(0,1, 1000)

#generate QQ plot for the dataset
fig = sm.qqplot(data, line='45')
plt.show()

Plot QQ dengan garis lurus dengan Python menggunakan matplotlib

Nilai datanya jelas tidak mengikuti garis merah 45 derajat, menandakan tidak mengikuti sebaran normal.

Catatan tentang Plot QQ

Ingatlah catatan berikut tentang plot QQ:

  • Meskipun plot QQ bukan uji statistik formal, plot ini memberikan cara sederhana untuk memeriksa secara visual apakah kumpulan data terdistribusi normal atau tidak.
  • Berhati-hatilah untuk tidak mengacaukan plot QQ dengan plot PP , yang kurang umum digunakan dan kurang berguna untuk menganalisis nilai data yang berada di bagian akhir distribusi.

Anda dapat menemukan lebih banyak tutorial Python di sini .

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *