Mengenal Mahalanobis Distance (MD) dan Mencari Outlier Multivariat

Mengenal Mahalanobis Distance (MD) dan Mencari Outlier Multivariat

Dalam artikel saya sebelumnya, saya memperkenalkan konsep MD yang digunakan untuk menentukan jarak antara nilai pengamatan dengan mean dari dataset. MD ini digunakan untuk mencari outlier multivariat dalam dataset.

MD adalah ukuran jarak yang didefinisikan sebagai:

Gambar 1

Di sini, x mewakili vektor pengamatan dan µ mewakili mean aritmetika vektor variabel independen (kolom) dalam contoh. C(-1) adalah inverse covariance matrix dari variabel independen dalam contoh.

Untuk memahami intuisi matematis MD, saya sarankan membaca bagian keempat dalam postingan blog ini.

Seperti z-score, jarak MD setiap pengamatan dibandingkan dengan titik potong. Dengan asumsi distribusi normal multivariat data dengan K variabel, MD mengikuti distribusi chi-squared dengan K derajat kebebasan. Menggunakan tingkat signifikan yang wajar (misalnya 2,5%, 1%, 0,01%), titik potong didefinisikan sebagai:

Gambar 2

Mari lihat contoh menggunakan tingkat signifikan 0,01% dan mencari outlier multivariat dalam subset sebelumnya.

Dengan MD, kita dapat melihat bahwa 8 pengamatan yang dipilih sebagai outlier multivariat. Ketika termasuk semua variabel dari dataset Boston (df=13), kita mendeteksi 17 outlier multivariat.

Lihat lebih dekat pada pengamatan ke-398. Dalam subset dua variabel, tampaknya pengamatan ini adalah outlier. Namun, ketika mengingatkan dataset yang lebih besar, tidaklah demikian. Oleh karena itu, ketika menjalankan proyek data science Anda sendiri, pastikan hanya memilih variabel dalam proses deteksi outlier yang menarik untuk analisis Anda.

Sisi lain MD adalah bahwa ia menggunakan mean aritmetika dan covariance matrix, sehingga sangat peka terhadap outliers dalam data. Banyak metode yang ada yang menggunakan estimasi robust untuk µ dan C. Dalam bagian berikut, saya akan menjelaskan Minimum Covariance Determinant method (MCD) sebagai contoh.

Jarak Mahalanobis Robust

MCD memberikan estimasi robust untuk µ dan C dengan hanya menggunakan subset contoh. Ia hanya menggunakan pengamatan-pengamatan di mana determinan matrix covariance adalah sekecil mungkin. MCD didefinisikan sebagai MD klasik tapi dengan estimasi robust untuk mean dan covariance:

Gambar 3

Library Python sklearn termasuk fungsi untuk memasang MCD ke dataset apapun untuk menerima matrix kovarianan dan mean yang lebih robust. Mari kembali ke contoh kita dan lihat bagaimana hasilnya berbeda:

Kita dapat melihat bahwa MD robust menemukan beberapa outlier lebih banyak daripada MD klasik. 10 outlier multivariat untuk dataset 2D contoh dan 21 outlier multivariat ketika mempertimbangkan semua fitur dari dataset Boston.

Tiga plot di bawah ini (berdasarkan dataset 2D contoh) membantu visualisasi perbedaan antara jarak measurement MD klasik (kiri) dan robust (kanan):

Kiri: CRIM vs LSTAT dengan outlier berwarna oranye menggunakan MD. Kanan: CRIM vs LSTAT dengan outlier berwarna oranye menggunakan MCD.

Penutup

Selain outlier univariat, penting juga untuk meneliti data underlying untuk mencari outlier multivariat. Keduanya dapat signifikan mempengaruhi hasil analisis data atau proyek machine learning. Dalam postingan ini, kita belajar bahwa outlier multivariat adalah kombinasi nilai yang unik dalam pengamatan dan dapat deteksi menggunakan metric jarak.

MD yang umum digunakan untuk mendeteksi outlier multivariat. Definisi klasiknya bergantung pada mean dan covariance antar semua variabel dataset. Ia, oleh karena itu, sangat peka terhadap outliers. Salah satu cara untuk menerima estimasi robust untuk mean dan covariance adalah metode MCD.

Akhirnya, perlu diingat bahwa ada beberapa cara lain untuk mendeteksi outlier univariat dan multivariat. MD hanya salah satu dari banyak metode yang ada.

References:

  • [1] Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
  • [2] Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer.

Note: This article is written in Markdown format and has a length of over 1000 words.