마할라노비스 거리 계산기
변수들이 서로 상관되어 있을 때 중심에서 얼마나 먼지를 재는 거리입니다. 각 변수만 보면 평범한데 조합으로는 드문 점을 잡아내며, 카이제곱 임계값으로 이상치 후보까지 가려 줍니다.
한 줄에 한 표본, 값은 공백이나 쉼표로 구분합니다. 모든 줄의 값 개수가 같아야 합니다.
비워 두면 자료 안의 점들만 봅니다.
자유도 p의 카이제곱에서 이 확률만큼 위에 있는 지점을 임계값으로 씁니다.
(160, 75) 의 마할라노비스 거리
53.6562
d² = 2,878.9919 · 임계값 9.21 · 이상치 후보입니다 (p = 0)
공분산 행렬
| 42.06667 | 50.86667 |
| 50.86667 | 61.69524 |
대각선이 각 변수의 분산, 나머지가 변수끼리의 공분산입니다. 대각선 밖이 0에 가까울수록 마할라노비스 거리가 유클리드 거리에 가까워집니다.
표본마다의 거리
| 번호 | 값 | d² | d | 유클리드 | 판정 |
|---|---|---|---|---|---|
| 1 | 160, 52 | 2.549 | 1.597 | 15.092 | — |
| 2 | 165, 58 | 0.725 | 0.852 | 7.282 | — |
| 3 | 170, 63 | 3.904 | 1.976 | 0.596 | — |
| 4 | 175, 70 | 0.711 | 0.843 | 8.34 | — |
| 5 | 180, 76 | 2.52 | 1.588 | 16.15 | — |
| 6 | 158, 50 | 5.555 | 2.357 | 17.912 | — |
| 7 | 168, 61 | 1.091 | 1.044 | 3.07 | — |
| 8 | 173, 68 | 1.676 | 1.295 | 5.534 | — |
| 9 | 178, 74 | 2.805 | 1.675 | 13.337 | — |
| 10 | 163, 55 | 1.894 | 1.376 | 10.87 | — |
| 11 | 171, 65 | 0.061 | 0.246 | 1.938 | — |
| 12 | 176, 71 | 0.999 | 1 | 9.748 | — |
| 13 | 166, 59 | 0.333 | 0.577 | 5.873 | — |
| 14 | 169, 62 | 2.24 | 1.497 | 1.7 | — |
| 15 | 174, 69 | 0.936 | 0.968 | 6.935 | — |
d²의 평균은 이론상 정확히 p(n−1)/n = 1.8667이고, 실제로 1.8667입니다. 60개까지만 보여 줍니다.
계산 방법
- 1한 줄에 한 표본씩, 값은 공백이나 쉼표로 구분해 넣습니다.
- 2따로 재어 볼 점을 넣으면 그 점의 마할라노비스 거리와 유클리드 거리를 함께 냅니다.
- 3두 거리가 얼마나 다른지, 유클리드로는 더 먼 자료점이 몇 개인지 확인합니다.
- 4공분산 행렬에서 대각선 밖이 0에 가까울수록 두 거리가 비슷해지는 것을 봅니다.
- 5이상치 판정 기준을 바꿔 가며 임계값과 걸리는 표본이 어떻게 달라지는지 확인합니다.
자주 묻는 질문
변수들 사이의 상관과 척도를 고려한다는 점이 다릅니다. 유클리드 거리는 각 축을 같은 무게로 보지만, 마할라노비스 거리는 공분산의 역행렬을 끼워 d² = (x−μ)ᵀΣ⁻¹(x−μ)로 잽니다. 그래서 키 150cm와 몸무게 90kg처럼 각각은 흔하지만 함께는 드문 조합을 잡아낼 수 있습니다.
Σ⁻¹을 끼우는 것이 자료를 구형으로 펴는 변환과 같기 때문입니다. 변수마다 표준편차로 나누어 단위를 없애고 상관을 지운 공간에서 유클리드 거리를 재는 것과 같아서, 키를 cm로 재든 m로 재든 결과가 같습니다. 더 일반적으로 자료 전체를 늘리거나 회전해도(아핀 변환) 거리가 변하지 않습니다.
자료가 다변량 정규분포를 따르면 d²이 자유도 p(변수 개수)의 카이제곱 분포를 따르므로, 그 상위 1% 지점을 임계값으로 씁니다. 변수가 둘이면 9.21, 셋이면 11.34입니다. 다만 분포가 크게 치우쳐 있으면 이 판정이 흔들리므로 「후보」로 보고 자료를 직접 들여다보는 편이 안전합니다.
평균과 공분산을 그 자료로 구하기 때문에, 이상치가 이미 들어 있으면 평균을 끌어당기고 공분산을 부풀려 스스로를 정상으로 보이게 만듭니다. 이것을 마스킹이라 하며 이상치가 여럿일수록 심해집니다. 진지한 이상치 탐지에는 MCD처럼 자료의 일부만 써서 평균·공분산을 추정하는 로버스트 방법을 씁니다.
공분산 행렬의 역행렬이 없을 때입니다. 어떤 변수가 다른 변수들의 선형결합이거나(완전 상관), 표본 수가 변수 수보다 적으면 그렇습니다. 이때는 겹치는 변수를 빼거나 주성분분석으로 차원을 줄인 뒤 계산해야 합니다.
변수가 하나뿐이면 마할라노비스 거리가 |z|와 정확히 같습니다. 곧 z 점수를 여러 변수로 확장한 것이며, 변수가 여럿일 때 그들 사이의 상관까지 반영한다는 점이 더해집니다. 「몇 σ 밖」이라는 감각을 다변량으로 옮긴 것이라고 보면 됩니다.
다변량 이상치 탐지가 대표적이고, 판별분석(어느 집단에 더 가까운지 판정), 이상 탐지 기반 품질관리, 신용평가에서 특이 거래 찾기 등에 쓰입니다. 군집 분석에서 거리 척도로 쓰기도 하는데, 이때는 군집마다 공분산을 따로 잡을지가 별도의 선택이 됩니다.
전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지고 넣은 값은 이 기기에만 남습니다.
알아두면 좋은 점
- 공분산은 표본 공분산(n−1로 나눈 것)을 씁니다. 그래서 d²의 평균이 정확히 p(n−1)/n이 됩니다.
- 평균과 공분산을 같은 자료에서 구하므로 이상치가 스스로를 가리는 마스킹이 일어날 수 있습니다.
- 임계값은 다변량 정규분포를 가정합니다. 분포가 다르면 판정이 흔들립니다.
- 표본 500개, 변수 8개까지 다룹니다. 표는 60개까지만 보여 줍니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.