Penjelasan dari bawah ke atas tentang jarak Mahalanobis?

127

Saya sedang mempelajari pengenalan pola dan statistik dan hampir setiap buku yang saya buka tentang subjek saya menabrak konsep jarak Mahalanobis . Buku-buku memberikan semacam penjelasan intuitif, tetapi masih belum cukup baik bagi saya untuk benar-benar mengerti apa yang sedang terjadi. Jika seseorang bertanya kepada saya, "Berapa jarak Mahalanobis?" Saya hanya bisa menjawab: "Ini hal yang baik, yang mengukur jarak dari beberapa jenis" :)

Definisi biasanya juga mengandung vektor eigen dan nilai eigen, yang saya punya sedikit kesulitan menghubungkan ke jarak Mahalanobis. Saya mengerti definisi vektor eigen dan nilai eigen, tetapi bagaimana kaitannya dengan jarak Mahalanobis? Apakah ada hubungannya dengan mengubah basis di Aljabar Linier, dll.?

Saya juga membaca pertanyaan-pertanyaan sebelumnya tentang masalah ini:

Saya juga sudah membaca penjelasan ini .

Jawabannya bagus dan gambarnya bagus, tapi tetap saja saya tidak benar - benar mengerti ... Saya punya ide tapi masih gelap. Dapatkah seseorang memberikan penjelasan "Bagaimana Anda menjelaskannya kepada nenek Anda" sehingga saya akhirnya bisa menyelesaikan ini dan tidak pernah lagi bertanya-tanya apa sih jarak Mahalanobis? :) Dari mana asalnya, apa, mengapa?

MEMPERBARUI:

Berikut adalah sesuatu yang membantu memahami rumus Mahalanobis:

https://math.stackexchange.com/questions/428064/distance-of-a-test-point-from-the-center-of-an-ellipsoid

jjepsuomi
sumber

Jawaban:

188

Berikut adalah sebar beberapa data multivarian (dalam dua dimensi):

masukkan deskripsi gambar di sini

Apa yang bisa kita lakukan ketika kapak ditinggalkan?

masukkan deskripsi gambar di sini

Memperkenalkan koordinat yang disarankan oleh data itu sendiri.

The asal akan berada pada pusat dari titik-titik (titik rata-rata mereka). The pertama sumbu koordinat (biru pada gambar berikutnya) akan memperpanjang sepanjang "tulang" dari titik-titik, yang (menurut definisi) adalah setiap arah di mana varians adalah yang terbesar. The sumbu koordinat kedua (merah pada gambar) akan memperpanjang tegak lurus dengan yang pertama. (Dalam lebih dari dua dimensi, itu akan dipilih ke arah tegak lurus di mana varians sebesar mungkin, dan sebagainya.)

masukkan deskripsi gambar di sini

Kami membutuhkan skala . Deviasi standar di sepanjang masing-masing sumbu akan bekerja dengan baik untuk membangun unit di sepanjang sumbu. Ingat aturan 68-95-99.7: sekitar dua pertiga (68%) poin harus berada dalam satu unit asal (sepanjang sumbu); sekitar 95% harus dalam dua unit. Itu membuatnya mudah untuk mengamati unit yang benar. Untuk referensi, angka ini termasuk lingkaran unit di unit ini:

masukkan deskripsi gambar di sini

Itu tidak benar-benar terlihat seperti lingkaran, bukan? Itu karena gambar ini terdistorsi (dibuktikan dengan jarak yang berbeda di antara angka-angka pada kedua sumbu). Mari menggambar ulang dengan sumbu dalam orientasi yang tepat - kiri ke kanan dan bawah ke atas - dan dengan rasio aspek unit sehingga satu unit secara horizontal benar-benar sama dengan satu unit secara vertikal:

masukkan deskripsi gambar di sini

Anda mengukur jarak Mahalanobis di gambar ini daripada di aslinya.

Apa yang terjadi disini? Kami membiarkan data memberi tahu kami bagaimana membangun sistem koordinat untuk melakukan pengukuran di sebar. Hanya itu saja. Meskipun kami memiliki beberapa pilihan untuk dibuat di sepanjang jalan (kami selalu dapat membalikkan salah satu atau kedua sumbu; dan dalam situasi yang jarang terjadi arah di sepanjang "duri" - arah utama - tidak unik), mereka tidak mengubah jarak. dalam plot terakhir.


Komentar teknis

(Bukan untuk nenek, yang mungkin mulai kehilangan minat begitu nomor muncul kembali di plot, tetapi untuk mengatasi pertanyaan yang tersisa yang diajukan.)

  • Vektor satuan sepanjang sumbu baru adalah vektor eigen (baik dari matriks kovarians atau kebalikannya).

  • Kami mencatat bahwa tidak merinci elips untuk membuat lingkaran membagi jarak sepanjang setiap vektor eigen dengan standar deviasi: akar kuadrat dari kovarians. Membiarkan berarti fungsi kovarians, jarak baru (Mahalanobis) antara dua titik dan adalah jarak dari ke dibagi dengan akar kuadrat dari . Operasi aljabar yang sesuai, sekarang berpikir tentang dalam hal representasi sebagai matriks dan dan dalam hal representasi mereka sebagai vektor, ditulis . Ini bekerjaCxyxyC(xy,xy)Cxy(xy)C1(xy)terlepas dari dasar apa yang digunakan untuk mewakili vektor dan matriks. Secara khusus, ini adalah rumus yang benar untuk jarak Mahalanobis dalam koordinat asli.

  • Jumlah di mana sumbu diperluas pada langkah terakhir adalah (akar kuadrat dari) nilai eigen dari matriks kovarians terbalik. Secara ekuivalen, sumbu menyusut oleh nilai akar (dari) matriks kovarian. Jadi, semakin banyak pencar, semakin banyak penyusutan yang dibutuhkan untuk mengubah elips itu menjadi lingkaran.

  • Meskipun prosedur ini selalu berfungsi dengan dataset apa pun, tampilannya bagus (cloud berbentuk sepak bola klasik) untuk data yang kira-kira multivariat Normal. Dalam kasus lain, titik rata-rata mungkin bukan representasi pusat data yang baik atau "duri" (tren umum dalam data) tidak akan diidentifikasi secara akurat menggunakan varians sebagai ukuran penyebaran.

  • Pergeseran asal koordinat, rotasi, dan perluasan sumbu secara kolektif membentuk transformasi afin. Terlepas dari perubahan awal itu, ini adalah perubahan basis dari yang asli (menggunakan vektor satuan yang menunjuk ke arah koordinat positif) ke yang baru (menggunakan pilihan vektor eigen satuan).

  • Ada hubungan yang kuat dengan Principal Components Analysis (PCA) . Itu saja berjalan jauh menuju menjelaskan "dari mana asalnya" dan "mengapa" pertanyaan - jika Anda belum yakin dengan keanggunan dan utilitas membiarkan data menentukan koordinat yang Anda gunakan untuk menggambarkan mereka dan mengukur mereka perbedaan.

  • Untuk distribusi Normal multivarian (di mana kita dapat melakukan konstruksi yang sama menggunakan properti dari probabilitas kepadatan dan bukan properti analog dari cloud titik), jarak Mahalanobis (ke asal baru) muncul di tempat " " dalam ekspresi yang mencirikan kepadatan probabilitas dari distribusi Normal standar. Dengan demikian, dalam koordinat baru, distribusi Normal multivarian terlihat Normal standarxexp(12x2)ketika diproyeksikan ke garis apa pun melalui titik asal. Secara khusus, ini adalah standar Normal di setiap koordinat baru. Dari sudut pandang ini, satu-satunya pengertian substansial di mana distribusi Normal multivariat berbeda satu sama lain adalah dalam hal berapa banyak dimensi yang mereka gunakan. (Perhatikan bahwa jumlah dimensi ini mungkin, dan kadang-kadang, kurang dari jumlah nominal dimensi.)

whuber
sumber
3
Jika ada yang penasaran, transformasi affine adalah "adalah transformasi yang mempertahankan garis lurus ... dan rasio jarak antara titik yang terletak pada garis lurus". (@whuber, saya tidak tahu apakah Anda mungkin ingin menambahkan sesuatu seperti ini di titik poin.)
gung
@ Gung Penyebutan saya tentang transformasi affine segera diikuti oleh karakterisasi mereka: terjemahan diikuti oleh perubahan basis. Saya memilih bahasa ini karena sama dengan yang digunakan dalam pertanyaan. (Kita harus mengambil "perubahan basis" agak bebas untuk mencakup transformasi linear yang tidak dapat dibalik: itu adalah masalah penting untuk PCA, yang secara efektif menjatuhkan beberapa elemen dasar.)
whuber
13
@whuber, penjelasan Anda mungkin yang terbaik yang pernah saya lihat. Biasanya, ketika ini dijelaskan, itu tercakup sangat abstrak ketika mereka menyebutkan ellipsoid dan bola, dan mereka gagal menunjukkan apa artinya. Kudos kepada Anda untuk menunjukkan bagaimana transformasi sumbu mengubah distribusi data menjadi "bola" sehingga jarak dapat "dilihat" sebagai multples sd data dari rata-rata data, seperti halnya kasus untuk satu dimensi data. Visualisasi ini menurut saya adalah kuncinya, dan sayangnya tidak disertakan dalam sebagian besar diskusi tentang topik tersebut.
Apakah ada PCA yang kuat? Variasi yang memungkinkan kita membuang titik data outlier ketika melihat ukuran matriks kovarians?
EngrStudent
@ Enngr Sure: setiap estimasi kuat dari matriks kovarians akan mengarah ke PCA yang kuat. Metode langsung lainnya ada, seperti yang ditunjukkan oleh referensi untuk menjawab pertanyaan tentang PCA yang kuat .
whuber
37

Nenek saya memasak. Anda mungkin juga. Memasak adalah cara yang enak untuk mengajarkan statistik.

Kue Labu Habanero luar biasa! Pikirkan betapa indahnya kayu manis dan jahe dalam suguhan Natal, kemudian sadari betapa panasnya mereka sendiri.

Bahan-bahannya adalah:

  • habanero peppers (10, diunggulkan dan dicincang halus)
  • gula (1,5 gelas)
  • mentega (1 cangkir)
  • ekstrak vanila (1 sdt)
  • telur (2 sedang)
  • tepung (2,75 gelas)
  • baking soda (1 sdt)
  • garam (1 sdt)

Bayangkan sumbu koordinat Anda untuk domain Anda menjadi volume bahan. Gula. Tepung. Garam. Bubuk soda kue. Variasi sepanjang arah itu, semuanya sama, hampir tidak memiliki dampak terhadap kualitas rasa sebagai variasi dalam jumlah habanero peppers. Perubahan 10% tepung atau mentega akan membuatnya kurang enak, tetapi tidak mematikan. Menambahkan sedikit habanero akan membuat Anda jatuh dari tebing rasa dari makanan pencandu kecanduan ke kontes rasa sakit berbasis testosteron.

Mahalanobis tidak terlalu jauh dalam "volume bahan" seperti jarak dari "rasa terbaik". Bahan-bahan yang benar-benar "kuat", bahan yang sangat sensitif terhadap variasi, adalah bahan yang harus Anda kontrol dengan sangat hati-hati.

Jika Anda berpikir tentang distribusi Gaussian vs. distribusi Standard Normal , apa bedanya? Pusat dan skala berdasarkan kecenderungan pusat (rata-rata) dan kecenderungan variasi (standar deviasi). Salah satunya adalah transformasi koordinat yang lain. Mahalanobis adalah transformasi itu. Ini menunjukkan kepada Anda seperti apa dunia jika distribusi minat Anda ditampilkan kembali sebagai standar normal alih-alih Gaussian.

EngrStudent
sumber
4
Distribusi Gaussian adalah distribusi normal, jadi perbedaan apa yang Anda coba buat dalam paragraf terakhir Anda?
Whuber
1
@ Wouber - standar. Maksud saya standar. Kupikir aku mengatakannya. Harus memeriksa riwayat sunting. Kalimat berikut mengulangi pikiran utama.
EngrStudent
2
Apakah pendapat Anda maksud dengan " the distribusi Gaussian"?
whuber
1
Lebih baik? Ini bisa berupa distribusi Gaussian dengan rerata dan varian apa pun - tetapi peta transformasi ke standar normal dengan mengurangi rerata dan penskalaan dengan deviasi standar.
EngrStudent
4
Ya, sekarang lebih jelas. Saya bingung mengapa Anda menggunakan dua istilah (Gaussian dan normal) untuk merujuk pada hal yang sama, tetapi tidak apa-apa karena Anda telah menjelaskannya. Saya juga sedikit bingung tentang klaim terakhir Anda, yang sepertinya mengatakan bahwa setiap distribusi multivarian dapat diubah menjadi Normal standar (yang menurut definisi yang Anda tautkan adalah univariat ): Saya pikir maksud Anda maksudnya dapat dibuat terlihat standar Normal di setiap komponen. Apa pun itu, analogi yang Anda gunakan untuk memulai itu bagus.
whuber
10

Sebagai titik awal, saya akan melihat jarak Mahalanobis sebagai deformasi yang cocok dari jarak Euclidean biasa antara vektor dan dalam . Sepotong informasi tambahan di sini adalah bahwa dan sebenarnya vektor acak , yaitu 2 realisasi berbeda dari vektor variabel acak, terletak di latar belakang diskusi kita. Pertanyaan yang coba ditangani oleh Mahalanobis adalah sebagai berikut:d(x,y)=x,yxyRnxyX

"Bagaimana saya bisa mengukur" ketidaksamaan "antara dan , mengetahui bahwa mereka adalah realisasi dari variabel acak multivariat yang sama?" yxy

xC

Mengumpulkan ide-ide di atas kita alami secara alami

D(x,y)=(xy)C1(xy)

XiX=(X1,,Xn)Cij=δijXiVar(Xi)=1D(x,y) xyC(x,y)

Avitus
sumber
9

Mari kita perhatikan kasus dua variabel. Melihat gambar bivariat normal ini (terima kasih @whuber), Anda tidak dapat dengan mudah mengklaim bahwa AB lebih besar dari AC. Ada kovarians positif; kedua variabel tersebut saling terkait satu sama lain.

Anda dapat menerapkan pengukuran Euclidean sederhana (garis lurus seperti AB dan AC) hanya jika variabelnya

  1. independen
  2. memiliki varian sama dengan 1.

Pada dasarnya, ukuran jarak Mahalanobis melakukan hal berikut: itu mengubah variabel menjadi variabel tidak berkorelasi dengan varian sama dengan 1, dan kemudian menghitung jarak Euclidean sederhana.

den2042
sumber
1
Apakah Anda menyarankan bahwa setiap kali saya melihat korelasi dalam grafik seperti yang ditunjukkan dalam jawaban Anda di sini, saya hanya harus berpikir tentang menghitung Mahalanobis daripada jarak Euclidean? Apa yang akan memberitahu saya kapan harus menggunakan yang mana?
sandyp
7

Saya akan mencoba menjelaskan Anda sesederhana mungkin:

Jarak Mahalanobis mengukur jarak suatu titik x dari suatu distribusi data. Distribusi data dicirikan oleh mean dan matriks kovarian, dengan demikian dihipotesiskan sebagai gaussian multivariat.

Ini digunakan dalam pengenalan pola sebagai ukuran kesamaan antara pola (distribusi data contoh pelatihan kelas) dan contoh uji. Matriks kovarians memberikan bentuk bagaimana data didistribusikan dalam ruang fitur.

Angka tersebut menunjukkan tiga kelas yang berbeda dan garis merah menunjukkan jarak Mahalanobis yang sama untuk setiap kelas.  Semua titik yang terletak di garis merah memiliki jarak yang sama dari mean kelas, karena digunakan matriks kovarians.

Angka tersebut menunjukkan tiga kelas yang berbeda dan garis merah menunjukkan jarak Mahalanobis yang sama untuk setiap kelas. Semua titik yang terletak di garis merah memiliki jarak yang sama dari mean kelas, karena digunakan matriks kovarians.

Fitur kuncinya adalah penggunaan kovarians sebagai faktor normalisasi.

robbisg
sumber
6

Saya ingin menambahkan sedikit informasi teknis ke jawaban Whuber yang luar biasa. Informasi ini mungkin tidak menarik bagi nenek, tetapi mungkin cucunya akan merasa terbantu. Berikut ini adalah penjelasan dari bawah ke atas dari aljabar linier yang relevan.

d(x,y)=(xy)TΣ1(xy)ΣΣΣΣ=QTDQΣ1=QD12D12QTd(x,y)=[(xy)TQ]D12D12[QT(xy)]=zTzQ(xy)D12D12D1zTz

Sycorax
sumber
5

Saya mungkin agak terlambat untuk menjawab pertanyaan ini. Makalah ini di sini adalah awal yang baik untuk memahami jarak Mahalanobis. Mereka memberikan contoh lengkap dengan nilai numerik. Apa yang saya suka tentang itu adalah representasi geometris dari masalah yang disajikan.

CroCo
sumber
4

Hanya untuk menambah penjelasan yang sangat baik di atas, jarak Mahalanobis muncul secara alami dalam regresi linier (multivarian). Ini adalah konsekuensi sederhana dari beberapa koneksi antara jarak Mahalanobis dan distribusi Gaussian yang dibahas dalam jawaban lain, tapi saya pikir itu tetap perlu dieja.

(x1,y1),,(xN,yN)xiRnyiRmβ0Rmβ1Rm×nyi=β0+β1xi+ϵiϵ1,,ϵNm0Cxiyixiβ0+β1xiC

yixiβ=(β0,β1)

logp(yixi;β)=m2log(2πdetC)+12(yi(β0+β1xi))C1(yi(β0+βxi)).
C
argminβ[logp(yixi;β)]=argminβDC(β0+β1xi,yi),
DC(y^,y)=(yy^)C1(yy^)
y^,yRm

Dengan independensi, kemungkinan dari diberikan diberikan oleh jumlah Oleh karena itu, mana faktor tidak memengaruhi argmin.logp(yx;β)y=(y1,,yN)x=(x1,,xN)

logp(yx;β)=i=1Nlogp(yixi;β)
1/N
argminβ[logp(yx;β)]=argminβ1Ni=1NDC(β0+β1xi,yi),
1/N

Singkatnya, koefisien yang meminimalkan kemungkinan log-negatif (yaitu memaksimalkan kemungkinan) data yang diamati juga meminimalkan risiko empiris data dengan fungsi kehilangan yang diberikan oleh jarak Mahalanobis.β0,β1

Ben CW
sumber
1
Ya tidak cukup. Istilah itu terkait dengan mengubah banyak hal. Dan Anda tampaknya telah difokuskan pada dimensi lain: jarak Mahalanobis sebenarnya memainkan peran yang jauh lebih penting dalam dimensi ruang yang direntang oleh kolom, karena yang berhubungan dengan memanfaatkan. Pembaca kemungkinan akan bingung oleh hal itu, karena pembalikan peran dan dalam notasi Anda: adalah vektor parameter dan matriks desain! n x βlogdetCnxβxβ
Whuber
Maksud saya adalah sini untuk menunjukkan contoh pelatihan berlabel tunggal (jadi tidak ada matriks desain di sini); alasan adalah vektor adalah karena saya melakukan regresi multivariat (jika tidak, istilah noise akan menjadi variabel tunggal Gaussian, tidak akan ada matriks kovarians, dan contohnya mungkin terlihat terlalu sepele). Mungkin notasi saya tidak standar, karena latar belakang saya tidak dalam statistik. Mengenai keberadaan istilah , yang saya maksud adalah . y ϵ log det C a r g m i n β [ - log p ( y x ; β ) ] = a r g m i n β (x,y)yϵlogdetCargminβ[logp(yx;β)]=argminβ(yβx)C1(yβx)
Ben CW
Penting untuk menjelaskan apa yang merujuk simbol Anda daripada meminta pembaca untuk menebak. Sangat mungkin penjelasan Anda bagus, tetapi tanpa penjelasan itu (yang telah Anda mulai dengan komentar terakhir) saya menduga sebagian besar pembaca akan kesulitan memahami makna Anda.
Whuber
2
Saya mengerti maksud Anda. Saya telah mengedit jawaban asli untuk memasukkan beberapa ide dalam komentar ini.
Ben CW
2

Jarak Mahalanobis adalah jarak euclidian (jarak alami) yang memperhitungkan kovarians data. Ini memberikan bobot lebih besar untuk komponen berisik dan sangat berguna untuk memeriksa kesamaan antara dua set data.

Seperti yang dapat Anda lihat dalam contoh Anda di sini ketika variabel dikorelasikan, distribusi digeser menjadi satu arah. Anda mungkin ingin menghapus efek ini. Jika Anda mempertimbangkan korelasi dalam jarak Anda, Anda dapat menghapus efek shift.

lcrmorin
sumber
2
Saya percaya jarak Mahalanobis efektif downweights arah besar-kovarians, daripada memberi "lebih besar" bobot sana.
whuber