Definisi QDA
Quadratic Discriminant Analysis (QDA) adalah metode klasifikasi statistik yang memperluas konsep Linear Discriminant Analysis (LDA). Pada LDA, tiap kelas diasumsikan memiliki kovarians yang sama, sehingga batas pemisah antar kelas berbentuk garis lurus (linear). QDA menghilangkan asumsi tersebut dan mengizinkan setiap kelas memiliki matriks kovarian sendirisendiri. Akibatnya, batas keputusan menjadi permukaan kuadratik (bisa berupa elips, parabola, atau bentuk lain) yang lebih fleksibel dalam memodelkan data yang tidak dapat dipisahkan secara linear.
Asumsi Dasar
- Data tiap kelas mengikuti distribusi normal multivariat.
- Setiap kelas memiliki mean () dan kovarian () yang dapat berbeda.
- Observasi bersifat independen.
Jika asumsi normalitas tidak terpenuhi, performa QDA dapat menurun. Namun, dalam praktik, QDA tetap sering dipilih ketika pola penyebaran data terlihat berbeda antar kelas.
Rumus Klasifikasi QDA
Untuk sebuah vektor fitur x, probabilitas posterior kelas k dapat dihitung dengan:
P(Y=k|x) (2)^{-p/2} ||^{-1/2} exp{ - (x) ^{-1} (x) } dimana:
- = prior probability kelas k
- p = jumlah fitur
- = mean vektor kelas k
- = matriks kovarian kelas k
Mengambil logaritma natural memperjelas keputusan:
(x) = - ln|| - (x) ^{-1} (x) + ln Klasifikasi akhir diberikan oleh kelas dengan nilai (x) terbesar.
Langkah Implementasi QDA
- Persiapan Data: Bagi data menjadi set pelatihan dan pengujian, lakukan normalisasi atau standardisasi bila diperlukan.
- Estimasi Parameter:
- Hitung prior = N / N_total.
- Hitung mean untuk tiap kelas.
- Hitung kovarian secara terpisah untuk tiap kelas.
- Hitung Fungsi Diskriminan (x) untuk setiap kelas pada data uji.
- Prediksi: Pilih kelas dengan nilai (x) tertinggi.
- Evaluasi: Gunakan metrik akurasi, precision, recall, confusion matrix, atau ROCAUC.
Karena QDA memerlukan estimasi matriks kovarian terpisah, jumlah sampel per kelas harus cukup besar dibandingkan dengan jumlah fitur, agar tidak singular.
Perbandingan QDA dengan LDA
| Aspek | Linear Discriminant Analysis (LDA) | Quadratic Discriminant Analysis (QDA) |
|---|---|---|
| Kovarian | Sama untuk semua kelas ( bersama) | Berbeda untuk tiap kelas () |
| Batas Keputusan | Linear (garis/hiperpip) | Kuadratik (elips, parabola, dll) |
| Kompleksitas Model | Rendah, lebih stabil dengan data sedikit | Lebih tinggi, sensitif terhadap overfitting |
| Jumlah Parameter | p + p(p+1)/2 (satu ) | K[p + p(p+1)/2] ( per kelas) |
| Kapan Dipilih | Data hampir homogen, sampel terbatas | Distribusi kelas jelas berbeda, data banyak |
Contoh Kode Python (scikitlearn)
import numpy as npfrom sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitfrom sklearn.discriminant_analysis import QuadraticDiscriminantAnalysisfrom sklearn.metrics import classification_report, confusion_matrix# Load datasetX, y = load_iris(return_X_y=True)# Split dataX_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=42, stratify=y)# Inisialisasi QDAqda = QuadraticDiscriminantAnalysis(store_covariance=True)# Trainingqda.fit(X_train, y_train)# Prediksiy_pred = qda.predict(X_test)# Evaluasiprint("Confusion Matrix:")print(confusion_matrix(y_test, y_pred))print("\nClassification Report:")print(classification_report(y_test, y_pred)) Pada contoh di atas, dataset Iris digunakan. Karena fitur (4) relatif sedikit dan dataset cukup besar, QDA menghasilkan akurasi tinggi serta batas keputusan kuadratik yang dapat memisahkan tiga spesies bunga dengan baik.
Kesimpulan
Quadratic Discriminant Analysis merupakan pilihan yang kuat ketika asumsi kovarian yang sama untuk semua kelas tidak realistis. Dengan memanfaatkan matriks kovarian berbeda per kelas, QDA dapat menangkap bentuk penyebaran data yang kompleks. Namun, fleksibilitas ini datang dengan biaya: kebutuhan data lebih banyak, risiko overfitting, dan perhitungan yang lebih intensif. Oleh karena itu, pemilihan antara LDA dan QDA harus mempertimbangkan ukuran dataset, dimensi fitur, serta pola visualisasi data.
