Dalam analisis statistik, asumsi distribusi adalah salah satu aspek yang paling penting. Asumsi distribusi dapat mempengaruhi akurasi hasil inferensi statistik. Oleh karena itu, perlu dilakukan verifikasi apakah data yang digunakan telah memenuhi asumsi distribusi yang diharapkan.
Salah satu cara untuk melakukan verifikasi ini adalah dengan menggunakan Q-Q plot (Quantile-Quantile plot). Q-Q plot digunakan untuk memvisualisasikan apakah data yang diperoleh sesuai dengan distribusi yang ditetapkan, seperti distribusi normal. Dengan membandingkan quantil data yang diperoleh dengan quantil distribusi yang diharapkan, deviasi dari asumsi distribusi dapat terdeteksi.
Menggunakan Q-Q Plot untuk Mengecek Asumsi Distribusi
Q-Q plot dapat digunakan untuk mengecek apakah data telah memenuhi asumsi distribusi normal. Jika data closely follow straight line, maka data tersebut dapat dianggap sebagai data yang berdistribusi normal. Deviasi dari straight line dapat menunjukkan bahwa data tidak memenuhi asumsi distribusi normal.
Menggunakan Q-Q Plot untuk Mengecek Keterlibatan Outlier
Outlier adalah data point yang sangat jauh dari data lainnya. Q-Q plot dapat membantu dalam identifikasi outlier dengan menunjukkan data point yang sangat jauh dari pola yang diharapkan. Data point yang sangat jauh dari expected straight line dapat dianggap sebagai outlier.
Menggunakan Q-Q Plot untuk Mengecek Keterlibatan Distribusi
Q-Q plot juga dapat digunakan untuk membandingkan dua dataset untuk mengetahui apakah keduanya berasal dari distribusi yang sama. Jika titik-titik pada plot tersebut mendekati straight line, maka dapat dianggap bahwa kedua dataset memiliki distribusi yang sama.
Tipe-Tipe Q-Q Plot
Ada beberapa tipe Q-Q plot yang umum digunakan dalam statistik dan analisis data, masing-masing cocok untuk scenario atau tujuan yang berbeda:
- Distribusi Normal: Distribusi simetris di mana Q-Q plot menunjukkan titik-titik mendekati garis diagonal jika data memenuhi distribusi normal.
- Distribusi Right-skewed: Distribusi di mana Q-Q plot menampilkan pola di mana quantil data yang diperoleh tidak sesuai dengan straight line dan terlihat lebih jauh ke arah bagian kanan, menunjukkan adanya ekstremis pada bagian kanan.
- Distribusi Left-skewed: Distribusi di mana Q-Q plot menampilkan pola di mana quantil data yang diperoleh tidak sesuai dengan straight line dan terlihat lebih jauh ke arah bagian kiri, menunjukkan adanya ekstremis pada bagian kiri.
- Distribusi Under-dispersed: Distribusi di mana Q-Q plot menampilkan pola di mana quantil data yang diperoleh sangat terkonsentrasi di sekitar garis diagonal, menunjukkan bahwa variance data lebih rendah.
- Distribusi Over-dispersed: Distribusi di mana Q-Q plot menampilkan pola di mana quantil data yang diperoleh sangat tersebar dan tidak sesuai dengan straight line, menunjukkan bahwa variance data lebih tinggi.
Contoh Kode Python
Berikut adalah contoh kode Python untuk menghasilkan Q-Q plot untuk beberapa tipe distribusi:
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
normal_data = np.random.normal(loc=0, scale=1, size=1000)
right_skewed_data = np.random.exponential(scale=1, size=1000)
left_skewed_data = -np.random.exponential(scale=1, size=1000)
under_dispersed_data = np.random.normal(loc=0, scale=0.5, size=1000)
over_dispersed_data = np.concatenate((np.random.normal(loc=-2, scale=1, size=500), np.random.normal(loc=2, scale=1, size=500)))
plt.figure(figsize=(15, 10))
plt.subplot(2, 3, 1)
stats.probplot(normal_data, dist="norm", plot=plt)
plt.title('Q-Q Plot - Normal Distribution')
plt.subplot(2, 3, 2)
stats.probplot(right_skewed_data, dist="expon", plot=plt)
plt.title('Q-Q Plot - Right-skewed Distribution')
plt.subplot(2, 3, 3)
stats.probplot(left_skewed_data, dist="expon", plot=plt)
plt.title('Q-Q Plot - Left-skewed Distribution')
plt.subplot(2, 3, 4)
stats.probplot(under_dispersed_data, dist="norm", plot=plt)
plt.title('Q-Q Plot - Under-dispersed Distribution')
plt.subplot(2, 3, 5)
stats.probplot(over_dispersed_data, dist="norm", plot=plt)
plt.title('Q-Q Plot - Over-dispersed Distribution')
plt.tight_layout()
plt.show()
Dalam contoh kode di atas, kita menggunakan fungsi probplot
dari library SciPy untuk menghasilkan Q-Q plot. Fungsi ini membandingkan quantil data dengan quantil distribusi yang diharapkan dan menampilkan hasilnya dalam bentuk plot.