Mahalanobis mesafesinin en üstündeki açıklama?


127

Örüntü tanıma ve istatistik çalışıyorum ve konuyla ilgili açtığım hemen hemen her kitabı Mahalanobis mesafesi kavramına çarpıyorum . Kitaplar bir tür sezgisel açıklamalar veriyor, ama hala neler olduğunu gerçekten anlayabilmem için yeterince iyi değil. Biri bana "Mahalanobis mesafesi nedir?" Diye sorarsa. Sadece cevap verebilirdim: "Bir çeşit mesafeyi ölçen bu güzel şey" :)

Tanımlar genellikle aynı zamanda Mahalanobis mesafesine bağlanmada biraz sorun yaşadığım özvektörler ve özdeğerler içerir. Özvektörlerin ve özdeğerlerin tanımını anlıyorum, ancak Mahalanobis mesafesi ile nasıl ilişkilidir? Doğrusal Cebir vb. Tabanı değiştirmekle bir ilgisi var mı?

Konuyla ilgili şu eski soruları da okudum:

Ben de bu açıklamayı okudum .

Cevaplar iyi ve resimler güzel, ama yine de gerçekten anlamadım ... Bir fikrim var ama hala karanlıkta. Birisi "Büyükannene bunu nasıl açıklarsın?" İfadesini verebilir mi? Açıklamada nihayet bunu toparlayabileyim ve bir daha asla bir Mahalanobis mesafesinin ne olduğunu merak etmedim mi? :) Nereden geliyor, ne, neden?

GÜNCELLEME:

Mahalanobis formülünü anlamada yardımcı olan bir şey:

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

Yanıtlar:


188

Bazı çok değişkenli verilerin saçılma grafiği:

görüntü tanımını buraya girin

Eksenler dışarıda bırakıldığında ne yapabiliriz?

görüntü tanımını buraya girin

Verilerin kendileri tarafından önerilen koordinatları tanıtın.

Köken noktalarının geometrik merkezinden (bunların ortalamaları noktası) olacaktır. İlk koordinat ekseni (sonraki şekilde mavi) (tanımı gereği), varyans büyük olan herhangi bir yönüdür noktaları, "omurga" boyunca uzanır. İkinci koordinat ekseni (şekilde kırmızı) birinciye dik uzanır. (İkiden fazla boyutta, varyansın mümkün olduğu kadar büyük olduğu dik yönde seçilecektir.)

görüntü tanımını buraya girin

Bir skalaya ihtiyacımız var . Her eksen boyunca standart sapma, eksen boyunca birimler oluşturmak için güzel bir şekilde yapacaktır. 68-95-99.7 kuralını hatırlayın: noktaların yaklaşık üçte ikisi (% 68) orijin bir biriminde (eksen boyunca) olmalıdır; yaklaşık% 95'i iki birim içinde olmalıdır. Bu, doğru ünitelere göz atmayı kolaylaştırır. Başvuru için, bu şekil bu birimlerdeki birim dairesini içerir:

görüntü tanımını buraya girin

Bu gerçekten bir çember gibi görünmüyor, değil mi? Çünkü bu resim bozuluyor (iki eksendeki sayılar arasındaki farklı boşlukların gösterdiği gibi). Eksenleri uygun yönleriyle - soldan sağa ve aşağıdan yukarıya - ve birim boy oranıyla yeniden çizelim, böylece bir birim yatay olarak gerçekten bir birimi dikey olarak eşit yapar:

görüntü tanımını buraya girin

Bu resimde Mahalanobis mesafesini orijinalden ziyade ölçtünüz.

Burada ne oldu? Verilerin dağılım grafiğinde ölçümler yapmak için nasıl bir koordinat sistemi kurmamız gerektiğini bize bildirdik. Hepsi bu kadar. Yol boyunca yapmak için birkaç seçeneğimiz olmasına rağmen (her iki ekseni veya her iki ekseni de her zaman tersine çevirebiliriz ve nadir durumlarda "dikenler" üzerindeki yönler - ana yönler - benzersiz değildir), mesafeleri değiştirmezler son arsada.


Teknik yorumlar

(Büyükanneler için değil, büyük olasılıkla rakamlar yeniden ortaya çıktığı anda ilgisini kaybetmeye başlamış, ancak sorulan soruları ele almaya başlamıştır.)

  • Yeni eksenler boyunca birim vektörler özvektörlerdir (kovaryans matrisinden veya tersinden).

  • Bir daire yapmak için elips undistorting kaydetti böler kovaryans kare kökü: standart sapma her bir özvektör boyunca olan mesafeyi. İzin vermek kovaryans fonksiyonu için standı, iki nokta arasında yeni (Mahalanobis) mesafe ve mesafedir için 'nin kare kökü ile bölünen . Şimdi matris olarak gösterilmesi ve ve vektörler olarak gösterilmesi anlamında düşünmesiyle karşılık gelen cebirsel işlemler yazılır . Bu çalışıyorCxyxyC(xy,xy)Cxy(xy)C1(xy)vektörleri ve matrisleri temsil etmek için hangi temelin kullanıldığına bakılmaksızın. Özellikle, bu orijinal koordinatlardaki Mahalanobis mesafesi için doğru formül .

  • Eksenlerin son adımda genleştiği miktarlar , ters kovaryans matrisinin ( öz köşelerinin ) özdeğerleridir . Eşdeğer olarak, eksenler kovaryans matrisinin özdeğerleri (kökleri) tarafından küçülür . Böylece, saçılma miktarı arttıkça, bu elipsin bir çember haline dönüşmesi için daha fazla küçülme daha çok gerekir.

  • Bu prosedür her zaman herhangi bir veri kümesiyle çalışsa da, yaklaşık olarak çok değişkenli Normal olan veriler için bu güzel görünüyor (klasik futbol şeklindeki bulut). Diğer durumlarda ortalamalar, verilerin merkezinin iyi bir temsili olmayabilir veya "dikenler" (verideki genel eğilimler), bir yayılma ölçüsü olarak varyans kullanılarak doğru bir şekilde tanımlanmayacaktır.

  • Koordinat orijininin kayması, dönmesi ve eksenlerin genişlemesi toplu olarak bir afin dönüşümü oluşturur. Bu ilk kaymadan ayrı olarak, orijinal olandan (pozitif koordinat yönlerine işaret eden birim vektörleri kullanarak) yenisinden (birim özvektörlerin bir seçimini kullanarak) temel bir değişimdir.

  • Temel Bileşenler Analizi (PCA) ile güçlü bir bağlantı var . Tek başına bu, “nereden geliyor” ve “neden” sorularını açıklamak için uzun bir yoldur - eğer verileri tanımlamak ve ölçmek için kullandığınız koordinatları belirlemesine izin vermenin zarafeti ve faydası ile ikna olmadınız. farklılıklar.

  • Çok değişkenli Normal dağılımlar için (nokta bulutunun benzer özellikleri yerine olasılık yoğunluğunun özelliklerini kullanarak aynı yapıyı yapabileceğimiz), ifade içindeki " " yerine Mahalanobis mesafesi (yeni orijine) görünür Standart Normal dağılımın olasılık yoğunluğunu karakterize eden . Bu nedenle, yeni koordinatlarda çok değişkenli bir Normal dağılım standart Normal görünüyorxexp(12x2)orijinden geçen herhangi bir çizgiye yansıtıldığında. Özellikle, yeni koordinatların her birinde Normal standarttır. Bu açıdan bakıldığında, çok değişkenli Normal dağılımların birbirleri arasında farklılık gösterdiği tek anlamlı anlam, kullandıkları boyut açısındandır. (Bu boyut sayısının, nominal boyut sayısından daha az olabileceğini ve bazen olabileceğini unutmayın.)


3
Herhangi biri merak ederse, afin bir dönüşüm "düz çizgileri koruyan bir dönüşümdür ... ve düz bir çizgide yatan noktalar arasındaki mesafelerin oranlarıdır". (@whuber, madde işaretli noktaya böyle bir şey eklemek isteyip istemediğinizi bilmiyorum.)
gung

Aşıklık dönüşümlerinden bahsettiğimde hemen bir karakterizasyonu izlenir: bir çeviri ardından bir temel değişiklik. Bu dili seçtim, çünkü soruda kullanılanın aynısı. (Tersine çevrilemeyen doğrusal dönüşümleri kapsayacak şekilde liberal olarak “temel değişikliği”
almalıyız

13
@whuber, açıklamanız muhtemelen şimdiye kadar gördüğüm en iyisiydi. Tipik olarak, bu açıklandığında, elipslerden ve kürelerden bahsettiklerinde çok soyut bir şekilde kaplanır ve ne anlama geldiklerini göstermekte başarısız olurlar. Eksen dönüşümünün veri dağılımını bir “küreye” nasıl dönüştürdüğünü gösterdiğiniz için size teşekkür ederiz, böylece mesafe bir veri boyutunun hali hazırda olduğu gibi, veri ortalamasından veri sd katları olarak “görülebilir”. veri. Bu görselleştirme bence anahtar ve maalesef konuyla ilgili tartışmaların dışında bırakılıyor. İyi iş --- senin explanati

Güçlü bir PCA var mı? Kovaryans matrisinin boyutuna bakarken, outlier veri noktalarını atmamıza izin veren bir değişiklik mi?
EngrStudent

@Enr Tabii: kovaryans matrisinin sağlam bir tahmini, güçlü bir PCA'ya yol açacaktır. Sağlam PCA ile ilgili soruların cevaplarında referanslarla gösterildiği gibi başka doğrudan yöntemler de mevcuttur .
whuber

37

Büyük annem yemek yapıyor. Seninki de olabilir. Yemek pişirmek, istatistikleri öğretmenin lezzetli bir yoludur.

Kabak Habanero çerezleri harika! Noel'de ne kadar harika tarçın ve zencefilin olabileceğini düşünün , sonra kendi başlarına ne kadar sıcak olduklarını fark edin.

İçerikler:

  • habanero biber (10, ekili ve ince kıyılmış)
  • şeker (1,5 su bardağı)
  • tereyağı (1 su bardağı)
  • vanilya özü (1 çay kaşığı)
  • yumurta (2 orta)
  • un (2.75 su bardağı)
  • kabartma tozu (1 çay kaşığı)
  • tuz (1 çay kaşığı)

Etki alanınızın, bileşen hacimleri olması için koordinat eksenlerinizi hayal edin. Şeker. Un. Tuz. Karbonat. Bu yönler boyunca ki değişimler, hepsinin eşit olması, habanero biber sayısındaki çeşitlilik olarak lezzet kalitesine neredeyse hiç etki etmiyor. Un veya tereyağındaki% 10'luk bir değişim onu ​​daha az harika yapar, ancak katil yapmaz. Sadece küçük bir miktar daha fazla habanero eklemek, sizi bağımlılık yaratan tatlıdan testosteron bazlı acı yarışmasına kadar uçurumun üzerinden atar.

Mahalanobis, “bileşen hacimlerinde” “en iyi lezzet” ten uzakta olduğu kadar bir mesafe değildir. Değişime karşı çok hassas olan gerçekten "güçlü" içerikler, en dikkatli şekilde kontrol etmeniz gerekenlerdir.

Herhangi bir Gauss dağılımına karşı Standart Normal dağılım hakkında herhangi bir şey düşünürseniz , fark nedir? Merkez eğilime (ortalama) ve değişim eğilimine (standart sapma) dayalı merkez ve ölçek. Biri diğerinin koordinat dönüşümüdür. Mahalanobis bu dönüşümdür. İlgi dağılımınız bir Gauss yerine standart bir normal olarak yeniden ele geçirildiyse dünyanın neye benzediğini gösterir.


4
Gauss dağılımları vardır Normal dağılımlar, yani ne fark Eğer son paragrafta yapmaya çalışıyoruz?
whuber

1
@Whuber - standart. Standart demek istedim. Söylediğimi sandım. Düzenleme geçmişini kontrol etmelisiniz. Aşağıdaki cümleler ana düşünceyi tekrarlar.
EngrStudent

2
Eğer "tarafından daha sonra ne anlama geliyor Gauss dağılımı"?
whuber

1
Daha iyi? Herhangi bir ortalama ve varyansa sahip bir Gauss dağılımı olabilir - ancak dönüşüm, ortalamayı çıkartarak ve standart sapma ile ölçeklendirerek standart normale eşler.
EngrStudent

4
Evet, şimdi daha açık. Yine de aynı şeyi ifade etmek için iki terim (Gaussian ve normal) kullandığınız için şaşkına döndüm. Ayrıca, son değişkeninizle ilgili biraz kafam karıştı, bu her çok değişkenli dağılımın standart bir Normal'e çevrilebileceğini söylüyor (ki bu bağlantıya bağladığınız tanıma göre tek değişkendir ): Sanırım standart görünmek için yapılabileceğinizi düşünüyorum Her bileşende normal . Ne olursa olsun, başladığınız analoji güzel.
whuber

10

Bir başlangıç noktası olarak, her zamanki Öklit mesafesi uygun bir deformasyonu olarak Mahalanobis mesafe görecekti vektörleri arasında ve de . Buradaki ek bilgi, ve aslında rastgele vektörler, yani tartışmamızın arka planında yatan, rastgele değişkenlerin bir vektörünün 2 farklı gerçekleşmesidir . Mahalanobis'in ele almaya çalıştığı soru şudur:d(x,y)=x,yxyRnxyX

" aynı çok değişkenli rastgele değişkeni gerçekleştirdiklerini bilerek, ve arasındaki" farklılığı "nasıl ölçebilirim ?" xy

Açıkçası, herhangi bir gerçekleştirmenin kendisiyle olan farklılığı 0'a eşit olmalıdır; dahası, farklılık, gerçekleşmelerin simetrik bir işlevi olmalı ve arka planda rastgele bir sürecin varlığını yansıtmalıdır. Bu son özellik, çok değişkenli rasgele değişkenin kovaryans matrisi tanıtılarak dikkate alınır .xC

Oldukça doğal olarak ulaştığımız yukarıdaki fikirleri toplayarak

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

Çok değişkenli rasgele değişkenin bileşenleri ile ilişkili değilse, örneğin, ( olması için 'yi "normalize ettik") ), sonra Mahalanobis mesafesi , ve arasındaki Euclidean mesafesidir . Önemsiz olmayan ilişkilerde, (tahmini) korelasyon matrisi , Öklid mesafesini "deforme eder".XiX=(X1,,Xn)Cij=δijXiVar(Xi)=1D(x,y) xyC(x,y)


9

İki değişkenli durumu ele alalım. İki değişkenli normalin bu resmini görünce (teşekkürler @whuber), AB'nin AC'den daha büyük olduğunu iddia edemezsiniz. Olumlu bir kovaryans vardır; iki değişken birbiriyle ilgilidir.

Basit değişkenler (AB ve AC gibi düz çizgiler) sadece değişkenler kullanılıyorsa uygulayabilirsiniz.

  1. bağımsız
  2. varyansların 1'e eşit olması

Temel olarak, Mahalanobis uzaklık ölçüsü aşağıdakileri yapar: değişkenleri 1'e eşit varyanslarla ilişkisiz değişkenlere dönüştürür ve sonra basit Öklid mesafesini hesaplar.


1
Buradaki cevabınızda gösterildiği gibi bir grafikte bir korelasyon gördüğümde, sadece Öklid mesafesinden ziyade Mahalanobis'i hesaplamayı düşünmem gerektiğini mi söylüyorsunuz? Hangisini ne zaman kullanacağımı bana ne söylerdi?
sandyp

7

Seni olabildiğince açıklamaya çalışacağım:

Mahalanobis mesafesi, x noktasının bir veri dağılımından olan mesafesini ölçer. Veri dağılımı bir ortalama ve kovaryans matrisi ile karakterize edilir, bu nedenle çok değişkenli bir gauss olarak varsayılır.

Örüntü tanımada, örüntü (bir sınıfın eğitim örneğinin veri dağılımı) ile test örneği arasındaki benzerlik ölçüsü olarak kullanılır. Kovaryans matrisi, verinin özellik alanında nasıl dağıldığının şeklini verir.

Şekil, üç farklı sınıfı ve kırmızı çizgi, her bir sınıf için aynı Mahalanobis mesafesini gösterir.  Kırmızı çizgide yatan tüm noktalar sınıf ortalamasına aynı mesafeye sahiptir, çünkü kovaryans matrisi kullanılır.

Şekil, üç farklı sınıfı ve kırmızı çizgi, her bir sınıf için aynı Mahalanobis mesafesini gösterir. Kırmızı çizgide yatan tüm noktalar sınıf ortalamasına aynı mesafeye sahiptir, çünkü kovaryans matrisi kullanılır.

Temel özellik kovaryansın normalizasyon faktörü olarak kullanılmasıdır.


6

Whuber'in mükemmel cevabına biraz teknik bilgi eklemek istiyorum. Bu bilgi büyükannenin ilgisini çekmeyebilir, ama belki de torunu onu yararlı bulur. Aşağıdaki, ilgili lineer cebirin bir yukarıdan aşağıya açıklamasıdır.

Mahalanobis mesafesi , burada bazı veriler için kovaryans matrisinin bir tahminidir; bu simetrik olduğu anlamına gelir. tahmin etmek için kullanılan sütunlar doğrusal olarak bağımlı değilse, pozitif kesindir. Simetrik matrisler köşegenleştirilebilir ve özdeğerleri ve özvektörleri gerçektir. PD matrislerinin hepsi pozitif olan özdeğerlere sahiptir. Özvektörler birim uzunluğa sahip olarak seçilebilir ve ortogonal (yani ortonormal) olabilir, bu yüzden ve yazabiliriz . Bunu mesafe tanımına sokmak,d(x,y)=(xy)TΣ1(xy)ΣΣΣΣ=QTDQΣ1=QD12D12QTd(x,y)=[(xy)TQ]D12D12[QT(xy)]=zTz . Açıkça, köşeli parantez içindeki ürünler devredilmiştir ve ile çarpmanın etkisi vektörü ortogonal bir temele döndürmektir . Son olarak, , köşegen ve köşegen üzerindeki her eleman ters çevrilerek, ardından karekök alarak, her vektörün her elemanını yeniden ölçeklendirir. Aslında, , ortogonal alandaki her bir özelliğin tam tersi standart sapmasıdır (örn.Q(xy)D12D12D1hassas bir matris ve veriler dikey olarak olduğundan, matris köşegendir). Bunun etkisi, Whuber'in döndürülmüş bir elips olarak adlandırdığı şeyi eksenlerini "düzleştirerek" bir daireye dönüştürmektir. Açıkça kare birimlerle ölçülür, bu nedenle karekök almak mesafeyi orijinal birimlere döndürür.zTz


5

Bu soruyu cevaplamak için biraz gecikebilirim. Bu kağıt burada Mahalonobis mesafe anlamak için iyi bir başlangıçtır. Sayısal değerlere sahip eksiksiz bir örnek sağlarlar. Bu konuda sevdiğim şey, sorunun geometrik temsilidir.


4

Sadece yukarıdaki mükemmel açıklamaları eklemek için, Mahalanobis mesafesi doğal olarak (çok değişkenli) doğrusal regresyonda ortaya çıkar. Bu, Mahalanobis mesafesi ile diğer cevaplarda tartışılan Gauss dağılımı arasındaki bağlantıların basit bir sonucudur, ancak yine de dile getirilmeye değer olduğunu düşünüyorum.

Diyelim ki bazı verilerimiz var , ve . En parametre vektör var olduğunu kabul edelim ve bir parametre matrisi şekilde , iid ortalama boyutlu Gauss rastgele vektörler ve kovaryans (ve bağımsız ). Daha sonra verilen , ortalama olan(x1,y1),,(xN,yN)xiRnyiRmβ0Rmβ1Rm×nyi=β0+β1xi+ϵiϵ1,,ϵNm0Cxiyixiβ0+β1xi ve kovaryans .C

Negatif log-olasılık izler verilen (bir fonksiyonu olarak ) ile verilir kovaryansını sabit olarak alıyoruz , bu yüzden burada , arasındaki Mahalanobis mesafesidir.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 .

Bağımsızlık, log olasılık ile ait verilen toplamı, toplamıyla verilir. Bu nedenle, burada faktör , argmin'i etkilemez.logp(yx;β)y=(y1,,yN)x=(x1,,xN)

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

Özetle, gözlemlenen verilerin negatif log olasılığını en aza indiren (yani olasılığını en üst düzeye çıkaran) katsayıları , Mahalanobis mesafesi tarafından verilen kayıp fonksiyonu ile verilerin ampirik riskini de en aza indirir.β0,β1


1
Pek iyi değil. karşılık gelen terim işleri biraz değiştirir. Ve diğer boyuta odaklanmış gibisiniz: Mahalanobis mesafesi aslında sütunların kapsadığı boyutlu alanda çok daha önemli bir rol oynamaktadır , çünkü bu kaldıraçla ilgilidir. Bununla birlikte, okuyucular muhtemelen , notasyonunuzdaki ve rollerinin tersine çevrilmesi nedeniyle, kafanız karışacaktır: parametre vektörü ve tasarım matrisidir! logdetCnxβxβ
whuber

Niyetim buradaki tek bir etiketli eğitim örneğini göstermekti (yani burada tasarım matrisi yok); bir vektör olmasının nedeni , çok değişkenli regresyon yapıyorum (aksi takdirde gürültü terimi , tek değişkenli bir Gaussian olacaktır, kovaryans matrisi olmaz ve örnek çok önemsiz görünebilir). Belki de yazımım standart değil, çünkü geçmişim istatistiklerde değil. teriminin varlığına ilişkin olarak , ne demek istediğim . (x,y)yϵlogdetCargminβ[logp(yx;β)]=argminβ(yβx)C1(yβx)
Ben CW

Okuyucuların tahmin etmesini istemek yerine sembollerinizin neye işaret ettiğini açıklamak önemlidir. Muhtemelen açıklamanız iyi bir yazıdır, ancak o açıklama olmadan (ki bu son yorumla başlamışsınızdır) çoğu okuyucunun anlamınızı anlama konusunda sorun yaşayacağından şüpheleniyorum.
whuber

2
Senin değinmek istediğin noktayı anlıyorum. Bu cevaba bazı fikirleri dahil etmek için orijinal cevabı değiştirdim.
Ben CW,

2

Mahalanobis mesafesi, verilerin kovaryansını hesaba katan bir öklid mesafesidir (doğal mesafe). Gürültülü bileşene daha büyük ağırlık verir ve bu nedenle iki veri kümesi arasındaki benzerliği kontrol etmek için çok kullanışlıdır.

Değişkenler ilişkilendirildiğinde örnekleminizde burada görebileceğiniz gibi , dağılım bir yöne kaydırılır. Bu efektleri kaldırmak isteyebilirsiniz. Mesafenizdeki korelasyonu hesaba katarsanız, shift efektini kaldırabilirsiniz.


2
Mahalanobis mesafesinin , orada "daha büyük" ağırlıklar vermekten ziyade, büyük kovaryans yönlerine etkili bir şekilde daha düşük olduğuna inanıyorum .
whuber
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.