Mahalanobis 거리에 대한 하단에서 상단까지의 설명?


127

나는 패턴 인식과 통계 그리고 Mahalanobis distance 의 개념에 부딪힌 주제에 관해 열 었던 거의 모든 책을 연구하고 있습니다 . 이 책은 일종의 직관적 인 설명을 제공하지만, 실제로 무슨 일이 일어나고 있는지 실제로 이해하기에는 충분하지 않습니다. 누군가가 "말라 노비스 거리는 얼마입니까?" 나는 단지 대답 할 수 있었다 : "이 종류의 거리를 측정하는 것은 좋은 일이다":)

정의에는 일반적으로 고유 벡터와 고유 값도 포함되는데, 이는 Mahalanobis 거리에 연결하는 데 약간의 문제가 있습니다. 고유 벡터와 고유 값의 정의를 이해하지만 Mahalanobis 거리와 어떤 관련이 있습니까? 선형 대수 등의 밑면을 바꾸는 것과 관련이 있습니까?

나는 또한 주제에 관한 이전의 질문들을 읽었습니다.

나는 또한 이 설명을 읽었다 .

대답은 좋은 좋은 사진입니다,하지만 여전히 나는하지 않습니다 정말 좋은 생각을 가지고 있지만 그것은 어둠 속에서 아직 ... 그것을 얻을. 누군가가 "어머니에게 어떻게 설명하겠습니까?"라는 설명을 줘서 마침내 이것을 마무리하고 다시 도대체 Mahalanobis 거리가 무엇인지 궁금해하지 않을 수 있습니까? :) 어디서, 왜, 왜?

최신 정보:

다음은 Mahalanobis 공식을 이해하는 데 도움이되는 것입니다.

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

답변:


188

다음은 일부 다변량 데이터의 산점도입니다 (2 차원).

여기에 이미지 설명을 입력하십시오

축이 빠졌을 때 무엇을 만들 수 있습니까?

여기에 이미지 설명을 입력하십시오

데이터 자체에서 제안하는 좌표를 소개하십시오.

기원은 점의 중심 (그들의 평균의 점)에있을 것입니다. 첫 번째 좌표 축 (다음 그림에서 파란색)은 점의 "척추"를 따라 확장되며, 정의에 따라 분산이 가장 큰 방향입니다. 두 번째 좌표 축 (그림에서 빨간색)은 첫 번째 축에 수직으로 연장됩니다. (2 차원 이상에서, 분산이 가능한 큰 등의 수직 방향으로 선택됩니다.)

여기에 이미지 설명을 입력하십시오

우리는 규모 가 필요합니다 . 각 축을 따라 표준 편차는 축을 따라 단위를 설정하는 데 적합합니다. 68-95-99.7 규칙을 기억하십시오. 점의 약 2/3 (68 %)는 원점의 한 단위 (축을 따라) 내에 있어야합니다. 약 95 %는 두 단위 내에 있어야합니다. 따라서 올바른 단위를 쉽게 볼 수 있습니다. 참고로이 그림에는 다음과 같은 단위 원 단위가 포함되어 있습니다.

여기에 이미지 설명을 입력하십시오

그것은 실제로 원처럼 보이지 않습니까? 그 이유는이 그림이 왜곡되어 있기 때문입니다 (두 축의 숫자 사이에 다른 간격이 있음). 축을 올바른 방향 (왼쪽에서 오른쪽으로, 아래에서 위로)으로 그리고 단위 종횡비로 다시 그려서 하나의 단위가 실제로 하나의 단위와 수직이되도록합니다.

여기에 이미지 설명을 입력하십시오

원본이 아닌이 그림에서 Mahalanobis 거리를 측정합니다.

여기 뭔 일 있었 니? 데이터는 산점도에서 측정을위한 좌표계를 구성하는 방법을 알려줍니다. 그게 다야. 우리는 길을 따라 선택할 수있는 몇 가지 선택이 있었지만 (우리는 항상 하나 또는 두 축을 뒤집을 수 있습니다. 드문 경우이지만 "척추"를 따르는 방향 (주 방향 )은 고유 하지 않습니다. 마지막 줄거리에서.


기술 의견

(할 줄거리에 숫자가 다시 나 오자마자 관심을 잃기 시작한 할머니에게는 해당되지 않았지만 제기 된 나머지 질문을 해결하기 위해).

  • 새로운 축을 따르는 단위 벡터는 (공분산 행렬 또는 그 역의) 고유 벡터 입니다.

  • 원을 만들기 위해 타원을 왜곡하지 않으면 각 고유 벡터를 따라 거리를 표준 편차 (공분산의 제곱근)로 나눕니다 . 시키는 공분산 함수 스탠드, 두 점 사이의 새로운 (마할 라 노비스) 거리 및 로부터의 거리 에 대한 의 제곱근으로 나눈 . 대응하는 대수 연산은 이제 를 행렬로 표현하는 관점에서 , 및 를 벡터로 표현하는 것으로 생각하면 됩니다. 이 작동합니다x y x y C ( x y , x y ) C x y CxyxyC(xy,xy)Cxy(xy)C1(xy)벡터와 행렬을 나타내는 데 사용되는 기준에 관계없이 특히, 이것은 원래 좌표에서 Mahalanobis 거리 대한 올바른 공식입니다 .

  • 마지막 단계에서 축이 확장되는 양은 역 공분산 행렬의 고유 값 (제곱근) 입니다. 동등하게, 축은 공분산 행렬의 (근의) 고유 값에 의해 축소 됩니다. 따라서 산란이 많을수록 타원을 원으로 변환하는 데 더 많은 수축이 필요합니다.

  • 이 절차는 항상 모든 데이터 세트에서 작동하지만 대략 다변량 표준 데이터에 대해서는 멋지다 (고전적인 축구 모양의 구름). 다른 경우, 평균 지점이 데이터 중심을 잘 표현하지 못하거나 분산의 척도로 분산을 사용하여 "척추"(데이터의 일반 추세)를 정확하게 식별하지 못할 수 있습니다.

  • 좌표 원점의 이동, 축의 회전 및 확장은 집합 적으로 아핀 변환을 형성합니다 . 초기 이동과는 별도로, 이것은 원래 좌표 (양의 좌표 방향을 가리키는 단위 벡터 사용)에서 새로운 것 (단위 고유 벡터 선택 사용)으로의 기초 변경입니다.

  • PCA (Principal Components Analysis) 와 밀접한 관련이 있습니다 . 이것만으로도 "어디에서 왔는가"와 "왜"질문을 설명하는 데 먼 길을갑니다. 데이터를 설명하고 측정하는 데 사용하는 좌표를 데이터가 결정하도록하는 우아함과 유용성에 아직 확신이없는 경우 차이점.

  • 다변량 정규 분포의 경우 (점 구름의 유사한 특성 대신 확률 밀도의 특성을 사용하여 동일한 구성을 수행 할 수 있는 경우) 식에서 " " 대신 Mahalanobis 거리 (새 원점까지)가 나타납니다. 표준 정규 분포의 확률 밀도를 나타내는따라서 새로운 좌표에서 다변량 정규 분포는 표준 법선으로 보입니다.exp ( 1xexp(12x2)원점을 통해 모든 선에 투영 될 때. 특히, 각각의 새 좌표에서 표준 법선입니다. 이 관점에서, 다변량 정규 분포가 서로 다른 유일한 실질적인 의미는 그들이 사용하는 차원의 수에 관한 것입니다. (이 치수는 공칭 치수보다 적을 수 있으며 때로는 적을 수도 있습니다.)


3
궁금한 점이 있다면 아핀 변환 은 "직선을 유지하는 변환입니다 ... 직선에있는 점 사이의 거리 비율"입니다. (@whuber, 나는 당신이 글 머리 기호에 이와 같은 것을 추가하고 싶을 지 모르겠다.)
gung

@gung 아핀 변환에 대한 나의 언급은 즉시 그것들의 특성화가 뒤 따른다 : 번역과 기초의 변화. 이 언어는 질문에 사용 된 것과 동일하므로이 언어를 선택했습니다. (우리는 비가 역적 선형 변환을 포괄하기 위해 "기초의 변화"를 어느 정도 자유로
워야

13
@ whuber, 당신의 설명은 아마도 내가 본 것 중 가장 좋은 것입니다. 일반적으로 이것이 설명 될 때 타원체와 구를 언급 할 때 매우 추상적으로 다루어지며, 의미를 나타내지 못합니다. 축 변환이 어떻게 데이터 분포를 "구체"로 변환하여 거리가 데이터의 평균으로부터 데이터 sd의 많은 수로 "볼 수"있도록 1 차원의 경우처럼 쉽게 설명 할 수 있습니다. 데이터. 이 시각화는 제 생각에 핵심이며 불행히도 주제에 대한 대부분의 토론에서 제외됩니다. 잘

강력한 PCA가 있습니까? 공분산 행렬의 크기를 볼 때 특이 치 데이터 포인트를 버릴 수있는 변형?
EngrStudent

@Engr Sure : 공분산 매트릭스의 강력한 추정은 강력한 PCA로 이어질 것입니다. 강력한 PCA대한 질문에 대한 답변으로 다른 직접적인 방법이 존재합니다 .
whuber

37

할머니는 요리를 해요. 당신도 마찬가지입니다. 요리는 통계를 가르치는 맛있는 방법입니다.

호박 Habanero 쿠키 는 굉장합니다! 계피생강 이 크리스마스 간식 에 얼마나 멋진 지 생각해 본 후, 그들이 얼마나 더운 지 알아보십시오.

재료는 다음과 같습니다.

  • habanero peppers (10 종, 파종 및 잘게 다진 것)
  • 설탕 (1.5 컵)
  • 버터 (1 컵)
  • 바닐라 추출물 (1 tsp)
  • 계란 (2 매체)
  • 밀가루 (2.75 컵)
  • 베이킹 소다 (1 tsp)
  • 소금 (1 tsp)

도메인의 좌표축이 성분량 인 것을 상상해보십시오. 설탕. 밀가루. 소금. 베이킹 소다. 이러한 방향을 따른 변형은 모두 동일하지만 하바네로 고추 수의 변동으로 향미 품질에 거의 영향을 미치지 않습니다. 밀가루 나 버터의 10 % 변화는 덜 크게 만들지 만 살인자는 아닙니다. 적은 양의 habanero를 추가하면 중독성 디저트에서 테스토스테론 기반 통증 경연 대회에 이르기까지 맛 절벽을 넘어 뜨릴 수 있습니다.

Mahalanobis는 "최고의 맛"과 거리가 멀기 때문에 "성분량"은 그리 멀지 않습니다. 변이에 매우 민감한 성분 인 "강력한"성분은 가장 신중하게 제어해야합니다.

가우스 분포와 표준 정규 분포 에 대해 생각할 때 차이점은 무엇입니까? 중심 경향 (평균) 및 변동 경향 (표준 편차)을 기반으로 한 중심 및 스케일. 하나는 다른 하나의 좌표 변환입니다. Mahalanobis는 그 변형입니다. 관심 분포가 가우스 대신 표준 법선으로 다시 캐스팅 된 경우 세상의 모습을 보여줍니다.


4
가우스 분포 정규 분포이므로 마지막 단락에서 어떤 차이를 만들려고합니까?
whuber

1
@ 우버-표준. 나는 표준을 의미했다. 나는 그것을 말했다 생각했다. 편집 이력을 확인해야합니다. 다음 문장들은 주된 생각을 반복합니다.
EngrStudent

2
당신이 "에 의해 다음 무엇을 의미합니까 가우스 분포"?
whuber

1
보다 나은? 평균과 분산이있는 가우시안 분포 일 수 있지만 변환은 평균을 빼고 표준 편차로 스케일링하여 표준 법선에 매핑됩니다.
EngrStudent

4
예, 이제 더 명확합니다. 그래도 왜 동일한 용어를 언급하기 위해 두 개의 용어 (가우시안과 노멀)를 사용하는지 의아해합니다. 또한 마지막 주장에 대해 약간 혼란 스럽습니다. 모든 다변량 분포가 표준 법선으로 변할 수 있다고 말합니다 (귀하가 연결 한 정의에 따라 단 변량 ) : 표준으로 보이게 할 수 있다고 생각합니다 각 구성 요소에서 정상 입니다. 어쨌든, 당신이 시작하는 비유가 좋습니다.
whuber

10

시작점으로, 마할 라 노비스 거리는 에서 벡터 와 사이 의 일반적인 유클리드 거리 의 적절한 변형으로 볼 수 있습니다. XYd(x,y)=x,yxyRnxyX

xy

xC

우리가 자연스럽게 도달하는 위의 아이디어를 수집

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

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


9

두 가지 변수를 고려해 봅시다. 이변 량 정규선 그림 (@whuber 덕분에)을 보면 AB가 AC보다 크다고 간단히 주장 할 수는 없습니다. 양의 공분산이 있습니다. 두 변수는 서로 관련되어 있습니다.

변수가 다음과 같은 경우에만 간단한 유클리드 측정 (AB 및 AC와 같은 직선)을 적용 할 수 있습니다.

  1. 독립적
  2. 분산이 1과 같습니다.

본질적으로 Mahalanobis 거리 측정은 다음을 수행합니다. 변수를 1과 같은 분산을 갖는 상관되지 않은 변수로 변환 한 다음 간단한 유클리드 거리를 계산합니다.


1
귀하의 답변에 표시된 것처럼 그래프에서 상관 관계를 볼 때마다 유클리드 거리가 아닌 Mahalanobis 만 계산해야한다고 제안합니까? 언제 어느 것을 사용해야합니까?
sandyp

7

최대한 간단하게 설명해 드리겠습니다.

마할 라 노비스 거리는 데이터 분포로부터 점 x의 거리를 측정합니다. 데이터 분포는 평균과 공분산 행렬을 특징으로하므로 다변량 가우스로 가정됩니다.

패턴 (클래스의 훈련 예의 데이터 분포)과 시험 예의 유사성 척도로 패턴 인식에 사용됩니다. 공분산 행렬은 피처 공간에서 데이터가 분포되는 방식을 나타냅니다.

그림은 3 개의 다른 클래스를 나타내고 빨간색 선은 각 클래스의 동일한 Mahalanobis 거리를 나타냅니다.  빨간색 선에있는 모든 점은 공분산 행렬로 사용되므로 클래스 평균과 동일한 거리를 갖습니다.

그림은 3 개의 다른 클래스를 나타내고 빨간색 선은 각 클래스의 동일한 Mahalanobis 거리를 나타냅니다. 빨간색 선에있는 모든 점은 공분산 행렬로 사용되므로 클래스 평균과 동일한 거리를 갖습니다.

주요 특징은 공분산을 정규화 인자로 사용하는 것입니다.


6

Whuber의 훌륭한 답변에 약간의 기술 정보를 추가하고 싶습니다. 이 정보는 할머니에게는 관심이 없을 수도 있지만 아마도 손자는 도움이 될 것입니다. 다음은 관련 선형 대수에 대한 상향식 설명입니다.

마할 라 노비스 거리는 로 정의됩니다d(x,y)=(xy)TΣ1(xy)ΣΣΣΣ=QTDQΣ1=QD12D12QTd(x,y)=[(xy)TQ]D12D12[QT(xy)]=zTzQ(xy)D12D12D1zTz


5

이 질문에 대답하기에 약간 늦을 수 있습니다. 여기 에있는 이 문서 는 Mahalanobis 거리를 이해하기위한 좋은 시작입니다. 숫자 값이 포함 된 완전한 예를 제공합니다. 내가 좋아하는 것은 문제의 기하학적 표현입니다.


4

위의 훌륭한 설명에 덧붙여, Mahalanobis 거리는 (다변량) 선형 회귀에서 자연적으로 발생합니다. 이것은 Mahalanobis 거리와 다른 답변에서 논의 된 Gaussian 분포 사이의 연결 중 일부의 간단한 결과이지만 어쨌든 철자가 가치가 있다고 생각합니다.

(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

logp(yx;β)y=(y1,,yN)x=(x1,,xN)

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

β0,β1


1
logdetCnxβxβ
whuber

(x,y)yϵlogdetCargminβ[logp(yx;β)]=argminβ(yβx)C1(yβx)

독자가 추측하도록 요구하기보다는 기호가 의미하는 바를 설명하는 것이 중요합니다. 아마도 당신의 설명은 좋은 것이지만, 그 설명이 없다면 (최신 의견으로 시작된) 대부분의 독자들이 당신의 의미를 이해하는 데 어려움을 겪을 것입니다.
whuber

2
너의 의도를 알 겠어. 이 의견에 몇 가지 아이디어를 통합하기 위해 원래 답변을 편집했습니다.
Ben CW

2

마할 라 노비스 거리는 데이터의 공분산을 고려하지 않는 유클리드 거리 (자연 거리)입니다. 시끄러운 구성 요소에 더 큰 가중치를 부여하므로 두 데이터 세트 간의 유사성을 확인하는 데 매우 유용합니다.

변수가 서로 연관되어있는 예 에서 볼 수 있듯이 분포는 한 방향으로 이동합니다. 이 효과를 제거 할 수 있습니다. 거리에서 상관 관계를 고려하면 이동 효과를 제거 할 수 있습니다.


2
나는 Mahalanobis 거리 가 "더 큰"가중치를 부여하기보다는 대공 분산 방향을 효과적으로 줄인다 .
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.